JP4388464B2 - パケット中継装置およびパケット通信ネットワーク - Google Patents

パケット中継装置およびパケット通信ネットワーク Download PDF

Info

Publication number
JP4388464B2
JP4388464B2 JP2004353734A JP2004353734A JP4388464B2 JP 4388464 B2 JP4388464 B2 JP 4388464B2 JP 2004353734 A JP2004353734 A JP 2004353734A JP 2004353734 A JP2004353734 A JP 2004353734A JP 4388464 B2 JP4388464 B2 JP 4388464B2
Authority
JP
Japan
Prior art keywords
packet
received
header
received packet
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 - Fee Related
Application number
JP2004353734A
Other languages
English (en)
Other versions
JP2006165952A5 (ja
JP2006165952A (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 JP2004353734A priority Critical patent/JP4388464B2/ja
Publication of JP2006165952A publication Critical patent/JP2006165952A/ja
Publication of JP2006165952A5 publication Critical patent/JP2006165952A5/ja
Application granted granted Critical
Publication of JP4388464B2 publication Critical patent/JP4388464B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明はパケット中継装置およびパケット通信ネットワークに関し、更に詳しくは、ネットワーク内にパケット転送に利用可能な複数の経路が存在する場合に、受信パケットをこれらの複数の経路に分散して送信する機能を備えたパケット中継装置およびパケット通信ネットワークに関する。
現在、情報伝達用のネットワークとして、Internet Protocol(IP)により経路制御を行うIP網が世界的に利用されている。IPでは、データ送信元装置が、送信データを一つ若しくは複数のデータブロックに分割し、各データブロックに宛先及び送信元を示すIPアドレス情報を含むIPヘッダを付加し、IPパケットとしてネットワークに送信する。
IPネットワークを構成するパケットルータ等のノード装置(パケット中継装置)は、それぞれ通信回線に接続された複数の入、出力回線インタフェースを備え、Routing Information Protocol (RIP)、Open Shortest Path First (OSPF)などのルーティングプロトコルによって、各回線インタフェースが持つネットワークアドレスをネットワーク内の他のノード装置と互いに通知し合い、ネットワーク構成情報(接続情報)として蓄積する。また、各パケット中継装置は、自装置の各回線インタフェースからの受信パケットが示す送信元IPアドレスと、各インタフェースと他のノード装置との接続状況とに基づいて、ルーティングプロトコルが持つアルゴリズムによって、宛先IPアドレス毎に最適な経路を計算し、ルーティングテーブルに経路情報として記憶する。ルーティングテーブルの内容は、定期的または経路情報に変更が発生した時に更新される。
パケット中継装置は、受信パケットのヘッダから抽出した宛先IPアドレスに基づいて、ルーティングテーブルから受信パケットの経路情報を検索し、該経路情報によって特定される何れかの出力インタフェースに受信パケットをルーティングし、出力回線に送信する。ルーティングテーブルに記憶される経路情報は、宛先装置を収容している宛先ノード迄のホップ数と、回線種別によって異なるコスト値を考慮して決定され、パケット転送効率を反映したものになっている。
IPルーティングプロトコルでは、各ノード装置から宛先ノードに至る複数の経路の中から、最適と判断される一つの経路を選択し、宛先IPアドレスに対応する経路情報としてルーティングテーブルに登録している。ネットワーク上では、様々な要因によって、回線の接続障害やパケット転送処理の遅延が発生し、パケット転送経路上でパケットが消滅する可能性がある。この問題に対処するため、IPネットワークでは、上述したネットワークの接続状態に応じたルーティングテーブルの更新の他に、OSI参照モデルにおいてネットワーク層の上位に位置しているトランスポート層でのパケット送達確認が利用される。すなわち、データの送信側装置と受信側装置の両端において、パケットの送信と着信を監視しておき、到着が確認できないパケットについては、当該パケットを再送することによって送信データの保障を行っている。
インターネットでは、通信回線能力の向上に伴って、マルチメディアデータの通信が可能となり、例えば、多数向け情報配信サービスであるコンテンツ配信網や、VoIPによる電話網など、高付加価値情報を利用した様々な形態の情報サービスが行われている。個人の嗜好に合わせた情報サービスと携帯端末の普及に伴い、プライバシーの保護が重要な問題となっている。また、従来、専用線で構築されていた企業網の一部が、安価なIPネットワークを利用する傾向にある。この場合、情報伝達の効率化に加え、特に、バックアップデータや会議情報の共有や顧客データなど機密情報の通信における秘匿性の保証が重要な問題となっている。
IPネットワークの安全性を高める技術として、例えば、VLAN(Virtual LAN)やVPN(Virtual Private Network)と呼ばれる技術が知られている。VLANは、LANスイッチのポートもしくは各パケットに含まれるTagに応じて、仮想的に独立したLANを形成し、各VLANを特定装置間の通信に専用のLANとすることによって、情報の流出を防止している。一方、VPNは、ネットワーク上に仮想的な専用通信路を形成するものであり、特定トラフィックに属したパケットをカプセル化IPヘッダでカプセル化して転送することによって、他のトラフィックに属したパケットと差別化し、送信データの暗号化によって通信情報の秘匿性を確保している。
IPネットワークのける通信の安全性を確保する他の技術として、例えば、IPsec(Security Architecture for Internet Protocol)などの暗号化プロトコルがある。特開2003−209569号公報(特許文献1)には、暗号化プロトコルを適用することなく、パケットの秘匿性を向上させる1つの方式として、送信パケットを複数のパケットに分割し、これらの分割パケットを異なる複数の経路、例えば、衛星回線、有線回線、無線回線に分散して送信する経路分散装置が提案されている。このように、各パケットを分割し、異なる回線に分散して送信すれば、仮に特定の回線で盗聴が行われても、送信データの全容を知ることができないため、データの秘匿性を確保することが可能となる。
上記特許文献1で提案された経路分散装置は、衛星モデム、優先モデム、無線モデムと、秘匿性を必要とするパケット(または秘匿性を必要とする経路を通過すべきパケット)を識別するための所定の条件を登録したフィルタ条件テーブルとを備え、ホストからの受信パケットが上記フィルタ条件テーブルが示すフィルタ条件に合致しない場合は、通常のIP経路選択によって処理し、何れかのフィルタ条件に合致した場合は、該フィルタ条件に従って受信パケットを分割し、複数の経路に分散して送信するようにしている。
特開2003−209569号公報
従来のIPのルーティングプロトコルでは、例えば、OSPFの場合は物理的回線のコスト値、RIPの場合は宛先ノード迄の経路上に位置するノード装置(ルータ)の台数(ホップ数)に基づいて、転送効率が最も高いと考えられる経路を最適経路として選択している。従って、ネットワークの構成によっては、最適経路として選択された特定の経路にデータパケットが集中し、一部のノード装置でルーティング処理負荷が過大となって、結果的にパケット廃棄が発生し、データ転送の信頼性が低下するという問題がある。また、パケットが廃棄されると、廃棄パケットについて、例えば、TCP機能によるパケット受信待ちと、廃棄パケットについての再送要求が発生し、データ転送遅延が増加する。
ネットワーク上での情報サービスが普及し、オンデマンドによる情報取得が生活シーンの一部となった現在において、上述したデータの転送遅延は、重要な解決課題となっている。映像をはじめとする高付加価値データを配信するネットワークサービスは、今後も益々普及し、トラフィックの更なる増加が予測され、ネットワーク上での利用経路の偏りは、より深刻な問題となり得る。また、宛先装置に対して一つの経路でデータを転送する通信方式は、通信帯域不足や障害の影響を受け易いという問題がある。
通信ネットワークのインフラ整備が進むにつれて、公衆のネットワーク上で企業の基幹業務データを通信する動きも出てきている。通常、こうした用途には、高い信頼性と安全性が要求されるため、インターネット上で基幹業務データを通信する場合は、例えば、MPLS(Multi Protocol Label Switching)を用いたラベルスイッチングや、IPsec(IP Security)を用いたVPN技術が主に利用される。
これらの技術は、通信の秘匿性を確保するために有効な技術とされているが、IPルーティングをベースとしているため、宛先アドレスによって決まる特定の経路に転送データが集中することには変わりはない。従って、1つの経路でパケットの盗聴が発生した場合、或るトラフィックに属した一連の重要情報が第三者に漏洩する可能性がある。基幹業務に限らず、個人的なネットワーク利用においても、通信経路で転送データの安全性を確保することが、ネットワークサービスの提供に不可欠な条件となっている。
本発明の1つの目的は、特定経路への転送データの集中を回避できるデータ中継装置およびパケット通信ネットワークを提供することにある。
本発明の他の目的は、IP網上で転送データの安全性を確保できるデータ中継装置およびパケット通信ネットワークを提供することにある。
上記目的を達成するため、本発明によるパケット中継装置は、パケット入力回線に接続された複数の入力回線インタフェースと、パケット出力回線に接続された複数の出力回線インタフェースと、上記各入力回線インタフェースからの出力パケットを上記出力回線インタフェースのうちの1つに選択的にルーティングするためのパケット転送制御部とからなり、
上記パケット転送制御部が、1つの宛先アドレスに対応して経路情報の異なる複数のテーブルエントリをもつマルチパスルーティングテーブルを備え、上記マルチパスルーティングテーブルが示す経路情報に従って、同一の宛先アドレスをもつ複数の受信パケットを少なくとも2つの出力回線インタフェースに選択的に振り分けることを特徴とする。
更に詳述すると、本発明のパケット中継装置は、上記パケット転送制御部が、宛先アドレス毎に1つの経路情報エントリをもつシングルパスルーティングテーブルを備え、上記マルチパスルーティングテーブルに未定義の宛先アドレスをもつ受信パケットについては、上記シングルパスルーティングテーブルが示す経路情報によって特定される何れかの出力回線インタフェースにルーティングすることを特徴とする。
本発明の1実施例によれば、パケット中継装置は、上記複数の入力回線インタフェースを含む受信パケット処理部と、上記複数の出力回線インタフェースを含む送信パケット処理部とを有し、上記受信パケット処理部が、上記各入力回線インタフェースから出力された受信パケットのヘッダ情報を前記パケット転送制御部に通知し、該パケット転送制御部からの指示に従って、上記受信パケットを出力回線識別子を含む内部ヘッダ付きのパケットに変換するパケット変換部を備え、上記送信パケット処理部が、上記受信パケット処理部からの出力パケットを受信し、受信パケットを内部ヘッダが示す出力回線識別子で特定される何れかの出力回線インタフェースに振り分けるための手段を備えたことを特徴とする。
更に具体的に言うと、上記パケット変換部は、上記パケット転送制御部からの指示に従って、何れかの入力回線インタフェースから出力された受信パケットに経路識別情報を含む制御ヘッダを付加する機能を備える。また、上記マルチパスルーティングテーブルの各テーブルエントリは、宛先アドレスとパスインデクス値との組合せに対応して経路情報を定義しており、上記パケット転送制御部は、受信パケット毎に検索キーとなるパスインデクス値を切り替えて、上記マルチパスルーティングテーブルから受信パケットの宛先アドレスと対応する経路情報を検索する。
本発明の1実施例によれば、上記パケット転送制御部は、それぞれフロー定義情報と対応してパスインデクスの現在値を示す複数のテーブルエントリからなるパケット出力制御テーブルを備え、受信パケット毎に、上記パケット出力制御テーブルからフロー定義情報が受信パケットのヘッダ情報に適合するテーブルエントリを検索し、該テーブルエントリが示すパスインデクス値を検索キーとして、前記マルチパスルーティングテーブルから受信パケットの宛先アドレスと対応する経路情報を検索する。また、上記パケット変換部が、上記パケット転送制御部からの指示に従って、何れかの入力回線インタフェースから出力された受信パケットを互いに異なる出力回線識別子を含む内部ヘッダ付きの複数のセグメントパケットに分割して出力する機能を備える。
本発明の好ましい実施例では、上記パケット転送制御部が、パケットフロー毎に受信パケットの到着順序を検証するための手段を有し、上記受信パケット処理部が、上記パケット転送制御部からのパケット待機指示に応答して、入力回線インタフェースから出力された受信パケットデータを保持するための待ち合わせメモリを備え、上記パケット変換部が、上記パケット転送制御部からの待機パケット転送指示に従って、上記メモリから読み出された受信パケットデータを内部ヘッダ付きのパケットに変換する。
また、本発明のパケット通信ネットワークは、複数のノード装置からなり、エッジノード装置間に複数の通信経路を有し、パケットを送受信する少なくとも1対のエッジノード装置が、パケット入力回線に接続された複数の入力回線インタフェースと、パケット出力回線に接続された複数の出力回線インタフェースと、上記各入力回線インタフェースからの出力パケットを上記出力回線インタフェースのうちの1つに選択的にルーティングするためのパケット転送制御部とからなり、
上記パケット転送制御部が、1つの宛先アドレスに対応して経路情報の異なる複数のテーブルエントリをもつマルチパスルーティングテーブルを備え、上記マルチパスルーティングテーブルが示す経路情報に従って、同一の宛先アドレスをもつ複数の受信パケットを少なくとも2つの出力回線インタフェースに選択的に振り分けることによって、受信パケットを異なる経路で対向エッジノード装置に転送することを特徴とする。
本発明によれば、ネットワークを経由して宛先装置に到達可能なパケット転送経路が複数存在する場合、同一宛先アドレスをもつ複数のパケットを少なくとも2つの経路に振り分けることによって、最適な1つの経路でパケット転送する従来のパケット通信に比較して、トラフィックを分散でき、最適経路上の中継ノードの負荷を軽減することが可能となる。この場合、特定中継ノードでの輻輳によるパケットロスの可能性を低減できる。
また、本発明によれば、エッジノード装置となるパケット中継装置が、同一フローに所属した一連のパケットを複数の経路に分割して転送することによって、仮に、特定の経路で盗聴(情報の漏洩)が発生した場合としても、被害を一部のパケットに留めることができる。この場合、盗聴に遭遇するパケットは、パケットフロー内で散発的な位置関係にある一部のパケットに限定されるため、送信情報全体の漏洩を未然に防止でき、通信の秘匿性を向上できる。
以下、図面を参照して本発明の実施例について説明する。
図1は、本発明によるパケット中継装置の全体構成の1例を示す。
パケット中継装置10は、複数の入力回線LI−1〜LI−nに接続された受信パケット処理部20と、複数の出力回線LO−1〜LO−nに接続された送信パケット処理部30と、パケット転送制御部40とからなり、受信パケット処理部20から出力されたパケットは、内部転送路Lを介して送信パケット処理部30とパケット転送制御部40に入力される。
パケット転送制御部40は、パケット転送機能100と、ルーティングプロトコル機能200と、経路計算機能210を備えている。これらの機能は、後述するプロセッサが実行するプログラムによって実現される。また、パケット転送制御部40は、経路情報ファイル50および網トポロジー情報ファイル51と、IPルーティングテーブル(シングルパスルーティングテーブル)52と、マルチパスルーティングテーブル53とを備えている。パケット転送制御部40が発行した制御パケットは、信号線LI−(n+1)を介して受信パケット処理部20に入力され、内部転送路L、送信パケット処理部30を介して、何れかの出力回線に送出される。
図2は、本発明のパケット中継装置10が適用されるネットワークの一部を示す。
ここに示したネットワークは、それぞれ複数の端末を収容したエッジノード10−Aおよび10−Bと、これらのエッジノード間に通信経路を形成する複数のコアノード11−1A〜11−3Lを含み、これらのノードによってコア網が構成されている。
ここでは、エッジノード10−Aと10−Bとの間に、コアノード11−1A〜11−1Jを経由する第1の経路RT−1と、コアノード11−2A〜11−2Kを経由する第2の経路RT−2と、コアノード11−3A〜11−3Lを経由する第3の経路RT−3とが存在することを示している。
本発明の特徴の1つは、例えば、エッジノード10−Aに収容された端末1Aと、エッジノード10−Bに収容された端末1Bとが通信する場合、エッジノード10−Aが、少なくとも2つの経路、例えば、経路RT−1とRT−2を使い分けて、端末1Aからの受信パケットを宛先エッジノード10−Bに転送することにある。同様に、エッジノード10−Bは、少なくとも2つの経路、例えば、経路RT−1とRT−2を使い分けて、端末1Bからの受信パケットを宛先エッジノード10−Aに転送する。但し、端末1A、1B間の通信において、エッジノード10−Aと10−Bが使い分ける経路は、互いに同一である必要はない。ここでは、端末1Aと端末1Bが通信するものとして説明するが、端末1A、1Bの一方が情報サービスを提供するサーバであってもよい。
図1に示したパケット中継装置10は、図2におけるエッジノード10−A、10−Bとして適用され、複数の経路を選択的に使用して、受信パケットを宛先装置に転送する機能を備える。図1に示したIPルーティングテーブル52は、各受信パケットに含まれる宛先IPアドレス毎に、ルーティングプロトコルが決定する最適経路の経路情報を記憶している一般的なルーティングテーブルである。
マルチルーティングテーブル53は、各受信パケットに含まれる宛先IPアドレスと対応して、ルーティングプロトコルが決定する最適経路と、それに準ずる少なくとも1つの経路の経路情報を記憶した本発明に特徴的なルーティングテーブルを示している。上述した端末1Aからの端末1B宛のパケットは、マルチルーティングテーブル53が示す経路情報に従って、経路RT−1上の次ノード11−1Aと、経路RT−2の次ノード11−2Aに選択的に転送されることになる。
パケット中継装置10は、ルーティングプロトコル機能200に従って、経路情報ファイルに蓄積されている経路情報をネットワーク上の他のノード装置に定期的に通知する。また、受信パケット処理部20が他のノード装置から受信した経路情報パケットを内部転送路Lから受信し、経路情報ファイル50を更新する。経路情報ファイル50には、ルーティングプロトコルの働きによって収集される経路情報の他に、ネットワーク管理者等からの設定によるスタティックな経路情報も含まれる。
経路計算機能210は、経路情報ファイル50と網トポロジー情報ファイル51を参照して、例えば、回線種別、輻輳情報、ホップ数、およびコスト値に基づいて、各宛先アドレスに対応したパケット転送経路を計算する。IPルーティングテーブル52には、一つの宛先アドレスに対応する経路情報として、経路計算機能210が決定した最適経路の経路情報が記憶され、マルチパスルーティングテーブル53には、各宛先アドレスに対応して、上記最適経路を含む利用可能な複数経路の経路情報が記憶されている。
図3は、受信パケット処理部20が各入力回線LI−i(i=1〜n)から受信するIPパケットと、受信パケット処理部20から内部転送路Lを介して送信パケット処理部30に転送される内部パケットと、送信パケット処理部30から出力回線LO−i(i=1〜n)に出力される送信IPパケットとの関係を説明するためのパケットフォーマット図である。
各入力回線LI−i(i=1〜n)から受信されるIPパケットは、IPヘッダ71と、TCP(またはUDP)ヘッダ72と、データ部73とからなる。IPヘッダ71は、図4に示すように、全パケット長711、送信元IPアドレス712、宛先アドレス713、その他の情報を含んでいる。また、TCPヘッダ72は、図5に示すように、送信元ポート番号721、宛先ポート番号722、シーケンス番号723、その他の情報を含んでいる。
本実施例の受信パケット処理部20は、各入力回線LI−i(i=1〜n)から受信したIPパケットの先頭に内部ヘッダ74を付加し、TCPヘッダ72とデータ部73の間にマルチパス制御ヘッダ75を付加する。内部ヘッダ74は、パケット中継装置内部でのパケット転送に必要となるものであり、パケットの転送先となる出力回線LO−1〜LO−nのうちの1つ、またはパケット転送制御部40を指定する出力ポート番号74Aと、Next Hop74Bとを含んでいる。内部ヘッダ74は、送信パケット処理部30において除去される。
マルチパス制御ヘッダ75は、マルチパスインデクス75Aと、必要に応じて設定されるマルチパスセグメント識別子75Bを含んでいる。マルチパス制御ヘッダ75は、これらの項目以外に、例えば、パケットの所属フローを識別するためのフロー識別子を含んでいてもよい。マルチパスインデクス75Aは、各パケットフローに用意された選択可能な経路のうちの1つを特定するためのインデクスを示しており、パケット中継装置10では、受信パケット毎にマルチパスインデクスの値を更新することによって、パケットの転送経路を切り替える。
本発明の第1実施例では、パケット単位で転送経路を切り替える場合について説明するが、本発明の第2実施例として、受信パケット処理部20が、各受信パケットのデータ部を複数のデータブロック(セグメント)に分割し、それぞれのセグメントにパケットヘッダを付加し、セグメント単位で経路を切り替えるようにしてもよい。マルチパスセグメント識別子75Bは、このように、1つの受信パケットを複数のパケットに分割して転送する場合に設定される情報であり、同一受信パケットから得られたセグメントの順序(セグメントシーケンス番号)を示す。
尚、パケットフロー毎に選択可能な経路を2つ用意し、1つの受信パケットデータを2つのセグメントに分割し、第1セグメントは第1経路、第2セグメントは第2経路に転送する場合、結果的に、マルチパスセグメント識別子75Bとマルチパスインデクス75Aとが同一値となるため、マルチパスセグメント識別子75Bを省略してもよい。
1つの受信パケットデータから分割されるセグメントの数nが、選択可能な経路数Nよりも少数で、例えば、第1の受信パケットでは、第1、第2の経路を使用し、次の受信パケットでは、第3、第1の経路を使用する場合、マルチパスセグメント識別子75Bが有効となる。
マルチパス制御ヘッダ75は、図2に示した端末との接続回線から受信して、コア網に送出されるユーザパケットに付与されるものであり、エッジノードで端末接続回線から他の端末接続回線に転送されるユーザパケットと、パケット転送制御部40宛に送信された制御パケットには付与する必要はない。
図6は、受信パケット処理部20とパケット転送制御部40の1実施例を示す。
受信パケット処理部20は、入力回線LI−i(i=1〜n)に接続された回線終端部(入力回線インタフェース)21−i(i=1〜n)と、回線終端部21−iから出力された受信パケットを一時的に蓄積するバッファメモリ22(i=1〜n)と、これらのバッファメモリに接続された受信パケット制御部23と、受信パケット制御部23に接続されたパケットヘッダバッファ24、パケットデータバッファ25、送信待ちキューメモリ28およびパケット組立部26と、パケット組立部26と内部転送路Lとの間に接続されたパケット転送部27とからなる。
一方、パケット転送制御部40は、プロセッサ41と、プロセッサ41が実行する各種のプログラムを記憶したプログラムメモリ42と、内部転送路Lに接続されたパケット受信部43と、パケット受信部43で受信したパケットを一時的に蓄積する受信パケットバッファ44と、ヘッダメモリ45と、送信パケットバッファ46と、経路情報ファイル50、網トポロジー情報ファイル51、IPルーティングテーブル(シングルパスルーティングテーブル)52、マルチパスルーティングテーブル53、パケット出力制御テーブル54とからなり、これらの要素は内部バス47で接続されている。プログラムメモリ42には、前述したパケット転送機能100、ルーティングプロトコル機能200、経路計算機能210を実現するためのプログラムが用意されている。
図7は、マルチパスルーティングテーブル53の1実施例を示す。
マルチパスルーティングテーブル53は、宛先IPアドレス531と対応して、マルチパスインデクス532と、Next Hop533と、出力ポート番号534とを示す複数のテーブルエントリ530−1、530−2、…からなる。マルチパスルーティングテーブル53には、例えば、エントリ530−1と530−2、エントリ530−3と530−4が示すように、同一の宛先IPアドレスに対して、マルチパスインデクス532、Next Hop533、出力ポート番号534が異なる複数のエントリ(本実施例では1対ずつ)が登録されている。
ここで、Next Hop533と出力ポート番号534は、受信パケットの転送先を特定するための経路情報に相当している。マルチパスインデクス532は、同一の宛先アドレスに対して用意された2つの経路を交互に切り替えるためのインデクスであり、パケット転送の都度、その値が更新される。プロセッサ41は、受信パケットの宛先IPアドレスと、図8で説明するパケット出力制御テーブル54が示すマルチパスインデクスの値との組合せを検索キーとして、マルチパスルーティングテーブル53を検索することによって、同一の宛先IPアドレスをもつ受信パケット毎に、マルチパスルーティングテーブル53から交互に異なった経路情報を取得する。
図8は、パケット出力制御テーブル54の1実施例を示す。
パケット出力制御テーブル54の各エントリは、フロー定義情報541毎に、受信パケットのシーケンス番号542と、マルチパスインデクス543と、送信待ちパケット制御情報544を示している。フロー定義情報541は、本発明の場合、経路切り替えすべき一連のパケットフローを識別するための情報であり、例えば、IPヘッダ71が示す送信元IPアドレス712、宛先IPアドレス713、TCP(UDP)ヘッダ72が示す送信元ポート番号721、宛先ポート番号722の組合せを示している。
シーケンス番号542には、フロー定義情報541で定義されたパケットフローで受信処理済みの最新パケットのシーケンス番号(例えば、TCPヘッダから抽出されたシーケンス番号723)の値が記憶される。1つの受信パケットデータを複数のセグメントに分割し、セグメント単位で経路を切り替える第2実施例の場合、上記シーケンス番号542として、図3で説明したマルチパスセグメント識別子の値が記憶される。
図8に示したパケット出力制御テーブル54は、受信パケットの送信経路切り替えのためのパケット送信制御と、コア網内の異なる経路から到着した受信パケットをフロー毎にシーケンス番号の順序を保証して宛先端末に転送するためにパケット受信制御とに兼用されている。
送信制御用のテーブルエントリでは、フロー定義情報541と、シーケンス番号542と、マルチパスインデクス543が有効情報となる。パケット転送制御部40では、フロー定義情報541毎に、最後の受信パケットに適用したマルチパスインデクスの値をマルチパスインデクス543として記憶しておき、同一フローに属した次の受信パケットを転送する時、マルチパスインデクス543の値を更新する。この更新されたマルチパスインデクスを適用することによって、マルチパスルーティングテーブル53から前回とは異なった経路情報を検索することができる。
一方、受信制御用のテーブルエントリでは、フロー定義情報541と、シーケンス番号542と、送信待ちパケット制御情報544が有効情報となる。パケット送信側のエッジノードが、同一フローに属した一連の受信パケットを経路を切り替えながらコア網に転送すると、パケットの転送経路の違いによって、受信パケットの宛先エッジノードへの到着順序が乱れる可能性がある。
ここで、パケット中継装置10は、コア網からの受信パケットに関しては、宛先エッジノードとして機能しているため、例えば、パケット出力制御テーブル54にシーケンス番号542として「i」が記憶された状態で、シーケンス番号「i+2」のパケットが受信されたと仮定する。この場合、パケット中継装置10は、シーケンス番号「i+2」の受信パケットを送信待ちパケットとして保持しておき、シーケンス番号「i+1」をもつ受信パケットの転送処理が終わった時点で、シーケンス番号「i+2」をもつ送信待ちパケットを宛先端末に転送処理することが望まれる。送信待ちパケット制御情報544は、このような受信パケットのシーケンス番号の乱れに補償するために用意されたものであり、例えば、送信待ちとなったパケットのヘッダ情報と、送信待ちキューメモリ28におけるパケットデータの格納位置を示すキュー識別子とを含む。
以下、図6に戻って、受信パケット処理部20とパケット転送制御部40の動作について説明する。
受信パケット処理部20の受信パケット制御部23は、バッファメモリ22−1〜22−nと、パケット転送制御部40の送信バッファ46を順次にアクセスし、受信パケット(またはパケット転送制御部40からの送信パケット)を読み込む。受信パケット制御部23は、上記パケットからヘッダ部を抽出し、これをパケットヘッダバッファ24に書き込む。
パケット転送制御部40のプロセッサ41は、図10を参照して後述するパケット転送制御ルーチン100に従って、パケットヘッダバッファ24を定期的にアクセスし、受信パケットのパケットヘッダ情報を読み出す。プロセッサ41は、パケットヘッダがマルチパス制御ヘッダ75を含むか否かによって、受信パケットがコア網から受信されたものか、端末接続回線から受信されたものかを判断する。
パケットヘッダがマルチパス制御ヘッダ75を含んでいない場合、プロセッサ41は、パケットヘッダから抽出した宛先IPアドレスをマルチパスルーティングテーブル53と照合する。宛先IPアドレスと対応する経路情報がマルチパスルーティングテーブル53に登録済みの場合は、図3に示した内部ヘッダ74とマルチパス制御ヘッダ75とを付加したパケットヘッダを生成し、これをヘッダメモリ45に書き込み、信号線L41を介して、受信パケット制御部23に受信パケットの転送指令を与える。上記転送指令は、受信パケットのデータ部の長さ情報を含む。
受信パケット制御部23は、パケット転送制御部40から受信パケットの転送指令を受信すると、信号線L23を介してパケット組立部26に、受信パケットデータのパケットへの組立を指令した後、受信パケットのデータ部をパケットデータバッファ25に出力する。上記パケット組立指令は、パケットデータバッファ25から読み出すべきパケットデータの長さ情報を含む。
パケット組立部26は、受信パケット制御部23から上記パケット組立指令を受信すると、パケット転送制御部40のヘッダメモリ45からヘッダ情報を読み出し、これをパケット転送部27に出力し、ヘッダ情報に続いて、パケットデータバッファ25から読み出したパケットデータをパケット転送部27に出力する。パケット転送部27は、パケット組立部26から受信したパケット(パケットヘッダとデータ部)を内部転送路Lに出力する。
受信パケットがパケット中継装置10宛の制御パケットの場合、プロセッサ41は、パケットヘッダバッファ24から読み出したパケットヘッダに、パケット転送制御部40を指定するポート番号を含む内部ヘッダ74を付加した形のヘッダを生成し、これをヘッダメモリ45に書き込む。この場合、パケット組立部26で組み立てられ、パケット転送部27から内部転送路Lに出力された制御パケットは、パケット受信部43によって受信される。上記制御パケットは、受信バッファ44に一時的に蓄積された後、プロセッサ41で処理される。
プロセッサ41が他のノード宛に発行した制御パケットは、送信パケットバッファ46に出力される。上記制御パケットは、信号線LI−(n+1)を介して受信パケット制御部23に読み込まれ、そのパケットヘッダがパケットヘッダバッファ24に書き込まれる。プロセッサ41は、パケットヘッダバッファ24からヘッダ情報を読み出すと、宛先IPアドレスをマルチパスルーティングテーブル53と照合する。
宛先IPアドレスと対応する経路情報がマルチパスルーティングテーブル53に登録されていなければ、プロセッサ41は、IPルーティングテーブル52から経路情報を検索し、内部ヘッダ74のみを付加したパケットヘッダを生成し、これをヘッダメモリ45に書き込み、信号線L41を介して、受信パケット制御部23に受信パケットの転送指令を与える。この場合、送信パケットバッファ46から読み出された制御パケットが、内部ヘッダ付きのパケットとなって内部転送路Lに出力され、送信パケット処理部30に転送され、内部ヘッダが示す出力ポート番号74Aに対応する出力回線から送出されることになる。
受信パケット制御部23がバッファメモリ22−1〜22−nから読み込んだ受信パケットが、マルチパス制御ヘッダ75をもつコア網からの受信パケットの場合、プロセッサ41は、パケットヘッダからシーケンス番号723(またはマルチセグメント識別子75B)を抽出し、パケット出力制御テーブル54が示すシーケンス番号542と比較することによって、受信パケットのシーケンス番号の連続性をチェックする。シーケンス番号が不連続となってした場合、プロセッサは、キュー識別子を指定して、受信パケット制御部23に、受信パケットデータの送信待ちキューメモリ28への保存を指令する。
受信パケット制御部23は、パケット転送制御部40から上記保存指令を受信すると、受信パケットデータを送信待ちキューメモリ28に蓄積する。送信待ちキューメモリ28に蓄積されたパケットデータは、キュー識別子を指定することによって、パケット組立部26に読み出すことができる。コア網からの受信パケット処理の詳細については、図11に示すフローチャートを参照して後述する。
図9、送信パケット処理部30の1実施例を示す。
送信パケット処理部30は、内部転送路Lに接続されたパケット受信部31と、パケット受信部31に接続された受信パケットバッファ32と、受信パケットバッファ32に接続されたパケット送信制御部33と、出力回線LO−i(i=1〜n)に接続された複数の回線終端部(出力回線インタフェース)34−i(i=1〜n)とからなる。パケット送信制御部33は、受信パケットバッファ32からパケットを読み出し、内部ヘッダが示す出力ポート番号74Aに対応する回線終端部に、内部ヘッダを除去したパケットを出力する。この時、パケット送信制御部33から回線終端部に、内部ヘッダが示すNext Hop74Bを通知し、回線終端部が、上記Next Hopに基づいて、レイヤ2のヘッダ情報を生成する。
図10は、パケット転送制御部40のプロセッサ41が定期的に実行するパケット転送制御ルーチン100の1実施例を示すフローチャートである。
パケット転送制御ルーチン100に従って、プロセッサ41は、パケットヘッダバッファ24から受信パケットのパケットヘッダを読み出し、受信パケットヘッダがマルチパス制御ヘッダ75を含むか否かを判定する(ステップ101)。受信パケットヘッダがマルチパス制御ヘッダ75を含む場合は、図11で詳述するコア網受信パケット処理120が実行される。受信パケットヘッダがマルチパス制御ヘッダ75を含まない場合、プロセッサ41は、上記パケットヘッダの宛先IPアドレス713が、マルチパスルーティングテーブル53に登録されているか否かをチェックする(102)。
宛先IPアドレス713が、マルチパスルーティングテーブル53に登録済みの場合、プロセッサ41は、パケット出力制御テーブル54を参照し、受信パケットヘッダに対応するフロー定義情報をもつテーブルエントリが登録済みか否かを判定する(103)。テーブルエントリが登録済みの場合は、該エントリのマルチパスインデクス543の値を更新し(104)、未登録の場合は、パケット出力制御テーブル54に受信パケットヘッダと対応する送信制御用のテーブルエントリを登録する(105)。この場合、マルチパスインデクス543の値は「1」に設定される。
次に、プロセッサ41は、受信パケットヘッダの宛先IPアドレス713と更新されたマルチパスインデクス543との組合せを検索キーとして、マルチパスルーティングテーブル53から経路情報(Next Hop533と出力ポート番号534)を検索し(106)、受信パケットのマルチパス転送用のパケットヘッダを生成し、これをヘッダメモリ45に出力する(107)。ここで生成されるパケットヘッダは、受信パケットヘッダに、経路情報に基づいて作成した内部ヘッダ74と、パケット出力制御テーブル54の登録情報に基づいて作成したマルチパス制御ヘッダ75とを付加した構成となっている。この後、プロセッサ41は、受信パケット制御部23に受信パケットの転送指令を出力し(110)、このルーチンを終了する。
ステップ102で、マルチパスルーティングテーブル53に宛先IPアドレス713が未登録の場合、プロセッサ41は、IPルーティングテーブル52から宛先IPアドレスに対応する経路情報を検索し(108)、受信パケットのシングルパス転送用のパケットヘッダを生成し、これをヘッダメモリ45に出力(109)した後、受信パケット制御部23に受信パケットの転送指令を出力する(110)。ここで生成されるパケットヘッダは、受信パケットヘッダに、経路情報に基づいて作成した内部ヘッダ74を付加した構成となっている。
図11は、コア網受信パケット処理120の詳細を示すフローチャートである。
パケット中継装置10がコア網から受信するパケットには、端末接続回線に転送すべきパケットと、コア網内の別のノードに中継すべきパケットとがある。
コア網受信パケット処理120では、プロセッサ41は、先ず、受信パケットヘッダの宛先IPアドレスに基づいてIPルーティングテーブル52から経路情報を検索し(121)、受信パケットの中継先となるNext Hopがコア網内のノードを示しているか否かを判定する(122)。Next Hopがコア網内のノードの場合、プロセッサ41は、受信パケットのシングルパス転送用のパケットヘッダを生成し、これをヘッダメモリ45に出力(131)した後、受信パケット制御部23に受信パケットの転送指令を出力(132)して、このルーチンを終了する。
Next Hopがコア網内のノードでない場合、すなわち、端末接続回線に転送すべきパケットのパケットヘッダの場合、プロセッサ41は、パケット出力制御テーブル54を参照し、受信パケットヘッダに対応するフロー定義情報をもつテーブルエントリが登録済みか否かを判定する(123)。テーブルエントリが未登録の場合は、パケット出力制御テーブル54に受信パケットヘッダと対応する受信制御用のテーブルエントリを登録し(124)、ステップ131、132を実行して、このルーチンを終了する。
受信パケットヘッダに対応するテーブルエントリがパケット出力制御テーブル54に登録済みの場合、プロセッサ41は、受信パケットヘッダが示すシーケンス番号と、上記テーブルエントリが示すシーケンス番号542とを比較する(125)。シーケンス番号が不連続になっていた場合、上記テーブルエントリの送信待ちパケット制御情報544として、受信パケットヘッダの内容とキュー識別子を記憶し(134)、受信パケット制御部23に対して、上記キュー識別子を指定した形で受信パケットの保存指令を発行し(135)、このルーチンを終了する。
受信パケットのシーケンス番号が上記テーブルエントリが示すシーケンス番号に連続していた場合、プロセッサ41は、上記テーブルエントリの送信待ちパケット制御情報544から、受信パケットと同一フローに所属する送信待ちパケットの有無を判定する(126)。送信待ちパケット制御情報544が空の場合、プロセッサ41は、送信待ちパケット無しと判断し、上記テーブルエントリのシーケンス番号542を更新(130)した後、ステップ131、132を実行して、このルーチンを終了する。
上記テーブルエントリに、送信待ちパケット制御情報544として送信待ちパケットのヘッダ情報が記憶されていた場合、プロセッサ41は、このヘッダ情報と、ステップ121でIPルーティングテーブルから検索された経路情報に基づいて、送信待ちパケットの
シングルパス転送用のパケットヘッダを生成し、これをヘッダメモリ45に出力(1271)した後、受信パケット制御部23に送信待ちパケットの転送指令を出力する(128)。ここで、送信待ちパケットの転送指令は、送信待ちパケット制御情報544としてとして記憶されていたキュー識別子とデータ長を指定している。プロセッサ41は、次に、上記テーブルエントリのシーケンス番号542を更新し、送信待ちパケット制御情報544をクリア(129)した後、ステップ131、132を実行して、このルーチンを終了する。
受信パケット制御部23は、パケット転送制御部40(プロセッサ41)から送信待ちパケットの転送指令を受信すると、信号線L23を介してパケット組立部26に、送信待ちパケットデータのパケットへの組立を指令する。上記組立指令は、送信待ちパケットの転送指令で指定されたキュー識別子とデータ長とを含む。パケット組立部26は、上記組立指令に応答して、ヘッダメモリ45からヘッダ情報を読み出し、これをパケット転送部27に出力し、ヘッダ情報に続いて、送信待ちキューメモリ28から読み出した送信待ちパケットデータをパケット転送部27に出力する。
受信パケット制御部23は、上記送信待ちパケットの転送指令を受信した場合は、パケット組立部26に送信待ちパケットデータのパケットへの組立指令を発行した後、パケット転送制御部40からの受信パケットの転送指令を待っている。受信パケットの転送指令を受信すると、受信パケット制御部23は、信号線L23を介してパケット組立部26に、受信パケットデータのパケットへの組立を指令した後、受信パケットのデータ部をパケットデータバッファ25に出力する。
上述した図10のパケット転送制御では、受信パケットのヘッダ情報に対応するフロー定義情報をもつエントリがパケット出力制御テーブル54に未登録の場合(ステップ103)、送信制御用エントリを自動的に追加する(ステップ105)ようにしたが、パケット出力制御テーブル54には、ユーザから予め申請された特定フローのエントリのみを登録し、パケット出力制御テーブル54に未登録の受信パケットについては、IPルーティングテーブル52に従って、従来と同様のパケット転送を行うようにしてもよい。
また、図10では、宛先IPアドレスがマルチパスルーティングテーブル53に未登録の場合(ステップ102)、IPルーティングテーブル52に従って、従来と同様のパケット転送を行うようにしているが、ステップ102の前にステップ103を実行し、受信パケットのヘッダ情報に対応するフロー定義情報をもつエントリがパケット出力制御テーブル54に登録済みであれば、宛先IPアドレスがマルチパスルーティングテーブル53に登録されているか否かを判定するようにしてもよい。ここで、宛先IPアドレスがマルチパスルーティングテーブル53に未登録の場合、経路計算機能210を利用して宛先ノードに至る複数の経路をマルチパスルーティングテーブル53選択し、マルチパスルーティングテーブル53に受信パケット用のテーブルエントリを自動的に追加し、もし、最適経路以外に適当な経路が存在していなければ、IPルーティングテーブル52に従って、従来と同様のパケット転送を行うようにすればよい。
図12は、本発明の第2実施例として、パケット中継装置10の主要部となる受信パケット処理部20の他の構成例を示す。
本実施例では、受信パケット処理部20が、受信パケットデータを2つのセグメントに分割し、第1のセグメントを含むパケットと第2セグメントを含むパケット(以下、セグメントパケットと言う)に異なるヘッダを付与することによって、これらのセグメントパケットが異なる経路で転送されるようにしたことを特徴とする。
コア網にセグメント単位でパケットデータを転送した場合、受信パケット処理部20には、コア網からの受信パケットを端末接続回線に転送する前に、第1セグメントを含む受信パケットと第2セグメントを含む受信パケットから、元のパケットデータを再生し、1つのIPパケットに変換する機能が必要となる。29は、上述した元のパケットデータを再生するためにセグメントデータを一時的に蓄積するセグメントキューメモリを示している。
本実施例では、受信パケット毎に、マルチパスルーティングテーブル53が示す2つの経路にセグメントパケットが転送されるため、先行パケットの転送に適用したマルチパスインデクスをパケット出力制御テーブル54に記憶しておく必要はない。その代わりに、セグメントパケットの連続性をチェックするために、パケット出力制御テーブル54の受信制御用エントリに、受信セグメントパケットから抽出したマルチパスインデクス75A(またはマルチパス識別子75B)の値をマルチパスインデクス543として記憶しておく。
受信パケット制御部23は、バッファメモリ22−iから受信パケットを読み込むと、第1実施例と同様、パケットヘッダをパケットヘッダバッファ24に書き込み、パケット転送制御部40(プロセッサ41)からの転送指令を待つ。
プロセッサ41は、図10で説明したパケット転送制御ルーチン100に従って、受信パケットヘッダをチェックし(101)、パケットヘッダがマルチパス制御ヘッダを含んでいなければ、宛先IPアドレスがマルチパスルーティングテーブル53に登録済みか否かを判定する(102)。宛先IPアドレスがマルチパスルーティングテーブル53に未登録の場合、プロセッサ41は、第1実施例と同様、ステップ108、109、110を実行する。この場合、受信パケットは、セグメントパケットに変換することなく、内部転送路Lに送出される。
宛先IPアドレスがマルチパスルーティングテーブル53に登録済みの場合、プロセッサ41は、パケット出力制御テーブル54に受信パケットヘッダに対応するテーブルエントリが登録済みか否かをチェックする(103)。未登録の場合は、送信制御用のエントリを登録して(105)、マルチパスルーティングテーブルを検索する(106)。登録済みの場合は、第1実施例のように、マルチパスインデクスの値を更新する必要はなく、直ちにマルチパスルーティングテーブルを検索すればよい。
第2実施例では、プロセッサ41は、マルチパスルーティングテーブルの検索ステップで、マルチパスインデクスの値を「1」として第1セグメント用の経路情報を検索する第1のテーブル検索と、マルチパスインデクスの値を「2」として第2セグメント用の経路情報を検索する第2のテーブル検索とを実行し、マルチパス転送用のヘッダ生成(107)と受信パケットの転送指令の発行(110)は、第1セグメントパケット用と第2セグメントパケット用に分けて、2回繰り返す。
パケットデータの第1、第2セグメントへの分割は、プロセッサ41が、パケットヘッダが示すデータ長に基づいて、第1セグメント長と第2セグメント長を計算し、受信パケット制御部23に与える受信パケットの転送指令で、受信パケット制御部23がパケットデータバッファ25に出力すべきデータ長(セグメント長)を指定すればよい。また、第2セグメントパケットの転送が終了した後で、受信パケット制御部23に新たな受信パケットの処理を開始させるために、第1セグメントパケットの転送指令では、新たな受信パケットデータの処理を抑制するフラグ情報を与えておき、第2セグメントパケットの転送指令で、上記抑制フラグを解除するようにすればよい。
受信パケットヘッダがマルチパス制御ヘッダを含む場合、受信パケットは、コア網から受信されたセグメントパケットである。この場合、第2実施例では、プロセッサ41は、図13に示すコア網受信パケット処理120を実行する。図13は、説明を簡単化するために、図11と同様のステップには、図11と同一の符号が付してある。
プロセッサ41は、IPルーティングテーブルでNext Hopを判定し(121、122)、受信パケットがコア網内の他のノードに転送すべきパケットの場合は、第1実施例と同様、ステップ131と132を実行する。この場合、受信パケットは、内部ヘッダを付加した形で、受信パケット処理部20から内部転送路Lに出力される。
Next Hopから、受信パケットが端末接続回線に転送すべきパケットと判定された場合、プロセッサ41は、パケット出力制御テーブル54を参照し、受信パケットヘッダに対応するフロー定義情報をもつテーブルエントリが登録済みか否かを判定する(123)。
テーブルエントリが未登録の場合は、プロセッサ41は、パケット出力制御テーブル54に受信パケットヘッダと対応する受信制御用のテーブルエントリを登録し(124)、上記テーブルエントリに、送信待ちパケット制御情報544(受信パケットヘッダの内容とキュー識別子)を記憶し(134)、受信パケット制御部23に対して、上記キュー識別子を指定した形で受信パケットの保存指令を発行し(135)、このルーチンを終了する。
受信パケットヘッダに対応するテーブルエントリがパケット出力制御テーブル54に登録済みの場合、プロセッサ41は、受信パケットヘッダが示すシーケンス番号、マルチパスインデクス75Aを、上記テーブルエントリが示すシーケンス番号542、マルチパスインデクス543とそれぞれ比較し、パケットの受信順序をチェックする(125B)。
本実施例では、以下に述べるように、第1セグメントパケットは、送信待ちパケットとして、セグメントキューメモリに保存し、第2セグメントパケットの受信を待って、第1セグメントパケットと第2セグメントから元のパケットデータを再生する。プロセッサ41は、例えば、同一シーケンス番号をもつ第1セグメントパケットよりも先に第2セグメントパケットが受信された場合、あるいは、第1セグメント(または第2セグメント)パケットの次に、次のシーケンス番号をもつ第1セグメント(または第2セグメント)パケットが受信された場合、受信順序不正と判断し、ステップ134、135を実行して、このルーチンを終了する。
パケットの受信順序に問題がなかった場合、プロセッサ41は、上記テーブルエントリの送信待ちパケット制御情報544から、受信パケットと同一フローに所属する送信待ちパケットの有無を判定する(126)。送信待ちパケット制御情報544が空の場合、プロセッサ41は、受信パケットが第1セグメントパケットと判断し、後続のセグメントパケットの受信を待つために、ステップ134、135を実行して、このルーチンを終了する。
上記テーブルエントリに、送信待ちパケット制御情報544が記憶されていた場合、プロセッサ41は、シングルパス転送用のパケットヘッダを生成し、これをヘッダメモリ45に出力する(127B)。上記パケットヘッダは、第1セグメントパケットと第2セグメントパケットとから再生される元のパケットデータに付加するためのものであり、パケットデータ長は、送信待ちパケット制御情報544として記憶されているヘッダ情報が示すデータ長と、今回受信されたパケットヘッダ情報が示すデータ長から計算される。
プロセッサ41は、ヘッダメモリ45にパケットヘッダを出力した後、受信パケット制御部23に組立てパケットの転送指令を出力(128B)した後、上記テーブルエントリのシーケンス番号542を更新し、送信待ちパケット制御情報544から処理済みとなったヘッダ情報およびキュー識別子をクリアして(129B)、このルーチンを終了する。上記組立てパケットの転送指令は、セグメントキューから読み出すべきセグメントデータのキュー識別子と、該セグメントデータと受信パケットに含まれるセグメントデータとの読み出し順序、それぞれのセグメントデータのデータ長を指定している。
受信パケット制御部23は、パケット転送制御部40(プロセッサア41)から組立パケットの転送指令を受信すると、信号線L23を介してパケット組立部26に、セグメントデータのパケットへの組立を指令し、受信パケットに含まれるセグメントデータをパケットでデータバッファ25に出力する。上記組立指令は、上記組立パケット転送指令で指定されたキュー識別子と、各セグメントデータのデータ長と、セグメントデータの読み出し順序を含む。パケット組立部26は、上記組立指令に応答して、ヘッダメモリ45からヘッダ情報を読み出し、これをパケット転送部27に出力し、ヘッダ情報に続いて、セグメントキューメモリ29とパケットデータバッファ25から指定の順序で読み出したセグメントデータをパケット転送部27に出力する。
以上、本発明のパケット中継装置10を一般的なIPネットワークに適用した実施例について説明したが、本発明によるマルチパス経由のパケット転送は、例えば、IPネットワーク上に形成されるVPNや、MPLS網に形成されるIP−VPNや、VLANベースのL2−VPN(Layer 2-Virtual LAN)など、他のネットワーク構成にも適用可能である。
例えば、VPNでは、経路確保にVPNトンネル構築技術が適用される。VPNでは、端末もしくはルータから宛先装置までのパス設定時に、IPパケットをLayer2のプロトコルであるPPTPパケットのペイロード、またはLayer3のプロトコルであるIPsecパケットのペイロードに載せて宛先装置まで転送し、宛先装置の認証処理を行って、データ暗号化用の暗号鍵が決定される。認証処理には、PPTPを利用する場合は、PPPの認証機能を利用し、IPsecを利用する場合は、IKEが利用される。
VPNのパス設定が完了した時、宛先ノードに到達可能な複数の経路を検索し、経路情報をマルチパスルーティングテーブルに登録しておくことによって、本発明による複数経路を利用したパケット転送が可能となる。マルチパスルーティングテーブルに登録された経路情報エントリは、一連のデータ転送が完了した時点でリセットしてもよい。尚、予め重要と思われる経路については、常時、VPNを確立しておき、マルチパスルーティングテーブルに経路情報エントリを準備しておくようにしてもよい。
MPLSのIP−VPNでは、送信側エッジノードが受信パケット(IPパケット)に付加したShimヘッダが示すラベル情報に従って、MPLS網内でのパケット転送が行われ、受信側エッジノードは、MPLS網からの受信パケットからShimヘッダを除去し、元のIPパケットに戻して宛先端末に転送する。また、MPLS網を構成する各ノードは、宛先アドレス、入力回線インタフェースID、受信パケットに付される入力ラベル、出力回線インタフェースID、出力パケットに付すべき出力ラベル、Next Hopの関係を示したフォワーディングテーブルに従って、パケット転送を行っている。
MPLS網のIP−VPNに本発明を適用する場合、エッジノードとなるパケット中継装置が備えるフォワーディングテーブルとして、特定の宛先アドレスに対応して複数のテーブルエントリが登録されたマルチパス用のフォワーディングテーブルを用意しておき、図7に示したマルチパスルーティングテーブルと同様、マルチパスインデクスを検索キーの一部に加えて、フォワーディングテーブル検索を行うようにすればよい。これによって、同一の宛先アドレスをもつ一連の受信パケットに異なるラベルを付し、異なる出力回線インタフェースに転送することが可能となる。
L2−VPNでは、サイト間にLDP(トンネルLDP)を確立し、LDPの内部にVirtual Circuit(VC)と呼ばれる論理経路を確立し、トンネルLDPのエッジノードが各パケットに付したVCラベルとトンネルラベルに従って、網内でのパケット通信が行われる。L2−VPNに本発明のマルチパスルーティングを適用するためには、一つ若しくは複数のトンネルLDP内に、同一宛先アドレスと対応して予め複数のVCを確保しておき、送信側のノードで受信パケット毎にVCを切り替えるようにすればよい。L2−VPNでは、レイヤ2情報を利用してパケット転送が行われるため、通常のIPパケット通信に比較して高セキュリティの通信が期待できる。
以上の実施例では、マルチパスルーティングテーブルが、宛先アドレス毎に2つの経路情報エントリをもつ場合について説明したが、マルチパスルーティングテーブルに同一宛先アドレスで選択可能な経路情報エントリを3以上用意すれば、同一フローに属したパケットを3以上の経路に振り分けることが可能であり、トラフィックを更に分散化できる。
本発明によるパケット中継装置10の全体構成の1例を示す図。 本発明によるパケット中継装置10が適用されるネットワークの一部を示す図。 本発明によるパケット中継装置10で扱いパケットフォーマットの1例を説明するための図。 図3のIPヘッダ71の詳細を示すフォーマット図。 図3のTCPヘッダ72の詳細を示すフォーマット図。 図1に示したパケット中継装置10の受信パケット処理部20とパケット転送制御部40の1実施例を示す図。 パケット転送制御部40が備えるマルチパスルーティングテーブル53の1実施例を示す図。 パケット転送制御部40が備えるパケット出力制御テーブル54の1実施例を示す図。 図1に示したパケット中継装置10の送信パケット処理部30の1実施例を示す図。 パケット転送制御部40が実行するパケット転送処理ルーチン100の1実施例を示すフローチャート。 パケット転送処理ルーチン100の一部であるコア網受信パケット処理120の1実施例を示すフローチャート。 本発明によるパケット中継装置10の第2実施例の主要部となる受信パケット処理部20の他の構成例を示す図。 パケット転送制御部40が実行するパケット転送処理ルーチン100の第2実施例を示すフローチャート。
符号の説明
10:パケット中継装置、20:受信パケット処理部、21:入力回線インタフェース(回線終端部)、22:バッファメモリ、23:受信バッファ制御部、24:パケットヘッダバッファ、25:パケットデータバッファ、26:パケット組立部、27:パケット転送部、28:送信待ちキューメモリ、30:送信パケット処理部、31:パケット受信部、32:受信パケットバッファ、33:パケット送信制御部、34:出力回線インタフェース(回線終端部)、40:パケット転送制御部、41:プロセッサ、42:プログラムメモリ、43:パケット受信部、44:受信パケットバッファ、45:ヘッダメモリ、46:送信パケットバッファ、50:経路情報ファイル、51:網トポロジーファイル、52:IPルーティングテーブル、53:マルチパスルーティングテーブル、54:パケット出力制御テーブル。

Claims (8)

  1. パケット入力回線に接続された複数の入力回線インタフェースと、パケット出力回線に接続された複数の出力回線インタフェースと、上記各入力回線インタフェースから出力された受信パケットを上記出力回線インタフェースのうちの1つに選択的にルーティングするためのパケット転送制御部とからなるパケット中継装置であって、
    上記パケット転送制御部が、1つの宛先アドレスに対応して経路情報の異なる複数のテーブルエントリをもつマルチパスルーティングテーブルと、宛先アドレス毎に1つの経路情報エントリをもつシングルパスルーティングテーブルと、それぞれフロー定義情報と対応してパスインデクスの現在値を示す複数のテーブルエントリからなるパケット出力制御テーブルとを備え、
    上記マルチパスルーティングテーブルの各テーブルエントリが、宛先アドレスとパスインデクス値との組合せに対応して経路情報を定義しており、
    上記パケット転送制御部が、受信パケット毎に、上記パケット出力制御テーブルから受信パケットのヘッダ情報に適合するフロー定義情報をもつテーブルエントリを検索し、該テーブルエントリのパスインデクス値を更新し、更新されたパスインデクス値と上記受信パケットの宛先アドレスを検索キーとして、上記マルチパスルーティングテーブルから経路情報を検索し、上記マルチパスルーティングテーブルに登録された宛先アドレスをもつ受信パケットについては、マルチパス制御ヘッダを付加した後、上記マルチパスルーティングテーブルが示す経路情報に従って、同一の宛先アドレスをもつ前回の受信パケットとは異なる出力回線インタフェースに振り分け、上記マルチパスルーティングテーブルに未定義の宛先アドレスをもつ受信パケットについては、マルチパス制御ヘッダを付加することなく、上記シングルパスルーティングテーブルが示す経路情報によって特定される何れかの出力回線インタフェースにルーティングすることを特徴とするパケット中継装置。
  2. 前記複数の入力回線インタフェースを含む受信パケット処理部と、前記複数の出力回線インタフェースを含む送信パケット処理部とを有し、
    上記受信パケット処理部が、上記各入力回線インタフェースから出力された受信パケットのヘッダ情報を前記パケット転送制御部に通知し、該パケット転送制御部からの指示に従って、上記受信パケットを出力回線識別子を含む内部ヘッダ付きのパケットに変換するパケット変換部を備え、
    上記送信パケット処理部が、上記受信パケット処理部から出力されたパケットを受信し、受信したパケットをその内部ヘッダが示す出力回線識別子で特定される何れかの出力回線インタフェースに振り分けるための手段を備えたことを特徴とする請求項1に記載のパケット中継装置。
  3. 前記パケット変換部が、前記パケット転送制御部からの指示に従って、前記何れかの入力回線インタフェースから出力された受信パケットに前記マルチパス制御ヘッダを付加する機能を備えたことを特徴とする請求項2に記載のパケット中継装置。
  4. 前記パケット転送制御部が、前記マルチパスルーティングテーブルから受信パケットの宛先アドレスと対応するテーブルエントリを検索し、宛先アドレスに該当するテーブルエントリが上記マルチパスルーティングテーブルに未登録の場合に、前記シングルパスルーティングテーブルによる受信パケットのルーティングを実行し、上記宛先アドレスに該当するテーブルエントリが上記マルチパスルーティングテーブルに登録されていた場合に、前記パケット出力制御テーブルからのテーブルエントリの検索を行なうことを特徴とする請求項1〜請求項3の何れかに記載のパケット中継装置。
  5. 前記パケット出力制御テーブルが、予め申請された特定のフローについて、前記フロー定義情報とパスインデクスの現在値との関係を示すテーブルエントリを記憶しており、
    前記パケット転送制御部が、上記パケット出力制御テーブルから受信パケットのヘッダ情報に適合するフロー定義情報をもつテーブルエントリを検索し、該当するテーブルエントリが未登録の場合は、上記受信パケットを前記シングルパスルーティングテーブルによってルーティングすることを特徴とする請求項1〜請求項3の何れかに記載のパケット中継装置。
  6. 複数のノード装置からなり、エッジノード装置間に複数の通信経路をもつパケット通信ネットワークにおいて、
    パケットを送受信する少なくとも1対のエッジノード装置が、パケット入力回線に接続された複数の入力回線インタフェースと、パケット出力回線に接続された複数の出力回線インタフェースと、上記各入力回線インタフェースから出力された受信パケットを上記出力回線インタフェースのうちの1つに選択的にルーティングするためのパケット転送制御部とからなり、
    上記パケット転送制御部が、1つの宛先アドレスに対応して経路情報の異なる複数のテーブルエントリをもつマルチパスルーティングテーブルと、宛先アドレス毎に1つの経路情報エントリをもつシングルパスルーティングテーブルと、それぞれフロー定義情報と対応してパスインデクスの現在値を示す複数のテーブルエントリからなるパケット出力制御テーブルとを備え、上記マルチパスルーティングテーブルの各テーブルエントリが、宛先アドレスとパスインデクス値との組合せに対応して経路情報を定義しており、
    上記パケット転送制御部が、受信パケット毎に、上記パケット出力制御テーブルから受信パケットのヘッダ情報に適合するフロー定義情報をもつテーブルエントリを検索し、該テーブルエントリのパスインデクス値を更新し、更新されたパスインデクス値と上記受信パケットの宛先アドレスを検索キーとして、上記マルチパスルーティングテーブルから経路情報を検索し、上記マルチパスルーティングテーブルに登録された宛先アドレスをもつ受信パケットについては、マルチパス制御ヘッダを付加した後、上記マルチパスルーティングテーブルが示す経路情報によって特定される何れかの出力回線インタフェースに振り分けることによって、同一宛先アドレスをもつ受信パケットを前回とは異なる経路で対向エッジノード装置に転送し、上記マルチパスルーティングテーブルに未定義の宛先アドレスをもつ受信パケットについては、上記マルチパス制御ヘッダを付加することなく、上記シングルパスルーティングテーブルが示す経路情報によって特定される何れかの出力回線インタフェースから上記対向エッジノード装置に転送することを特徴とするパケット通信ネットワーク。
  7. 前記複数の入力回線インタフェースを含む受信パケット処理部と、前記複数の出力回線インタフェースを含む送信パケット処理部とを有し、
    上記受信パケット処理部が、上記各入力回線インタフェースから出力された受信パケットのヘッダ情報を前記パケット転送制御部に通知し、該パケット転送制御部からの指示に従って、上記受信パケットを出力回線識別子を含む内部ヘッダ付きのパケットに変換するパケット変換部を備え、
    上記送信パケット処理部が、上記受信パケット処理部から出力されたパケットを受信し、受信したパケットをその内部ヘッダが示す出力回線識別子で特定される何れかの出力回線インタフェースに振り分けるための手段を備えたことを特徴とする請求項6に記載のパケット通信ネットワーク。
  8. 前記受信パケット処理部が、送信待ち受信パケットを一時的に蓄積するための送信待ちキューメモリを有し、
    前記パケット転送制御部が、対向エッジノード装置からの受信パケットについて、既に転送済みの受信パケットと新たな受信パケットのヘッダが示す送信順序情報に基づいて、各受信パケットの到着順序をチェックし、新たな受信パケットよりも先に対向エッジノード装置から送信されたパケットが未着の場合、前記受信パケット処理部に、該受信パケットの上記送信待ちキューメモリへの蓄積を指示し、先行パケットが受信された時点で、該先行パケットの転送後に上記送信待ち受信パケットの前記送信パケット処理部への転送を指示することを特徴とする請求項7に記載のパケット通信ネットワーク。
JP2004353734A 2004-12-07 2004-12-07 パケット中継装置およびパケット通信ネットワーク Expired - Fee Related JP4388464B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004353734A JP4388464B2 (ja) 2004-12-07 2004-12-07 パケット中継装置およびパケット通信ネットワーク

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004353734A JP4388464B2 (ja) 2004-12-07 2004-12-07 パケット中継装置およびパケット通信ネットワーク

Publications (3)

Publication Number Publication Date
JP2006165952A JP2006165952A (ja) 2006-06-22
JP2006165952A5 JP2006165952A5 (ja) 2007-06-28
JP4388464B2 true JP4388464B2 (ja) 2009-12-24

Family

ID=36667469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004353734A Expired - Fee Related JP4388464B2 (ja) 2004-12-07 2004-12-07 パケット中継装置およびパケット通信ネットワーク

Country Status (1)

Country Link
JP (1) JP4388464B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4786522B2 (ja) 2006-12-25 2011-10-05 富士通株式会社 パケット中継方法及び装置
US20090083366A1 (en) * 2007-09-26 2009-03-26 Martin Roantree Secure document transmission
WO2011083846A1 (ja) * 2010-01-08 2011-07-14 日本電気株式会社 通信システム、転送ノード、経路管理サーバおよび通信方法
US9813384B2 (en) * 2012-10-31 2017-11-07 The Boeing Company Time-locked network and nodes for exchanging secure data packets
US9736067B2 (en) * 2014-05-12 2017-08-15 Google Inc. Prefix-aware weighted cost multi-path group reduction
JP2018129011A (ja) 2017-02-10 2018-08-16 日本電信電話株式会社 データ処理装置、基盤及びデータ出力方法
WO2022044226A1 (ja) * 2020-08-27 2022-03-03 日本電信電話株式会社 通信システム、通信方法、通信装置及びプログラム

Also Published As

Publication number Publication date
JP2006165952A (ja) 2006-06-22

Similar Documents

Publication Publication Date Title
US20240193015A1 (en) Host Routed Overlay with Deterministic Host Learning and Localized Integrated Routing and Bridging
US11411770B2 (en) Virtual port channel bounce in overlay network
CN109218178B (zh) 一种报文处理方法及网络设备
EP3799373B1 (en) Building a label sequence in border gateway protocol (bgp) labeled network layer reachability information (nlri) on next hop (nh) attribute change
US8462790B2 (en) Label switching in fibre channel networks
JP4231766B2 (ja) As間の経路制御を行う通信装置および通信方法。
US8331220B2 (en) Edge node redundant system
US8555056B2 (en) Method and system for including security information with a packet
US20010044842A1 (en) Communication system, communication control method and control program storage medium
US20050265308A1 (en) Selection techniques for logical grouping of VPN tunnels
JP2004140539A (ja) 情報ルーティング方式および情報中継装置
JP2001237876A (ja) Ip仮想プライベート網の構築方法及びip仮想プライベート網
CN103684953A (zh) 避免多连接到vpls传输网的以太网环路中流量损失方法、装置
WO2021093463A1 (zh) 报文转发的方法、第一网络设备以及第一设备组
WO2018090210A1 (zh) 业务报文传输方法及节点设备
JP2001060956A (ja) トランスポート層マルチリンク通信方法
JP4388464B2 (ja) パケット中継装置およびパケット通信ネットワーク
CN112637237B (zh) 基于SRoU的业务加密方法、***、设备及存储介质
WO2024001701A1 (zh) 数据处理方法、装置及***
JP6402078B2 (ja) ネットワークシステムおよびパケット転送方法
JP4011528B2 (ja) ネットワーク仮想化システム
US7269639B1 (en) Method and system to provide secure in-band management for a packet data network
JP6718739B2 (ja) 通信装置および通信方法
Cisco Cisco IOS Apollo Domain, Banyan VINES, DECnet, ISO CLNS, and XNS Configuration Guide Release 12.1
EP4401364A1 (en) Reducing convergence time and/or avoiding split-brain in multi-homed ethernet segment deployments, such as esi-lag deployments

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070509

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070509

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070509

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090713

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: 20090908

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: 20091002

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131009

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees