以下に添付図面を参照して、本発明に係る伝送装置およびフレーム転送方法の好適な実施の形態を詳細に説明する。以下の実施例では、本発明に係るフレーム転送方式をシャーシ型のL2スイッチに適用した場合を例にして説明することとし、実施例の説明に先立って、従来のシャーシ型のL2スイッチについて説明をおこなう。
なお、本発明に係るフレーム転送方式の適用対象は、シャーシ型のL2スイッチに限られるものではなく、他の伝送装置においても有効である。
(従来のシャーシ型L2スイッチについて)
L2スイッチの構成の1種類として、挿抜の可能な複数のラインユニットをバックボードにて接続する、シャーシ型と呼ばれるものがある。図1−1は、シャーシ型のL2スイッチの一例を示すサンプル図である。同図に示すL2スイッチ1000は、ラインユニット1100、ラインユニット1101およびラインユニット1102という3つのラインユニットをバックボードに接続して構成されている。
ラインユニットは、複数のインターフェイスのポート(たとえば、100Mbpsのイーサネット(登録商標)のポート)とフレーム転送機能とが搭載されたプリント回路板であり、バックボードとコネクタを介して接続する。
このようなシャーシ型の構造とすることにより、装置の用途に応じてラインユニットの組合せを変更することが可能となり、装置を多様に利用することができる。たとえば、ラインユニットを100Mbpsのイーサネット(登録商標)のユニットで統一したり、一部のラインユニットを1Gbpsのイーサネット(登録商標)のユニットやATMインターフェイスのユニットにしたりというように使用するユニット構成を変えることによって、様々な構成のL2スイッチを同一のシャーシで実現することができる。
また、一部のポートもしくはラインユニットに故障が発生しても、装置全体を交換することなく、該当するラインユニットのみを交換することで対応することができ、装置の可用性を高めることができる。
シャーシ型のL2スイッチにおいて各ラインユニットを相互に接続する形態として、バックボードの配線を経由して各ラインユニットをメッシュ状に接続する形態がある。たとえば、3つのユニットから構成されるシャーシ型のL2スイッチにおいて各ラインユニットをメッシュ状に接続する場合、図1−2に示すように、各ラインユニットは、バックボードとの間に3方路の出力と3方路の入力をもつこととなる。
このようにラインユニット同士をバックボードを介して直接接続する場合、入力側のラインユニットがフレームの転送先を決定することが必要になる。もし、入力側のラインユニットがフレームの転送先を決定せずに、バックボードを介して接続されているラインユニットに転送したとすると、各ラインユニットにおいて本来処理する必要のないフレームの転送先を判定する必要が生じて負荷が増大するためである。
このため、前述したMACアドレスの学習機能は、全ての入力側のラインユニットにそれぞれ搭載することが必要になる。シャーシ型のL2スイッチにおいては、通常、いずれのラインユニットも通信方向に応じて入力側と出力側の双方になりうるため、実質的には全てのラインユニットにMACアドレスの学習機能を搭載することが必要になる。
すなわち、シャーシ型のL2スイッチにおいては、高速な検索を可能とするために、高価なCAMを全てのラインユニットに搭載する必要があり、このことが装置のコストを上げる要因となっていた。
次に、シャーシ型のL2スイッチに搭載されるラインユニットの構成について説明する。図1−3は、イーサネット(登録商標)インターフェイスをもつラインユニットの構成を示すブロック図である。同図は、ラインユニット1100の構成を示しているが、ラインユニット1101およびラインユニット1102も同様の構成を有する。
同図に示すように、ラインユニット1100は、少なくとも一つのイーサネット(登録商標)ポートと、入力監視部1110と、入力フレーム転送部1120と、送出側バックボードインターフェイス部1130と、受信側バックボードインターフェイス部1140と、出力フレーム転送部1150と、学習/検索部1160とを有する。
各イーサネット(登録商標)ポートには、他のポートと識別するためのポート番号が付与されている。また、各ラインユニットには、他のラインユニットと識別するためのユニークなユニット番号が付与されている。以下の説明ではn番目のポート番号を#Pnと表現し、n番目のユニット番号を#nと表現する。
入力監視部1110は、各イーサネット(登録商標)ポートがMACフレームを受信したか否かを監視し、いずれかのイーサネット(登録商標)ポートが正常なMACフレームを受信したならば、これに装置内フレームヘッダを付与して入力フレーム転送部1120へ転送する処理部である。
図1−4は、イーサネット(登録商標)ポートにて受信されるMACフレームのフォーマットを示す構成図である。同図に示すように、MACフレームは、送信先を示す宛先MACアドレス(DA、Destination Address)と、送信元を示す送信元MACアドレス(SA、Source Address)と、Type/Lengthと、目的に応じたデータが格納されるペイロードと、誤り検出のためのFCS(Flame Check Sequence)とからなる。Type/Lengthの部分は、上位レイヤのプロトコルを示す場合はTypeとして使われ、フレームの長さを示す場合はLengthとして使われる。
図1−5は、装置内フレームヘッダのフォーマットを示す構成図である。同図に示すように、装置内フレームヘッダは、宛先ユニットビットマップと、宛先ポート番号と、受信ユニット番号と、受信ポート番号とを有する。
宛先ユニットビットマップは、宛先となるラインユニットをビットで表現し、宛先となるユニットに1を設定する。一例としては、各ビットを各ラインユニットに一対一に対応させる。このとき、宛先ユニットビットマップは、L2スイッチ1000に搭載可能なラインユニット数以上のビット数を有することになる。宛先ポート番号は、フレームをラインユニット内のどのポートへ出力するかを示す。受信ユニット番号と受信ポート番号はフレームを受信したユニットとポートの番号を示す。
入力監視部1110は、フレームに付与した装置内フレームヘッダの受信ユニット番号に自身が記憶している自ユニット番号1111を設定し、受信ポート番号にそのMACフレームを受信したポートのポート番号を設定し、宛先ユニットビットマップと宛先ポート番号については初期状態のままとする。
入力フレーム転送部1120は、MACフレームの転送先を判定し、判定結果を装置内フレームヘッダに反映し、その後にMACフレームを送出側バックボードインターフェイス部1130へ転送する処理部である。
入力フレーム転送部1120は、MACフレームの宛先MACアドレスを取得し、このアドレスがマルチキャストもしくはブロードキャストを示すアドレスであるか否かを判定する。イーサネット(登録商標)の規定によれば、先頭の1バイト目の最下位ビットが1のMACアドレスは、マルチキャストかブロードキャストであることを示す。
そして、入力フレーム転送部1120は、宛先MACアドレスがマルチキャストもしくはブロードキャストを示すアドレスであった場合は、L2スイッチ1000に実装されている全てのラインユニットが転送先となるように宛先ユニットビットマップを設定する。具体的には、自身が記憶している実装ユニット情報1121を参照し、L2スイッチ1000に実装されているラインユニットに対応するビットがすべて1になるように宛先ユニットビットマップを設定する。
上記した実装ユニット情報1121は、L2スイッチ1000に実際に搭載されているラインユニットを示すものであり、例えば、宛先ビットマップにおける、どのビット位置のラインユニットが実装されているかを示す情報である。
なお、マルチキャストフレームもしくはブロードキャストフレームの場合には、転送先のポートは特定せず、宛先ポート番号にはポートを特定しないことを示す、例えば0を設定する。
このような設定をおこなうことにより、MACフレームは、受信したポートを除いて、L2スイッチ1000に搭載されている全てのラインユニットの全てのポートから出力されることになる。このようにMACフレームを受信したポート以外の全てのポートへ出力することをフラッディングという。
また、入力フレーム転送部1120は、MACフレームから取得した宛先MACアドレスが特定の送信先を示すものであった場合は、学習/検索部1160に宛先MACアドレスを引き渡して、このMACアドレスに対応する学習情報を検索させる。ここで、学習情報が存在した場合は、その学習情報に従って宛先ユニットビットマップと宛先ポート番号を設定し、MACフレームが特定のラインユニットの特定のポートからのみ出力されるようにする。
一方、学習情報が存在しなかった場合は、入力フレーム転送部1120は、マルチキャストもしくはブロードキャストを示すアドレスであった場合と同様に、L2スイッチ1000に搭載されている全てのラインユニットが転送先となるように宛先ユニットビットマップを設定し、宛先ポート番号に0を設定し、MACフレームをフラッディングさせる。
送出側バックボードインターフェイス部1130は、バックボードとのバス接続インターフェイスであり、入力フレーム転送部1120から転送されたMACフレームを複製して全ての方路へ向けて転送する。
受信側バックボードインターフェイス部1140は、バックボードとのバス接続インターフェイスであり、バックボードを経由して他のラインユニットから転送されたMACフレーム、および、自ユニットの送出側バックボードインターフェイス部1130から転送され自ユニットへ折り返されたMACフレームを受信し、バッファに一時的に格納する。
そして、バッファに格納されたMACフレームを逐次読み出し、装置内フレームヘッダの宛先ユニットビットマップを参照して自身が記憶している自ユニット番号1141に対応するビットの値を検査する。ここで、自ユニットを示すビットの値が1であればそのMACフレームを出力フレーム転送部1150へ転送し、ビットの値が0であればそのMACフレームを破棄する。
出力フレーム転送部1150は、転送されたMACフレームの装置内フレームヘッダを除去し、装置内フレームヘッダを除去したフレームを指定されたポートへ出力する処理部である。指定されたポートとは、装置内フレームヘッダの宛先ポート番号の値が0であれば全てのポートであり、宛先ポート番号の値が0でない場合はそのポート番号に対応するポートである。
ただし、装置内フレームヘッダの宛先ポート番号の値が0の場合であっても、そのMACフレームが自ユニットで受信されたフレームの場合は、そのフレームを受信したポートにはフレームを出力させない。これは、フレームの重複やループを回避するためである。
また、出力フレーム転送部1150は、転送されたMACフレームの送信元MACアドレスと、同MACフレームに付与されていた装置内フレームヘッダの受信ユニット番号および受信ポート番号を学習/検索部1160に引き渡して学習させる。
学習/検索部1160は、出力フレーム転送部1150から引き渡された送信元MACアドレスと、受信ユニット番号と、受信ポート番号とを関連付けてCAM1161に学習情報として記憶する処理部である。そして、入力フレーム転送部1120の問い合わせに応じてCAM1161を検索し、問い合わされたMACアドレスと同一のMACアドレスが記憶されていれば、それに対応する受信ユニット番号と受信ポート番号を応答する。
このような学習機能を備えることにより、フラッディングの発生を最小限にすることができ、フラッディングにともなうL2スイッチ1000およびネットワーク全体の負荷の増大を抑制することができる。
次に、L2スイッチ1000の処理手順について説明する。ここでは、L2スイッチ1000を含むネットワークの構成が図1−6のようになっているものとして説明をおこなう。
図1−6の例において、L2スイッチ1000は、ラインユニット1100と、ラインユニット1101と、ラインユニット1102とを搭載し、ネットワークを通じて端末11〜16と接続されている。ラインユニット1100は、#1というユニット番号を有し、ラインユニット1101は、#2というユニット番号を有し、ラインユニット1102は、#3というユニット番号を有している。
端末11は、16進表現で000000000011というMACアドレスを有し(以下、MACアドレスにおける上位の連続した0は省略して記述する)、ラインユニット1100のポート#P1に接続されている。端末12は、12というMACアドレスを有し、ラインユニット1100のポート#P2に接続されている。端末13は、13というMACアドレスを有し、ラインユニット1100のポート#P3に接続されている。
端末14は、14というMACアドレスを有し、ラインユニット1101のポート#P1に接続されている。端末15は、15というMACアドレスを有し、ラインユニット1101のポート#P1に接続されている。端末16は、16というMACアドレスを有し、ラインユニット1102のポート#P2に接続されている。
かかる構成のネットワークにおいて、L2スイッチ1000が全く経路の学習をおこなっていない状態のときに、端末11が端末16へ向けてMACフレームを送信した場合のL2スイッチ1000の処理手順を図1−7と図1−8をもちいて説明する。
図1−7は、イーサネット(登録商標)ポートで受信したフレームを送出側バックボードインターフェイス部へ送出するまでの処理手順を示すフローチャートである。
ラインユニット1100の入力監視部1110は、各イーサネット(登録商標)ポートからのフレームの受信を監視する(ステップS1−1)。この例の場合、端末11が送信したMACフレームをユニット番号#1のラインユニットのポート#P1で受信することになる。
そして、受信したMACフレームが正常なフレームかどうかを確認する。イーサネット(登録商標)の仕様に照らして正常なフレームでないと判断した場合は(ステップS1−2否定)、そのフレームは廃棄して、次の受信フレームを監視する処理へ移る(ステップS1−3)。
正常なフレームであった場合は(ステップS1−2肯定)、フレームに装置内フレームヘッダに付与し、フレームを受信したユニットとポートの番号を装置内フレームヘッダの受信ユニット番号と受信ポート番号に設定する(ステップS1−4)。この例では、ユニット=#1、ポート=#P1となる。受信したフレームは、装置内フレームヘッダとともに、入力フレーム転送部1120へ渡される。
入力フレーム転送部1120は、フレームの宛先MACアドレスを調べ、これがマルチキャストかブロードキャストを示すアドレスの場合は(ステップS1−5肯定)、フレームがフラッディングであることを示す情報として、装置内フレームヘッダの宛先ポート番号に0を設定し、宛先ユニットビットマップには全ての実装ユニットに1を設定して送出側バックボードインターフェイス部1130へ転送する(ステップS1−10)。
この例の場合、宛先MACアドレスは、端末11のMACアドレスため、マルチキャストでもブロードキャストでもないと判断され(ステップS1−5否定)、入力フレーム転送部1120は、学習/検索部1160に学習情報の検索処理をおこなわせる(ステップS1−6)。
学習情報の検索処理とは、宛先MACアドレスが学習テーブルに登録されているかどうかを調べる処理である。図1−9は、学習テーブルの構成例を示すサンプル図である。同図に示すように、学習テーブルは、MACアドレスと、ユニット番号と、ポート番号とを対応付けてCAM1161に記憶するものであるが、この時点では何も学習がされておらず、空であるものとする。
この例の場合、宛先MACアドレスに一致する情報は検索されず(ステップS1−7否定)、入力フレーム転送部1120は、宛先MACアドレスがマルチキャストかブロードキャストを示すアドレスの場合と同様にステップS1−10を実行する。
図1−10は、上記の処理の結果としてバックボードに送出されるフレームの装置内フレームヘッダのサンプル図である。同図に示すように、宛先ユニットビットマップのラインユニット1100、ラインユニット1101およびラインユニット1102に対応するビットに1が設定され、宛先ポート番号に0が設定される。そして、受信ユニット番号には1が設定され、受信ポート番号には1が設定される。
上記の処理の結果、装置内フレームヘッダを付与されたMACフレームは、L2スイッチ1000に搭載された全てのラインユニット、すなわち、ラインユニット1100、ラインユニット1101およびラインユニット1102に送出される。
以下、ラインユニット1102の場合を例にして、各ラインユニットがバックボードからMACフレームを受信した後の処理手順を説明する。なお、ラインユニット1102は、ラインユニット1100と同様の構成を有するものとする。
図1−8は、バックボードより受信したフレームをイーサネット(登録商標)ポートへ送出するまでの処理手順を示すフローチャートである。
受信側バックボードインターフェイス部1140は、各ユニットから送られてきたフレームがバッファに格納されているか否かを監視する(ステップS2−1)。そして、フレームがバッファに格納されていたならば(ステップS2−2肯定)、宛先ユニットビットマップを検査して自ユニット宛か否かを判定し、自ユニット宛でなければ(ステップS2−3否定)、そのフレームを破棄する(ステップS2−4)。
この例の場合、フレームは自ユニット宛であるので(ステップS2−3肯定)、破棄されずに出力フレーム転送部1150へ転送され、出力フレーム転送部1150は、フレームの送信元MACアドレスと、装置内フレームヘッダの受信ユニット番号と受信ポート番号を学習/検索部1160に引き渡して学習テーブルに登録させる(ステップS2−5)。
そして、出力フレーム転送部1150は、装置内フレームヘッダの宛先ポート番号が0か否かを検査する。この例の場合、宛先ポート番号は0なので(ステップS2−6肯定)、出力フレーム転送部1150は、装置内フレームヘッダを除去したフレームを全てのイーサネット(登録商標)ポート(ただし、そのフレームを受信したポートを除く)へ出力する(ステップS2−8)。
上記の処理は、ラインユニット1100およびラインユニット1101でも同様におこなわれる。その結果、端末11が送出した端末16宛てのMACフレームは、受信したポートを除く全てのポートに出力され、#3のラインユニット1102のポート#P2から出力されたフレームを、端末16が受信することができる。
そして、各ラインユニットにおいて端末11のMACアドレスが学習テーブルで学習された状態となる。図1−11は、学習後の学習テーブルを示すサンプル図である。同図に示すように、MACフレームの送信元MACアドレスである11と、受信ラインユニットのユニット番号である#1と、受信ラインユニットにおける受信ポートのポート番号である#P1とが対応付けられて記憶される。
続いて、先ほどと反対方向に、端末16から端末11へ向けてフレームが送信された場合のL2スイッチ1000の処理手順を図1−7と図1−8をもちいて説明する。この場合の処理手順は、宛先のMACアドレスが学習されている場合の処理手順となる。
ラインユニット1102がポート#P2でMACフレームを受信し、バックボードへ送出するまでの処理手順のうち、図1−7のステップS1−6までは既に説明した手順と同一であるので説明を省略する。
図1−11に示したように、宛先MACアドレスである11は学習テーブルに学習されているので、ステップS1−6の検索の結果、入力フレーム転送部1120は、MACアドレスが学習済と判定する(ステップS1−7肯定)。そして、学習されているユニットとポートの情報を取り出し(ステップS1−8)、装置内フレームヘッダの宛先ユニット番号と宛先ポート番号に設定してフレームを送出側バックボードインターフェイス部1130へ転送する(ステップS1−9)。
図1−12は、上記の処理の結果としてバックボードに送出されるフレームの装置内フレームヘッダのサンプル図である。同図に示すように、宛先ユニットビットマップのうちラインユニット1100に対応するビットのみに1が設定され、宛先ポート番号に1が設定される。そして、受信ユニット番号には3が設定され、受信ポート番号には2が設定される。
このフレームの装置内フレームヘッダをもったフレームは、バックボードのバスを介して全てのラインユニットに送信されるが、宛先ユニットビットマップを参照するとラインユニット1100に対応するビットのみに1が設定されているため、ラインユニット1100以外のラインユニットでは破棄されることとなる。
続いて、ラインユニット1100が、バックボードからフレームを受信し、イーサネット(登録商標)ポートよりフレームを出力するまでの処理手順について説明する。この処理手順のうち、図1−8のステップS2−5までは既に説明した手順と同一であるので説明を省略する。
出力フレーム転送部1150は、ステップS2−5において学習/検索部1160に学習をおこなわせた後、装置内フレームヘッダの宛先ポート番号に0が設定されているか否かを検査する。この例の場合、宛先ポート番号は1なので(ステップS2−6否定)、出力フレーム転送部1150は、装置内フレームヘッダを除去したフレームを宛先ポート番号が示すイーサネット(登録商標)ポート(この例の場合、ポート#P1)へ出力する(ステップS2−7)。
このように、端末13のMACアドレスが学習テーブルに学習されていた結果、先に記述したようなフラッディングは発生しない。また、端末16から端末11に対してMACフレームが送信された結果、図1−13に示すように、端末16のMACアドレスがラインユニット1100の学習テーブルに学習されることになるので、次回端末11〜13が端末14宛にMACフレームを送信する場合もフラッディングは発生しない。
上記で説明したように、L2スイッチ1000は、未学習のMACアドレス宛にフレームを転送する場合はフラッディングをおこなうが、その際に送信元のアドレスを学習しておくことで、その後、反対方向のフレームが転送される時には特定のポートへのみフレームを転送する。このように学習をおこなうことで、余計な帯域を使わない効率的な転送が可能となる。
ところで、遠隔のLAN(Local Area Network)同士を透過的に接続するために、L2スイッチにATMのインターフェイスの機能を搭載し、広域のATM網でL2スイッチ同士を接続する方式がもちいられることがある。
このような構成のネットワークを、シャーシ型のL2スイッチにて実現する場合は、ATMインターフェイスをもつラインユニット(以下、「ATMユニット」という。)とイーサネット(登録商標)インターフェイスをもつラインユニット(以下、「イーサネット(登録商標)ユニット」という)とを組み合わせて搭載することになる。
この構成においても、前述したように、ラインユニット単位にMACアドレスの学習と検索の機能をもつことの必要性は変わらない。さらに、ATMユニットは、学習の機能に加えて、ATMのカプセル化、デカプセル化等の機能が必要になるため、装置のコストが高くなる。
図1−14は、複数のLAN間をATM網で接続して構成したネットワークの一例を示すサンプル図である。同図に示すように、この例に示すネットワークは、L2スイッチ2000とL2スイッチ2001の間、および、L2スイッチ2000とL2スイッチ2002の間をATM網で接続して構成されている。
L2スイッチ2000は、イーサネット(登録商標)ユニットであるラインユニット2100およびラインユニット2101と、ATMユニットであるラインユニット2200とを搭載する。ラインユニット2100は、#1というユニット番号を有し、ラインユニット2101は、#2というユニット番号を有し、ラインユニット2200は、#3というユニット番号を有している。
L2スイッチ2000は、LANによって端末21〜22と接続される。端末21は、21というMACアドレスを有し、ラインユニット2100のポート#P1に接続されている。端末22は、22というMACアドレスを有し、ラインユニット2101のポート#P1に接続されている。
L2スイッチ2001は、イーサネット(登録商標)ユニットであるラインユニット2102およびラインユニット2103と、ATMユニットであるラインユニット2201とを搭載する。ラインユニット2102は、#2というユニット番号を有し、ラインユニット2103は、#3というユニット番号を有し、ラインユニット2201は、#1というユニット番号を有している。
L2スイッチ2001は、LANによって端末31〜32と接続される。端末31は、31というMACアドレスを有し、ラインユニット2102のポート#P1に接続されている。端末32は、32というMACアドレスを有し、ラインユニット2103のポート#P2に接続されている。
L2スイッチ2002は、イーサネット(登録商標)ユニットであるラインユニット2104と、ATMユニットであるラインユニット2202とを搭載する。ラインユニット2104は、#2というユニット番号を有し、ラインユニット2202は、#1というユニット番号を有している。
L2スイッチ2002は、LANによって端末41〜42と接続される。端末41は、41というMACアドレスを有し、ラインユニット2104のポート#P1に接続されている。端末42は、42というMACアドレスを有し、ラインユニット2104のポート#P2に接続されている。
各L2スイッチ間には、ポイントツーポイントのATMコネクションが設定される。MACフレームは、AAL5(ATM Adaptation Layer 5)にカプセリングされ、ATMセルに分割されて、ATMポートとVPIとVCIの値により識別されるATMコネクションを使って、ATM網を転送される。
図1−15は、MACフレームのカプセル化について説明するための説明図である。同図に示すように、まず、インターネット標準であるIETF RFC2684の「LLC Encapsulation for Bridged Protocol」にて規定されるヘッダがMACフレームの先頭に付加される。
RFC2684ヘッダのLLCとOUIはMACフレームをATM網で転送する場合の固定のヘッダ情報である。PIDはMACフレームのFCSを付加しているか付加していないかを示す2バイトの情報であり、0x0001は付加することを意味し、0x0007は付加しないことを意味する。PADは、現在未使用のパディングの領域である。
RFC2684ヘッダが付加されたMACフレームは、ATMのAAL5のフレームとするためにAAL5のトレーラがフレームの最後尾に付加される。そして、48バイトずつに分割された後に5バイトのATMセルヘッダが付加され、53バイトのATMセルとしてATM網へ転送される。
ATMインターフェイスでATMセルを受信した後にデカプセル化してMACフレームに組み立てる処理は、上記の処理を逆の方向へ順におこなうことで実現される。
これらの、MACフレームをATMセルにカプセル化して転送する技術、および、ATMセルをデカプセル化してMACフレームを組み立てる技術は、ATMの標準のAAL5機能とインターネット標準のRFC2684によりすでに公知の技術であるので、詳細な説明は省略する。
図1−14の例におけるATMのコネクション設定状態を説明する。一般的に、ATMのコネクションのVPI、VCIの値は両端の終端点では同じ値にならない。これは、途中のATMスイッチでVPI、VCIが書き換えられるためである。そのため、各コネクションの終端点ごとにコネクションの情報の設定はおこなわれる。
L2スイッチ2000とL2スイッチ2001にはATMのPVC(Permanent Virtual connection)が設定されており、L2スイッチ2001のラインユニット2200側は、そのPVCを、PVC番号=20、Port=#1、VPI=1、VCI=200で識別するように構成されている。一方、L2スイッチ2001のラインユニット2201側は、PVC番号=30、Port=#1、VPI=3、VCI=300でPVCを識別するように構成されている。
同様に、L2スイッチ2000とL2スイッチ2002にもATMのPVCが設定されており、L2スイッチ2000のラインユニット2200側は、そのPVCを、PVC番号=21、Port=#2、VPI=2、VCI=210で識別するように構成されている。一方、L2スイッチ2002のラインユニット2202側は、PVC番号=40、Port=#1、VPI=4、VCI=400でPVCを識別するように構成されている。
ここで、PVC番号を使用するのは、装置内でATMコネクションを識別するためにポート番号とVPIとVCIの組合せを使用すると、情報量が多くなり装置内のメモリ量などが増加してしまうためである。そこで、ポート番号とPVC番号の組合せに変換して情報量を少なくし、装置内のメモリ量の節約を図っている。
PVC番号を変換するために、図1−16および図1−17に示すような変換テーブルをATMユニットは備える。図1−16は、ポート番号とVPIとVCIの値から、PVC番号を求めるためのテーブルである。図1−17は、ポート番号とPVC番号からVPI、VCIを求めるためのテーブルである。
図1−16に示した変換テーブルは、後述するPVC番号管理テーブル2212に相当し、図1−17に示した変換テーブルは、後述するPVC番号管理テーブル2261に相当する。いずれのテーブルもポート番号、PVC番号、VPIおよびVCIの値の対応が予め登録される。
次に、図1−14に示したラインユニットの構成について説明する。イーサネット(登録商標)ユニットであるラインユニット2100、ラインユニット2101、ラインユニット2102、ラインユニット2103およびラインユニット2104は、図1−3に示したラインユニット1100と同様の構成を有するので説明は省略する。また、ATMユニットであるラインユニット2200、ラインユニット2201およびラインユニット2202は、それぞれ同様の構成を有するので、ここではラインユニット2200を例にして説明することとする。
図1−18は、ATMインターフェイスをもつラインユニットの構成を示すブロック図である。同図に示すように、ラインユニット2200は、少なくとも一つのATMポートと、ATMデカプセル部2210と、入力フレーム転送部2220と、送出側バックボードインターフェイス部2230と、受信側バックボードインターフェイス部2240と、出力フレーム転送部2250と、ATMカプセル化部2260と、学習/検索部2270とを有する。
入力フレーム転送部2220、送出側バックボードインターフェイス部2230、受信側バックボードインターフェイス部2240、出力フレーム転送部2250および学習/検索部2270は、それぞれ、図1−3に示した入力フレーム転送部1120、送出側バックボードインターフェイス部1130、受信側バックボードインターフェイス部1140、出力フレーム転送部1150および学習/検索部1160と同様の処理部であるのでここでは説明を省略し、処理の相違点については、後述する処理手順の説明の中で説明する。
ATMデカプセル部2210は、各ATMポートがATMセルを受信したか否かを監視し、受信されたATMセルをMACフレームに組み立てるAAL5アッセンブリー処理をおこない、これに装置内フレームヘッダを付与して入力フレーム転送部2220へ転送する処理部である。
図1−19は、L2スイッチ2000における装置内フレームヘッダのフォーマットの一例を示す構成図である。同図に示すように、ATMユニットを有するL2スイッチにおいて付与される装置内フレームヘッダは、図1−5に示した項目に加えて宛先PVC番号と受信PVC番号という項目を有する。宛先PVC番号は、そのフレームの転送先のATMコネクションを識別するためのPVC番号であり、受信PVC番号は、そのフレームを受信したATMコネクションを識別するためのPVC番号である。
ATMデカプセル部2210は、フレームに付与した装置内フレームヘッダの受信ユニット番号に自身が記憶している自ユニット番号2211を設定し、受信ポート番号にフレームを受信したポートのポート番号を設定する。そして、ポート番号、VPIおよびVCIを検索キーとして自身が記憶するPVC番号管理テーブル2212を検索し、ATMセルを受信したATMコネクションのPVC番号を取得して受信PVC番号に設定する。宛先ユニットビットマップ、宛先ポート番号および宛先PVC番号については初期状態のままとする。
ATMカプセル化部2260は、出力フレーム転送部2250から転送されたMACフレームの装置内フレームヘッダを除去し、装置内フレームヘッダを除去したフレームをATMセルへカプセル化してATMポートへ出力する処理部である。
ATMカプセル化部2260は、装置内フレームヘッダの宛先ポート番号の値が0でない場合、宛先ポート番号および宛先PVC番号を検索キーとして自身が記憶するPVC番号管理テーブル2261を検索し、ATMコネクションのVPIおよびVCIを取得して、これらによって識別されるATMコネクションに対してATMセルを送信する。
また、装置内フレームヘッダの宛先ポート番号の値が0の場合は、PVC番号管理テーブル2261に登録されている全てのATMコネクションに対してATMセルを送信する。
次に、図1−14に示したL2スイッチの処理手順について説明する。まず、各L2スイッチが全く経路の学習をおこなっていない状態のときに、端末21が端末31へ向けてMACフレームを送信した場合のL2スイッチ2000およびL2スイッチ2001の処理手順を図1−20〜図1−23をもちいて説明する。
端末21から送信されるMACフレームのフォーマットは、図1−4に示した通りであり、宛先MACアドレスには31が設定され、送信元MACアドレスには21が設定される。
また、端末21からMACフレームが送信された時点では、図1−24に示すように各ラインユニットの学習テーブルは何も学習していない。なお、同図に示すように、図1−14に示した各イーサネット(登録商標)ユニットが備える学習テーブルは、図1−9に示した学習テーブルと比べて、PVC番号の項目が増えている。
図1−20は、イーサネット(登録商標)インターフェイスをもつユニットがイーサネット(登録商標)ポートで受信したフレームをバックボードへ送出するまでの処理手順を示すフローチャートである。
ラインユニット2100がポート#P1でMACフレームを受信し、バックボードへ送出するまでの処理手順のうち、図1−20のステップS3−7までの手順は既に説明した手順と同一であるので説明を省略する。
図1−24に示したように、学習テーブルには何も学習されていないので、入力フレーム転送部1120は、MACアドレスが学習されていないと判定し(ステップS3−7否定)、フラッディングをおこなうように装置内フレームヘッダを設定する(ステップS3−10)。
具体的には、フレームがフラッディングであることを示す情報として、装置内フレームヘッダの宛先ポート番号と宛先PVC番号に0を設定し、宛先ユニットビットマップの全ての実装ユニットのビットに1を設定して送出側バックボードインターフェイス部1130へ転送する。
図1−25は、上記の処理の結果としてバックボードに送出されるフレームの装置内フレームヘッダのサンプル図である。同図に示すように、宛先ユニットビットマップのラインユニット2100、ラインユニット2101およびラインユニット2200に対応するビットに1が設定され、宛先ポート番号と宛先PVC番号に0が設定される。
そして、受信ユニット番号にはラインユニット2100のユニット番号である1が設定され、受信ポート番号にはフレームを受信したポートのポート番号である1が設定される。また、ATMインターフェイスからフレームを受信したわけではないので、受信PVC番号には0が設定される。
図1−21は、ATMインターフェイスをもつユニットがバックボードより受信したフレームをATMカプセル化してATMポートへ送出するまでの処理手順を示すフローチャートである。
受信側バックボードインターフェイス部2240は、各ユニットから送られてきたフレームがバッファに格納されているか否かを監視する(ステップS4−1)。そして、フレームがバッファに格納されていたならば(ステップS4−2肯定)、自身が記憶する自ユニット番号2241に対応する宛先ユニットビットマップのビットを検査して自ユニット宛か否かを判定し、自ユニット宛でなければ(ステップS4−3否定)、そのフレームを破棄する(ステップS4−4)。
この例の場合、フレームは自ユニット宛であるので(ステップS4−3肯定)、破棄されずに出力フレーム転送部2250へ転送され、出力フレーム転送部2250は、フレームの送信元MACアドレスと、装置内フレームヘッダの受信ユニット番号と受信ポート番号を学習/検索部2270に引き渡して学習テーブルに登録させる(ステップS4−5)。
そして、出力フレーム転送部2250は、ATMカプセル化部2260にフレームを転送し、ATMカプセル化部2260は、装置内フレームヘッダの宛先ポート番号が0か否かを検査する。この例の場合、宛先ポート番号は0なので(ステップS4−6肯定)、ATMカプセル化部2260は、装置内フレームヘッダを除去したフレームをATMカプセル化し、自身が記憶するPVC番号管理テーブル2261を参照して全てのATMコネクションへ出力する(ステップS4−8)。
上記の処理の結果、端末21が送出した端末31宛てのMACフレームは、L2スイッチ2001のラインユニット2201とL2スイッチ2002のラインユニット2202に送信される。なお、ラインユニット2100がバックボードへ送出したフレームは、ラインユニット2100とラインユニット2101にも受信され、フラッディングによって当該フレームの受信ポートを除く全てのポートへ送信される。
また、L2スイッチ2000の各ラインユニットにおいて端末21のMACアドレスが学習テーブルで学習された状態となる。図1−26は、ATMユニットにおける学習後の学習テーブルを示すサンプル図である。同図に示すように、MACフレームの送信元MACアドレスである21と、受信ラインユニットのユニット番号である#1と、受信ラインユニットにおける受信ポートのポート番号である#P1とが対応付けられて記憶される。
続いて、ATMカプセル化されたフレームをL2スイッチ2001のラインユニット2201が受信した後の処理について説明する。図1−22は、ATMインターフェイスをもつユニットがATMポートで受信したATMカプセル化されたフレームをバックボードへ送出するまでの処理手順を示すフローチャートである。
ラインユニット2201のATMデカプセル化部2210は、各ATMポートからのATMセルの受信を監視し、受信したATMセルをデカプセル化してフレームを組み立てる(ステップS5−1)。この例の場合、ATMセルをユニット番号#1のラインユニットのポート#P1で受信することになる。
そして、デカプセル化したフレームが正常なフレームかどうかを確認する。イーサネット(登録商標)の仕様に照らして正常なフレームでないと判断した場合は(ステップS5−2否定)、そのフレームは廃棄して、次のATMセルを監視する処理へ移る(ステップS5−3)。
正常なフレームであった場合は(ステップS5−2肯定)、フレームに装置内フレームヘッダに付与し、ATMセルを受信したユニットとポートの番号を装置内フレームヘッダの受信ユニット番号と受信ポート番号に設定する。また、ATMセルを受信したポートのポート番号と、ATMコネクションのVPIおよびVCIと検索キーとして自身が記憶するPVC番号管理テーブル2212を検索してPVC番号を取得し、これを受信PVC番号として装置内フレームヘッダに設定し、その後、フレームを入力フレーム転送部2220へ転送する(ステップS5−4)。
入力フレーム転送部2220は、フレームの宛先MACアドレスを調べ、これがマルチキャストかブロードキャストを示すアドレスの場合は(ステップS5−5肯定)、フレームがフラッディングであることを示す情報として、装置内フレームヘッダの宛先ポート番号と宛先PVC番号に0を設定し、宛先ユニットビットマップには全てのイーサネット(登録商標)ユニットに1を設定して送出側バックボードインターフェイス部2230へ転送する(ステップS5−9)。
入力フレーム転送部2220は、フラッディングを指定する場合に、実装ユニットのうちイーサネット(登録商標)ユニットのみを宛先とするように宛先ユニットビットマップを設定する。これは、ATMユニットで受信したフレームをATM側へフラッディングさせると、ATM網の帯域を効率的に使用できないためである。
このため、入力フレーム転送部2220が記憶する実装ユニット情報2221は、ラインユニットごとにイーサネット(登録商標)ユニットかATMユニットかの識別情報を有する。図1−27は、実装ユニット情報2221の一例を示すサンプル図である。同図に示すように、ラインユニット2201の入力フレーム転送部2220が記憶する実装ユニット情報2221は、ユニットごとに実装の有無を示す情報とともに、ユニットの種別を示す情報を保持する。
この例の場合、宛先MACアドレスは、端末31のMACアドレスため、マルチキャストでもブロードキャストでもないと判断され(ステップS5−5否定)、入力フレーム転送部2220は、学習/検索部2270に学習テーブルの検索処理をおこなわせる(ステップS5−6)。
この例の場合、学習テーブルは学習をおこなっていないため、宛先MACアドレスに一致する情報は検索されず(ステップS5−7否定)、入力フレーム転送部2220は、宛先MACアドレスがマルチキャストかブロードキャストを示すアドレスの場合と同様にステップS5−9を実行する。
図1−28は、上記の処理の結果としてバックボードに送出されるフレームの装置内フレームヘッダのサンプル図である。同図に示すように、宛先ユニットビットマップのラインユニット2102およびラインユニット2103に対応するビットに1が設定され、ATMユニットであるラインユニット2201に対応するビットには0が設定される。そして、宛先ポート番号と宛先PVC番号に0が設定され、受信ユニット番号に1が設定され、受信ポート番号に1が設定され、受信PVC番号に30が設定される。
上記の処理の結果、バックボードに送出されたMACフレームは、ラインユニット2102およびラインユニット2103に受信され、ラインユニット2201では破棄される。以下、ラインユニット2102の場合を例にして、各ラインユニットがバックボードからMACフレームを受信した後の処理手順を説明する。
図1−23は、イーサネット(登録商標)インターフェイスをもつユニットがバックボードより受信したフレームをイーサネット(登録商標)ポートへ送出するまでの処理手順を示すフローチャートである。
ラインユニット2102がバックボードからフレームを受信し、イーサネット(登録商標)ポートへ送出するまでの処理手順のうち、図1−23のステップS6−4までの手順は既に説明した手順と同一であるので説明を省略する。
この例の場合、フレームは自ユニット宛であるので(ステップS6−3肯定)、破棄されずに出力フレーム転送部1150へ転送される。そして、出力フレーム転送部1150は、フレームの送信元MACアドレスと、装置内フレームヘッダの受信ユニット番号と受信ポート番号と受信PVC番号を学習/検索部1160に引き渡して学習テーブルに登録させる(ステップS6−5)。
そして、出力フレーム転送部1150は、装置内フレームヘッダの宛先ポート番号が0か否かを検査する。この例の場合、宛先ポート番号は0なので(ステップS6−6肯定)、出力フレーム転送部1150は、装置内フレームヘッダを除去したフレームを全てのイーサネット(登録商標)ポートへ出力する(ステップS6−8)。
上記の処理の結果、端末21が送出した端末31宛てのMACフレームは、ラインユニット2102の全てのイーサネット(登録商標)ポートに出力され、ポート#P1から出力されたフレームが端末31へ到達する。
なお、ラインユニット2201がバックボードに送出したフレームは、ラインユニット2103にも受信され、全てのイーサネット(登録商標)ポートからフラッディングされる。また、ラインユニット2200がATM網へ送信したATMセルはL2スイッチ2002のラインユニット2202にも受信され、MACフレーム化された後にバックボードを介してラインユニット2104に送信され、全てのイーサネット(登録商標)ポートからフラッディングされる。
この結果、L2スイッチ2001とL2スイッチ2002の各イーサネット(登録商標)ユニットにおいて端末21のMACアドレスが学習テーブルで学習された状態となる。図1−29は、ラインユニット2102における学習後の学習テーブルを示すサンプル図である。同図に示すように、MACフレームの送信元MACアドレスである21と、受信ラインユニットのユニット番号である#1と、受信ラインユニットにおける受信ポートのポート番号である#P1と、ATMセルを受信したATMコネクションのPVC番号である30とが対応付けられて記憶される。
続いて、先ほどと反対方向に、端末31から端末21へ向けてフレームが送信された場合の処理手順を図1−20〜図1−23をもちいて説明する。この場合の処理手順は、宛先のMACアドレスが学習されている場合の処理手順となる。
端末31から送信されるMACフレームのフォーマットは、図1−4に示した通りであり、宛先MACアドレスには21が設定され、送信元MACアドレスには31が設定される。
ラインユニット2102がポート#P1でMACフレームを受信し、バックボードへ送出するまでの処理手順のうち、図1−20のステップS3−6までは既に説明した手順と同一であるので説明を省略する。
図1−29に示したように、宛先MACアドレスである21は学習テーブルに学習されているので、ステップS3−6の検索の結果、入力フレーム転送部1120は、MACアドレスが学習済と判定する(ステップS3−7肯定)。そして、学習されているユニットとポートとPVCの情報を取り出し(ステップS3−8)、装置内フレームヘッダの宛先ユニットビットマップと宛先ポート番号と宛先PVC番号に設定してフレームを送出側バックボードインターフェイス部1130へ転送する(ステップS3−9)。
図1−30は、上記の処理の結果としてバックボードに送出されるフレームの装置内フレームヘッダのサンプル図である。同図に示すように、宛先ユニットビットマップのうちラインユニット2201に対応するビットのみに1が設定され、宛先ポート番号に1が設定され、宛先PVC番号に30が設定される。そして、受信ユニット番号には2が設定され、受信ポート番号には1が設定され、受信PVC番号には0が設定される。
このフレームの装置内フレームヘッダをもったフレームは、バックボードのバスを介して全てのラインユニットに送信されるが、宛先ユニットビットマップを参照するとラインユニット2201に対応するビットのみに1が設定されているため、ラインユニット2201以外のラインユニットでは破棄されることとなる。
続いて、ラインユニット2201が、バックボードからフレームを受信し、カプセル化をおこなってATMポートよりATMセルを出力するまでの処理手順について説明する。この処理手順のうち、図1−21のステップS4−5までは既に説明した手順と同一であるので説明を省略する。
出力フレーム転送部2250がステップS4−5において学習/検索部2270に学習をおこなわせた後、ATMカプセル化部2260は、装置内フレームヘッダの宛先ポート番号に0が設定されているか否かを検査する。この例の場合、宛先ポート番号は1なので(ステップS4−6否定)、ATMカプセル化部2260は、装置内フレームヘッダを除去したフレームをATMカプセル化し、装置内フレームヘッダの宛先ポート番号と宛先PVC番号を検索キーとして自身が記憶するPVC番号管理テーブル2261を検索してVPIとVCIを取得し、宛先ポート番号、VPIおよびVCIによって識別されるATMコネクションへATMセルを出力する。
この結果、端末31が送出した端末21宛てのMACフレームは、L2スイッチ2001のラインユニット2201のポート#P1よりVPI=3、VCI=300のPVCに送出され、ATM網を経由してL2スイッチ2000のラインユニット2200のポート#P1にてVPI=1、VCI=200のPVCで受信される。
ラインユニット2200がポート#P1でATMセルを受信し、MACフレームに組み立ててバックボードへ送出するまでの処理手順のうち、図1−22のステップS5−6までは既に説明した手順と同一であるので説明を省略する。
図1−26に示したように、宛先MACアドレスである21は学習テーブルに学習されているので、ステップS5−6の検索の結果、入力フレーム転送部1120は、MACアドレスが学習済と判定する(ステップS5−7肯定)。そして、学習されているユニットとポートの情報を取り出し、装置内フレームヘッダの宛先ユニット番号と宛先ポート番号に設定してフレームを送出側バックボードインターフェイス部2230へ転送する(ステップS5−8)。
図1−31は、上記の処理の結果としてバックボードに送出されるフレームの装置内フレームヘッダのサンプル図である。同図に示すように、宛先ユニットビットマップのラインユニット2100に対応するビットのみに1が設定される。そして、宛先ポート番号に1が設定され、宛先PVC番号に0が設定される。受信ユニット番号には3が設定され、受信ポート番号には1が設定され、受信PVC番号には20が設定される。
続いて、ラインユニット2100が、バックボードからフレームを受信し、イーサネット(登録商標)ポートより出力するまでの処理手順について説明する。この処理手順のうち、図1−23のステップS6−5までは既に説明した手順と同一であるので説明を省略する。
出力フレーム転送部1150は、ステップS6−5において学習/検索部1160に学習をおこなわせた後、装置内フレームヘッダの宛先ポート番号に0が設定されているか否かを検査する。この例の場合、宛先ポート番号は1なので(ステップS6−6否定)、装置内フレームヘッダを除去したフレームを宛先ポート番号が示すイーサネット(登録商標)ポート(この例の場合、ポート#P1)へ出力する(ステップS6−7)。
上記の処理の結果、端末31が送出した端末21宛てのMACフレームは、ラインユニット2100のポート#P1に出力され、端末21が受信することができる。また、端末31のMACアドレスが各ラインユニットの学習テーブルで学習された状態となる。
端末31が送出した端末21宛てのフレームは、すでに端末21のMACアドレスが学習テーブルに学習されていた結果、未学習時のようなフラッディング動作を発生させない。また、次に端末21が端末31宛てのフレームを送信する場合も、学習テーブルに端末31のMACアドレスが学習されていることから、フラッディングは発生しない。
上述してきたように、無駄なフラッディングを抑止し帯域を効率的に利用するために、従来のL2スイッチは、ATMユニットを含む各ラインユニットで学習テーブルを備えて学習をおこなっていた。しかし、近年、ネットワークの高速化にともなって転送処理のレイテンシを低減することが重要となり、学習テーブルの検索を高速化することが必要となった。検索を高速化するには学習テーブルの記憶手段として高価なCAMを使用する必要があり、このことが装置のコストを上げる要因となっていた。
まず、本実施例に係るフレーム転送方式の原理について説明する。図1−15に示した通り、MACフレームをATMカプセル化する際に付加されるRFC2684ヘッダのPAD部はリザーブであり現在使われていない。本実施例に係るフレーム転送方式では、このPAD部の2バイトを利用して、学習テーブルを利用することなくフレームを効率よく転送することを可能にする。
図2−1は、本実施例におけるRFC2684ヘッダのフォーマットを示すサンプル図である。同図に示すように、PAD部の1バイト目に出力先装置ポート情報を設定し、2バイト目に送信元装置ポート情報を設定する。
送信元装置ポート情報には、イーサネット(登録商標)ポートで受信したフレームをATMカプセル化してATM網へ出力する際に、フレームを受信したイーサネット(登録商標)ポートの位置情報を設定する。本実施例の場合、L2スイッチはシャーシ型であるので、イーサネット(登録商標)ポートの位置情報は、ユニット番号とポート番号の組合せとなる。なお、シャーシ型以外のL2スイッチでは、ポート番号のみでポートの位置を示すことができる場合もある。
ATM網よりフレームを受信したL2スイッチでは、イーサネット(登録商標)ユニットに搭載される学習テーブルに、従来通り送信元MACアドレスと、そのL2スイッチにおいてフレームを受信した位置を示すユニット番号とポート番号を学習することに加え、RFC2684ヘッダのPAD部の1バイト目に設定されている送信元装置ポート情報も学習する。
出力先装置ポート情報には、イーサネット(登録商標)ポートで受信したフレームをATMカプセル化してATM網へ出力する時に、宛先MACアドレスを検索キーとして学習テーブルより取得した送信元装置ポート情報を設定する。この情報は、送信先のL2スイッチにおいてフレームを出力すべきポートの位置を示す。
本実施例では、1バイト中にユニット番号とポート番号の組合せ保持するため、1バイト中の上位4ビットにユニット番号を設定し、下位4ビットにポート番号を設定するものとする。そして、以下の説明の中では、ユニット番号#1のポート番号#P2のポートの位置情報を16進数表現で12のように表現する。
RFC2684ヘッダのPAD部の2バイト目にポートの位置情報が設定されているフレームを受信したL2スイッチでは、学習テーブルの検索をおこなわずに、このポート情報に基づいてフレームを出力するポートを決定する。
このように、ATM網を介して送信するフレームにそのフレームを自装置のどのポートで受信したかを示す位置情報を埋め込んでおき、他のL2スイッチから送信されたフレームにこの位置情報が含まれていた場合は、その位置情報に基づいてフレームを出力するポートを決定するように構成することにより、学習テーブルをもちいることなく、無駄なフラッディングをおこさずに効率よくフレームを転送することができる。
すなわち、ATM網からATMカプセル化されたイーサネット(登録商標)フレームを受信したL2スイッチは、ATMデカプセル化したイーサネット(登録商標)フレームを、学習テーブルを検索することなく適切な転送先ポートに出力できる。
また、従来のATM網に対応するユニットにおいては、ATMデカプセル化したイーサネット(登録商標)フレームのSAに基づいて対応するポートを学習テーブルに登録し、他のユニットから転送されて来るイーサネット(登録商標)フレームのDAに基づいて前記学習テーブルを検索して、対応するポートに転送していた。本実施例を適用したATM網に対応するユニットにおいては、前記のとおり、ATM網からのATMカプセル化されたイーサネット(登録商標)フレームについては、埋め込まれている位置情報に基づいて装置内フレームヘッダを付加することにより、適切なユニット、ポートに転送でき、他のユニットからのイーサネット(登録商標)フレームについては、その装置内フレームヘッダにより適切なポートに転送できるので、学習テーブルが不要となる。このため図1−18に示した、学習テーブルへの登録処理、検索処理を行う学習/検索部2270、および学習テーブルを格納するCAM2271が不要となり、学習/検索処理、およびCAMに関するコストを低減できる。
次に、本実施例に係るフレーム転送方式を適用するネットワークの構成例を示す。図2−2は、複数のLAN間をATM網で接続して構成したネットワークの一例を示すサンプル図である。同図に示したネットワーク構成は、図1−12に示したネットワーク構成においてL2スイッチ2000、L2スイッチ2001およびL2スイッチ2002を、それぞれ、L2スイッチ3000、L2スイッチ3001およびL2スイッチ3002へ置き換えたものである。
同図に示したL2スイッチ3000は、ATMユニットとしてラインユニット2200の代わりにラインユニット3200を搭載する以外は、図1−14に示したL2スイッチ2000と同様である。また、L2スイッチ3001は、ラインユニット2201の代わりにラインユニット3201を搭載する以外は、L2スイッチ2001と同様であり、L2スイッチ3002は、ラインユニット2202の代わりにラインユニット3202を搭載する以外は、L2スイッチ2002と同様である。
次に、図2−2に示したラインユニットの構成について説明する。イーサネット(登録商標)ユニットであるラインユニット2100、ラインユニット2101、ラインユニット2102、ラインユニット2103およびラインユニット2104は、図1−3に示したラインユニット1100と同様の構成を有するので説明は省略する。また、ATMユニットであるラインユニット3200、ラインユニット3201およびラインユニット3202は、それぞれ同様の構成を有するので、ここではラインユニット3200を例にして説明することとする。
図2−3は、ATMインターフェイスをもつラインユニットの構成を示すブロック図である。同図に示すように、ラインユニット3200は、少なくとも一つのATMポートと、ATMデカプセル部3210と、入力フレーム転送部3220と、送出側バックボードインターフェイス部3230と、受信側バックボードインターフェイス部3240と、ATMカプセル化部3250とを有する。
送出側バックボードインターフェイス部3230および受信側バックボードインターフェイス部3240は、それぞれ、図1−18に示した送出側バックボードインターフェイス部2230および受信側バックボードインターフェイス部2240と同様の処理部であるので説明を省略する。
ATMデカプセル部3210は、各ATMポートがATMセルを受信したか否かを監視し、受信されたATMセルをMACフレームに組み立てるAAL5アッセンブリー処理をおこない、これに装置内フレームヘッダを付与して入力フレーム転送部3220へ転送する処理部である。
図2−4は、L2スイッチ3000において付与される装置内フレームヘッダのフォーマットの一例を示す構成図である。同図に示すように、本実施例においてL2スイッチにおいて付与される装置内フレームヘッダは、図1−19に示した項目に加えて出力先装置ポート情報と送信元装置ポート情報という項目を有する。
出力先装置ポート情報は、イーサネット(登録商標)ユニットが宛先MACアドレスを学習済であった場合に学習していた送信元装置ポート情報を設定する項目であり、ATMユニットにてフレームをカプセル化する際にRFC2684ヘッダのPAD部の出力先装置ポート情報へ設定される。
送信元装置ポート情報は、ATM網へフレームを送信する側のL2スイッチにおいてフレームを受信したイーサネット(登録商標)ポートの位置情報を設定する項目であり、ATMユニットにてフレームをカプセル化する際にRFC2684ヘッダのPAD部の送信元装置ポート情報へ設定される。この情報は、ATM網を経由してフレームを受信した側のL2スイッチのイーサネット(登録商標)ユニットにおいて受信ユニット番号等とともに送信元のMACアドレスと対応付けられて学習される。
ATMデカプセル部3210は、フレームに付与した装置内フレームヘッダの受信ユニット番号に自身が記憶している自ユニット番号3211を設定し、受信ポート番号にATMセルを受信したポートのポート番号を設定する。そして、ポート番号、VPIおよびVCIを検索キーとして自身が記憶するPVC番号管理テーブル3212を検索し、ATMセルを受信したATMコネクションのPVC番号を取得して受信PVC番号に設定する。
また、出力先装置ポート情報と送信元装置ポート情報には、受信したフレームのRFC2684ヘッダのPAD部の出力先装置ポート情報と送信元装置ポート情報を設定する。宛先ユニットビットマップ、宛先ポート番号および宛先PVC番号については初期状態のままとする。
入力フレーム転送部3220は、MACフレームの転送先を判定し、判定結果を装置内フレームヘッダに反映し、その後にMACフレームを送出側バックボードインターフェイス部3230へ転送する処理部である。
入力フレーム転送部3220は、装置内フレームヘッダの出力先装置ポート情報を参照し、この値が00であった場合は、フラッディングを示す情報を装置内フレームヘッダに設定に設定する。具体的には、宛先ポート番号および宛先PVC番号に0を設定し、自身が記憶する実装ユニット情報3221を参照して宛先ユニットビットマップのイーサネット(登録商標)ユニットに対応するビットを全て1に設定する。
また、出力先装置ポート情報が00以外であった場合は、その上位4ビットをユニット番号とみなして、宛先ユニットビットマップのビットのうちそのユニット番号に対応するビットに1を設定する。そして、下位4ビットをポート番号とみなして宛先ポート番号に設定する。
ATMカプセル化部3250は、受信側バックボードインターフェイス部3240から転送されたMACフレームの装置内フレームヘッダを除去し、装置内フレームヘッダを除去したフレームをATMセルへカプセル化してATMポートへ出力する処理部である。
ATMカプセル化部3250は、装置内フレームヘッダの宛先ポート番号の値が0でない場合、宛先ポート番号および宛先PVC番号を検索キーとして自身が記憶するPVC番号管理テーブル3251を検索し、ATMコネクションのVPIおよびVCIを取得して、これらによって識別されるATMコネクションに対してATMセルを送信する。
このとき、RFC2684ヘッダのPAD部の1バイト目には、装置内フレームヘッダの出力先装置ポート情報の値を設定する。そして、2バイト目の上位4ビットに装置内フレームヘッダの受信ユニット番号の値を設定し、下位4ビットに受信ポート番号の値を設定する。
また、装置内フレームヘッダの宛先ポート番号の値が0の場合は、PVC番号管理テーブル3251に登録されている全てのATMコネクションに対してATMセルを送信する。このとき、RFC2684ヘッダのPAD部の1バイト目に00を設定し、2バイト目の上位4ビットに装置内フレームヘッダの受信ユニット番号の値を設定し、下位4ビットに受信ポート番号の値を設定する。
このように、本実施例に係るATMユニットは、フレームの転送に際して学習テーブルをもちいないため、高価なCAMを備える必要がなく、装置としてのコストを低減させることができる。
次に、図2−2に示したL2スイッチの処理手順について説明する。まず、各L2スイッチが全く経路の学習をおこなっていない状態のときに、端末21が端末31へ向けてMACフレームを送信した場合のL2スイッチ3000およびL2スイッチ3001の処理手順を図2−5〜図2−8をもちいて説明する。
端末21から送信されるMACフレームのフォーマットは、図1−4に示した通りであり、宛先MACアドレスには31が設定され、送信元MACアドレスには21が設定される。
また、端末21からMACフレームが送信された時点では、図2−9に示すように各イーサネット(登録商標)ユニットの学習テーブルは何も学習していない。なお、同図に示すように、図2−2に示した各イーサネット(登録商標)ユニットが備える学習テーブルは、図1−24に示した学習テーブルと比べて、送信元装置ポート情報の項目が増えている。
図2−5は、イーサネット(登録商標)インターフェイスをもつユニットがイーサネット(登録商標)ポートで受信したフレームをバックボードへ送出するまでの処理手順を示すフローチャートである。
ラインユニット2100がポート#P1でMACフレームを受信し、バックボードへ送出するまでの処理手順のうち、図2−5のステップS7−7までの手順は既に説明した手順と同一であるので説明を省略する。
図2−9に示したように、学習テーブルには何も学習されていないので、入力フレーム転送部1120は、MACアドレスが学習されていないと判定し(ステップS7−7否定)、フラッディングをおこなうように装置内フレームヘッダを設定する(ステップS7−10)。
具体的には、フレームがフラッディングであることを示す情報として、装置内フレームヘッダの宛先ポート番号と宛先PVC番号に0を設定し、出力先装置ポート情報に00を設定する。そして、宛先ユニットビットマップの全ての実装ユニットのビットに1を設定して送出側バックボードインターフェイス部1130へ転送する。
図2−10は、上記の処理の結果としてバックボードに送出されるフレームの装置内フレームヘッダのサンプル図である。同図に示すように、宛先ユニットビットマップのラインユニット2100、ラインユニット2101およびラインユニット3200に対応するビットに1が設定され、宛先ポート番号と宛先PVC番号に0が設定され、出力先装置ポート情報に00が設定される。
そして、受信ユニット番号にはラインユニット2100のユニット番号である1が設定され、受信ポート番号にはフレームを受信したポートのポート番号である1が設定され、送信元装置ポート情報に11が設定される。また、ATMインターフェイスからフレームを受信したわけではないので、受信PVC番号には0が設定される。
図2−6は、ATMインターフェイスをもつユニットがバックボードより受信したフレームをATMカプセル化してATMポートへ送出するまでの処理手順を示すフローチャートである。
受信側バックボードインターフェイス部3240は、各ユニットから送られてきたフレームがバッファに格納されているか否かを監視する(ステップS8−1)。そして、フレームがバッファに格納されていたならば(ステップS8−2肯定)、自身が記憶する自ユニット番号3241に対応する宛先ユニットビットマップのビットを検査して自ユニット宛か否かを判定し、自ユニット宛でなければ(ステップS8−3否定)、そのフレームを破棄する(ステップS8−4)。
この例の場合、フレームは自ユニット宛であるので(ステップS8−3肯定)、破棄されずにATMカプセル化部3250へ転送される(ステップS8−5)。従来のATMユニットでは、ここでMACアドレス等の学習をおこなっていたが、本実施例に係るATMユニットは学習をおこなわない。
ATMカプセル化部3250は、装置内フレームヘッダの宛先ポート番号が0か否かを検査する。この例の場合、宛先ポート番号は0なので(ステップS8−6肯定)、ATMカプセル化部3250は、装置内フレームヘッダを除去したフレームをATMカプセル化し、自身が記憶するPVC番号管理テーブル3251を参照して全てのATMコネクションへ出力する(ステップS4−8)。
このとき、RFC2684ヘッダ部のPAD部の1バイト目には出力先装置ポート情報として00を設定する。この値は、後にATM網の対向装置でフレームが受信されたときに、このフレームがフラッディング対象であることを示す。また、PAD部の2バイト目には、装置内フレームヘッダより受信ユニット番号と受信ポート番号を取り出して設定する。この値は、L2スイッチ3000にてこのMACフレームを受信したイーサネット(登録商標)ポートの位置を示し、ATM網の対向装置で受信された後、イーサネット(登録商標)ユニットにおいて送信元MACアドレス等と対応付けられて学習される。
図2−11は、RFC2684ヘッダ部のPAD部の設定状態を示すサンプル図である。同図に示すように、PAD部の1バイト目には出力先装置ポート情報として00が設定される。PAD部の2バイト目の上位4ビットには、フレームを受信したイーサネット(登録商標)ユニットのユニット番号である1が設定され、下位4ビットにはフレームを受信したポートのポート番号である1が設定される。
上記の処理の結果、端末21が送出した端末31宛てのMACフレームは、L2スイッチ3001のラインユニット3201とL2スイッチ3002のラインユニット3202に送信される。なお、ラインユニット2100がバックボードへ送出したフレームは、ラインユニット2100とラインユニット2101にも受信され、フラッディングによって当該フレームの受信ポートを除く全てのポートへ送信される。
続いて、ATMカプセル化されたフレームをL2スイッチ3001のラインユニット3201が受信した後の処理について説明する。図2−7は、ATMインターフェイスをもつユニットがATMポートで受信したATMカプセル化されたフレームをバックボードへ送出するまでの処理手順を示すフローチャートである。
ラインユニット3201のATMデカプセル化部3210は、各ATMポートからのATMセルの受信を監視し、受信したATMセルをデカプセル化してフレームを組み立てる(ステップS9−1)。この例の場合、ATMセルをユニット番号#1のラインユニットのポート#P1で受信することになる。
そして、デカプセル化したフレームが正常なフレームかどうかを確認する。イーサネット(登録商標)の仕様に照らして正常なフレームでないと判断した場合は(ステップS9−2否定)、そのフレームは廃棄して、次のATMセルを監視する処理へ移る(ステップS9−3)。
正常なフレームであった場合は(ステップS9−2肯定)、フレームに装置内フレームヘッダに付与し、ATMセルを受信したユニットとポートの番号を装置内フレームヘッダの受信ユニット番号と受信ポート番号に設定する。また、ATMセルを受信したポートのポート番号と、ATMコネクションのVPIおよびVCIと検索キーとして自身が記憶するPVC番号管理テーブル3212を検索してPVC番号を取得し、これを受信PVC番号として装置内フレームヘッダに設定する(ステップS9−4)。
さらに、RFC2684ヘッダ部のPAD部の1バイト目から出力先装置ポート情報を取得し、2バイト目から送信元装置ポート情報を取得し、これらも装置内フレームヘッダに設定し、その後、フレームを入力フレーム転送部3220へ転送する(ステップS9−5)。
入力フレーム転送部3220は、装置内フレームヘッダの出力先装置ポート情報を調べる。この例の場合、出力先装置ポート情報の値が00なので(ステップS9−6肯定)、入力フレーム転送部3220は、フレームがフラッディングであることを示す情報として、装置内フレームヘッダの宛先ポート番号と宛先PVC番号に0を設定し、宛先ユニットビットマップには全てのイーサネット(登録商標)ユニットに1を設定して送出側バックボードインターフェイス部3230へ転送する(ステップS9−8)。
図2−12は、上記の処理の結果としてバックボードに送出されるフレームの装置内フレームヘッダのサンプル図である。同図に示すように、宛先ユニットビットマップのラインユニット2102およびラインユニット2103に対応するビットに1が設定され、ATMユニットであるラインユニット3201に対応するビットには0が設定される。そして、宛先ポート番号と宛先PVC番号に0が設定され、出力先装置ポート情報には00が設定される。また、受信ユニット番号に1が設定され、受信ポート番号に1が設定され、受信PVC番号に30が設定され、送信元装置ポート情報に11が設定される。
上記の処理の結果、装置内フレームヘッダを付与されたMACフレームは、ラインユニット2102およびラインユニット2103に送出される。以下、ラインユニット2102の場合を例にして、各ラインユニットがバックボードからMACフレームを受信した後の処理手順を説明する。
図2−8は、イーサネット(登録商標)インターフェイスをもつユニットがバックボードより受信したフレームをイーサネット(登録商標)ポートへ送出するまでの処理手順を示すフローチャートである。
ラインユニット2102がバックボードからフレームを受信し、イーサネット(登録商標)ポートへ送出するまでの処理手順のうち、図2−8のステップS10−4までの手順は既に説明した手順と同一であるので説明を省略する。
この例の場合、フレームは自ユニット宛であるので(ステップS10−3肯定)、破棄されずに出力フレーム転送部1150へ転送される。そして、出力フレーム転送部1150は、フレームの送信元MACアドレスと、装置内フレームヘッダの受信ユニット番号、受信ポート番号、受信PVC番号および送信元装置ポート情報を学習/検索部1160に引き渡して学習テーブルに登録させる(ステップS10−5)。
そして、出力フレーム転送部1150は、装置内フレームヘッダの宛先ポート番号が0か否かを検査する。この例の場合、宛先ポート番号は0なので(ステップS10−6肯定)、出力フレーム転送部1150は、装置内フレームヘッダを除去したフレームを全てのイーサネット(登録商標)ポートへ出力する(ステップS10−8)。
上記の処理の結果、端末21が送出した端末31宛てのMACフレームは、ラインユニット2102の全てのイーサネット(登録商標)ポートに出力され、ポート#P1から出力されたフレームが端末31へ到達する。
なお、ラインユニット3201がバックボードに送出したフレームは、ラインユニット2103にも受信され、全てのイーサネット(登録商標)ポートからフラッディングされる。また、ラインユニット3200がATM網へ送信したATMセルはL2スイッチ3002のラインユニット3202にも受信され、MACフレーム化された後にバックボードを介してラインユニット2104に送信され、全てのイーサネット(登録商標)ポートからフラッディングされる。
この結果、L2スイッチ3001とL2スイッチ3002の各イーサネット(登録商標)ユニットにおいて端末21のMACアドレスが学習テーブルで学習された状態となる。図2−13は、ラインユニット2102における学習後の学習テーブルを示すサンプル図である。同図に示すように、MACフレームの送信元MACアドレスである21と、受信ラインユニットのユニット番号である#1と、受信ラインユニットにおける受信ポートのポート番号である#P1と、ATMセルを受信したATMコネクションのPVC番号である30と、ATM網の対向装置にてMACフレームを受信したポートの位置情報である11とが対応付けられて記憶される。
続いて、先ほどと反対方向に、端末31から端末21へ向けてフレームが送信された場合の処理手順を図2−5〜図2−8をもちいて説明する。この場合の処理手順は、宛先のMACアドレスが学習されている場合の処理手順となる。
端末31から送信されるMACフレームのフォーマットは、図1−4に示した通りであり、宛先MACアドレスには21が設定され、送信元MACアドレスには31が設定される。
ラインユニット2102がポート#P1でMACフレームを受信し、バックボードへ送出するまでの処理手順のうち、図2−5のステップS7−6までは既に説明した手順と同一であるので説明を省略する。
図2−13に示したように、宛先MACアドレスである21は学習テーブルに学習されているので、ステップS7−6の検索の結果、入力フレーム転送部1120は、MACアドレスが学習済と判定する(ステップS7−7肯定)。そして、学習されているユニット番号、ポート番号、PVC番号および送信元装置ポート情報を取り出し(ステップS7−8)、装置内フレームヘッダの宛先ユニットビットマップ、宛先ポート番号、宛先PVC番号および出力先装置ポート情報に設定してフレームを送出側バックボードインターフェイス部1130へ転送する(ステップS7−9)。
図2−14は、上記の処理の結果としてバックボードに送出されるフレームの装置内フレームヘッダのサンプル図である。同図に示すように、宛先ユニットビットマップのうちラインユニット3201に対応するビットのみに1が設定され、宛先ポート番号に1が設定され、宛先PVC番号に30が設定され、出力先装置ポート情報に11が設定される。そして、受信ユニット番号には2が設定され、受信ポート番号には1が設定され、受信PVC番号に0が設定され、送信元装置ポート情報に21が設定される。
このフレームの装置内フレームヘッダをもったフレームは、バックボードのバスを介して全てのラインユニットに送信されるが、宛先ユニットビットマップを参照するとラインユニット3201に対応するビットのみに1が設定されているため、ラインユニット3201以外のラインユニットでは破棄されることとなる。
続いて、ラインユニット3201が、バックボードからフレームを受信し、カプセル化をおこなってATMポートよりATMセルを出力するまでの処理手順について説明する。この処理手順のうち、図2−6のステップS8−5までは既に説明した手順と同一であるので説明を省略する。
ATMカプセル化部3250は、受信側バックボードインターフェイス部3240から転送されたフレームの装置内フレームヘッダの宛先ポート番号が0か否かを検査する。この例の場合、宛先ポート番号は1なので(ステップS8−6否定)、ATMカプセル化部3250は、装置内フレームヘッダを除去したフレームをATMカプセル化し、装置内フレームヘッダの宛先ポート番号と宛先PVC番号を検索キーとして自身が記憶するPVC番号管理テーブル3251を検索してVPIとVCIを取得し、宛先ポート番号、VPIおよびVCIによって識別されるATMコネクションへATMセルを出力する。
このとき、RFC2684ヘッダ部のPAD部の1バイト目には装置内フレームヘッダの出力先装置ポート情報の値を設定する。また、PAD部の2バイト目には、装置内フレームヘッダより受信ユニット番号と受信ポート番号を取り出して設定する。
図2−15は、RFC2684ヘッダ部のPAD部の設定状態を示すサンプル図である。同図に示すように、PAD部の1バイト目には出力先装置ポート情報として11が設定される。これは、対応装置においてフレームを出力すべきポートがユニット番号#1のラインユニットのポート#p1であることを意味する。PAD部の2バイト目の上位4ビットには、フレームを受信したイーサネット(登録商標)ユニットのユニット番号である2が設定され、下位4ビットにはフレームを受信したポートのポート番号である1が設定される。
この結果、端末31が送出した端末21宛てのMACフレームは、L2スイッチ3001のラインユニット3201のポート#P1よりVPI=3、VCI=300のPVCに送出され、ATM網を経由してL2スイッチ3000のラインユニット3200のポート#P1にてVPI=1、VCI=200のPVCで受信される。
ラインユニット3200がポート#P1でATMセルを受信し、MACフレームに組み立ててバックボードへ送出するまでの処理手順のうち、図2−7のステップS9−5までは既に説明した手順と同一であるので説明を省略する。
入力フレーム転送部3220は、ATMデカプセル化部3210から転送されたフレームの装置内フレームヘッダの出力先装置ポート情報を調べる。この例の場合、出力先装置ポート情報の値が11なので(ステップS9−6否定)、この情報を基にして装置内フレームヘッダの宛先ユニット番号と宛先ポート番号を設定し、フレームを送出側バックボードインターフェイス部3230へ転送する(ステップS9−7)。
具体的には、出力先装置ポート情報の上位4ビットの値である1を装置内フレームヘッダの宛先ユニット番号に設定し、下位4ビットの値である1を宛先ポート番号に設定する。
図2−16は、上記の処理の結果としてバックボードに送出されるフレームの装置内フレームヘッダのサンプル図である。同図に示すように、宛先ユニットビットマップのラインユニット2100に対応するビットのみに1が設定される。そして、宛先ポート番号に1が設定され、宛先PVC番号に0が設定され、出力先装置ポート情報に11が設定される。そして、受信ユニット番号に3が設定され、受信ポート番号に1が設定され、受信PVC番号に20が設定され、送信元装置ポート情報に21が設定される。
続いて、ラインユニット2100が、バックボードからフレームを受信し、イーサネット(登録商標)ポートより出力するまでの処理手順について説明する。この処理手順のうち、図2−8のステップS10−4までは既に説明した手順と同一であるので説明を省略する。
この例の場合、フレームは自ユニット宛であるので(ステップS10−3肯定)、破棄されずに出力フレーム転送部1150へ転送される。そして、出力フレーム転送部1150は、フレームの送信元MACアドレスと、装置内フレームヘッダの受信ユニット番号、受信ポート番号、受信PVC番号および送信元装置ポート情報を学習/検索部1160に引き渡して学習テーブルに登録させる(ステップS10−5)。
そして、出力フレーム転送部1150は、装置内フレームヘッダの宛先ポート番号が0か否かを検査する。この例の場合、宛先ポート番号は1なので(ステップS10−6否定)、装置内フレームヘッダを除去したフレームを宛先ポート番号が示すイーサネット(登録商標)ポート(この例の場合、ポート#P1)へ出力する(ステップS10−7)。
上記の処理の結果、端末31が送出した端末21宛てのMACフレームは、ラインユニット2100のポート#P1に出力され、端末21が受信することができる。また、端末31のMACアドレスが各ラインユニットの学習テーブルで学習された状態となる。
上述してきたように、本実施例ではATMユニットがフレームをATMカプセル化してATM網へ送信する際に、そのフレームを受信したイーサネット(登録商標)ポートの位置情報をRFC2684ヘッダの一部に埋め込むことで自装置におけるMACアドレスとポートとの関連を対向装置に通知し、ATM網の対向装置から出力先としてイーサネット(登録商標)ポートの位置情報を指定するフレームを受信した場合は、その情報に従ってフレームを転送するように構成したので、ATMユニットに学習機能をもたせることなく、フラッディングを極力発生させない効率的なフレーム転送を実現することができる。
また、学習テーブルを検索することなくフレームを転送することができるため、フレーム転送の遅延を小さくすることができるという効果もある。
なお、上記の実施例では、LAN間を接続するのにATMを利用する場合について説明したが、SONET(Synchronous Optical Network)等の他の方式でネットワーク間を接続する場合にも本実施例に係るフレーム転送方式は有効である。ネットワークの接続方式がいかなるものであっても、フレームの一部にポートの位置情報を埋め込むことができれば本実施例に係るフレーム転送方式を実現することができる。
また、VLANによってブロードキャストドメインを制限する場合でも、本実施例に係るフレーム転送方式は、VLAN−IDを意識するものではなく、ポート番号を対象にするものであるので、VLAN機能をもつL2スイッチにも本実施例に係るフレーム転送方式を適用することが可能である。
ところで、本実施例に係るL2スイッチは、ATM網の対向装置から出力先ポートの指定がおこなわれることを前提として動作するが、ATM網に従来のL2スイッチが混在していた場合は、ATM網の対向装置から出力先ポートの指定がおこなわれずにフラッディングが多発することになる。
このような環境でL2スイッチを動作させる必要がある場合は、本実施例に係るL2スイッチのATMユニットにも学習機能をもたせるように構成してもよい。学習機能をもたせることにより装置のコストは高くなるが、ATM網の対向装置から出力先ポートの指定がおこなわれた場合にはその情報を優先して使用するように構成することにより、学習テーブルを検索する頻度を低くすることができ、フレーム転送の遅延を小さくすることができる。
(付記1)ネットワーク間接続のためのネットワーク間接続インターフェイスを備えた伝送装置であって、
前記ネットワーク間接続インターフェイスから出力されるフレームに当該の伝送装置において該フレームを受信したポートを特定するポート位置情報を埋め込む埋込手段と、
前記ネットワーク間接続インターフェイスで受信されたフレームに該フレームの出力先を指定するポート位置情報が埋め込まれていた場合に、該ポート位置情報により特定されるポートへ前記フレームを出力することを決定する経路決定手段と
を備えたことを特徴とする伝送装置。
(付記2)前記経路決定手段は、前記ネットワーク間接続インターフェイスで受信されたフレームに該フレームの出力先を指定するポート位置情報が埋め込まれていなかった場合に、前記ネットワーク間接続インターフェイスを除く全ての経路へ前記フレームを出力することを決定することを特徴とする付記1に記載の伝送装置。
(付記3)前記ネットワーク間接続インターフェイスでフレームが受信された場合に、該フレームの送信元アドレスと、前記ネットワーク間接続インターフェイスの識別情報と、該フレームに含まれる対向装置のポート位置情報とを関連付けて学習情報として記憶手段に記憶させる学習手段と、
転送対象のフレームの送信先アドレスをキーとして前記記憶手段に記憶された学習情報を検索した結果、該フレームの出力先が前記ネットワーク間接続インターフェイスであることがわかった場合に、該フレームの送信先アドレスと関連付けられて記憶されているポート位置情報を該フレームの出力先を指定する情報として該フレームに埋め込み、該フレームを前記ネットワーク間接続インターフェイスから出力するフレーム転送手段と
をさらに備えたことを特徴とする付記1または2に記載の伝送装置。
(付記4)前記伝送装置は、少なくとも2つの通信ユニットを相互接続して構成された伝送装置であって、
前記埋込手段は、前記ネットワーク間接続インターフェイスから出力されるフレームに該フレームを受信したポートの識別情報と該ポートが設けられている通信ユニットの識別情報とを該フレームを受信したポートを特定するポート位置情報として埋め込むことを特徴とする付記1〜3のいずれか一つに記載の伝送装置。
(付記5)ネットワーク間接続のためのネットワーク間接続インターフェイスを含んだ伝送装置におけるフレーム転送方法であって、
前記ネットワーク間接続インターフェイスから出力されるフレームに当該の伝送装置において該フレームを受信したポートを特定するポート位置情報を埋め込む埋込工程と、
前記ネットワーク間接続インターフェイスで受信されたフレームに該フレームの出力先を指定するポート位置情報が埋め込まれていた場合に、該ポート位置情報により特定されるポートへ前記フレームを出力することを決定する経路決定工程と
を含んだことを特徴とするフレーム転送方法。
(付記6)前記経路決定工程は、前記ネットワーク間接続インターフェイスで受信されたフレームに該フレームの出力先を指定するポート位置情報が埋め込まれていなかった場合に、前記ネットワーク間接続インターフェイスを除く全ての経路へ前記フレームを出力することを決定することを特徴とする付記5に記載のフレーム転送方法。
(付記7)前記ネットワーク間接続インターフェイスでフレームが受信された場合に、該フレームの送信元アドレスと、前記ネットワーク間接続インターフェイスの識別情報と、該フレームに含まれる対向装置のポート位置情報とを関連付けて学習情報として記憶手段に記憶させる学習工程と、
転送対象のフレームの送信先アドレスをキーとして前記記憶手段に記憶された学習情報を検索した結果、該フレームの出力先が前記ネットワーク間接続インターフェイスであることがわかった場合に、該フレームの送信先アドレスと関連付けられて記憶されているポート位置情報を該フレームの出力先を指定する情報として該フレームに埋め込み、該フレームを前記ネットワーク間接続インターフェイスから出力するフレーム転送工程と
をさらに含んだことを特徴とする付記5または6に記載のフレーム転送方法。
(付記8)前記伝送装置は、少なくとも2つの通信ユニットを相互接続して構成された伝送装置であって、
前記埋込工程は、前記ネットワーク間接続インターフェイスから出力されるフレームに該フレームを受信したポートの識別情報と該ポートが設けられている通信ユニットの識別情報とを該フレームを受信したポートを特定するポート位置情報として埋め込むことを特徴とする付記5〜7のいずれか一つに記載のフレーム転送方法。
(付記9)ネットワーク間接続のためのネットワーク間接続インターフェイスを含んだ伝送装置におけるフレーム転送方法であって、
前記ネットワーク間接続インターフェイスから出力されるフレームの送信元アドレスと該フレームを受信したポートとを関連付けて学習情報として記憶手段に記憶させる学習工程と、
前記ネットワーク間接続インターフェイスで受信されたフレームに該フレームの出力先を指定するポート位置情報が埋め込まれていない場合に、該フレームの送信先アドレスをキーに学習情報を検索し、該フレームの出力先が学習されていることがわかった場合には該ポートへ前記フレームを出力し、学習されていないことがわかった場合は前記ネットワーク間接続インターフェイスを除く全ての経路へ前記フレームを出力することを決定する経路決定工程と
を含んだことを特徴とする付記5に記載のフレーム転送方法。