(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
従来、ネットワークに接続された複数の端末間を中継する装置としてネットワーク中継装置がある。ネットワーク中継装置は、具体的にはレイヤ2スイッチやレイヤ3スイッチであり、高速かつ効率的にパケットの中継処理を行うために用いられる。
【0003】
レイヤ2スイッチとは、OSI(Open Systems Interconnection)参照モデルのデータリンク層(第2層)において、送信元からのパケットに含まれる宛先アドレスに基づいて送信先を判断して中継処理を行うスイッチである。
【0004】
またレイヤ3スイッチとは、OSI参照モデルのネットワーク層(第3層)において、IP(Internet Protocol)を用いて物理的にパケットの送信先アドレスを振り分けることにより中継処理を行うスイッチである。
【0005】
一般に、こうしたネットワーク中継装置は、ネットワーク中継装置全体を統括的に制御する制御ユニットと、外部の端末との間でパケットの送受信制御を行う複数のパケット制御部と、複数のパケット制御部間をスイッチングして伝送路を確保するクロスバースイッチとを備えて構成される。
【0006】
例えばパケット制御部は、複数の物理ポートを備えて構成され、何れかの物理ポートを介して外部からのパケットを受信すると、受信したパケットをクロスバースイッチに送信する。
【0007】
クロスバースイッチは、パケット制御部からのパケットを受信すると、受信したパケットに含まれる宛先情報に基づいて、受信したパケットを所定のパケット制御部に送信する。宛先情報には、例えば宛先MAC(Media Access Control)アドレスや宛先物理ポート等の情報が含まれる。
【0008】
近年では、このようなネットワーク中継装置にリンクアグリゲーションと呼ばれる機能を搭載させたネットワーク中継装置が開発されている。このリンクアグリゲーションとは、パケット制御部が備える複数の物理ポートを論理的に束ねて1つの論理ポートとして取り扱う機能をいう。このリンクアグリゲーションを搭載したネットワーク中継装置によれば、帯域幅の拡大や冗長性確保を図ることができる。
【0009】
ここで、リンクアグリゲーションを搭載したネットワーク中継装置の場合、宛先情報として論理ポートが指定される場合がある。そして宛先情報として論理ポートが指定された場合、その論理ポートに属する複数の物理ポートのなかから実際に送信に用いられる1つの物理ポートを選択する必要がある。
【0010】
そこで外部からのパケットを受信したパケット制御部が複数の論理ポートのうちの宛先論理ポート全てに対して、各論理ポートに属する複数の物理ポートのなかから1つの物理ポートを選択する処理を行おうとすると、いわゆる上り処理における処理負担が増大するという問題がある。
【0011】
そこで特許文献1には、外部からのパケットの種別に応じて、受信側のパケット制御部又は送信側のパケット制御部の何れかが宛先物理ポートを選択するという技術が開示されている。
【0012】
具体的には、外部からのパケットがユニキャストパケットの場合、ユニキャストパケットを受信した受信側のパケット制御部が1つの論理ポートに属する複数の物理ポートのなかから1つの物理ポートを選択する。すなわち従来同様、上り処理において受信側のパケット制御部が宛先物理ポートを選択する処理を行う。
【0013】
これに対し、外部からのパケットがマルチキャストパケットの場合、クロスバースイッチからのマルチキャストパケットを受信した複数の送信側のパケット制御部がそれぞれ1つの論理ポートに属する複数の物理ポートのなかから1つの物理ポートを選択する。すなわち下り処理において複数の送信側のパケット制御部がそれぞれ宛先物理ポートを選択する処理を行う。
【0014】
このように外部からのパケットがマルチキャストパケットの場合、下り処理において複数の送信側のパケット制御部がそれぞれ宛先物理ポートを選択するように処理することで、上り処理における処理負担の軽減を図るとともに、下り処理における処理を分散させることができるとしている。
【発明を実施するための形態】
【0026】
以下図面について、本発明の一実施の形態を詳述する。
【0027】
(1)ネットワーク中継システムの構成
図1は、本実施の形態におけるネットワーク中継システム100の全体構成を示す。ネットワーク中継システム100は、ネットワーク中継装置1により端末2及び端末3間を通信可能に接続して構成される。
【0028】
ネットワーク中継装置1は、複数の物理ポートPを備えて構成され、何れかの物理ポートPに接続された端末間を通信可能に接続する。ここではネットワーク中継装置1は、端末2及び端末3間を通信可能に接続する。
【0029】
またネットワーク中継装置1は、複数の物理ポートPに対して、仮想ネットワークVLAN(Virtual Local Area Network)を構成する。仮想ネットワークとは、物理的な接続とは別に仮想的に構成されたネットワークのことをいう。ここではネットワーク中継装置1は、仮想ネットワークVLAN1〜3を構成し、端末2及び3を同一の仮想ネットワークVLAN3で接続している。
【0030】
端末2及び3は、例えばPC(Personal Computer)、ルータ又はスイッチ等であり、ネットワーク中継装置1との間でパケットを送受信する端末である。ここでは端末2がパケットをネットワーク中継装置1に送信する送信側の端末であり、端末3がネットワーク中継装置1からのパケットを受信する受信側の端末である。
【0031】
(2)ネットワーク中継装置の構成
図2は、本実施の形態におけるネットワーク中継装置1の機能構成及び伝送経路MCPを示す。またネットワーク中継装置1に接続される管理端末D1を示す。ネットワーク中継装置1は、制御ユニット10、クロスバースイッチ11、複数のパケット制御部12(12a、12b、12c)及び複数の物理ポートPを備えて構成される。なおパケット制御部は、PPU(Packet Processing Unit)とも呼ばれる。
【0032】
制御ユニット10は、内部に図示しないCPU(Central Processing Unit)、RAM(Random Access Memory)及びROM(Read Only Memory)等を備えて構成され、CPUはROMに格納されている各種プログラムをRAMに展開し、RAMに展開した各種プログラムとの協働により、ネットワーク中継装置1の動作を統括的に制御する。例えば制御ユニット10は、複数のパケット制御部12と図示しないPCI(Peripheral Component
Interconnect)バスにより接続されており、このPCIバスを介して複数のパケット制御部12の制御を行う。また制御ユニット10は、図示しないユーザインタフェースを備えて構成され、管理端末D1からの設定情報をこのユーザインタフェースを介して入力し、後述する各種テーブルの設定及び配布を行う。
【0033】
以下、ネットワーク中継装置1におけるマルチキャストパケット、或いは、ユニキャストパケットだがレイヤ2のフラッディングを行うパケットの伝送経路MCPについて、各部の処理とともに説明する。
【0034】
なお以下の説明において、複数のパケット制御部12を区別する場合にはパケット制御部12a、パケット制御部12b、パケット制御部12cと記載して説明する。また複数の物理ポートPを区別する場合には物理ポートP1、物理ポートP2、物理ポートP3、物理ポートP4と記載して説明する。
【0035】
まずネットワーク中継装置1が外部(例えば端末2)からのパケットを複数の物理ポートPのうちのパケット制御部12aの物理ポートP4において受信すると、物理ポートP4は、受信したパケットを接続先のパケット制御部12aに送信する。
【0036】
パケット制御部12は、CPU13、CAM14、RAM15、検索エンジン16及び転送エンジン17を備えて構成される。CPU13は、図示しないROMに格納されている各種プログラムをRAM15に展開し、RAMに展開した各種プログラムとの協働により、パケット制御部12の動作を統括的に制御する。
【0037】
またCAM14は、特殊なメモリやDRAM(Dynamic Random Access Memory)等により構成され、各種テーブルを格納する。CAMとは、コンテントアドレサブルメモリ(Content Addressable Memory)の略である。また検索エンジン16は、CAM14又はRAM15に格納されている各種テーブルを参照して、受信したパケットの経路検索を行う。
【0038】
本実施の形態において、検索エンジン16は、パケットを受信すると、パケットを受信した論理ポート以外の同一仮想ネットワーク内の論理ポートを宛先論理ポートとして選択する。
【0039】
論理ポートとは、複数の物理ポートPを束ねて1つの論理的なポートとして取り扱うように設定されたポートである。このように複数の物理ポートを束ねて1つの論理ポートとして取り扱う機能をリンクアグリゲーション(Link Aggregation)と呼ぶ。また特に宛先論理ポートとは、パケットを外部に送信する際に用いる論理ポートである。
【0040】
従って、
図2の場合、パケットを受信した論理ポートは論理ポートLA2であり、この論理ポートLA2以外の同一仮想ネットワークVLAN3内の論理ポートは論理ポートLA1であるから、宛先論理ポートとして論理ポートLA1が選択される。
【0041】
さらに検索エンジン16は、選択した論理ポートLA1に属する複数の物理ポートPのなかから、予め定められたテーブル(
図8参照)に基づいて、1つの物理ポートを宛先物理ポートとして選択する。従って、
図2の場合、宛先物理ポートとしてパケット制御部12cの物理ポートP1が選択される。
【0042】
そして検索エンジン16は、最終的に選択した1つの物理ポート(ここではパケット制御部12cの物理ポートP1)を示す情報を宛先情報としてパケットに付加してパケットを転送エンジン17に送信する。
【0043】
転送エンジン17は、検索エンジン16からのパケットをクロスバースイッチ11に転送する。
【0044】
クロスバースイッチ11は、パケット制御部12aからのパケットを受信すると、受信したパケットに付加された宛先情報に基づいて、このパケットをパケット制御部12cに送信する。
【0045】
パケット制御部12cは、クロスバースイッチ11からのパケットを受信すると、選択された物理ポートP1からパケットを送信する。
【0046】
以上のように本実施の形態におけるネットワーク中継装置1は、パケット制御部12aの論理ポートLA2に属する物理ポートP4からパケットを受信した場合、パケット制御部12a、クロスバースイッチ11及びパケット制御部12cを介して、最終的にパケット制御部12cの論理ポートLA1に属する物理ポートP1からパケットを送信する。
【0047】
このように同一の仮想ネットワークVLAN3内において2つの論理ポートLA1及びLA2のみが設定されている場合、パケットを受信した論理ポート以外の同一の仮想ネットワークVLAN内の論理ポートを宛先論理ポートとして選択するように制御することで、無駄な転送処理及び廃棄処理が行われることを防止することができる。よってパケットを効率的かつ高速に転送することができる。
【0048】
(3)パケット制御部の構成
図3は、パケット制御部12の機能的構成を示す。パケット制御部12は、
図2において上述したように、CPU13、CAM14、RAM15、検索エンジン16及び転送エンジン17を備えて構成される。
【0049】
そしてCAM14は、図示するようにアドレス管理テーブルT1を保持し、またRAM15は、Port−LA変換テーブルT2、MAC所属LAテーブルT3、LA−Port変換テーブルT4、デフォルトフラッディングテーブルT5、学習要テーブルT6及びリンクトリストテーブルT7を保持する。これら各種テーブルの詳細については後述する。なおここではRAM15が各種テーブルT2〜T7を保持するものとしたが、検索エンジン16がテーブルT1〜7のうちの何れか一部を保持するものとしてもよい。
【0050】
(4)各種テーブルを用いた処理の概要
図4は、各種テーブルを用いた一連の処理の概要を示す。各種テーブルの詳細については後述する(
図6〜
図11参照)。
【0051】
まずパケット制御部12は、外部からのパケットを複数の物理ポートPのうちの何れかの物理ポートPにおいて受信すると、Port−LA変換テーブルT3を参照して、受信したパケットの付加情報
H11に含まれる受信した物理ポート番号(受信物理ポート番号)を受信した論理ポート番号(受信LA番号)に変換する。
【0052】
なお変換すべき受信LA番号が変換テーブルT3に登録されていない場合には変換されない。この変換処理により、付加情報H11は、少なくとも受信VLAN番号、受信LA番号又は宛先アドレスを含む。
【0053】
次いでパケット制御部12は、付加情報H11及びアドレス管理テーブルT1を参照して、付加情報H11に含まれる受信したVLAN番号(受信VLAN番号)、受信LA番号又は宛先アドレスの何れかと、アドレス管理テーブルT1に格納されている受信VLAN番号、受信LA番号又は宛先アドレスの何れかとが一致するか否か(ヒット又はミス)を判断する。
【0054】
パケット制御部12は、この判断で一致しない結果を得ると(ミス)、宛先論理ポートが不明であり、パケットを何れのパケット制御部12(12a、12b及び12c)に送信すべきか判断できない。よってパケット制御部12は、デフォルトフラッディングテーブルT5を参照して、同一仮想ネットワークVLAN内の全てのパケット制御部12(12a、12b及び12c)にパケットを送信する。
【0055】
このときパケット制御部12は、デフォルトフラッディングテーブルT5を参照して、同一の仮想ネットワークVLAN内にパケットをフラッディングするために、ビットマップBM1を参照する。このビットマップBM1は、複数のパケット制御部12(12a、12b及び12c)のうちの何れに対してフラッディングを行うべきかを示すものである。ビットマップBM1は、付加情報
H11としてパケットに含まれる。
【0056】
これに対し、パケット制御部12は、VLAN番号、LA番号又は宛先アドレスの何れかと、アドレス管理テーブルT1に格納されているVLAN番号、LA番号又は宛先アドレスの何れかとが一致する結果を得ると(ヒット)、ヒットした宛先アドレス及びMAC所属LAテーブルT2を参照して、宛先アドレスが所属する宛先論理ポート(宛先MACアドレスに対応付けられた宛先論理ポート)を選択する。
【0057】
さらにパケット制御部12は、選択した宛先論理ポートに属する複数の物理ポートのなかから1つの物理ポートを選択するために、エントリ番号を算出する。エントリ番号の算出方法の一例を以下に示す。
【0058】
まず付加情報
H11に含まれる宛先アドレスと宛先TCPポート番号とを8ビットずつに区切り、それぞれ加算する。次いで得られた加算値に対してビット逆順操作を行いハッシュ値とする。なおハッシュ値の取り得る範囲は0〜255である。またビット逆順操作とは、対象となるデータのビットの並び順を逆にする操作である。次いで得られたハッシュ値を用いて、下記(1)式によりエントリ番号を算出する。
【0059】
[数1]
(エントリ番号)=(ハッシュ値)×(1つの論理ポートに属する物理ポート数)/256 ……(1)
【0060】
パケット制御部12は、上記(1)式により得られたエントリ番号と、MAC所属LAテーブルT2を参照して得られた宛先論理ポート番号と、LA−Port変換テーブルとを参照して、1つの宛先物理ポート番号を取得する。
【0061】
図5は、各種テーブルを用いた宛先学習処理の概要を示す。この宛先学習処理は、
図4の処理と同期して又は非同期で行われる。
【0062】
まずパケット制御部12は、外部からのパケットを受信すると、受信したパケットに含まれる付加情報H11を参照して、付加情報H11に含まれる受信VLAN番号及び受信したMACアドレス(受信アドレス)と、アドレス管理テーブルT1に格納されている受信VLAN番号及び受信アドレスとが一致するか否か(ヒット又はミス)を判断する。
【0063】
パケット制御部12は、この判断で一致しない結果を得ると(ミス)、未学習であると判断する。これに対し、パケット制御部12は、この判断で一致する結果を得ると(ヒット)、MAC所属LAテーブルT2を参照して、対応する宛先LA番号を取得する。
【0064】
パケット制御部12は、取得した宛先LA番号と、付加情報H11に含まれる受信LA番号とが一致するか否かを判断する。パケット制御部12は、この判断で肯定結果を得ると、学習済みであると判断する。これに対し、パケット制御部12は、この判断で否定結果を得ると、仮想ネットワークVLAN内でポートの差替え等により端末を収容する論理ポートが移動したものと判断する。この場合、受信LA番号をMAC所属LAテーブルT2に上書き登録する。
【0065】
(5)各種テーブル
図6は、アドレス管理テーブルT1及びMAC所属テーブルT2の概念図を示す。アドレス管理テーブルT1及びMAC所属テーブルT2は、
図4において上述したように、受信VLAN番号、受信LA番号、宛先アドレス及び宛先LA番号を管理するためのテーブルであり、これら受信VLAN番号、受信LA番号、宛先アドレス及び宛先LA番号の何れかに基づいて、宛先論理ポート番号を取得するために用いられるテーブルである。
【0066】
アドレス管理テーブルT1は、VLAN欄T11、LA欄T12及び宛先MAC欄T13から構成される。VLAN欄T11には、受信VLANの識別情報(受信VLAN番号)が格納される。またLA欄T12には、受信論理ポートの識別情報(受信LA番号)が格納される。またMAC欄T13には、宛先アドレスの識別情報が格納される。
【0067】
またMAC所属テーブルT2は、LA欄T21から構成される。LA欄T21には、宛先論理ポートの識別情報(宛先LA番号)が格納される。
【0068】
従って
図6の場合、例えば受信VLAN番号が「VLAN3」であり、受信LA番号が「LA1」の場合、宛先LA番号として「LA2」が対応付けられていることが示されている。また受信VLAN番号が「VLAN3」であり、受信LA番号が「LA2」の場合、宛先LA番号として「LA1」が対応付けられていることが示されている。
【0069】
すなわち本実施の形態において、受信LA番号が「LA1」又は「LA2」の何れかの場合、同一仮想ネットワークVLAN3内には2つの論理ポートLA1及びLA2しか設定されていないことから、宛先LA番号が一意に定まることになる。
【0070】
図7は、Port−LA変換テーブルT3の概念図を示す。Port−LA変換テーブルT3は、受信物理ポート番号を受信LA番号に変換するために用いられるテーブルである。
【0071】
Port−LA変換テーブルT3は、Port欄T31及びLA欄T32から構成される。Port欄T31には、受信物理ポートの識別情報(受信物理ポート番号)が格納される。またLA欄T32には、受信論理ポートの識別情報(受信LA番号)が格納される。
【0072】
従って
図7の場合、例えば受信物理ポート番号が「Port1」の場合、「LA3」の受信LA番号が対応付けられていることが示されている。
【0073】
図8は、LA−Port変換テーブルT4の概念図を示す。LA−Port変換テーブルT4は、宛先論理ポートに属する複数の物理ポートのなかから1つの宛先物理ポートを選択するために用いられるテーブルである。
【0074】
LA−Port変換テーブルT4は、LA番号欄T41及びエントリ番号欄T42から構成される。LA番号欄T41には、宛先論理ポートの識別情報(宛先LA番号)が格納される。またエントリ番号欄T42には、上記(1)式で算出されるエントリ番号が格納される。
【0075】
従って
図8の場合、例えば宛先LA番号が「LA1」の場合、かつ、エントリ番号が「0」の場合、宛先は「PPU2/Port4」であることが示されている。なお「PPU1」はパケット制御部12a、「PPU2」はパケット制御部12b、「PPU3」はパケット制御部12cを示しており、「Port1〜4」は物理ポートを示している。よって「PPU2/Port4」は、パケット制御部12bの物理ポートP4を意味する。
【0076】
図9は、デフォルトフラッディングテーブルT5の概念図を示す。デフォルトフラッディングテーブルT5は、同一の仮想ネットワークVLAN内にパケットをフラッディングする際に用いられるテーブルである。
【0077】
デフォルトフラッディングテーブルT5は、VLAN欄T51及びPPU欄T52から構成される。VLAN欄T51には、受信VLANの識別情報(受信VLAN番号)が格納される。またPPU欄T52には、パケット制御部12の識別情報(PPU番号)が格納される。
【0078】
従って
図9の場合、例えば受信VLAN番号が「VLAN1」の場合、「PPU1〜3」の全てのパケット制御部12a〜12cにパケットがフラッディングされることが示されている。また受信VLAN番号が「VLAN3」の場合、パケットはフラッディングされないことが示されている。
【0079】
なおこの受信VLAN番号が「VLAN3」の場合、受信LA番号が「LA1」の場合には宛先LA番号は「LA2」に対応付けられ、受信LA番号が「LA2」の場合には宛先LA番号は「LA1」に対応付けられている(
図6参照)。すなわち受信LA番号が「LA1」又は「LA2」の何れかの場合、同一の仮想ネットワークVLAN3内には2つの論理ポートLA1及びLA2しか設定されていないことから、宛先LA番号が一意に定まるためフラッディングされない。
【0080】
図10は、学習要テーブルT6を示す。学習要テーブルT6は、外部からのパケットを受信した際、宛先を学習する必要があるか否かを判断する際に用いられるテーブルである。
【0081】
学習要テーブルT6は、VLAN欄T61及び学習要否欄T62から構成される。VLAN欄T61には、受信VLANの識別情報(受信VLAN番号)が格納される。また学習要否欄T62には、学習する必要があることを示す値「1」又は学習する必要がないことを示す値「0」が格納される。
【0082】
従って
図10の場合、例えば受信VLAN番号が「VLAN1」の場合、値「1」が対応付けられていることから、宛先を学習する必要があることが示されている。また受信VLAN番号が「VLAN3」の場合、値「0」が対応付けられていることから、宛先を学習する必要がないことが示されている。
【0083】
図11は、リンクトリストテーブルT7を示す。リンクトリストテーブルT7は、パケットをフラッディングする際に用いられるテーブルである。
【0084】
例えばフラッディングされるパケットは、このリンクトリストテーブルT7に登録された論理ポートの数だけフラッディングされる。
【0085】
以上のように
図6〜
図11に示した各種テーブルT1〜T7をパケット制御部12が備えて構成されることにより、パケット制御部12は、これら各種テーブルT1〜T7及び外部から受信したパケットに含まれる付加情報H11に基づいて、
図4及び
図5において説明したように、パケットの宛先を検索する宛先検索処理や宛先を学習する宛先学習処理を実行する。また実際にパケットを外部に送信するパケット送信処理を実行する。宛先検索処理、パケット送信処理及び宛先学習処理の詳細については後述する(
図14〜
図16参照)。
【0086】
(6)ネットワーク設定
図2に示したように、管理端末D1は、ネットワーク中継装置1の制御ユニット10に接続されている。管理者は、この管理端末D1においてコマンドを入力することによりコンフィグを設定することができる。
【0087】
ここで
図2に示したコマンドは、同一の仮想ネットワークVLAN3内に2つの論理ポートLA1及びLA2のみを設定する場合の一例である。管理端末D1において入力及び設定されたコンフィグは、ネットワーク中継装置1の制御ユニット10を介して、各パケット制御部12により入力及び反映される。なお上述してきた各種テーブルT1〜T7についても同様に、管理者が管理端末D1を介してコマンドを入力することにより設定することができる。
【0088】
具体的には
図2の管理端末D1に示したコマンドが入力されて、VLAN3内に2つの論理ポートLA1及びLA2のみが設定されると、テーブルT1においてはVLAN欄T11に「VLAN3」が設定されるとともに、この「VLAN3」に対応するエントリがテーブルT1及びT2において設定される。またテーブルT3においては、LA欄T32に「LA1」及び「LA2」が設定される。またテーブルT4においては、LA番号欄T41の「LA1」及び「LA2」に対応するエントリが設定される。またテーブルT5においては、「VLAN3」の仮想ネットワークVLANではフラッディングされないため、対応するエントリはブランクに設定される。またテーブルT6においては、「VLAN3」の仮想ネットワークVLANではパケットの受信元と送信元とが一意に決まっているため学習する必要がなく、対応するエントリには「0」が設定される。またテーブルT7においては、「VLAN3」の仮想ネットワークVLANではフラッディングされないため、対応するエントリはブランクに設定される。
【0089】
図12は、仮想ネットワークVLAN3以外にも仮想ネットワークVLAN1及び2についてのコンフィグを設定した場合のコンフィグ設定の概念図を示す。このコンフィグ設定の概念図によれば、仮想ネットワークVLAN3に属する論理ポートは、論理ポートLA1及びLA2であることが示されている。また仮想ネットワークVLAN1に属する論理ポートは、論理ポートLA3、LA4及びLA7であることが示されている。また仮想ネットワークVLAN2に属する論理ポートは、論理ポートLA5、LA6及びLA8であることが示されている。
【0090】
図13は、仮想ネットワークVLAN1〜6についてコンフィグ設定した場合の他のコンフィグ設定の概念図を示す。この他のコンフィグ設定の概念図によれば、仮想ネットワークVLAN3に属する論理ポートは、論理ポートLA2及びLA3であることが示されている。また仮想ネットワークVLAN1に属する論理ポートは、論理ポートLA1及びLA4であることが示されている。また仮想ネットワークVLAN2に属する論理ポートは、論理ポートLA1及びLA2であることが示されている。
【0091】
(7)各種処理
図14は、ユニキャストパケットを受信した時に当該パケットをフラッディングしない場合及びフラッディングする場合の宛先検索処理を示す。この宛先検索処理は、外部からのパケットを受信したパケット制御部12により実行される。具体的には
図2の場合、パケット制御部12aにより実行される。
【0092】
まずパケット制御部12は、物理ポートPを介して、外部からのパケットを受信したか否かを判断する(SP1)。
【0093】
パケット制御部12は、この判断で否定結果を得ると、パケットを受信するまで待機する。
【0094】
これに対し、パケット制御部12は、ステップSP1の判断で肯定結果を得ると、Port−LA変換テーブルT3を参照して、受信物理ポート番号を受信LA番号に変換する(SP2)。
【0095】
次いでパケット制御部12は、アドレス管理テーブルT1を検索して(SP3)、受信LA番号がヒットするか否かを判断する(SP4)。
【0096】
パケット制御部12は、ヒットした場合、MAC所属テーブルT2を参照して、ヒットした受信LA番号に対応付けられている宛先ポート番号を検索する(SP5)。
【0097】
次いでパケット制御部12は、宛先ポートは論理ポートであるか否かを判断する(SP6)。パケット制御部12は、この判断で否定結果を得ると、宛先ポートは物理ポートであると判断してステップSP9に移行する。
【0098】
これに対し、パケット制御部12は、ステップSP6の判断で肯定結果を得ると、ハッシュ値計算を行い、更にハッシュ値を用いて上記(1)によりエントリ番号を算出する(SP7)。
【0099】
次いでパケット制御部12は、LA−Port変換テーブルT4を参照して、宛先PPU番号及び宛先物理ポート番号を取得する(SP8)。
【0100】
次いでパケット制御部12は、宛先PPU番号及び宛先物理ポート番号を付加情報
H11としてパケットに付加し、このパケットをクロスバースイッチ11に送信して(SP9)、この宛先検索処理を終了する。
【0101】
これに対し、パケット制御部12は、ステップSP4の判断で否定結果を得ると、宛先が不明であることから、デフォルトフラッディングテーブルT5を参照して、ビットマップを取得する(SP10)。
【0102】
次いでパケット制御部12は、ビットマップを付加情報
H11としてパケットに付加し、このパケットをクロスバースイッチ11に送信して(SP11)、この宛先検索処理を終了する。
【0103】
図15は、ユニキャストパケットをフラッディングしない場合及びフラッディングする場合のパケット送信処理を示す。このパケット送信処理は、クロスバースイッチ11からのパケットを受信したパケット制御部12により実行される。具体的には
図2の場合、パケット制御部12cにより実行される。
【0104】
まずパケット制御部12は、クロスバースイッチ11からのパケットを受信したか否かを判断する(SP21)。
【0105】
パケット制御部12は、この判断で否定結果を得ると、パケットを受信するまで待機する。
【0106】
これに対し、パケット制御部12は、この判断で肯定結果を得ると、フラッディングされたパケットであるか否かを判断する(SP22)。
【0107】
ここで本実施の形態では、受信LA番号が「LA1」又は「LA2」の何れかの場合、同一の仮想ネットワークVLAN3内には2つの論理ポートLA1及びLA2しか設定されていないことから、宛先LA番号が一意に定まる。そして物理ポートも上り処理で既に検索済みであるため(
図14参照)フラッディングされない。よって本実施の形態では、受信VLAN番号が「VLAN3」の場合、ステップSP100の処理が省略されることになる。
【0108】
そしてこのステップSP100が省略されることにより、宛先論理ポートと外部からのパケットを受信した受信論理ポートとが一致する場合に(SP24;Y)、パケットを破棄する処理(SP25)が省略される。すなわち外部からのパケットを受信したパケット制御部12aがクロスバースイッチ11を経由してパケットを再び受信し、受信したパケットを破棄する処理が省略される。また宛先論理ポートと外部からのパケットを受信した受信論理ポートとが一致しない場合であっても(SP24;N)、宛先物理ポートを備えていない場合に(SP27及びSP28;N)、パケットを破棄する処理(SP25)が省略される。すなわちクロスバースイッチ11を経由してパケット制御部12bがパケットを受信したものの、パケット制御部12bが宛先物理ポートを備えていないためパケットを破棄する処理が省略される。このようにステップSP100が省略されることにより無駄な破棄が省略されるため、パケットを効率的かつ高速に転送することができる。
【0109】
パケット制御部12は、受信VLAN番号が「VLAN3」であり、ステップSP22の判断で否定結果を得た場合、パケットに付加された宛先PPU番号及び宛先物理ポート番号に基づいて、指定された物理ポートPからパケットを送信して(SP23)、このパケット送信処理を終了する。
【0110】
これに対し、パケット制御部12は、ステップSP22の判断で肯定結果を得ると、ステップSP100の処理を実行する。
【0111】
具体的には、まずパケット制御部12は、受信ポート(例えば受信LA番号)と、宛先ポート(例えば宛先LA番号)とが一致しているか否かを判断する(SP24)。
【0112】
パケット制御部12は、この判断で肯定結果を得ると、受信したパケットを廃棄してステップSP30に移行する(SP25)。
【0113】
これに対し、パケット制御部12は、ステップSP24の判断で否定結果を得ると、宛先ポート(例えば宛先LA番号)は論理ポートであるか否かを判断する(SP26)。
【0114】
パケット制御部12は、この判断で肯定結果を得ると、ハッシュ値計算を行い(SP27)、計算したハッシュ値が一致するか否かを判断する(SP28)。
【0115】
パケット制御部12は、この判断で否定結果を得ると、自身が宛先物理ポートを備えていないものと判断し、受信したパケットを廃棄して(SP25)、ステップSP30に移行する。
【0116】
これに対し、パケット制御部12は、ステップSP26の判断で否定結果を得た場合又はステップSP28の判断で肯定結果を得た場合、指定された物理ポートPからパケットを送信する(SP29)。
【0117】
次いでパケット制御部12は、リンクトリストテーブルT7に登録された宛先ポートを全て経由したか否かを判断する(SP30)。
【0118】
パケット制御部12は、この判断で否定結果を得ると、ステップSP24に戻り、上述してきた処理を繰り返す。これに対し、パケット制御部12は、この判断で肯定結果を得ると、このパケット送信処理を終了する。
【0119】
図16は、宛先学習処理を示す。この宛先学習処理は、外部からのパケットを受信したパケット制御部12により実行される。具体的には
図2の場合、パケット制御部12aにより実行される。
【0120】
まずパケット制御部12は、学習要テーブルT6を参照して、受信したパケットの宛先について学習する必要があるか否かを判断する(SP41)。
【0121】
パケット制御部12は、この判断で否定結果を得ると、この宛先学習処理を終了する。これに対し、パケット制御部12は、ステップSP41の判断で肯定結果を得ると、受信したパケットの付加情報
H11に含まれる受信VLAN番号、受信LA番号又は宛先アドレスがアドレス管理テーブルT1に登録済みか否かを判断する(SP42)。
【0122】
パケット制御部12は、この判断で否定結果を得ると、付加情報
H11に含まれる受信VLAN番号、受信LA番号又は宛先アドレスをアドレス管理テーブルT1に登録して(SP43)、この宛先学習処理を終了する。
【0123】
これに対し、パケット制御部12は、ステップSP42の判断で肯定結果を得ると、MAC所属LAテーブルT2を参照して得られた宛先LA番号と、既に登録済みの宛先LA番号とが一致しているか否かを判断する(SP44)。
【0124】
パケット制御部12は、この判断で肯定結果を得ると、この宛先学習処理を終了する。これに対し、パケット制御部12は、この判断で否定結果を得ると、MAC所属LAテーブルT2を参照して得られた宛先LA番号を既に登録済みの宛先LA番号に対して上書登録して(SP45)、この宛先学習処理を終了する。
【0125】
(8)本実施の形態による効果
以上のように本実施の形態によるネットワーク中継装置1によれば、同一仮想ネットワークVLAN3内に2つの論理ポートLA1及びLA2のみが設定されている場合、例えば一方の論理ポートLA2により受信されたパケットを他方の論理ポートLA1に属する1つの物理ポートP1にのみ送信し、最終的に廃棄することになるパケット制御部12a及び12bには送信しないようにすることができる。よってパケットの転送を効率的に行うことができ、転送の高速化を図ることができる。