JP4295812B2 - ネットワーク中継装置 - Google Patents

ネットワーク中継装置 Download PDF

Info

Publication number
JP4295812B2
JP4295812B2 JP2008283025A JP2008283025A JP4295812B2 JP 4295812 B2 JP4295812 B2 JP 4295812B2 JP 2008283025 A JP2008283025 A JP 2008283025A JP 2008283025 A JP2008283025 A JP 2008283025A JP 4295812 B2 JP4295812 B2 JP 4295812B2
Authority
JP
Japan
Prior art keywords
packet
relay device
network relay
multicast
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2008283025A
Other languages
English (en)
Other versions
JP2009027758A (ja
Inventor
智彦 河野
和雄 須貝
大機 矢野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008283025A priority Critical patent/JP4295812B2/ja
Publication of JP2009027758A publication Critical patent/JP2009027758A/ja
Application granted granted Critical
Publication of JP4295812B2 publication Critical patent/JP4295812B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、ネットワークの中継を行うネットワーク中継装置に関する。
一般的に、ネットワーク機器間を配線するためには、リピータハブやレイヤ2スイッチといったネットワーク中継装置が利用されている。リピータハブは、複数のネットワーク機器を電気的に単純に接続するための装置である。一方、レイヤ2スイッチは、入力したパケットをその宛先アドレスに応じて最適な物理ポートに転送する機能を備えている。近年のオフィスでは、ネットワーク機器の増加に伴うトラフィックの増大を抑制するため、リピータハブではなく、レイヤ2スイッチを用いることが多い。また、近年では、より大規模なネットワークを構築するため、レイヤ3スイッチと呼ばれるネットワーク中継装置も利用されている。レイヤ3スイッチは、レイヤ2スイッチのブリッジ機能に加え、ルータ機能も備えている。
上述したレイヤ2スイッチやレイヤ3スイッチの中には、リンクアグリゲーションと呼ばれる機能を備えるものもある。かかる機能は、LANスイッチ間等に接続された複数の物理ポートを1つの論理ポートとして扱うことにより帯域の拡大や冗長性の確保を実現する機能である(特許文献1参照)。
特開2002−9866号公報
ネットワーク中継装置は、100Mbps、1Gbps、10Gbpsと益々高速化されるネットワークの伝送速度に対応する必要があり、また、マルチキャストを行うアプリケーションの増加やリンクアグリゲーション機能の搭載など、より複雑な処理を行う必要がある。そこで、本発明は、ネットワーク中継装置において、より効率的なネットワークの中継処理を可能とし、高速化に対応可能な技術を提供することを目的とする。
上記課題を解決するため、本発明の第1のネットワーク中継装置を次のように構成した。すなわち、複数の物理ポートを論理的に束ねることにより1つの論理ポートとして取り扱うことが可能なネットワーク中継装置であって、パケットを入力するパケット入力部と、前記論理ポートに出力すべきパケットについて、該パケットに含まれる宛先アドレス情報と該パケットを用いるアプリケーションを特定するための識別情報とを抽出する抽出部と、前記論理ポートを構成する物理ポートのうち、前記パケットの出力に用いる物理ポートを前記宛先アドレス情報と前記識別情報とに応じて選択する物理ポート選択部と、前記選択された物理ポートを用いて前記パケットを前記宛先アドレスに出力するパケット出力部と、を備えることを要旨とする。
アプリケーションを特定するための識別情報としては、例えば、TCP/UDPポート番号を挙げることができる。本発明では、論理ポートによってパケットを出力する際、このような識別情報とパケットの宛先アドレス情報とに応じて実際にパケットを出力する物理ポートを選択する。こうすることにより、同一アドレス宛や同一アプリケーション宛のパケットを同じフローに属するパケットとして扱い、同じ物理ポートから出力することができる。同じフローに属するパケットを異なる物理ポートから出力した場合には、僅かなタイミングのずれによって、後から送信したパケットが先に送信したパケットよりも早く送信先に到達してしまうという、いわゆるパケットの追い越し問題が発生する場合がある。パケットの追い越しがあった場合には、そのパケットを受信した装置において、再度パケットの順序を復元する処理が発生してしまう。そのため、本発明によれば、このようなパケットの追い越し問題を避けることができるため、効率的にネットワークを中継することが可能となる。
上記第1のネットワーク中継装置において、前記物理ポート選択部は、前記宛先アドレス情報と前記識別情報とを用いた所定のハッシュ関数によってハッシュ値を求め、該ハッシュ値に対応付けられた物理ポートを選択するものとしてもよい。こうすることにより、宛先アドレス情報や識別情報に応じて効率的に物理ポートの使い分けを行うことが可能となる。
上記課題を解決するため、本発明の第2のネットワーク中継装置を次のように構成した。すなわち、複数の物理ポートを論理的に束ねることにより1つの論理ポートとして取り扱うことが可能なネットワーク中継装置であって、所定数の回線を収容するとともに、該各回線に対するパケットの入出力を制御するパケット制御部を複数備え、該各パケット制御部は、前記論理ポートに出力すべきパケットについて、該パケットが当該パケット制御部の処理対象であるか否かを判定する判定部と、前記判定部が処理対象であると判定した場合に、前記パケットを出力するパケット出力部とを備えることを要旨とする。
論理ポートは、複数の物理ポートによって構成される回線であるため、複数のパケット制御部に跨って設定されている場合がある。そのため、本発明では、論理ポートを用いたパケットの出力時には、各パケット制御部が、それぞれ独立してパケットを出力するか否かを判断するものとした。こうすることにより、処理の負担が分散され、効率的にパケットの出力を行うことが可能となる。
上記第2のネットワーク中継装置において、前記パケット出力部は、前記判定部が処理対象でないと判定した場合に、前記パケットを破棄するものとしてもよい。このような構成であれば、冗長なパケット出力に伴う混乱を回避することが可能となる。
パケット制御部が、出力すべきパケットが自分の処理対象であるか否かを判定するためには、例えば、上記第2のネットワーク中継装置において、前記各パケット制御部は、更に、前記論理ポートを構成する物理ポートのうち前記パケットの出力に用いる物理ポートを所定の設定に基づき選択する物理ポート選択部を備え、前記判定部は、前記選択された物理ポートが、当該パケット制御部の制御対象である場合に、前記パケットが、当該パケット制御部の処理対象であると判定するといった構成によって行うことができる。
かかる構成のネットワーク中継装置において、前記物理ポート選択部は、前記パケットに含まれる宛先アドレス情報と該パケットを用いるアプリケーションを特定するための識別情報とを用いた所定のハッシュ関数によってハッシュ値を求め、該ハッシュ値に対応付けられた物理ポートを選択するものとしてもよい。こうすることにより、同じフローに属するパケットを同じ物理ポートから出力することが可能となる。
上記課題を解決するため、本発明の第3のネットワーク中継装置を次のように構成した。すなわち、複数の物理ポートによる通信を制御可能なネットワーク中継装置であって、所定数の回線を収容するとともに、該各回線に対するパケットの入出力を制御するパケット制御部を複数備え、該各パケット制御部は、入力したパケットがユニキャストパケットであるかマルチキャストパケットであるかを判定するパケット種別判定部と、ユニキャストパケットを入力した場合に、該ユニキャストパケットを転送すべき回線を所定の設定に基づき選択し、該回線を収容するパケット制御部に前記ユニキャストパケットを転送するユニキャスト出力回線選択部と、マルチキャストパケットを入力した場合に、所定の設定に基づき、前記各パケット制御部の少なくとも一部に該マルチキャストパケットを配布するマルチキャストパケット配布部と、前記マルチキャストパケットが配布された場合に、該マルチキャストパケットを出力する回線を、所定の設定に基づき選択するマルチキャスト出力回線選択部と、を備えることを要旨とする。
本発明によれば、入力したパケットがユニキャストパケットであれば、入力側のパケット制御部でそのパケットの出力を行う回線を選択し、該回線が接続される出力側のパケット制御部にパケットを転送する。マルチキャストパケットであれば、入力側のパケット制御部から、マルチキャストパケット配布部経由で、一つあるいは複数の出力側のパケット制御部にパケットを転送する。各々の出力側のパケット制御部では、出力を行う一つあるいは複数の回線を選択する。従って、マルチキャストパケットは、マルチキャストパケット配布部と、出力側のパケット制御部の両方で、複数に展開されるため、装置内のトラフィックの増加を抑え、高性能なマルチキャスト中継を実現することができる。
上記第3のネットワーク中継装置において、該ネットワーク中継装置は複数の物理ポートを論理的に束ねることにより1つの論理ポートとして取り扱うことが可能であり、前記ユニキャスト出力回線選択部は、前記選択した回線が前記論理ポートであった場合に、更に、該論理ポートを構成する物理ポートのうち前記ユニキャストパケットの出力に用いる物理ポートを所定の設定に基づき選択するものとしてもよい。こうすることにより、論理ポートを用いてユニキャストパケットを出力することができる。
また、上記第3のネットワーク中継装置において、該ネットワーク中継装置は複数の物理ポートを論理的に束ねることにより1つの論理ポートとして取り扱うことが可能であり、前記マルチキャスト出力回線選択部は、前記選択した回線が前記論理ポートであった場合に、更に、該論理ポートを構成する物理ポートのうち前記マルチキャストパケットの出力に用いる物理ポートを所定の設定に基づき選択するものとしてもよい。こうすることにより、論理ポートを用いてマルチキャストパケットを出力することができる。
かかる構成のネットワーク中継装置において、前記マルチキャスト出力回線選択部は、前記選択した物理ポートが当該パケット制御部の制御対象外である場合に、前記配布されたマルチキャストパケットを破棄するものとしてもよい。このような構成であれば、複数の物理回線を束ねて一つの回線のごとく扱い、一つに束ねられた複数の物理回線のうちのいずれかの物理回線に障害が発生したときに出力先を、束ねられた複数の物理回線内の他の物理回線に切り替える際に、束ねられた複数の物理回線のいずれかを収容する全てのパケット制御部にパケットを送っておき、出力回線選択部で、束ねられた複数の物理回線のうちの一本だけからパケットを出力し、他の物理回線へは出力する前にパケットを廃棄するように制御することにより、高速に物理回線を切り替えることができる。
本発明において上述した種々の態様は、適宜、組み合わせたり、一部を省略して適用することができる。また、本発明は、上述した種々のネットワーク中継装置としての構成に限られず、例えば、ネットワークの中継方法やネットワークを中継するためのコンピュータプログラム、かかるプログラムを記録したコンピュータ読み取り可能な記録媒体等としても構成することができる。いずれの構成においても、上述した各態様を適宜、適用可能である。コンピュータが読み取り可能な記録媒体としては、例えば、フレキシブルディスクやCD−ROM、DVD−ROM、光磁気ディスク、メモリカード、ハードディスク等の種々の媒体を利用することができる。
以下、本発明の実施の形態について実施例に基づき次の順序で説明する。
A.ネットワーク中継装置の概略構成:
B.各テーブルの構造:
(B1)経路テーブル:
(B2)リンクアグリゲーションテーブル:
C.ネットワーク中継装置の動作概要:
(C1)ユニキャスト中継時:
(C2)マルチキャスト中継時:
D.パケット入力処理:
E.パケット出力処理:
A.ネットワーク中継装置の概略構成:
図1は、実施例としてのネットワーク中継装置100の概略構成を示す説明図である。本実施例のネットワーク中継装置100は、いわゆるLANスイッチであり、ブリッジ機能やルータ機能を備えるとともに、リンクアグリゲーション機能も備えている。リンクアグリゲーションとは、複数の物理ポートを束ねて1つの論理ポートとして取り扱うことが可能な機能であり、帯域幅の拡大や冗長性の確保を図ることができる。図1では、5本の物理ポートを束ねて構成した論理ポートLA1と、2本の物理ポートを束ねて構成した論理ポートLA2とを示した。各論理ポートは、リンクアグリゲーションID(図中の「LA−ID」)と呼ばれる識別番号によって判別することができる。
ネットワーク中継装置100は、大まかに分けて、制御ユニット110と、クロスバスイッチ120と、パケット制御部130(以下、「PPU130」と記載。)と、ネットワークインターフェース部140(以下、「NIF140」と記載。)により構成されている。本実施例では、クロスバスイッチ120に3つのPPU130が接続され、各PPU130には、それぞれ、1つまたは2つのNIF140が接続されているものとした。
制御ユニット110は、ネットワーク中継装置100の全体制御を行うユニットであり、内部には、CPUやメモリなどを備えている。制御ユニット110は、図示していないPCIバスによって各PPU130と接続されており、このPCIバス経由で各PPU130の制御を行う。また、制御ユニット110は、ネットワークによって接続された管理用コンピュータに対して、Webベースの設定用ユーザインタフェースを提供する。管理者は、このユーザインタフェースを利用することにより、経路テーブルなどの設定を行うことができる。その他、制御ユニット110は、各PPU130に対する経路テーブルの配布やルーティングプロトコルの処理などを行う。
PPU130は、パケットの入出力を制御するためのモジュールである。各PPU130には、図中に#0、#1、#2と示したように、それぞれに識別番号が付されている。各PPU130は、CPU131、ROM132、RAM133、検索エンジン134、テーブル記憶部135を備えている。ROM133には、PPU130を制御するためのプログラムが記録されており、CPU131は、RAM133をワークエリアとして用いることによりかかるプログラムを実行する。
検索エンジン134は、テーブル記憶部135に記録された各種テーブルを用いて経路検索を行う。本実施例において、経路検索とは、入力したパケットの宛先アドレス等に応じてそのパケットを出力するインタフェースを検索することをいう。検索エンジン134は、ソフトウェア的に実現することも可能であるが、処理を高速に行うために、経路検索用に専用に設計されたASICによって構成することが好ましい。
テーブル記憶部135には、経路テーブルやリンクアグリゲーションテーブル等が記録されている。これらのテーブルの詳細については後述する。テーブル記憶部135は、例えば、CAM(Content-Address Memory)とよばれる特殊なメモリやDRAM等によって構成することができる。
NIF140は、10BASE−5や10BASE−T、100BASE−TX等のネットワーク回線をネットワーク中継装置100に対して物理的に接続するためのモジュールである。NIF140は、パケット転送エンジン141(以下、「PFP」と称する。)と、ネットワーク回線を接続するための物理ポート142とを備えている。PFP141は、PPU130からの指示に基づいて物理ポート142に対するパケットの転送を制御する。各PFP141および物理ポート142には、図示するようにそれぞれ識別番号が付されている。
クロスバスイッチ120は、PPU130間でパケットの転送を行う際に、その伝送路を高速にスイッチングするための素子である。PPU130は、クロスバスイッチ120を介してパケットの転送を行う際に、そのパケットに対して、ビットマップ、MCフラグ、出力先情報といった付加情報を添付する。伝送路のスイッチングは、こうして付加されたビットマップを解析することによって行う。
図2は、付加情報とパケットの概略構造を示す説明図である。図示するビットマップの3つのビットは左側から順に、それぞれPPU#0、PPU#1、PPU#2にパケットを転送するか否かを表している。そのため、例えば、ビットマップとして「001」と設定されれば、そのパケットはクロスバスイッチ120によってPPU#2に転送される。また、「110」と設定されれば、PPU#0とPPU#1の両者に転送される。「MCフラグ」は、転送するパケットの種別を表すためのフラグである。「0」であればユニキャストパケット、「1」であればマルチキャストパケットであることを表す。出力先情報とは、そのパケットを出力するPPU130、PFP141、物理ポート142の各識別番号を指定するための情報である。この出力先情報は、ユニキャストパケットを転送する場合に用いられる。
パケットには、宛先MACアドレス、送信元MACアドレス、宛先IPアドレス、送信元IPアドレス、宛先TCPポート番号、送信元TCPポート番号、データ等の情報が含まれる。本実施例の説明において「宛先アドレス」とは、これらのうち宛先MACアドレスのことをいうものとする。しかし、宛先IPアドレスを適用しても特に差し支えはない。また、本実施例における「パケット」という用語は、いわゆる「イーサネット(登録商標)フレーム」と同義であるものとする。
B.各テーブルの構造:
(B1)経路テーブル:
図3は、テーブル記憶部135に記憶された経路テーブルの概略構造を示す説明図である。経路テーブルは、入力したパケットの宛先アドレスをキーとしてその出力先インタフェースを検索するためのテーブルである。
図示した例では、宛先アドレスAに対しては、出力先インタフェースとして、PPU#0、PFP#0、物理ポート#1が対応付けられ、宛先アドレスBに対しては、リンクアグリゲーションID#1の論理ポートが対応付けられているものとした。ここで、各PPU130に割り当てられるPPU番号は、2進数で「0000」から「1110」までの値とし、「1111」は、その出力先インタフェースが論理ポートである旨を示す識別子として取り扱うものとした。
図示する宛先アドレスCは、マルチキャストアドレスであるものとした。マルチキャストとは、予め登録した複数の宛先に同一内容のパケットを複製して配布することをいう。そのため、マルチキャストアドレスに対しては図示するように複数の出力先インタフェース対応付けられている場合がある。図では、以下の3つの出力先インタフェースが1つのマルチキャストアドレスCに登録されている例を示した。
(1)PPU#1,PFP#0,物理ポート#0;
(2)PPU#1,PFP#1,物理ポート#0;
(3)リンクアグリゲーションID#2の論理ポート;
マルチキャストアドレスに対しては、クロスバスイッチ120のスイッチングに用いるビットマップも経路テーブル内に予め登録されるものとした。こうすることにより、PPU130は、出力先インタフェースとなる各PPU130に迅速にマルチキャストパケットを転送することができる。
以上で説明した経路テーブルは、基本的に、上述した管理用コンピュータを用いて管理者が設定する。しかし、ここでは詳しい説明は省略するが、ユニキャストアドレスについてはMACアドレス学習処理によって、マルチキャストアドレスについてはIGMPスヌーピングによって自動的に設定することも可能である。MACアドレス学習処理を行う場合には、図4に示すようなポートテーブルが用いられる。ポートテーブルには、物理ポート番号と、その物理ポートが属するPPU番号やPFP番号もしくはリンクアグリゲーションIDが対応付けて記録されている。従って、各PPU130は、入力したパケットの送信元アドレスと、ポートテーブルを参照して得られたPPU番号やリンクアグリゲーションIDとを対応付けて経路テーブルに記録することにより、自動的に経路テーブルを設定することができる。
(B2)リンクアグリゲーションテーブル:
図5は、テーブル記憶部135に記録されたリンクアグリゲーションテーブルの概略構造を示す説明図である。リンクアグリゲーションテーブルには、リンクアグリゲーションID毎に、その論理ポートを構成する物理ポートの組とその数(パス数)が定義されている。図5には、図1で例示した論理ポートLA1のリンクアグリゲーションテーブルを示した。図中、「En」とあるのは、「Enable」の意であり、そのエントリが有効であるか否かを示すためのフラグである。「1」であれば有効であり、「0」であれば無効である旨を表す。このテーブルによれば、以下に挙げる5つの物理ポートによって論理ポートLA2が構成されていることとなる。
(1)PPU#1、PFP#1、物理ポート#1;
(2)PPU#1、PFP#1、物理ポート#2;
(3)PPU#2、PFP#0、物理ポート#0;
(4)PPU#2、PFP#0、物理ポート#1;
(5)PPU#2、PFP#0、物理ポート#2;
ネットワーク中継装置100は、以上で説明した経路テーブルやリンクアグリゲーションテーブルを用いて経路検索を行うことにより、入力したパケットを最適な出力先インタフェースから出力することができる。
C.ネットワーク中継装置の動作概要:
(C1)ユニキャスト中継時:
図6は、ユニキャストパケット入力時のネットワーク中継装置100の基本的な中継動作の概要を示す説明図である。まず、ユニキャストパケットを入力した入力側PPU#0は、そのパケットの宛先アドレスに対応付けられた出力先インタフェースを経路テーブルから検索する。そして、入力側PPU#0は、出力先インタフェースを付加情報によって指定して出力側のPPU#2にパケットを転送する。パケットの転送を受けた出力側PPU#2は、こうして指定された出力先インタフェースからパケットを出力する。
図7は、上述した入力側PPU#0の経路検索において、出力先インタフェースとしてリンクアグリゲーションIDが検索された場合の動作を示す説明図である。この場合には、入力側PPU#0は、更に、そのリンクアグリゲーションIDに対応したリンクアグリゲーションテーブルを参照して、登録された出力先インタフェースの中から所定の方法により1つの出力先インタフェースを選択する。かかる選択方法については後述する。そして、PPU#0は、選択された出力先インタフェースを付加情報によって指定して出力側PPU#2にパケット転送する。パケットの転送を受けたPPU#2は、こうして指定された出力先インタフェースからパケットを出力する。
以上で説明したように本実施例のネットワーク中継装置100は、ユニキャストパケットを入力した場合には、そのパケットを入力した入力側PPU130で、リンクアグリゲーションに伴う処理も含めた詳細な経路検索を行う。そのため、出力側PPU130は、論理ポートの使用の有無にかかわらず、入力側PPU130によって指定された物理ポートからパケットを出力すればよい。従って、出力側PPU130の負荷を軽減することができる。
(C2)マルチキャスト中継時:
図8は、マルチキャストパケット入力時のネットワーク中継装置100の基本的な中継動作の概要を示す説明図である。まず、マルチキャストパケットを入力した入力側PPU#0は、経路テーブルからビットマップを検索する。そして、そのビットマップを付加してパケットをクロスバスイッチ120に転送する。クロスバスイッチは、パケットに付加されたビットマップを解析し、そのビットマップに対応する各PPU130に、パケットを複製して配布する。こうして、パケットの配布を受けた出力側PPU#1,#2は、そのパケットの宛先アドレスをキーとして経路テーブルから出力先インタフェースを検索し、検索された物理ポートからパケットを出力する。ただし、マルチキャストパケットについては経路テーブルに複数の出力先インタフェースが対応付けられているため、各PPU130は、検索された出力先インタフェースのうち、自分が管理する出力インタフェースについてのみパケットの出力を行えばよい。
図9は、出力側PPU#1、#2の経路検索において出力先インタフェースとしてリンクアグリゲーションIDが検索された場合の動作を示す説明図である。この場合には、出力側PPU#1、#2は、更に、そのリンクアグリゲーションIDに対応したリンクアグリゲーションテーブルを参照して、登録された出力先物理ポートの中から所定の方法により一つの出力先物理ポートを選択する。出力側PPU#1、#2は、こうして選択された出力先物理ポートからパケットを出力する。ただし、選択された出力先物理ポートが、自分の管理下でない場合にはパケットを破棄する(図のPPU#2参照)。
このようにリンクアグリゲーションの出力先物理ポート選択処理を行う場所を、ユニキャストの場合は入力側PPU#0であるのに対し、マルチキャストの場合は出力側PPU#1、#2に変えている理由を以下で説明する。
ユニキャストの場合には、パケットを一つ受信したときに、装置から一つだけパケットを送出すれば良いため、リンクアグリゲーションの出力先物理ポート選択処理を1回だけ行えばよく、入力側PPU#0で処理を行っても処理性能ネックにならない。
これに対してマルチキャストの場合には、パケットを一つ受信したときに、一般に複数の物理ポート、および、複数のリンクアグリゲーションポートからパケットを送出する必要があり、さらに、複数のリンクアグリゲーションポート毎に、それぞれ一つの出力先物理ポートを選択する処理を行う必要があるため、入力側PPU#0で、全出力リンクアグリゲーションポートに対応する回数だけ、出力先物理ポートを選択する処理を行うと入力側PPU#0のパケット処理性能が、出力リンクアグリゲーションポート数に比例して低下してしまう、という問題があり、これを解決するためである。
出力側PPU#1、#2で自分が管理する出力先物理ポートについてのみ、リンクアグリゲーションポートの出力先物理ポートを選択する処理を行うようにすることにより、マルチキャストで、複数のリンクアグリゲーションポートにパケットを送出する場合でも、出力先物理ポートを選択する処理を複数のPPU#1、#2で分散して行うことができ、装置のマルチキャスト中継性能を向上させることができる。
ここで、一つのリンクアグリゲーションポートに属する複数の物理ポートが、複数のPPU#1、#2に跨って存在する場合には、リンクアグリゲーションポートの出力先物理ポートを選択する処理を、複数のPPU間で同一のアルゴリズムに従って行う必要がある。
これは、複数のPPU#1、#2間で、もし異なるアルゴリズムに従って行ってしまうと、どのPPU#1、#2でも、自分の管理下の物理ポートが選択されず、該リンクアグリゲーションポートに属する物理ポートからパケットが1個も送出されない、という問題や、逆に、複数のPPU#1、#2で、それぞれ自分の管理下の物理ポートが選択され、一つのリンクアグリゲーションポートに属する複数の物理ポートから、パケットが合計で複数回送出されてしまう、という問題があるためである。
以上で説明したように、本実施例のネットワーク中継装置100は、マルチキャストパケットを入力した場合には、そのパケットの出力側となるPPU130で詳細な経路検索およびリンクアグリゲーションに伴う処理を行う。従って、入力側PPU130の負担を軽減し、負荷の分散を図ることが可能となる。
D.パケット入力処理:
以下では、上述した各中継動作を実現するための詳細な処理について説明する。図10は、各PPU130が実行するパケット入力処理のフローチャートである。まず、PPU130は、NIF140を介してパケットを入力すると(ステップS10)、そのパケットの宛先アドレスをキーとして経路テーブルを検索する(ステップS11)。検索の結果、ビットマップが検索された場合には(ステップS12:1)、入力したパケットがマルチキャストパケットであると判定し、付加情報のMCフラグをオンにして(ステップS13)、ステップS17に処理を移行する。PPU番号、PFP番号、物理ポート番号が検索された場合には(ステップS12:2)、ステップS16に処理を移す。
上記ステップS11の検索において、リンクアグリゲーションIDが検索された場合には(ステップS12:3)、次のような処理を行う。まず、入力したパケットの宛先アドレスと宛先TCPポート番号を用いて、以下の手順によりハッシュ値を計算する(ステップS14)。
(1)宛先アドレスと宛先TCPポート番号とを8ビットずつに区切り、それぞれを加算する。ただし、桁上がりは無視する。
(2)加算値をビット逆順し、ハッシュ値とする。ハッシュ値の取り得る範囲は0〜255である。
更に、このハッシュ値を用いて次の計算を行う。ただし、計算結果の小数点以下は切り捨てるものとする。
エントリ番号=((ハッシュ値)×(論理ポートを構成する物理ポートの数))/256;
そして、リンクアグリゲーションテーブルから、このエントリ番号に対応するPPU番号,PFP番号,物理ポート番号を検索し(ステップS15)、検索結果を出力先情報として付加情報に設定する(ステップS16)。上記ステップS11においてPPU番号,PFP番号,物理ポート番号が検索された場合には、かかる検索結果を付加情報に設定する。
次に、PPU130は、上記ステップS11またはS15によって検索されたPPU番号に応じてビットマップを付加情報に設定する(ステップS17)。例えば、PPU#0が検索された場合には、ビットマップは「100」となり、PPU#1が検索された場合には「010」となる。上記ステップS11においてビットマップが検索された場合には、検索されたビットマップを付加情報に設定する。
最後に、PPU130は、付加情報とともにパケットをクロスバスイッチ120に転送する(ステップS18)。クロスバスイッチ120は、パケットの転送を受けると、付加情報内のビットマップにより指定されたPPU130に対してパケットと付加情報を転送する。ビットマップによって複数のPPU130が指定されていた場合には、付加情報とパケットを複製してそれぞれのPPU130に配布する。
E.パケット出力処理:
図11は、各PPU130が実行するパケット出力処理のフローチャートである。まず、PPU130は、クロスバスイッチ120からパケットを入力すると(ステップS30)、そのパケットの付加情報に設定されたMCフラグの状態をチェックする(ステップS31)。MCフラグがオフの場合(ステップS31:No)、すなわち、入力したパケットがユニキャストパケットである場合には、その付加情報には上記パケット入力処理によって既に出力先情報が設定されているため、PPU130は、付加情報を解析して(ステップS32)、出力先インタフェースとして指定されたPFP141、物理ポート142からパケットを出力する(ステップS33)。
MCフラグがオンの場合には(ステップS31:Yes)、入力したパケットはマルチキャストパケットであるため、入力側PPU130によって出力先インタフェースは指定されていない。そこで、以下の処理により出力側PPU130で経路検索を行う。まず、パケットの宛先アドレスをキーとして経路テーブルから出力先インタフェースを検索する(ステップS34)。マルチキャストパケットについては、図3で示したように、複数の出力先インタフェースが検索される場合がある。次に、検索された出力先インタフェースの中に、リンクアグリゲーションIDが存在するか否かを判定する(ステップS35)。リンクアグリゲーションIDが存在する場合には(ステップS35:Yes)、入力したパケットの宛先アドレス、宛先TCPポート番号を用いて上述した方法によりハッシュ値を計算して(ステップS36)、更に、エントリ番号を計算する。そして、このエントリ番号に対応したPPU番号、PFP番号,物理ポート番号をリングアグリゲーションテーブルから検索する(ステップS37)。リンクアグリゲーションIDが含まれない場合には(ステップS35:No)、これらの処理(ステップS36およびS37)は行わない。
次に、PPU130は、上述の処理により検索された出力先インタフェース毎に、そのインタフェースが自分の制御対象のインタフェースであるか否かをチェックする(ステップS38)。かかるチェックは、検索された出力先インタフェースの番号が、自分のPPU番号および自分の管理するPFP番号であるか否かをチェックすることにより行う。出力先インタフェースが、自分の制御対象でない場合には(ステップS38:No)、そのインタフェース宛のパケットは破棄する(ステップS39)。自分の制御対象である場合には(ステップS38:Yes)、そのインタフェースからパケットを出力する(ステップS40)。
以上で説明したように、パケットの出力を行うPPU130は、ユニキャストパケットの転送を受けた場合には、予め入力側のPPU130によって指定されたインタフェースからパケットの出力を行い、マルチキャストパケットの転送を受けた場合には、リンクアグリゲーションに伴う処理も含めた詳細な経路検索を行う。こうすることにより、パケットの種別に応じて効率的に処理を分散させることができる。
なお、上述したパケット入力処理および出力処理では、ハッシュ値の計算において、宛先アドレスと宛先TCPポート番号を利用するものとした。しかし、ハッシュ値の計算は、他の情報、例えば、宛先MACアドレスや送信元MACアドレス、宛先IPアドレス、送信元IPアドレス、宛先TCPポート番号、送信元TCPポート番号、MPLSプロトコルによる通信においてはラベル情報などを併せて用いるものとしてもよい。
[発明の効果]
本発明によれば、パケットを論理ポートから出力する場合には、その宛先アドレスやTCPポート番号に応じてハッシュ値を計算し、実際に出力する物理ポートを選択する。従って、同じフローに属するパケットは同じ物理ポートから出力されることとなり、パケットの追い越しを避けることができる。
また、本発明によれば、入力したパケットがユニキャストパケットであるかマルチキャストパケットであるかによって経路検索を行う処理を各パケット制御部に分散させることができる。
また、本発明によれば、各パケット制御部は、マルチキャストパケット出力時に、他のパケット制御部宛に対するパケットの破棄を行う。従って、冗長なパケット出力による混乱を回避することができる。
以上のことから、本発明のネットワーク中継装置は、効率的にネットワークの中継を行うことができ、処理の高速化およびスループットの向上を図ることが可能となる。
ネットワーク中継装置100の概略構成を示す説明図である。 付加情報とパケットの概略構造を示す説明図である。 経路テーブルの概略構造を示す説明図である。 ポートテーブルの概略構造を示す説明図である。 リンクアグリゲーションテーブルの概略構造を示す説明図である。 ユニキャストパケット入力時の基本的な中継動作の概要を示す説明図である。 ユニキャストパケット入力時に出力先インタフェースとしてリンクアグリゲーションIDが検索された場合の動作を示す説明図である。 マルチキャストパケット入力時の基本的な中継動作の概要を示す説明図である。 マルチキャストパケット入力時に出力先インタフェースとしてリンクアグリゲーションIDが検索された場合の動作を示す説明図である。 パケット入力処理のフローチャートである。 パケット出力処理のフローチャートである。
符号の説明
100...ネットワーク中継装置
110...制御ユニット
120...クロスバスイッチ
130...パケット制御部
131...CPU
132...ROM
133...RAM
134...検索エンジン
135...テーブル記憶部
140...ネットワークインターフェース部
141...パケット転送エンジン
142...物理ポート

Claims (7)

  1. 複数の物理ポートによる通信を制御可能なネットワーク中継装置であって、
    所定数の回線を収容するとともに、該各回線に対するパケットの入出力を制御するパケット制御部を複数備え、
    該各パケット制御部は、
    入力したパケットがユニキャストパケットであるかマルチキャストパケットであるかを判定するパケット種別判定部と、
    ユニキャストパケットを入力した場合に、該ユニキャストパケットを転送すべき回線を所定の設定に基づき選択し、該回線を収容するパケット制御部に前記ユニキャストパケットを転送するユニキャスト出力回線選択部と、
    マルチキャストパケットを入力した場合に、所定の設定に基づき、前記各パケット制御部の少なくとも一部に該マルチキャストパケットを配布するマルチキャストパケット配布部と、
    前記マルチキャストパケットが配布された場合に、該マルチキャストパケットを出力する回線を、所定の設定に基づき選択するマルチキャスト出力回線選択部と、
    を備えるネットワーク中継装置。
  2. 請求項1に記載のネットワーク中継装置であって、
    該ネットワーク中継装置は複数の物理ポートを論理的に束ねることにより1つの論理ポートとして取り扱うことが可能であり、
    前記ユニキャスト出力回線選択部は、前記選択した回線が前記論理ポートであった場合に、更に、該論理ポートを構成する物理ポートのうち前記ユニキャストパケットの出力に用いる物理ポートを所定の設定に基づき選択する、ネットワーク中継装置。
  3. 請求項1に記載のネットワーク中継装置であって、
    該ネットワーク中継装置は複数の物理ポートを論理的に束ねることにより1つの論理ポートとして取り扱うことが可能であり、
    前記マルチキャスト出力回線選択部は、前記選択した回線が前記論理ポートであった場合に、更に、該論理ポートを構成する物理ポートのうち前記マルチキャストパケットの出力に用いる物理ポートを所定の設定に基づき選択する、ネットワーク中継装置。
  4. 請求項3に記載のネットワーク中継装置であって、
    前記マルチキャスト出力回線選択部は、前記選択された物理ポートが当該パケット制御部の制御対象外である場合に、前記配布されたマルチキャストパケットを破棄する、ネットワーク中継装置。
  5. 請求項2に記載のネットワーク中継装置であって、
    前記ユニキャスト出力回線選択部は、前記ユニキャストパケットに含まれる宛先アドレス情報と該ユニキャストパケットを用いるアプリケーションを特定するための識別情報とを用いた所定のハッシュ関数によってハッシュ値を求め、該ハッシュ値に対応付けられた物理ポートを選択する、ネットワーク中継装置。
  6. 請求項3に記載のネットワーク中継装置であって、
    前記マルチキャスト出力回線選択部は、前記マルチキャストパケットに含まれる宛先アドレス情報と該マルチキャストパケットを用いるアプリケーションを特定するための識別情報とを用いた所定のハッシュ関数によってハッシュ値を求め、該ハッシュ値に対応付けられた物理ポートを選択する、ネットワーク中継装置。
  7. 請求項3に記載のネットワーク中継装置であって、
    前記マルチキャストパケットが配布されたそれぞれのマルチキャスト出力回線部は、同じ設定に基づいて前記物理ポートを選択する、ネットワーク中継装置。
JP2008283025A 2008-11-04 2008-11-04 ネットワーク中継装置 Expired - Lifetime JP4295812B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008283025A JP4295812B2 (ja) 2008-11-04 2008-11-04 ネットワーク中継装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008283025A JP4295812B2 (ja) 2008-11-04 2008-11-04 ネットワーク中継装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003183934A Division JP2005020492A (ja) 2003-06-27 2003-06-27 ネットワーク中継装置

Publications (2)

Publication Number Publication Date
JP2009027758A JP2009027758A (ja) 2009-02-05
JP4295812B2 true JP4295812B2 (ja) 2009-07-15

Family

ID=40399045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008283025A Expired - Lifetime JP4295812B2 (ja) 2008-11-04 2008-11-04 ネットワーク中継装置

Country Status (1)

Country Link
JP (1) JP4295812B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5422844B2 (ja) 2009-12-17 2014-02-19 日立金属株式会社 スイッチングハブ、ラインカード、及びフレーム中継方法
JP2011234063A (ja) * 2010-04-27 2011-11-17 Fujitsu Ltd 中継装置、及び、転送方法
JP5876800B2 (ja) * 2012-09-19 2016-03-02 アラクサラネットワークス株式会社 ネットワーク中継装置及びネットワーク中継方法
JP2019009638A (ja) 2017-06-26 2019-01-17 ルネサスエレクトロニクス株式会社 無線通信装置、システム及び方法
CN109327397A (zh) * 2017-08-01 2019-02-12 阿里巴巴集团控股有限公司 数据发送、数据重发、数据处理方法与装置

Also Published As

Publication number Publication date
JP2009027758A (ja) 2009-02-05

Similar Documents

Publication Publication Date Title
US9590903B2 (en) Systems and methods for optimizing layer three routing in an information handling system
US7808930B2 (en) Dynamic multipoint tree rearrangement
US9923812B2 (en) Triple-tier anycast addressing
US8594090B2 (en) Multicasting using a multitiered distributed virtual bridge hierarchy
US7818628B1 (en) Fast port failover in a network switch
JP4491397B2 (ja) トラフィック迂回機能を備えるパケット転送装置。
US8369296B2 (en) Distributed link aggregation
US7835378B2 (en) Root node redundancy for multipoint-to-multipoint transport trees
US7693169B2 (en) Transmission apparatus and frame transmission method
US20060221975A1 (en) Transporting multicast over MPLS backbone using virtual interfaces to perform reverse-path forwarding checks
CA2555545A1 (en) Interface bundles in virtual network devices
US20060176880A1 (en) Mesh mirroring with path tags
JP2005020492A (ja) ネットワーク中継装置
US9054974B2 (en) Reliably transporting packet streams using packet replication
JP4295812B2 (ja) ネットワーク中継装置
JP2018515051A (ja) マルチキャストデータパケット転送
US8699485B2 (en) Multicast over lag and IRB in a routing device
WO2012094914A1 (zh) 处理多播报文的方法和交换接入装置
US11115316B2 (en) Learning orphan ports in a multi-chassis link aggregation group
JP4751213B2 (ja) リンクアグリゲーション処理装置および処理方法
US9634927B1 (en) Post-routed VLAN flooding
JP4108844B2 (ja) Atm中継装置
US7656790B2 (en) Handling link failures with re-tagging
JP5889813B2 (ja) 通信システムおよびプログラム
JP4633723B2 (ja) ネットワークシステム、送信側スイッチ装置、受信側スイッチ装置および両用スイッチ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090407

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090410

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120417

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4295812

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120417

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130417

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130417

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140417

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term