(58)【調査した分野】(Int.Cl.,DB名)
第1のフレームの受信開始を通知されると、前記第1のフレームより前に受信した第2のフレームのフレーム長と受信タイミングとに基づいて算出された単位時間あたりのデータ量を示すレート情報に基づいて、前記第1のフレームを廃棄するかまたは転送するかを判断する帯域制限部と、
前記帯域制限部により転送すると判断された前記第1のフレームをカットスルー転送する転送処理部と、
を備えることを特徴とする通信装置。
前記誤り検出部による誤りの検出結果に基づいて、受信したフレームの誤り率を算出し、算出した誤り率に基づいて前記第1のフレームを廃棄するか否かを判断する誤り監視部、
を備え、
前記通信装置は、前記誤り監視部により廃棄すると判断された前記第1のフレームを廃棄することを特徴とする請求項2に記載の通信装置。
前記帯域制限部は、前記第2のフレームのトラフィック種別ごとに、前記レート情報を求め、前記第1のフレームのトラフィック種別ごとに、前記第1のフレームを廃棄するか否かを判断することを特徴とする請求項1から4のいずれか1つに記載の通信装置。
第1のフレームの受信開始を通知されると、前記第1のフレームより前に受信したフレームである第2のフレームのフレーム長と受信タイミングとに基づいて算出された単位時間あたりのデータ量を示すレート情報に基づいて、前記第1のフレームを廃棄するかまたは転送するかを判断する第1のステップと、
前記第1のステップで転送すると判断された前記第1のフレームをカットスルー転送する第2のステップと、
を含むことを特徴とする帯域制御方法。
【発明を実施するための形態】
【0014】
以下に、本発明の実施の形態にかかる通信装置および帯域制御方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【0015】
実施の形態1.
図1は、本発明の実施の形態1にかかる通信装置の構成例を示す図である。
図1に示すように、実施の形態1の通信装置100は、通信回路1と、通信ポートであるポート20−1,20−2とを備える。通信回路1は、受信処理部2、フレーム長解析部3、エラー検出部4、ポリサ部5、転送処理部6および送信処理部7を備える。
【0016】
なお、
図1では、受信側のポートを1つと、送信側のポートを1つとを図示しているが、通信装置100が備えるポートの数は、この例に限定されない。一般には、送信側および受信側ともに複数のポートを有する。受信側のポートが複数の場合、受信側のポートごとに、受信処理部2、フレーム長解析部3、エラー検出部4およびポリサ部5を備え、送信側のポートごとに送信処理部7を備える。
【0017】
通信装置100は、例えば、産業用途のネットワークにおける制御フレームのように、リアルタイム性を要求されるまたは低遅延の転送が要求されるフレームを転送する通信装置である。通信装置100が転送するフレームは、例えば、イーサネット(登録商標)フレームである。通信装置100は、少なくとも2つのポートを有し、1つのポートから受信したフレームを他のポートへ、カットスルー方式により転送する。以下、カットスルー方式による転送をカットスルー転送と略し、ストアアンドフォワード方式による転送をストアアンドフォワード転送と略す。
図1に示した例では、カットスルー転送を行う構成としているが、後述するように、カットスルー転送およびストアアンドフォワード転送の両方を実施する構成としてもよい。
【0018】
受信処理部2は、ポート20−1により受信されたフレームに対して物理層の処理などの受信処理を行い、受信処理後のフレームをフレーム長解析部3、エラー検出部4およびポリサ部5へ出力する。
【0019】
フレーム長解析部3は、受信したフレームのフレーム長を計測する計測部である。具体的には、フレーム長解析部3は、カウンタなどを用いて、入力されたフレームの先頭からのビット長を計測し、フレームの最後まで受信すると計測したビット長をフレーム長として出力する。
【0020】
エラー検出部4は、入力されたフレームに対してエラー検出処理を実施し、エラーすなわち誤りの有無を判定する。すなわち、エラー検出部4は、フレーム内に誤りがあるか否かを判定する。エラー検出部4におけるエラー検出処理によりエラー有りと判定されたフレームは、後段の処理で廃棄されるため、エラー検出部4におけるエラー検出処理は、フレームを廃棄するか否かの判定に用いられるエラー検出処理である。エラー検出処理は、イーサネットフレームに付加されているFCS(Frame Check Sequence)フィールドに格納された冗長情報を用いたエラー検出処理、伝送路受信エラー、Lengthエラーをはじめとした一般的にフレームを受信した際に行われるエラー検出処理のうちの少なくとも1つを用いることができる。伝送路受信エラーは、例えばイーサネットの4B/5B符号、8B/10B符号等により付加されたエラー検出情報を用いて検出されるエラーである。Lengthエラーは、フレームのヘッダのLengthフィールドに格納されたフレームの長さと実際に計測されたフレームの長さとが異なるエラーである。エラー検出部4が実施するエラー検出処理は上述の例に限定されない。なお、イーサネットフレームには、FCSフィールドにCRC(Cyclic Redundancy Check)のための冗長情報が格納されている。エラー検出処理は、1種類の処理であってもよいし、複数の処理の組み合わせであってもよい。エラー検出処理を複数の処理の組み合わせとする場合、エラー検出部4は、いずれか1つの処理でエラーが検出された場合に、フレームにエラー有りと判定してもよいし、全ての処理でエラーが検出された場合にフレームにエラー有りと判定してもよい。
【0021】
図2は、実施の形態1のポリサ部5の構成例を示す図である。
図2に示すように、ポリサ部5は、帯域監視回路51および選択回路52を備える。
【0022】
帯域監視回路51は、フレーム長解析部3から入力されるフレーム長と、エラー検出部4から入力されるエラー検出結果とに基づいて、ポリサ部5から出力されるフレームの帯域であるレート情報を求める。レート情報は、ポリサ部5から出力されるフレームの単位時間あたりのデータ量を示す情報である。また、帯域監視回路51は、レート情報があらかじめ定められたしきい値以上であるか否かを判断し、判断結果に応じてフレームを廃棄するか転送するかを判断する。なお、帯域監視回路51は、レート情報がしきい値以上であるか否かを判断する例を以下では説明するが、レート情報がしきい値以上であるか否かを判断する替わりに、レート情報がしきい値を超えるか否かを判断するようにしてもよい。
【0023】
帯域監視回路51が行う上述したレート情報を求める処理およびレート情報があらかじめ定められたしきい値以上であるか否かを判断して廃棄するか否かを決定する処理は、ポリシングと呼ばれる処理である。帯域監視回路51が行うポリシング処理の具体的な方法としては、トークンバケット方式、またはジャンピングウィンドウ方式などの一般的に用いられている方式を用いることができる。トークンバケット方式は、特許文献1にも記載されている方式であり、トークンと呼ばれるフレーム長に対応したカウンタ値を用いる方式である。ジャンピングウィンドウ方式は、フレーム長に対応したカウンタ値が一定時間ごとにクリアされる方式である。ポリシングの方法は、これらに限らず、どのような方式を用いてもよい。いずれの方式でも、送出されるフレームの帯域をしきい値未満またはしきい値以上に抑えるものであり、このためには、送出されるフレームすなわちこの場合はポリサ部5から出力されるフレームの単位時間あたりのデータ量を監視する必要がある。
【0024】
トークンバケット方式を例に帯域監視回路51が行うポリシングを説明する。トークンバケット方式は、トークンと呼ばれるフレーム長に対応したカウンタ値を用い、トークンを溜めておくバケットを用いる。バケットには、あらかじめ設定された帯域のしきい値に対応したレートでトークンが加算される。帯域監視回路51は、フレームを受信すると、バケットに、フレームを送出するために十分なトークンがある場合にはフレームを送出するすなわち転送すると判断し、バケットから該フレームのフレーム長に対応するトークンを減算する。一方、バケットにフレームを送出するために十分なトークンがない場合、帯域監視回路51は、フレームを廃棄すると判断し、バケットからトークンは減算されない。以上の処理により、帯域監視回路51は、単位時間あたりにポリサ部5から出力されるフレームのデータ量をしきい値未満とすることができる。なお、単位時間あたりにポリサ部5から出力されるフレームのデータ量をしきい値未満とするかまたはしきい値以下とするかは、バケットにフレームを送出するために十分なトークンがあるか否かの判断において、バケットが空になる場合に、フレームを転送すると判定すると設定するか、フレームを廃棄すると判定する設定とするかに依存する。ポリサ部5から出力されるフレームのデータ量がしきい値以上の場合にフレームを廃棄するという判定を行うためには、バケットが空になる場合に、フレームを廃棄すると判定するようにすればよい。
【0025】
帯域監視回路51は、具体的には、選択回路52から、フレームの受信を開始したことを示すフレーム受信通知を受け取ると、レート情報がしきい値以上であるか否かを判断し、判断結果に応じてフレームを廃棄するか転送するかを判定する。この判定を、ポリシングによる転送判定とも呼ぶ。本実施の形態では、ポリサ部5に現在入力されているフレームのフレーム長が計測され終わる前に、ポリシングにおけるしきい値判定を行う。このため、フレーム受信通知が入力された際のしきい値判定に用いられるレート情報は、1つ前に入力されたフレームまでの1つ以上のフレームのフレーム長に基づく値である。したがって、実際に出力される単位時間あたりのデータ量は、しきい値より1フレーム分超過する可能性がある。しかしながら、しきい値がフレーム長に比べて十分大きく、1フレーム分の超過が生じても問題とならない。また、しきい値として、ポリサ部5から出力される帯域の上限値より、1フレーム分少ない値、例えば想定される最大のフレーム長分少ない値を設定しておいてもよい。しきい値の設定方法は、この例に限定されない。
【0026】
また、帯域監視回路51は、転送判定の結果を保持し、エラー検出結果が入力された後、ポリシングによる転送判定の結果とエラー検出結果とに応じて、フレームを廃棄するか否かを判定し、判定した結果を選択回路52へ通知する。また、帯域監視回路51は、フレーム長解析部3からフレーム長およびエラー判定結果が入力された後、フレームを廃棄するか否かの判定結果に応じて、該フレーム長をレート情報に加算するか否かを判断する。なお、フレーム長をレート情報に加算するか否かは、トークンバケット方式を用いる場合には、バケットからトークンを減算するか否かである。なお、レート情報は単位時間ごとにリセットすなわち0に設定される。これは、トークンバケット方式を用いる場合には、バケットにしきい値に応じたトークンが加算されることに相当する。
【0027】
帯域監視回路51は、具体的には、上述したポリシングすなわち転送判定により廃棄すると決定されている場合には、エラーの有無にかかわらず、フレームを廃棄すると判断し、ポリシングにより転送すると決定されていてもエラーが有る場合にはフレームを廃棄すると判断する。すなわち、帯域監視回路51は、エラー検出部4により誤りが有ると判定された第1のフレームを廃棄すると判断する。帯域監視回路51は、したがって、帯域監視回路51は、エラーがなくかつポリシングにより転送すると決定された場合に、フレームを廃棄すると決定された場合にはフレームの廃棄指示を選択回路52へ出力し、フレームを廃棄しない場合にはフレームの転送指示を選択回路52へ出力する。ただし、エラー検出結果に応じたフレームの廃棄の判定を実施しなくてもよい。例えば、エラー検出処理の種別によっては、フレームの最後まで受信しないとエラーの有無を判定できない場合がある。このような場合には、エラー検出結果が得られるまで転送を待機すると、転送に遅延が生じる可能性があるため、エラー検出結果に応じたフレームの廃棄の判定を実施しなくてもよい。一方、例えばフレームのヘッダなどの先頭付近、またはフレームの半分より先頭に近い部分まででエラーの有無の判定ができる場合には、エラー検出結果に応じたフレームの廃棄の判定を実施しても、転送の遅延は小さい。このように、許容される遅延とエラー検出の種別に応じて、エラー検出結果に応じたフレームの廃棄の判定を実施するか否かを設定しておくことができる。
【0028】
以上のように、帯域監視回路51は、受信したフレームである第1のフレームの受信開始を通知されると、第1のフレームより前に受信したフレームである第2のフレームのフレーム長と受信タイミング(時間)に基づいて算出された単位時間あたりのデータ量を示すレート情報に基づいて、第1のフレームを廃棄するかまたは転送するかを判断する帯域制限部である。なお、第1のフレームは、通信装置100において受信されたフレームであってポリサ部5へ入力中のフレームである。第2のフレームは、ポリサ部5へ入力中のフレームより前に入力されたすなわち過去に通信装置100により受信された1つ以上のフレームである。
【0029】
選択回路52は、受信処理部2からのフレームの入力の開始を検出すると、帯域監視回路51へフレーム受信通知を出力する。また、選択回路52は、フレームの入力が開始されてから、帯域監視回路51からの指示すなわちフレームの廃棄指示またはフレームの転送指示を受信するまでの間、先頭から途中までのフレームを保持し、帯域監視回路51からの指示に基づいて、受信処理部2から入力されたフレームを廃棄または転送する。選択回路52は、フレームを転送する場合、具体的には、転送処理部6へフレームを出力する。
【0030】
転送処理部6は、ポリサ部5から入力されたフレームを、カットスルー転送により送信処理部7へ出力する。すなわち、転送処理部6は、ポリサ部5の帯域監視回路51によりにより転送すると判断された第1のフレームをカットスルー転送する。なお、カットスルー転送には、近年IEEE(Institute of Electrical and Electronics Engineers)802.3brにより標準化が進められているIET(Interspersing Express Traffic)と呼ばれる転送方法なども含まれる。送信側のポートが複数存在する場合、転送処理部6は、フレームのヘッダに格納される宛先のアドレスと出力するポートとの対応を示す情報が格納されるテーブルを保持し、テーブルを参照して宛先のアドレスに対応するポートを把握し、このポートに対応する送信処理部7へフレームを出力する。なお、後述するように、転送処理部6は、カットスルー転送だけでなく、ストアアンドフォワード転送を実施する機能を有していてもよい。この場合、転送処理部6は、受信したフレームのヘッダに格納された情報などに基づいて、カットスルー転送するかストアアンドフォワード転送するかを判断し、カットスルー転送を行うフレームを、ストアアンドフォワード転送を行うフレームより優先的に選択して出力する。なお、カットスルー転送を行うフレームとストアアンドフォワード転送を行うフレームとの間の調停の方法には特に制約はなく、一般的に行われている方法を用いることができる。
【0031】
転送処理部6は、カットスルー転送を優先選択して出力する機能も持つ。送信処理部7は、入力されたフレームに対して物理層などの送信処理を行い、送信処理後のフレームを、ポート20−2を介して転送先へ送信する。
【0032】
次に、本実施の形態の通信装置100における動作について説明する。
図3は、通信装置100における全体動作の一例を示すフローチャートである。
図3に示すように、受信処理部2は、ポート20−1からフレームを受信したか否かを判断し(ステップS1)、フレームを受信した場合(ステップS1 Yes)、フレームに対して受信処理を行う(ステップS2)。受信処理部2は、受信したフレームをフレーム長解析部3、エラー検出部4およびポリサ部5へ出力する。フレームを受信していない場合(ステップS1 No)、受信処理部2は、ステップS1を繰り返す。
【0033】
フレーム長解析部3は、入力されたフレームのフレーム長をチェックする、すなわちフレーム長を計測する(ステップS4)。エラー検出部4は、入力されたフレームに対してエラー検出処理を行い、エラーの有無をチェックする(ステップS5)。ポリサ部5は、フレームが入力されると転送判定を実施する(ステップS6)。ステップS4、ステップS5およびステップS6は並行して実施される。ステップS6の処理の詳細は後述する。
【0034】
ポリサ部5は、転送判定の結果に応じてフレームを転送または廃棄する(ステップS7)。ポリサ部5は、フレームを転送する場合、具体的には、転送処理部6、送信処理部7およびポート20−2を介してフレームを転送する。また、ポリサ部5は、フレーム長と転送判定の結果とエラー判定の結果とに基づいて、上述したようにレート情報を更新する(ステップS8)。すなわち、ステップS8では、ポリサ部5は、転送判定の結果とエラー検出結果とに基づいて、フレームを廃棄すると判定した場合にフレーム長をレート情報に加算せずに、フレームを転送すると判定した場合にフレーム長をレート情報に加算する。エラー検出部4によるエラー検出結果に応じて廃棄するか否かの判定を行う場合、レート情報は、過去に受信されたフレームすなわち第2のフレームのうち、エラー検出部4により誤りが無いと判定されたフレームのフレーム長に基づいて算出されることになる。なお、ステップS8におけるレート情報の更新とは、レート情報にフレーム長が加算されずに実際には値が変わらない場合も含む。ステップS8の後、通信装置100における処理は、ステップS1へ戻る。
【0035】
図4は、ステップS6の転送判定の処理手順の一例を示すフローチャートである。まず、ポリサ部5の選択回路52は、フレームが入力されたか否かを判断する(ステップS11)。選択回路52は、上述したように、受信処理部2からのフレームの入力の開始を検出すると、帯域監視回路51へフレーム受信通知を出力する。フレームが入力されていない場合(ステップS11 No)、選択回路52は、ステップS11を繰り返す。
【0036】
フレームが入力された場合(ステップS11 Yes)、選択回路52からフレーム受信通知を受け取った帯域監視回路51は、レート情報がしきい値以上であるか否かを判断する(ステップS12)。レート情報がしきい値未満の場合(ステップS12 No)、帯域監視回路51は、フレームを転送すると判定し(ステップS13)、判定結果を保持し(ステップS15)、転送判定を終了する。レート情報がしきい値以上の場合(ステップS12 Yes)、帯域監視回路51は、フレームを廃棄すると判定し(ステップS14)、ステップS15へ進む。
【0037】
図5および6は、転送処理部6の構成例を示す図である。カットスルー転送だけを行う場合、転送処理部6は、
図5に示すように、カットスルー転送を行う転送回路61を備える。カットスルー転送およびストアアンドフォワード転送を行う場合、転送処理部6は、
図6に示すように、選択部62、第1転送回路63、第2転送回路64およびバッファ65を備える。第1転送回路63は、カットスルー転送を行う転送回路であり、第2転送回路64は、ストアアンドフォワード転送を行う転送回路である。バッファ65は、ストアアンドフォワード転送においてフレームをストアするために用いられるバッファである。選択部62は、入力されるフレームのヘッダに格納された情報などに応じてフレームを第1転送回路63または第2転送回路64へ出力し、また、第1転送回路63または第2転送回路64から出力されるフレームの出力制御すなわち調停を実施する。
【0038】
なお、以上の説明では、フレームを廃棄する場合、選択回路52において、フレームを廃棄する例を説明したが、フレームを廃棄する箇所は、選択回路52に限定されない。例えば、ポリサ部5が廃棄指示を転送処理部6または送信処理部7へ通知し、転送処理部6または送信処理部7が廃棄指示に基づいて廃棄を行ってもよい。
【0039】
なお、
図1、
図2、
図5および
図6で示した機能構成は一例であり、各機能部の機能分担は、上述した例に限定されない。
【0040】
次に、通信装置100の通信回路1のハードウェア構成について説明する。通信回路1を実現する処理回路は、専用のハードウェアである処理回路であってもよいし、プロセッサを備える制御回路であってもよい。また、
図1、
図2、
図5および
図6に示した各部がそれぞれ個別の処理回路により実現されてもよいし、2つ以上が1つの処理回路により実現されてもよい。処理回路が専用のハードウェアである場合、処理回路は
図7に示した処理回路300である。
図7は、実施の形態1の処理回路を示す図である。処理回路300は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせたものである。
【0041】
通信回路1を実現する処理回路がプロセッサを備える制御回路で実現される場合、この制御回路は例えば
図8に示す構成の制御回路400である。
図8は、実施の形態1の制御回路400の構成例を示す図である。制御回路400は、プロセッサ401とメモリ402を備える。プロセッサ401は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)ともいう)等である。メモリ402は、例えば、RAM、ROM、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)等の、不揮発性または揮発性の半導体メモリ、磁気ディスクが該当する。
【0042】
通信回路1を実現する処理回路がプロセッサを備える制御回路400である場合、プロセッサ401が、メモリ402に記憶された、各部の処理が記述されたプログラムを読み出して実行することにより実現される。また、メモリ402は、プロセッサ401が実施する各処理における一時メモリとしても使用される。
【0043】
以上のように、本実施の形態では、現在受信しているフレームの前のフレームまでのフレーム長を用いた帯域すなわち単位時間値のデータ量に基づいて、帯域制限を実施した後に、カットスルー転送を行うようにした。このため、実施の形態1にかかる通信装置100は、カットスルー方式により転送を実現するとともに帯域制限を行うことが可能である。
【0044】
実施の形態2.
図9は、本発明の実施の形態2にかかる通信装置の構成例を示す図である。
図9に示すように、実施の形態2の通信装置100aは、通信回路1aと、通信ポートであるポート20−1,20−2とを備える。実施の形態1と同様の機能を有する構成要素は、実施の形態1と同一の符号を付して重複する説明を省略する。以下、実施の形態1と異なる点を説明する。
【0045】
実施の形態1では、カットスルー転送の対象のフレームに対して、帯域制限を行うための構成および方法について説明した。実施の形態1の通信装置100は、転送したフレームが宛先の装置においてすなわち受信装置においてエラーと判定されるか否かについては考慮していないため、高頻度でエラーが発生しているフレームについても転送を行うことになる。一般には、実施の形態1の通信装置100などのように中継装置においては、受信側装置で行うエラー検出処理に比べて、簡易なエラー検出処理または受信装置で行うエラー検出処理に比べて種類の少ないエラー検出処理を実施している。したがって、通信装置100において、エラーが有りと判定されない場合でも、受信側においてはエラーと判定されるフレームもある。このため、通信装置100が、受信側においてエラーと判定されるフレームを大量に転送することになり、正常なフレームの通信を妨げる可能性がある。特に、通信装置100においてエラー検出結果を考慮せずに、転送を行う場合には、高頻度でエラーが発生している通信のフレームが存在するとこれらのフレームがネットワークにおいて帯域を圧迫する。本実施の形態では、受信装置においてエラーと判定されたフレームのエラーレートを監視し、受信装置におけるエラーレートを考慮した転送を行う。以下、受信装置におけるエラーレートを受信側のエラーレートとも呼ぶ。
【0046】
図9に示したように、実施の形態2の通信回路1aは、実施の形態1の通信回路1にエラー状態監視部9を追加しかつエラー検出部4、ポリサ部5の替わりにそれぞれエラー検出部4a、ポリサ部5aを備える以外は、実施の形態1の通信回路1と同様である。ただし、本実施の形態では、受信処理部2は、フレームを受信すると、フレーム長解析部3、エラー検出部4a、ポリサ部5aおよびエラー状態監視部9へフレームを出力する。
【0047】
また、エラー検出部4aは、実施の形態1と同様のエラー検出処理と、受信装置において行われるエラー検出処理と同様のエラー検出処理を行い、エラー検出結果をポリサ部5aおよびエラー状態監視部9へ出力する。エラー検出部4aから出力されるエラー検出結果は、実施の形態1と同様のエラー検出処理によるエラーの検出結果である第1のエラー検出結果と、受信装置において行われるエラー検出処理と同様のエラー検出処理によるエラーの検出結果である第2のエラー検出結果とを含む。受信装置において行われるエラー検出処理は、実施の形態1のエラー検出処理と同様に、FCSを用いたエラー検出など任意のエラー検出処理である。なお、受信装置において行われるエラー検出処理については既知であるものとする。または、受信装置において行われるエラー検出処理が既知でない場合にも、エラー検出部4aは、受信装置において行われると推定されるエラー検出処理を受信装置において行われるエラー検出処理として実施するように設定されてもよい。
【0048】
エラー状態監視部9は、エラー検出部4aから入力される第2のエラー検出結果に基づいてエラー状態を示すエラーレートを更新する。以下、エラー状態とは、受信装置においてエラーと判定される頻度を示す。エラーレートは、受信装置おけるエラーの頻度を示す情報であり、例えば、一定時間内または一定フレーム数内の、エラービット数、エラーバイト数またはエラーフレーム数などを用いることができる。
【0049】
また、エラー状態監視部9は、エラーレートを用いてエラー状態をチェックする。具体的には、エラー状態監視部9は、エラーレートを第1しきい値および第2しきい値と比較することにより、廃棄指示を有効または無効に設定する。第1しきい値は、廃棄指示を有効するか否かの判定に用いられるしきい値であり、第2しきい値は、廃棄指示を解除するすなわち廃棄指示を無効にするか否かの判定に用いられるしきい値である。
【0050】
以上のように、エラー状態監視部9は、エラー検出部4による誤りの検出結果に基づいて、受信したフレームのエラーレートすなわち誤り率を算出し、誤り率に基づいて第1のフレームを廃棄するか否かを判断する誤り監視部である。
【0051】
図10は、エラー状態監視部9の構成例を示す図である。
図10に示すように、エラー状態監視部9は、第1しきい値を設定する第1しきい値設定回路91と、第2しきい値を設定する第2しきい値設定回路92と、帯域監視部93と、エラーレート保持部94とを備える。第1しきい値設定回路91および第2しきい値設定回路92は、あらかじめ定められた第1しきい値および第2しきい値をそれぞれ固定値として保持する回路であってもよいし、外部から第1しきい値および第2しきい値の更新の要求を受け付けた場合に第1しきい値および第2しきい値をそれぞれ更新可能な回路であってもよい。
【0052】
エラーレート保持部94は、エラーレートを保持し、エラー検出結果が入力されるとエラー検出結果に基づいてエラーレートを更新する。帯域監視部93は、フレームが入力されると、第1しきい値設定回路91および第2しきい値設定回路92から第1しきい値および第2しきい値をそれぞれ取得し、エラーレートと第1しきい値および第2しきい値を用いて、廃棄指示を有効または無効に設定する。また、帯域監視部93は、廃棄指示が有効であるか無効であるかを示すフラグ情報を保持し、フラグ情報が、廃棄指示が有効であることを示している場合には、フレームが入力されるたびに廃棄指示をポリサ部5aへ出力する。
【0053】
なお、帯域監視部93における廃棄指示の有効または無効の判定には、第1しきい値および第2しきい値を用いたトークンバケット方式またはジャンピングウィンドウ方式などを用いてもよいが、これらに限定されない。
【0054】
図11は、ポリサ部5aの構成例を示す図である。ポリサ部5aは、帯域監視回路51aおよび実施の形態1と同様の選択回路52を備える。帯域監視回路51aは、実施の形態1と同様にポリシングを行うが、次に示す点が実施の形態1の帯域監視回路51と異なる。帯域監視回路51aは、廃棄指示をエラー状態監視部9から受け取ると、選択回路52へ廃棄指示を出力する。また、帯域監視回路51aは、廃棄指示を行ったか否かの情報を保持し、フレーム長を用いたレート情報の更新の際に、廃棄指示を行ったフレームのフレーム長についてはレート情報に加算しない。また、帯域監視回路51aは、フレームが入力された後にエラー状態監視部9から廃棄指示を受け取っていない場合、実施の形態1と同様にポリシングにより転送するか否かを判定し、この判定結果に応じて実施の形態1と同様に転送指示または廃棄指示を選択回路52へ出力する。
【0055】
なお、エラー検出部4aは、実施の形態1と同様のエラー検出処理を行わなくてもよい。すなわち、エラー検出部4aは、受信装置と同様のエラー検出処理だけを行ってもよい。この場合、ポリサ部5aにおいては、実施の形態1と同様のエラー検出処理の結果すなわち第1のエラー検出結果に応じた廃棄または転送の判定は行わない。
【0056】
次に、本実施の形態の動作について説明する。
図12は、エラー状態監視部9における処理手順の一例を示すフローチャートである。また、
図12では、エラー検出結果を受け取った場合の処理を示しており、エラー検出結果を受け取るたびに
図12に示す処理を実施する。エラー状態監視部9は、エラー検出結果を受け取ると、エラーレートを更新する(ステップS21)。エラー状態監視部9は、保持しているフラグ情報に基づいて廃棄指示は有効であるか否かを判断する(ステップS22)。なお、フラグ情報の初期値は、廃棄指示が無効であることを示す値である。
【0057】
エラー状態監視部9は、廃棄指示が有効でないすなわち廃棄指示が無効であると判断した場合(ステップS22 No)、エラーレートが第1しきい値以上であるか否かを判断する(ステップS23)。なお、ここでは、エラー状態監視部9が、エラーレートが第1しきい値以上であるか否かを判断する例を示すが、この替わりにエラーレートが第1しきい値を超えるか否かを判断してもよい。エラーレートが第1しきい値以上である場合(ステップS23 Yes)、エラー状態監視部9は、廃棄指示を有効にし(ステップS24)、処理を終了する。具体的には、ステップS24では、エラー状態監視部9が、保持しているフラグ情報を廃棄指示が有効であることを示す値に変更する。エラーレートが第1しきい値未満の場合(ステップS23 No)、エラー状態監視部9は、廃棄指示を無効にしたまま、処理を終了する。
【0058】
廃棄指示が有効であると判断した場合(ステップS22 Yes)、エラー状態監視部9は、エラーレートが第2しきい値以下であるか否かを判断する(ステップS25)。なお、ここでは、エラー状態監視部9が、エラーレートが第2しきい値以下であるか否かを判断する例を示すが、この替わりにエラーレートが第2しきい値未満か否かを判断してもよい。エラーレートが第2しきい値以下である場合(ステップS25 Yes)、エラー状態監視部9は、廃棄指示を無効にし(ステップS26)、処理を終了する。具体的には、ステップS26では、エラー状態監視部9が、保持しているフラグ情報を廃棄指示が無効であることを示す値に変更する。エラーレートが第2しきい値より大きい場合(ステップS25 No)、エラー状態監視部9は、フラグ情報を変更せずにそのまま処理を終了する。
【0059】
なお、上述したように、エラー状態監視部9は、フレームが入力されると廃棄指示が有効な場合には、廃棄指示をポリサ部5aへ出力する。
【0060】
図13は、本実施の形態の通信装置100aにおける全体動作の一例を示すフローチャートである。
図13に示すように、通信装置100aにおける全体動作は、
図3に示した通信装置100における全体動作にステップS9を追加し、ステップS6の替わりにステップS6aを実施するものである。以下実施の形態1と異なる動作を説明する。
【0061】
ステップS5の後、エラー状態監視部9が、エラー判定結果に基づいてエラー状態をチェックする(ステップS9)。具体的には、ステップS9では、
図12に示した処理が行われる。
【0062】
図14は、ステップS6aの転送判定の処理手順の一例を示すフローチャートである。ポリサ部5aの選択回路52は、ステップS11でYesの場合、エラー状態監視部9から廃棄指示が入力されたか否かを判断する(ステップS17)。廃棄指示が入力された場合(ステップS17 Yes)、ステップS14へ進む。フレームの入力開始から一定時間待機しても廃棄指示が入力されていない場合(ステップS17 No)、ステップS12へ進む。ステップS12以降は実施の形態1と同様である。
【0063】
なお、以上の説明では、エラー状態監視部9が廃棄指示を出力した場合、ポリサ部5aにおいてフレームを廃棄する例を説明したが、エラー状態監視部9が出力した廃棄指示に基づくフレームの廃棄は、ポリサ部5a以外で実施してもよい。
図15は、ポリサ部5a以外でフレームの廃棄を行う場合の通信装置の構成例を示す図である。
図15に示した通信装置100bは、通信回路1bおよびポート20−1,20−2を備える。通信回路1bは、
図9に示した例と同様にエラー状態監視部9を備え、受信処理部2、送信処理部7の替わりにそれぞれ受信処理部2a、送信処理部7aを備える。
図15に示した構成例では、エラー状態監視部9は、廃棄指示を受信処理部2aおよび送信処理部7aへ出力する。受信処理部2aおよび送信処理部7aは、廃棄指示のあった場合にはポートを閉塞する処理を実施する。また、エラー状態監視部9は、廃棄指示を解除する場合には、受信処理部2aまたは送信処理部7aへその旨通知する。または、ポートを閉塞させる処理の替わりに受信処理部2aおよび送信処理部7aにおいて、フレームを全て廃棄するようにしてもよい。または、受信処理部2aまたは送信処理部7aの一方で、廃棄指示のあった場合に、フレームを廃棄するようにしてもよい。
【0064】
本実施の形態の通信回路1aおよび通信回路1bは、実施の形態1と同様に処理回路により実現できる。
【0065】
以上のように、本実施の形態では、実施の形態1と同様の処理に加えて、受信装置におけるエラーレートに基づいて、フレームを廃棄するか否かの判定を行うようにしたので、大量にエラーフレームが生じた場合にも、ネットワークの障害を抑制することができる。
【0066】
実施の形態3.
図16は、本発明の実施の形態3にかかる通信装置の構成例を示す図である。
図16に示すように、実施の形態3の通信装置100cは、通信回路1cと、通信ポートであるポート20−1,20−2とを備える。実施の形態1および実施の形態2と同様の機能を有する構成要素は、実施の形態1および実施の形態2と同一の符号を付して重複する説明を省略する。以下、実施の形態1および実施の形態2と異なる点を説明する。
【0067】
実施の形態1,2では、1つのポートから受信したフレームを区別しない例を説明したが、本実施の形態では、1つのポートで受信したフレームを複数のトラフィック種別に分類し、トラフィック種別単位で帯域を制限する方法について説明する。なお、本実施の形態におけるトラフィック種別とはフローとも呼ばれる通信の一連の流れを示す単位である。例えば、トラフィック種別の識別は、フレームのヘッダ情報またはペイロードの先頭部分に格納されているアドレス情報、フレームタイプ、VLAN(Virtual Local Area Network)−ID(IDentifier)、論理ポート番号、優先度、転送種別、マルチキャストかブロードキャストかユニキャストかであるかを示す情報のうちの少なくとも1つに基づいて実施することができる。以下、フレームに格納されている上述したトラフィック種別を識別するための情報をトラフィック識別情報と呼ぶ。なお、転送種別とは、カットスルー転送を行うかストアアンドフォワード転送を行うかを示す情報である。
【0068】
図16に示すように、本実施の形態の通信回路1cは、エラー検出部4a、ポリサ部5aおよびエラー状態監視部9の替わりにエラー検出部4b、ポリサ部5bおよびエラー状態監視部9aをそれぞれ備える以外は、実施の形態2の通信回路1aと同様である。
【0069】
本実施の形態のエラー検出部4bは、トラフィック種別ごとにエラー検出を行い、トラフィックを示す情報とともにエラー判定結果をポリサ部5bおよびエラー状態監視部9aへ出力する。エラー状態監視部9aは、トラフィック種別ごとに、実施の形態2と同様の処理を実施する。すなわち、エラー状態監視部9aは、トラフィック種別ごとに廃棄指示の有効または無効を示すフラグ情報を保持し、トラフィック種別ごとにエラーレートを保持する。そして、エラー状態監視部9aは、トラフィック種別ごとにフラグ情報およびエラーレートを更新する。なお、第1しきい値および第2しきい値は、トラフィック種別ごとに個別に設定されてもよいしトラフィック種別によらず共通の値に設定されてもよい。
【0070】
図17は、ポリサ部5bの構成例を示す図である。
図17に示すように、ポリサ部5bは、帯域監視回路51b、選択回路52、フレーム識別回路53および各種処理回路54を備える。
【0071】
フレーム識別回路53は、フレーム内のトラフィック識別情報に基づいて、フレームのトラフィック種別を識別し、識別した情報であるフレーム識別情報を帯域監視回路51bへ出力する。フレーム識別情報は、トラフィック種別を示す情報であり、例えば、トラフィック種別ごとにあらかじめ定められた番号などである。各種処理回路54は、フレームの種別の判定に用いる情報を保持し、フレーム識別回路53からの処理要求に応じて、フレーム種別の判定に用いる情報を処理結果としてフレーム識別回路53へ出力する。各種処理回路54は、例えば、フレーム識別情報とフレームの種別を示す情報との対応を保持し、フレーム識別回路53から処理要求によりフレーム識別情報が通知されると、トラフィック種別を示す情報を処理結果としてフレーム識別回路53へ出力する。
【0072】
帯域監視回路51bは、トラフィック種別ごとに、実施の形態2で述べた帯域監視回路51aの動作を実施する。帯域監視回路51bは、トラフィック種別ごとに、レート情報を保持し、トラフィック種別ごとにポリシングなどを実施する。すなわち、帯域監視回路51bは、第2のフレームのトラフィック種別ごとに、レート情報を求め、トラフィック種別ごとに、前記第1のフレームを廃棄するか否かを判断する帯域制限部である。帯域監視回路51bは、トラフィック種別ごとに、転送指示または廃棄指示を選択回路52へ出力する。なお、帯域監視回路51bがポリシングに用いるしきい値は、トラフィック種別によらず共通であってもよいし、トラフィック種別ごとに個別に設定されてもよい。
【0073】
また、フレームの廃棄は、実施の形態1および実施の形態2で述べたように、ポリサ部5b以外で実施してもよい。例えば、送信処理部または受信処理部においてトラフィック種別ごとにフレームを廃棄するようにしてもよい。本実施の形態の通信回路1cは、実施の形態1と同様に処理回路により実現できる。
【0074】
また、以上の例では、実施の形態2と同様の動作をトラフィック種別ごとに行うようにしたが、実施の形態1と同様の動作をトラフィック種別ごとに行うようにしてもよい。
【0075】
以上のように、本実施の形態では、トラフィック種別ごとに実施の形態2と同様にポリシングを行うようにした。このため、トラフィック種別ごとにカットスルー転送および帯域制御を行うことができ、より適切な帯域制御を実施することができる。
【0076】
実施の形態4.
図18は、本発明の実施の形態4にかかる通信装置の構成例を示す図である。
図18に示すように、実施の形態4の通信装置100dは、通信回路1dと、複数のポートであるポート20−1〜20−n,21−1〜21−nとを備える。実施の形態1から実施の形態3のいずれかと同様の機能を有する構成要素は、実施の形態1から実施の形態3のいずれかと同一の符号を付して重複する説明を省略する。以下、実施の形態1、実施の形態2および実施の形態3と異なる点を説明する。なお、
図19では、ポート20−1〜20−2とポート21−1〜21−nと別に示しているが、ポートとして入出力ポートを用いる場合、ポート20−1〜20−2とポート21−1〜21−nとのうち同じ枝番号のものは実際には、同じポートであってもよい。
【0077】
実施の形態4では、通信装置100dが複数のポート間でフレームをカットスルー転送可能な多重化装置である場合における帯域制限方法について説明する。多重化装置とは、受信側の2つ以上のポートから受信したフレームを多重化して送信側のポートへ出力することが可能な通信装置である。
【0078】
図18に示すように、通信回路1dは、受信部10−1〜10−nと、スイッチ処理部11と、カットスルー転送処理部12−1〜12−nと、転送処理部13−1〜13−nと、送信処理部14−1〜14−nとを備える。nは2以上の整数である。
【0079】
受信部10−1〜10−nは、それぞれ対応するポート20−1〜20−nに接続される。受信部10−1〜10−nは、それぞれ、実施の形態3の通信回路1cのポリサ部5bの替わりにポリサ部5cを備え、実施の形態3の通信回路1cから転送処理部6および送信処理部7を除いた構成を有する。送信処理部14−1〜14−nは、それぞれ対応するポート21−1〜21−nに接続される。送信処理部14−1〜14−nは、実施の形態1の送信処理部とそれぞれ同一である。
【0080】
ポリサ部5cの構成は
図17に示した実施の形態3のポリサ部5bと同様であるが、本実施の形態では、ポリサ部5cのフレーム識別回路53はさらに、フレームが入力されると、カットスルー転送の対象のフレームかストアアンドフォワード転送の対象のフレームかを識別する。そして、ポリサ部5cのフレーム識別回路53は、カットスルー転送の対象のフレームに対しては、実施の形態3と同様の処理を行う。すなわち、ポリサ部5cのフレーム識別回路53は、受信されたフレームが、カットスルー転送の対象であるかまたはストアアンドフォワード転送の対象であるかをポートごとに判定する識別部であり、ストアアンドフォワード転送の対象であるフレームをスイッチ処理部11へ出力し、カットスルー転送の対象であるフレームを帯域制限部である帯域監視回路51bへ出力する。なお、本実施の形態では、カットスルー転送の対象のフレームは、ポリサ部5cから宛先に応じたポート21−1〜21−nに対応するカットスルー転送処理部12−1〜12−nへ出力される。カットスルー転送の対象のフレームかストアアンドフォワード転送の対象のフレームかを識別するための情報はフレーム内に格納されている。また、選択回路52は、カットスルー転送を行うフレームについての宛先とポートの対応を示す情報を保持している。また、ポリサ部5cは、ストアアンドフォワード転送の対象のフレームをスイッチ処理部11へ出力する。
【0081】
スイッチ処理部11は、受信部10−1〜10−nから入力されたフレームを多重化することが可能である。すなわち、スイッチ処理部11は、複数のポートのうちの2つ以上のポートにより受信されたフレームを多重化する。スイッチ処理部11における多重化の方法は、一般的な多重化の方法と同様であり、特に制約はない。また、一般には、スイッチ処理部11は、受信側のポートごとまたは送信側のポートごとにバッファを持ち、入力されたフレームをバッファに格納し、多重化を行って宛先に応じたポート21−1〜21−nに対応する転送処理部13−1〜13−nへ出力する。なお、スイッチ処理部11は、バッファを、受信側のポートごとまたは送信側ポートごとにだけでなくさらにポートごと優先クラスごとユーザごとに備える場合もある。
【0082】
なお、本実施の形態では、受信部10−1〜10−nが、実施の形態3と同様のポリシングを行う例を説明したが、受信部10−1〜10−nが、実施の形態1または実施の形態2と同様のポリシングを行ってもよい。
【0083】
また、以上の例では、ポリサ部をポートごとに備えるすなわち各受信部内に備える例を説明したが、通信装置が、ポートごとには、ポリサ部の替わりにフレーム識別回路だけを備えるようにし、
図19に示したポリサ部を各受信部とカットスルー転送処理部との間に設けるようにしてもよい。
図19は、ポリサ部5dの別の構成例を示す図である。
図19に示したポリサ部5dは、ポリサ処理回路55、ポート競合回路56および帯域状態保持回路57−1〜57−nを備える。ポリサ処理回路55は、ポリサ部5bの帯域監視回路51bと同様の機能を有する。帯域状態保持回路57−1〜57−nは、各ポートの
図9の例のようにフレーム識別回路とは切り分けて、複数のポートで順にシリアル処理できる構成でもよい。ポリサ部5dへは、受信側の各ポートに対応する廃棄指示#1〜#n、エラー判定結果#1〜#n、フレーム通知#1〜#n、フレーム識別情報#1〜#nが入力される。なお、#の次に示した数値は、各ポートの枝番号を示す。
【0084】
帯域状態保持回路57−1〜57−nは、それぞれ対応するポートで受信されたフレームについての廃棄指示の有効および無効の状態、およびレート情報を保持する。ポート競合回路56は、ポリサ処理回路55の処理対象とする受信ポートを選択する。すなわち、ポート競合回路56は、ポリサ処理回路55がどのポートで受信したフレームの処理を行うかを判定する。ポリサ処理回路55における受信ポートの選択は、例えば、一定時間ごとにあらかじめ定められた順で各ポートの処理を行うように選択してもよいし、あらかじめ決定された優先度などに基づいて行ってもよい。この際、ポート競合回路56は、選択したポートに関する廃棄指示の有効および無効の状態を対応する帯域状態保持回路57−1〜57−nから読み出し、かつレート情報を読み出してポリサ処理回路55へ通知する。ポリサ処理回路55は、ポリサ処理回路55により選択されたポートで受信されたフレームに関してのポリシング処理を実施の形態3と同様に実施し、判定結果をポート競合回路56へ通知する。ポート競合回路56は、ポリサ処理回路55から受信した判定結果を該判定結果に対応するポートの帯域状態保持回路57−1〜57−nへ出力する。ポリサ部5dは、各ポートへ、対応する転送指示または廃棄指示#1〜#nが出力される。なお、#の次に示した数値は、各ポートの枝番号を示す。
【0085】
以上のように、本実施の形態では、多重化装置としての機能を有する通信装置においてカットスルー転送および帯域制限を行う構成および方法を説明した。これにより、本実施の形態の通信装置は、多重化対象のフレームとカットスルー転送の対象のフレームとの両方を転送する場合にも、カットスルー転送および帯域制限を行うことができる。
【0086】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。