JP6217138B2 - パケット転送装置及びパケット転送方法 - Google Patents

パケット転送装置及びパケット転送方法 Download PDF

Info

Publication number
JP6217138B2
JP6217138B2 JP2013108379A JP2013108379A JP6217138B2 JP 6217138 B2 JP6217138 B2 JP 6217138B2 JP 2013108379 A JP2013108379 A JP 2013108379A JP 2013108379 A JP2013108379 A JP 2013108379A JP 6217138 B2 JP6217138 B2 JP 6217138B2
Authority
JP
Japan
Prior art keywords
communication path
packet
node
next node
packet transfer
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
JP2013108379A
Other languages
English (en)
Other versions
JP2014230100A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013108379A priority Critical patent/JP6217138B2/ja
Priority to US14/259,516 priority patent/US9485172B2/en
Priority to CN201410203255.8A priority patent/CN104184608B/zh
Publication of JP2014230100A publication Critical patent/JP2014230100A/ja
Application granted granted Critical
Publication of JP6217138B2 publication Critical patent/JP6217138B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本件は、パケット転送装置及びパケット転送方法に関する。
通信需要の増加に伴い、ネットワーク内においてパケットを転送するレイヤ2スイッチに、より効果的な通信経路の制御機能が求められている。例えばスパニングツリープロトコルは、通信経路の制御手段として知られている。しかし、スパニングツリープロトコルは、通信経路がループ状になることを避けるため、通信経路の候補をツリー状に限定することによりブロッキングポートが生ずるので、例えば、帯域の有効利用が困難となるという問題が存在する。
これに対して、IETF(the Internet Engineering Task Force)により規定されたTRILL(Transparent Interconnection of Lots of Links)技術が、通信経路の制御手段として普及しつつある(例えば非特許文献1〜4参照)。TRILL技術は、コスト(リンクごとの通信速度)の合計が最小となるように通信経路を決定するSPF(Shortest Path Fast)と、そのような通信経路が複数存在する場合にトラフィックの分散を許容するECMP(Equal Cost Multi Path)とを特徴とする。
IETF RFC6326,"Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS"、[online]、[平成25年5月7日検索]、インターネット<URL:http://www.ietf.org/rfc/rfc6326.txt> IETF RFC6325,"Routing Bridges (RBridges): Base Protocol Specification",[online],[平成25年5月7日検索],インターネット<URL:http://www.ietf.org/rfc/rfc6325.txt> IETF RFC6327,"Routing Bridges (RBridges): Adjacency",[online],[平成25年5月7日検索],インターネット<URL:http://www.ietf.org/rfc/rfc6327.txt> IETF RFC6439,"Routing Bridges (RBridges): Appointed Forwarders",[online],[平成25年5月7日検索],インターネット<URL:http://www.ietf.org/rfc/rfc6439.txt>
TRILL技術によれば、レイヤ2スイッチは、ネットワーク内の他スイッチと通信することにより、ネットワークのトポロジを学習する。そして、レイヤ2スイッチは、所定のプロトコルに従って、データフロー(例えばVLAN(Virtual Local Area Network) IDで識別されるパケット)ごとに、自律的に通信経路を決定する。このとき、最小コストとなるように選択された複数の通信経路、つまりECMPから1つの通信経路が選択される。
自律的に決定された通信経路は、例えば、特定のレイヤ2スイッチの保守のために該スイッチを迂回する通信経路の確立が必要となる場合、または各通信経路の帯域が均等になるようにデータフローを分散させる場合、操作者のコマンド入力により任意に変更される。なお、コマンド入力は、CLI(Command Line Interface)などを介して行われる。
しかし、TRILL技術によれば、レイヤ2スイッチは、例えば、ネットワーク内の何れかの箇所においてリンク障害を検出すると、自律的に通信経路を再設定する。このため、操作者のコマンド入力で設定された通信経路が、自律的に決定された通信経路に戻されることにより、通信が瞬断するなどの問題が生ずる。
そこで本件は上記の課題に鑑みてなされたものであり、通信経路の制御を改善したパケット転送装置及びパケット転送方法を提供することを目的とする。
本明細書に記載のパケット転送装置は、ネットワーク内の複数のノードとそれぞれ接続され、パケットを送受信する複数のポートと、ルーティングテーブルに従って前記複数のポート間で前記パケットを交換するスイッチ部と、操作者からコマンド入力を受け付ける受付部と、前記複数のノードのうち、前記コマンド入力で設定された通信経路上の次ノードに前記パケットが転送されるように、前記ルーティングテーブルを設定する設定処理部と、前記複数のノードから受信したフレームから前記ネットワーク内のリンク障害の発生箇所を検出する障害検出部とを有し、前記設定処理部は、前記リンク障害の発生箇所が、前記コマンド入力で設定された通信経路上の次ノードとの間である場合、前記パケットの転送先を、自律的に設定した通信経路上の次ノードに切り替えるように、前記ルーティングテーブルの設定を変更し、前記リンク障害の発生箇所が、前記ネットワーク内の他の箇所である場合、前記ルーティングテーブルの設定を維持する。
本明細書に記載のパケット転送方法は、ネットワーク内の複数のノードの少なくとも1つにおいて、操作者から受け付けたコマンド入力で設定された通信経路上の次ノードにパケットを転送し、前記複数のノードから受信したフレームから前記ネットワーク内のリンク障害の発生箇所を検出し、前記リンク障害の発生箇所が、前記コマンド入力で設定された通信経路上の次ノードとの間である場合、前記パケットの転送先を、自律的に設定した通信経路上の次ノードに切り替え、前記リンク障害の発生箇所が、前記ネットワーク内の他の箇所である場合、前記パケットの転送先を維持する方法である。
本明細書に記載のパケット転送装置及びパケット転送方法は、通信経路の制御を改善できるという効果を奏する。
パケット転送装置のネットワークの一例を示す構成図である。 リンクコストの一例を示す表である。 ECMPの一例を示すネットワーク構成図である。 通信経路に対するVLAN IDの割り当てを示す表である。 コマンド入力による通信経路の変更例(1)を示すネットワーク構成図である。 変更前後の通信経路ごとの帯域合計を示す表である。 コマンド入力による通信経路の変更例(2)を示すネットワーク構成図である。 比較例として、変更前後及びリンク断後の通信経路に対するVLAN IDの割り当てを示す表である。 比較例として、リンク断後の通信経路を示すネットワーク構成図である。 初期状態における通信経路の一例を示すネットワーク構成図である。 図10の状態における各ノードのルーティングテーブルの設定を示す表である。 リンク障害発生後の通信経路の例(1)を示すネットワーク構成図である。 図12の状態における各ノードのルーティングテーブルの設定例(1)を示す表である。 図12の状態における各ノードのルーティングテーブルの設定例(2)を示す表である。 リンク障害発生後の通信経路の例(2)を示すネットワーク構成図である。 図15の状態における各ノードのルーティングテーブルの設定例(1)を示す表である。 図15の状態における各ノードのルーティングテーブルの設定例(2)を示す表である。 リンク障害発生後の通信経路の例(3)を示すネットワーク構成図である。 パケット転送装置の機能構成を示す構成図である。 パケットの転送処理を示すフローチャートである。 リンク障害発生時の通信経路の制御処理を示すフローチャートである。 リンク障害復旧時の通信経路の制御処理を示すフローチャートである。 イングレスRB(Routing Bridge)における転送先ノードの決定方法を示す図である。 トランジットRBにおける転送先ノードの決定方法を示す図である。 ネットワークの他例における通信経路の初期状態を示すネットワーク構成図である。 図25の状態におけるノードRB#1のルーティングテーブルの設定を示す表である。 コマンド入力で変更した通信経路の例を示すネットワーク構成図である。 図27の状態におけるノードRB#1のルーティングテーブルの設定を示す表である。 リンク断後の通信経路の例を示すネットワーク構成図である。 図29の状態におけるノードRB#1のルーティングテーブルの設定を示す表である。
(SPF及びECMP)
まず、図1及び図2を参照して、TRILL技術におけるSPF及びECMPに関して説明する。図1は、パケット転送装置のネットワークの一例を示す構成図である。
パケット転送装置1は、メッシュ状のネットワークを構成するように相互に接続された複数のノードRB#1〜RB#9にそれぞれ設けられている。パケット転送装置1は、LANケーブルまたは光ファイバを介して相互に接続される。パケット転送装置1は、ノード間においてパケットを転送するレイヤ2スイッチとして機能する。パケットとしては、例えば、VLAN ID(パケット識別子)が付与されたイーサネット(登録商標、以下同様)フレーム、またはイーサネットフレームを所定のフォーマットに従ってカプセル化して得たフレームが挙げられる。
各ノードRB#1〜RB#9パケット転送装置1は、Hello交換と呼ばれるプロトコルによりネットワーク内の隣接関係を学習する。これにより、パケット転送装置1は、隣接ノードのノード識別子(あるいは、パケット転送装置1の装置ID)を取得する。例えばノードRB#1のパケット転送装置1は、隣接ノードのノード識別子として、RB#2及びRB#3を取得する。
また、パケット転送装置1は、LSP(Link State PDU(Protocol Data Unit))交換と呼ばれるプロトコルにより、ネットワークの形態(トポロジー)を学習する。LSP交換において、各パケット転送装置1は、自装置が生成したLSPフレーム及び他装置から受信したLSPフレームを、全ポートに出力(つまり、フラッディング)する。これにより、パケット転送装置1は、ネットワークの全体構成を学習するとともに、各ノード間のリンクのコスト、つまりリンクコストを取得する。
リンクコストは、図1に示されるように(「コスト」参照)、通信経路の最小単位となるリンクごとに決定されるパラメータである。図2には、リンクコストの一例を示す表である。リンクコストは、例えば、リンクの通信速度に応じて、1〜5の値を有し、通信速度が高いほど低い。
各パケット転送装置1は、SPFアルゴリズムを用いて、リンクコストに基づき、他ノードまでの最短の通信経路を自律的に算出する。例えば、RB#1のパケット転送装置1は、RB#9までの通信経路として、リンクコストの合計が最小となるように、RB#2,RB#5,及びRB#8の順に経由する経路を算出する。このときのリンクコストは、5(=1+1+1+2)である。
また、RB#1のパケット転送装置1は、RB#6までの通信経路として、RB#2及びRB#3を順に経由する経路P1と、RB#2及びRB#5を順に経由する経路P2とを算出する。経路P1,P2は、リンクコストの合計が、ともに5であるため、ECMPとして取り扱われる。このため、パケット転送装置1は、後述するように、パケットを、VLAN IDに応じて経路P1,P2に振り分けて転送する。
(パケットの振り分け)
次に、パケットのECMPへの振り分けについて述べる。図3は、ECMPの一例を示すネットワーク構成図である。本例のネットワークは、ノードES#1,ES#2,RB#1〜RB#6を含む。ノードES#1,ES#2には、エンドステーション2(例えば、サーバー)が設けられ、ノードRB#1〜RB#6には、パケット転送装置1が設けられている。
図3において、ノードRB#1〜RB#6の枠内の数字(「1」〜「3」)は、パケット転送装置1のポート番号(ポート#1〜#3)を示す。本例の接続構成を述べると、ノードRB#1のパケット転送装置1は、ポート#1を介してノードRB#2と接続され、ポート#2を介してノードRB#3と接続され、ポート#3を介してノードES#1と接続されている。
ノードRB#2のパケット転送装置1は、ポート#1を介してノードRB#1と接続され、ポート#2を介してノードRB#4と接続され、ポート#3を介してノードRB#5と接続されている。ノードRB#3のパケット転送装置1は、ポート#1を介してノードRB#1と接続され、ポート#2を介してノードRB#5と接続され、ポート#3を介してノードRB#4と接続されている。
ノードRB#4のパケット転送装置1は、ポート#1を介してノードRB#2と接続され、ポート#2を介してノードRB#6と接続され、ポート#3を介してノードRB#3と接続されている。ノードRB#5のパケット転送装置1は、ポート#1を介してノードRB#3と接続され、ポート#2を介してノードRB#6と接続され、ポート#3を介してノードRB#2と接続されている。ノードRB#6のパケット転送装置1は、ポート#1を介してノードRB#4と接続され、ポート#2を介してノードRB#5と接続され、ポート#3を介してノードES#2と接続されている。
各ノードRB#1〜#6のパケット転送装置1は、上記のSPFに基づき、ノードES#1,#2間の通信経路として、ECMPである4つの通信経路P10,P11,P20,P21(点線参照)を算出する。各パケット転送装置1は、パケットを識別するために、パケットに付与されたVLAN IDを各通信経路P10,P11,P20,P21に、自律的に割り当てる。
図4には、通信経路P10,P11,P20,P21に対するVLAN IDの割り当てが示されている。通信経路P10は、ノードRB#1,RB#2,RB#4,RB#6を順に経由する。通信経路P10には、VLAN IDとして、8n,8n+2(n=0,1,2,・・・,511)が割り当てられる。
通信経路P11は、ノードRB#1,RB#2,RB#5,RB#6を順に経由する。通信経路P11には、VLAN IDとして、8n+1,8n+3が割り当てられる。
通信経路P21は、ノードRB#1,RB#3,RB#4,RB#6を順に経由する。通信経路P21には、VLAN IDとして、8n+5,8n+7が割り当てられる。
通信経路P20は、ノードRB#1,RB#3,RB#5,RB#6を順に経由する。通信経路P20には、VLAN IDとして、8n+4,8n+6が割り当てられる。
したがって、図3に示されるように、VLAN ID=8,10のパケットは、通信経路P10に従って転送され、VLAN ID=9,11のパケットは、通信経路P11に従って転送される。また、VLAN ID=13,15のパケットは、通信経路P20に従って転送され、VLAN ID=12,14のパケットは、通信経路P21に従って転送される。
なお、ノードRB#1は、通信経路P10,P11,P20,P21のデータ入力側に位置するため、イングレスRBと呼ばれ、ノードRB#6は、通信経路P10,P11,P20,P21のデータ出力側に位置するため、イーグレスRBと呼ばれる。また、ノードRB#2〜RB#5は、通信経路P10,P11,P20,P21のデータ中継点に位置するため、トランジットRBと呼ばれる。
また、本実施例では、VLAN IDに基づいて、パケットをECMPに振り分ける例を挙げるが、これに限定されない。例えば、イーサネットフレームのヘッダ内のDA(Destination Address)及びSA(Source Address)、またはIP(Internet Protocol)パケットの宛先IPアドレス及び送信元IPアドレスなどに基づいて、パケットをECMPに振り分けてもよい。
このように、パケット転送装置1は、自律的に通信経路P10,P11,P20,P21を設定するが、様々な要求や状況に対応できるように、CLIなどのコマンド入力手段を介して、操作者から受け付けたコマンド入力に従い、経路を変更できる。以下に、通信経路の変更例を挙げて説明する。
(コマンド入力による通信経路の変更例(1))
本変更例では、上記の通信経路P10,P11,P20,P21に流れるトラフィックの帯域を、通信経路間で調整することを目的として、通信経路を変更する場合を示す。なお、帯域とは、リンクの通信速度ではなく、ネットワークの利用者が、利用にあたって保証された契約帯域である。
図5は、コマンド入力による通信経路の変更例(1)を示すネットワーク構成図である。図3と比較すると理解されるように、本変更例では、VLAN ID=10の通信経路P10が、他の通信経路P21に変更されている。
図6には、変更前後の通信経路P10,P11,P20,P21ごとの帯域合計が示されている。図6において、VLAN IDごとの帯域は、[ ]内に記載されている。
変更前において、通信経路P10,P11,P20,P21の帯域合計は、それぞれ、600(Mbps)、400(Mbps)、300(Mbps)、400(Mbps)である。一方、変更後、通信経路P10,P11,P20,P21の帯域合計は、それぞれ、500(Mbps)、400(Mbps)、400(Mbps)、400(Mbps)である。
このように、本変更例では、コマンド入力による通信経路の変更により、通信経路P10,P21の帯域の差分が、300(Mbps)から100(Mbps)となり、該通信経路間の帯域のバランスが調整される。
(コマンド入力による通信経路の変更例(2))
本変更例では、ノードRB#5のパケット転送装置1の保守作業を行うため(「保守作業」参照)、ノードRB#5を含む通信経路P11,P20がパケット転送に使用されないように、当該VLAN ID=9,11,12,14の通信経路を変更する。
図7は、コマンド入力による通信経路の変更例(2)を示すネットワーク構成図である。本変更例では、VLAN ID=9,11は通信経路P10に割り当てられ、VLAN ID=12,14は通信経路P21に割り当てられる。なお、図7において、通信経路P11,P20に付された「VLAN ID=NONE」の表記は、VLAN IDが割り当てられていないことを表す。
図8には、比較例として、変更前後及びリンク断後の通信経路に対するVLAN IDの割り当てが示されている。変更前後のVLAN IDの割り当てを比較すると理解されるように、VLAN ID=9,11,12,14の通信経路が変更される。また、比較例において、各パケット転送装置1は、ネットワーク内の何れかのノード間におけるリンク断の検出を契機として、通信経路の設定を変更前の状態に戻す。
図9は、比較例として、リンク断後の通信経路を示すネットワーク構成図である。ノードRB#5のパケット転送装置1の保守作業を行うために、ノードRB#5のパケット転送装置1及びノードRB#3のパケット転送装置1の間のLANケーブル(または光ファイバ)を装置から取り外すと、リンク断が発生する(×印参照)。リンク断の発生は、上記のLSPフレームにより、ノードRB#3,#5のパケット転送装置1から、リンク障害として、ネットワーク内の発生箇所を示す情報とともに、他のノードRB#1,RB#2,RB#4,RB#6のパケット転送装置1に通知される。
各パケット転送装置1は、リンク障害が検出されると、VLAN ID=9,11の通信経路P10を、自律的に設定した通信経路P11に切り替える。なお、VLAN ID=12,14の通信経路P21は、自律的に設定した通信経路P20が、リンク障害が発生したリンクを含むので、切り替えられない。
このように、比較例において、パケット転送装置1は、リンク障害の発生を契機として、通信経路の再計算を行うことにより、VLAN ID=9,11についてコマンド入力で設定された通信経路P10を、自律的に設定した通信経路P11に切り替える。このため、VLAN ID=9,11のパケットの通信が瞬断してしまう。
(実施例)
実施例に係るパケット転送装置1は、コマンド入力で設定された通信経路上の次ノードとの間におけるリンク障害の有無に応じ、パケットの転送先を、自律的に設定した通信経路上の次ノードに切り替えるか否かを判定することにより、通信経路の制御を改善する。以下に、このパケット転送方法について、例を挙げて詳細に述べる。
図10は、初期状態における通信経路の一例を示すネットワーク構成図である。図10において、図3と共通する構成については、同一の符号を付し、その説明を省略する。
図10は、VLAN ID=10のパケットの通信経路を、自律的に設定された通信経路P10から、操作者のコマンド入力で通信経路P21に変更した例を示す。各パケット転送装置1は、通信経路に応じて、パケットの転送先のノードを選択する。
より具体的には、各パケット転送装置1は、コマンド入力で設定された通信経路が存在しない場合、自律的に設定した通信経路上の次ノードを、パケットの転送先ノードとする。一方、コマンド入力で設定された通信経路が存在する場合、各パケット転送装置1は、コマンド入力で設定された通信経路上の次ノードを、パケットの転送先ノードとする。すなわち、各パケット転送装置1は、通信経路に応じて、パケットの転送先ノードを決定する。
例えば、ノードRB#1,#3のパケット転送装置1は、VLAN ID=10について、コマンド入力で設定された通信経路上の次ノードRB#3,#4をそれぞれ転送先ノードとする。また、ノードRB#4のパケット転送装置1は、VLAN ID=10について、自律的に設定した通信経路上の次ノードRB#6を転送先ノードとする。これにより、ノードRB#1,#3,#4を順に経由する通信経路P21が形成される。
また、ノードRB#1,#2のパケット転送装置1は、符号R10で示されるように、転送先ノードとして選択しないが、自律的に設定した通信経路上の次ノードRB#2,#4の設定をそれぞれ保持する。これと同様に、ノードRB#3,#5のパケット転送装置1は、符号R20で示されるように、転送先ノードとして選択しないが、自律的に設定した通信経路上の次ノードRB#5,#6の設定をそれぞれ保持する。
つまり、符号R10,R20で示された通信経路は、ノードRB#1,#2,#5,#6のパケット転送装置1において、設定として保持されるだけであって、トラフィックが流れない。なお、リンクごとの径路の種類は、図10中の「注」に表記されるとおり、線種により区別される。
各パケット転送装置1は、装置内に記憶したルーティングテーブルに基づいて、転送先ノードを選択する。図11には、図10の状態における各ノードRB#1〜#5のルーティングテーブルの設定が示されている。なお、図11は、ルーティングテーブルに、VLAN ID=11についてのみ設定された例を示すが、他のVLAN IDについての設定も同様に存在する。
図11において、「ノード」は、パケット転送装置1が設置されたノードRB#1〜#5を表す。つまり、「ノード」は、ルーティングテーブルの所在、つまり、何れのノードのパケット転送装置1が保持するルーティングテーブルかを表す。
「VLAN ID」は、通信経路に割り当てるパケットのVLAN IDを表す。「次ノードID」は、当該通信経路上の次ノードの識別子、つまりパケットの転送先の識別子を表す。「有効/無効」設定は、上記の「次ノードID」が、有効であるか、または無効であるかを示す。
「優先度」は、上記の「VLAN ID」及び「次ノードID」の優先度を示す。優先度が「高」である次ノードID(第1識別子)は、当該VLAN IDについて、コマンド入力で設定された通信経路上の次ノードを示す。一方、優先度が「低」である次ノードID(第2識別子)は、当該VLAN IDについて、自律的に設定された通信経路上の次ノードを示す。次ノードIDは、各パケット転送装置1において、ポート識別子(ポート#1〜#3)に対応付けられる。
各パケット転送装置1は、優先度が「低」である次ノードIDより優先的に、優先度が「高」である次ノードIDを、パケットの転送先ノードとする。つまり、各パケット転送装置1は、自装置のルーティングテーブルに、優先度が「高」である有効な次ノードIDが存在する場合、当該次ノードIDを、パケットの転送先ノードとする。一方、自装置のルーティングテーブルに、優先度が「高」である次ノードIDが存在しない場合、または、優先度が「高」である次ノードIDが無効である場合、優先度が「低」である次ノードIDを、パケットの転送先ノードとする。
ノードRB#1,#3のパケット転送装置1は、自装置のルーティングテーブルに、優先度が「高」である有効な次ノードIDが存在するので、コマンド入力で設定された通信経路上の次ノードRB#3,RB#4をそれぞれ転送先ノードとする。また、ノードRB#1,RB#3のルーティングテーブルには、優先度が「低」である有効な次ノードIDRB#2,#3が設定として保持されているが、当該経路には、上述したようにトラフィックが流れない。
一方、他のノードRB#2,#4,#5のパケット転送装置1は、自装置のルーティングテーブルに、優先度が「高」である次ノードIDが存在しないので、優先度が「低」である次ノードIDが示すノードRB#4,RB#6,RB#6をそれぞれ転送先ノードとする。つまり、ノードRB#2,#4,#5のパケット転送装置1は、自律的に設定された通信経路上の次ノードRB#4,#6,#6をそれぞれ転送先ノードとする。なお、ノードRB#2、#5の次ノードIDは、設定として保持されるだけであって、当該経路には、上述したようにトラフィックが流れない。
図12は、リンク障害発生後の通信経路の例(1)を示すネットワーク構成図である。本例では、ノードRB#1及びノードRB#3の間においてリンク障害が発生した場合を挙げる。このリンク障害により、ノードRB#1、ノードRB#3、及びノードRB#4を経由する経路R21には、トラフィックが流れなくなる。
ノードRB#1のパケット転送装置1は、コマンド入力で設定された通信経路上の次ノードRB#3との間でリンク障害が発生したので、符号K1で示されるように、転送先ノードを、ノードRB#3からノードRB#2に切り替える(「切り替え:有」参照)。これにより、VLAN ID=10の通信経路は、経路P21(図10参照)から経路P10に変更されるので、リンク障害が回避される。
一方、ノードRB#3のパケット転送装置1は、転送先ノードを切り替えることなく、ノードRB#4に維持する(「切り替え:無」参照)。このため、例えば、ノードRB#3及びノードRB#4間の経路R21の設定を、リンク障害の復旧後に元の通信経路P21に戻す場合に備え、保持することが可能である。もっとも、経路R21は、設定として存在するだけで、トラフィックは流れない。なお、リンクごとの径路の種類は、図12中の「注」に表記されるとおり、線種により区別される。
図13には、図12の状態における各ノードRB#1〜#5のルーティングテーブルの設定例(1)が示されている。ノードRB#1のパケット転送装置1は、リンク障害の発生に応じて、優先度が「高」である次ノードIDを無効化(「有効/無効」=「無効」)する。このため、ノードRB#1のパケット転送装置1は、優先度が「低」である次ノードIDが示すノードRB#2、つまり自律的に設定した通信経路上の次ノードRB#2を、転送先ノードとして選択する。これにより、VLAN ID=10の通信経路は、経路P21(図10参照)から経路P10に変更される。
また、リンク障害が復旧したとき、パケット転送装置1は、通信経路を、リンク障害の発生前の状態に戻すか否かを、操作者からのコマンド入力で設定された経路復旧設定に従って選択してもよい。例えば、パケット転送装置1は、端末装置からコマンド「path_recovery_enable 」が入力されると、経路復旧設定を「有」とする。この場合、ノードRB#1のパケット転送装置1は、リンク障害の復旧後、「有効/無効」設定を「有効」に変更することにより、優先度が「高」の次ノードIDを有効化(図11参照)する。
これにより、リンク障害の復旧後、VLAN ID=10の通信経路は、経路P10(図12参照)から経路P21(図10参照)に戻される。つまり、コマンド入力で設定された通信経路上の次ノードとの間におけるリンク障害の復旧が検出された場合、パケットの転送先が、コマンド入力で設定された通信経路上の次ノードに戻される。したがって、リンク障害の復旧後、コマンド入力で設定した通信経路を再設定する手間が省かれる。
一方、パケット転送装置1は、コマンド「path_recovery_disable 」が入力されると、経路復旧設定を「無」とする。この場合、ノードRB#1のパケット転送装置1は、リンク障害の復旧後、「有効/無効」設定を「無効」に維持し、リンク障害の復旧後も、VLAN ID=10の通信経路を、経路P10(図12参照)のままとする。
このように、経路復旧設定が「無」である場合、リンク障害の復旧後、通信経路は、リンク障害発生前の状態に戻らない。したがって、この場合、ノードRB#1のパケット転送装置1は、リンク障害発生時、優先度が「高」である次ノードIDを削除してもよい。
図14には、図12の状態における各ノードRB#1〜#5のルーティングテーブルの設定例(2)が示されている。この場合、ノードRB#1のパケット転送装置1は、リンク障害発生時、優先度が「高」である次ノードIDを削除する。これにより、図13の場合と同様に、ノードRB#1のパケット転送装置1は、優先度が「低」である次ノードIDが示すノードRB#2を、転送先ノードとして選択し、VLAN ID=10の通信経路は、経路P21(図10参照)から経路P10に変更される。
また、図15は、リンク障害発生後の通信経路の例(2)を示すネットワーク構成図である。本例では、ノードRB#3及びノードRB#4の間においてリンク障害が発生した場合を挙げる。このリンク障害により、ノードRB#3及びノードRB#4の間の経路R11には、トラフィックが流れなくなる。なお、リンクごとの径路の種類は、図15中の「注」に表記されるとおり、線種により区別される。
ノードRB#3のパケット転送装置1は、コマンド入力で設定された通信経路上の次ノードRB#4との間でリンク障害が発生したので、転送先ノードを、符号K2で示されるように、ノードRB#4からノードRB#5に切り替える(「切り替え:有」参照)。これにより、VLAN ID=10の通信経路は、経路P21(図10参照)から経路P20に変更されるので、リンク障害が回避される。
一方、ノードRB#1のパケット転送装置1は、ノードRB#3のパケット転送装置1において転送先ノードが切り替えられたので、転送先ノードを切り替えることなく(「切り替え:無」参照)、ノードRB#3に維持する。
図16には、図15の状態における各ノードのルーティングテーブルの設定例(1)が示されている。ノードRB#3のパケット転送装置1は、リンク障害の発生に応じて、優先度が「高」である次ノードIDを無効化(「有効/無効」設定=「無効」)する。このため、ノードRB#3のパケット転送装置1は、優先度が「低」である次ノードIDが示すノードRB#5、つまり自律的に設定した通信経路上の次ノードRB#5を、転送先ノードとして選択する。これにより、VLAN ID=10の通信経路は、経路P21(図10参照)から経路P20に変更される。
リンク障害の復旧後、上記の経路復旧設定が「有」である場合、ノードRB#1のパケット転送装置1は、「有効/無効」設定を「有効」に変更することにより、優先度が「高」である次ノードIDを有効化(図11参照)する。これにより、リンク障害の復旧後、VLAN ID=10の通信経路は、経路P20(図15参照)から経路P21(図10参照)に戻される。一方、経路復旧設定が「無」である場合、VLAN ID=10の通信経路を、経路P20のままとするため、ノードRB#1のパケット転送装置1は、リンク障害発生時、優先度が「高」である次ノードIDを削除してもよい。
図17には、図15の状態における各ノードRB#1〜RB#5のルーティングテーブルの設定例(2)が示されている。この場合、ノードRB#3のパケット転送装置1は、リンク障害発生時、優先度が「高」である次ノードIDを削除する。これにより、図15の場合と同様に、ノードRB#3のパケット転送装置1は、優先度が「低」である次ノードIDが示すノードRB#5を、転送先ノードとして選択し、VLAN ID=10の通信経路は、経路P21(図10参照)から経路P20に変更される。
図18は、リンク障害発生後の通信経路の例(3)を示すネットワーク構成図である。本例では、ノードRB#3及びノードRB#5の間においてリンク障害が発生した場合を挙げる。なお、リンクごとの径路の種類は、図18中の「注」に表記されるとおり、線種により区別される。
ノードRB#1,#3のパケット転送装置1は、リンク障害の発生箇所が、コマンド入力で設定された通信経路上の次ノードとの間ではなく、VLAN ID=10のパケットの通信に影響はないので、転送先ノードを切り替えない。つまり、ノードRB#1,#3のパケット転送装置1は、転送先ノードとして、ノード#3、#4をそれぞれ維持する。このため、本例におけるルーティングテーブルは、図11に示されたとおりである。
このように、ネットワーク内の複数のノードRB#1〜#6の少なくとも1つにおいて、操作者から受け付けたコマンド入力で設定された通信経路上の次ノードにパケットを転送する。そして、コマンド入力で設定された通信経路上の次ノードとの間におけるリンク障害が検出された場合、パケットの転送先は、自律的に設定した通信経路上の次ノードに切り替えられる。また、ネットワーク内の他の箇所のリンク障害が検出された場合、パケットの転送先は維持される。
したがって、リンク障害の発生により、コマンド入力で設定された通信経路を介した通信が不可能となった場合、リンク障害を回避するように通信経路が切り替えられ、通信が継続される。一方、リンク障害が発生しても、コマンド入力で設定された通信経路を介した通信が可能である場合、パケットの転送先は、切り替えられずに維持されるので、該通信経路も維持され、利便性が向上する。つまり、この場合、図9を参照して述べたような問題は発生しない。
次に、実施例に係るパケット転送装置1の構成を述べる。図19は、パケット転送装置1の機能構成を示す構成図である。
パケット転送装置1は、プロセッサ10と、不揮発性メモリ11と、CLI処理部12と、内部メモリ14を有するスイッチ部13と、複数のポート15とを有する。複数のポート15は、LANケーブルや光ファイバを接続するコネクタ、及び、物理レイヤ及びMACレイヤの処理を行うPHY/MACチップなどを有する。複数のポート15は、ネットワーク内の複数のノードES#1,ES#2,RB#1〜#6とそれぞれ接続され、パケットを送受信する。
スイッチ部13は、上記のルーティングテーブルに従って複数のポート15間でパケットを交換する。これにより、複数のノードES#1,ES#2,RB#1〜#6間においてパケットが転送される。
内部メモリ(記憶部)14は、ルーティングテーブルを記憶する。ルーティングテーブル内の次ノードIDは、ポート15と1対1の関係で対応する。このため、スイッチ部13は、内部メモリ14に記憶したルーティングテーブルを参照し、パケットのVLAN IDに応じて転送先ノードとして選択した次ノードIDに対応するポート15に、パケットを転送する。なお、内部メモリ14に代えて、スイッチ部13の外部に設けられたメモリを使用してもよい。
プロセッサ10は、CPU(Central Processing Unit)などの演算処理回路であり、パケット転送装置1の全体の動作を制御する。不揮発性メモリ11は、例えばフラッシュメモリであり、プロセッサ10を駆動するプログラムなどを記憶する。プロセッサ10は、起動時に不揮発性メモリ11からプログラムを読み出して動作する。なお、図示を省略するが、プロセッサ10は、動作に使用するワークメモリを有する。
プロセッサ10は、プログラムを読み込むことにより、機能として、設定処理部100及び障害検出部101が形成される。設定処理部100は、スイッチ部13の内部メモリ14にアクセスすることにより、ルーティングテーブルを設定する。設定処理部100は、図1及び図2を参照して述べたSPF及びECMPの機能を実行し、自律的に通信経路を設定する。設定処理部100は、自律的に通信経路を設定した場合、ルーティングテーブルの優先度が「低」の次ノードIDを設定する。なお、設定処理部100及び障害検出部101は、ソフトウェアに限定されず、ハードウェアにより構成されてもよい。
CLI処理部(受付部)12は、操作者からコマンド入力を受け付ける。CLI処理部は、LANケーブルなどを介して外部の端末装置16と接続され、操作者が端末装置16を用いて入力したコマンドを処理して、処理内容をプロセッサ10に出力する。なお、端末装置16としては、パーソナルコンピュータなどが挙げられる。
設定処理部100は、複数のノードのうち、コマンド入力で設定された通信経路上の次ノードにパケットが転送されるように、ルーティングテーブルを設定する。つまり、設定処理部100は、コマンド入力に従って、ルーティングテーブル内の優先度が「高」の次ノードIDを設定する。
また、設定処理部100は、コマンド入力に従って、上記の経路復旧設定を設定する。設定処理部100は、経路復旧設定を「有」に設定した場合、リンク障害の復旧後、通信経路がリンク障害発生前の状態に戻るように、ルーティングテーブルを設定し、経路復旧設定を「無」に設定した場合、ルーティングテーブルの設定を維持する。
障害検出部101は、ネットワーク内のリンク障害を検出する。スイッチ部13は、LSPフレームを受信した場合、LSPフレームを設定処理部100に出力する。障害検出部101は、LSPフレームに含まれる情報から、リンク障害の発生及び発生箇所、またはリンク障害の復旧及び復旧箇所を検出する。
次に、実施例に係るパケット転送装置1の動作を説明する。図20は、パケットの転送処理を示すフローチャートである。この処理は、VLAN IDごとに実行される。
スイッチ部13は、内部メモリ14内のルーティングテーブルを参照し、コマンド入力で設定された通信経路の次ノードIDが存在するか否かを検出する(ステップSt1)。つまり、スイッチ部13は、ルーティングテーブルに、優先度が「高」である次ノードIDが存在するか否かを確認する。
コマンド入力で設定された通信経路の次ノードIDが存在する場合(ステップSt1のYES)、スイッチ部13は、該次ノードIDの「有効/無効」設定が「有効」であるか否かを検出する(ステップSt2)。「有効/無効」設定が「有効」である場合(ステップSt2のYES)、スイッチ部13は、パケットを、コマンド入力で設定された通信経路上の次ノードに転送する(ステップSt3)。つまり、スイッチ部13は、パケットを、優先度が「高」である次ノードIDに対応するポートに出力する。
また、コマンド入力で設定された通信経路の次ノードIDが存在しない場合(ステップSt1のNO)、スイッチ部13は、パケットを、自律的に設定された通信経路上の次ノードに転送する(ステップSt4)。つまり、スイッチ部13は、パケットを、優先度が「低」である次ノードIDに対応するポートに出力する。この処理は、「有効/無効」設定が「無効」である場合(ステップSt2のNO)も同様に行われる。このようにして、パケットの転送処理は行われる。
このように、スイッチ部は、優先度が「低」である次ノードIDより優先的に、優先度が「高」である次ノードIDに従って複数のポート15間でパケットを交換する。このため、パケットは、ルーティングテーブルに、コマンド入力で設定された有効な通信経路が存在する場合、該通信経路上の次ノードに転送され、そうでない場合、自律的に設定された通信経路上の次ノードに転送される。したがって、本実施例では、ルーティングテーブルに含まれる次ノードIDに従って、容易に転送先ノードが決定される。
図21は、リンク障害発生時の通信経路の制御処理を示すフローチャートである。障害検出部101は、LSPフレームに基づき、リンク障害を検出したか否かを判定する(ステップSt11)。リンク障害を検出していない場合(ステップSt11のNO)、処理は終了する。
リンク障害を検出した場合(ステップSt11のYES)、障害検出部101は、LSPフレームに基づき、リンク障害が、コマンド入力で設定された通信経路上の次ノードとの間で発生したか否かを判定する(ステップSt12)。リンク障害が、ネットワーク内の他の箇所で発生した場合(ステップSt12のNO)、処理は終了する。
リンク障害が、コマンド入力で設定された通信経路上の次ノードとの間で発生した場合(ステップSt12のYES)、設定処理部100は、経路復旧設定が「有」であるか否かを判定する(ステップSt13)。経路復旧設定が「有」である場合(ステップSt13のYES)、設定処理部100は、コマンド入力で設定された通信経路上の次ノードIDの「有効/無効」設定を「無効」に変更する(ステップSt14)。つまり、設定処理部100は、優先度が「高」である次ノードIDを無効化する。
経路復旧設定が「無」である場合(ステップSt13のNO)、設定処理部100は、コマンド入力で設定された通信経路上の次ノードIDを、ルーティングテーブルから削除する(ステップSt15)。つまり、設定処理部100は、ルーティングテーブルから、優先度が「高」である次ノードIDを削除する。このようにして、リンク障害発生時の通信経路の制御処理は行われる。
ステップSt14、St15の処理が行われると、スイッチ部13は、図20に示されたフローに従い、パケットを、優先度が「低」である次ノードIDに対応するポートに出力する。一方、ステップSt14、St15の処理が行われなければ、スイッチ部13は、図20に示されたフローに従い、パケットを、優先度が「高」である次ノードIDに対応するポートに出力する。
このように、設定処理部100は、障害検出部101が、コマンド入力で設定された通信経路上の次ノードとの間におけるリンク障害を検出した場合、ルーティングテーブルから、優先度が「高」である次ノードIDを削除し、または無効化する。このため、パケットの転送先が、自律的に設定された通信経路上の次ノードに切り替わるので、リンク障害が回避される。
一方、設定処理部100は、障害検出部101が、ネットワーク内の他の箇所のリンク障害を検出した場合、ルーティングテーブルの設定を維持する。このため、パケットの転送先が、自律的に設定された通信経路上の次ノードに切り替わることなく、コマンド入力で設定された通信経路上の次ノードに転送される。したがって、図9を参照して述べたような問題を生ずることはないので、利便性が向上する。
図22は、リンク障害復旧時の通信経路の制御処理を示すフローチャートである。障害検出部101は、LSPフレームに基づき、リンク障害の復旧を検出したか否かを判定する(ステップSt21)。リンク障害の復旧を検出していない場合(ステップSt21のNO)、処理は終了する。
障害検出部101がリンク障害の復旧を検出した場合(ステップSt21のYES)、設定処理部100は、経路復旧設定が「有」であるか否かを判定する(ステップSt22)。経路復旧設定が「無」である場合(ステップSt22のNO)、処理は終了する。
経路復旧設定が「有」である場合(ステップSt22のYES)、設定処理部100は、コマンド入力で設定された通信経路上の次ノードIDの「有効/無効」設定を「有効」に変更する(ステップSt23)。つまり、設定処理部100は、ルーティングテーブルにおいて、優先度が「高」である次ノードIDを有効化する。このようにして、リンク障害復旧時の通信経路の制御処理は行われる。
このように、設定処理部100は、障害検出部101が、コマンド入力で設定された通信経路上の次ノードとの間におけるリンク障害の復旧を検出した場合、優先度が「高」である次ノードIDを有効化する。このため、リンク障害の復旧後、通信経路は、リンク障害の発生前の状態(コマンド入力で設定された通信経路)に戻る。したがって、リンク障害の復旧後、コマンド入力で設定した通信経路を再設定する手間が省かれる。
(VLAN IDに応じた転送先ノードの決定方法)
次に、VLAN IDに応じた転送先ノードの決定方法について述べる。この決定方法は、各パケット転送装置1の設定処理部100において自律的に実行される。設定処理部100は、決定した転送先ノードを、ルーティングテーブルにおいて、優先度が「低」である次ノードIDとして設定する。
転送先ノードの決定方法は、パケット転送装置1のノードが、イングレスRBであるか、またはトランジットRBであるかに応じて異なる。以下に、イングレスRBの場合及びトランジットRBである場合に分けて、転送先ノードの決定方法を例示する。本例では、自的に決定された4つの通信経路(ECMP)に、8つのVLAN ID=8〜15を振り分けることにより、図3に示された通信経路を得る場合を示す。
図23には、イングレスRBにおける転送先ノードの決定方法が示されている。まず、図23(a)に示されるように、VLAN IDを、2進数表示時(「VLAN ID(bin.)」参照)の下位3ビットに基づいて、8つのパタン「001」〜「111」に分ける。
次に、図23(b)に示されるように、パタンの各々に、ECMP数(1〜8)に応じた出力先番号を割り当てる。ECMP数は、自律的に決定された通信経路上の次ノードの数である。図3を参照すると、イングレスRBであるノードRB#1は、次ノードとして、RB#2及びRB#3を有するため、そのECMP数は2である。
出力先番号(1〜8)は、ECMP数分の出力先を互いに区別するための番号である。出力先番号は、降順に並んだパタンをECMP数分ずつ均等に分けて得たグループごとに、同一番号となるように割り当てられる。例えば、ECMP数が2の場合、パタン「001」〜「011」には、出力先番号「1」が割り当てられ、パタン「100」〜「111」には、出力先番号「2」が割り当てられる。なお、ECMP数が1の場合、全パタン「000」〜「111」には、出力先番号「1」が割り当てられる。
次に、図23(c)に示されるように、各パタンに次ノードIDを割り当てる。図23(c)は、図3中のノードRB#1の場合の割り当てを示す。出力先番号は、番号の並び順に従って次ノードIDに対応付けられる。これにより、出力先番号「1」及び「2」は、ノードRB#2及びRB#3にそれぞれ対応付けられる。したがって、VLAN ID=8〜11(パタン「000」〜「011」)は、次ノードIDとしてRB#2が割り当てられ、VLAN ID=12〜15(パタン「011」〜「111」)は、次ノードIDとしてRB#3が割り当てられる。
図24には、トランジットRBにおける転送先ノードの決定方法が示されている。図24(a)に示されるように、図23(a)と同様にVLAN IDのパタン分けを行う。
次に、図24(b)に示されるように、パタンの各々に、ECMP数(1〜8)に応じた出力先番号を割り当てる。出力先番号は、降順で並んだパタンに、降順で繰り返されるように割り当てられる。例えば、ECMP数が2の場合、パタン「000」,「010」,「100」,「110」には、出力先番号「1」が割り当てられ、パタン「001」,「011」,「101」,「111」には、出力先番号「2」が割り当てられる。なお、ECMP数が1の場合、全パタン「000」〜「111」には、出力先番号「1」が割り当てられる。
次に、図24(c)に示されるように、各パタンに次ノードIDを割り当てる。図24(c)は、図3中のノードRB#2の場合の割り当てを示す。出力先番号は、番号の並び順に従って次ノードIDに対応付けられる。これにより、出力先番号「1」及び「2」は、ノードRB#4及びRB#5にそれぞれ対応付けられる。したがって、VLAN ID=8,10,12,14(パタン「000」,「010」,「100」,「110」)は、次ノードIDとしてRB#4が割り当てられる。また、VLAN ID=9,11,13,15(パタン「001」,「011」,「101」,「111」)は、次ノードIDとしてRB#5が割り当てられる。なお、他のノードに関しても、同様の手法で割り当てが行われる。
このように、設定処理部100は、自律的に設定した通信経路が複数存在する場合(ECMPが存在する場合)、パケットが各通信経路に均等に振り分けられるように、パケットの転送先として、VLAN IDに応じて通信経路上の次ノードを選択する。これにより、ECMPの各径路に、複数のVLAN IDを均等に振り分けることが可能となる。
(ネットワークの他例)
次に、ネットワークの他例を挙げて、実施例に係るパケット転送装置1の動作を説明する。図25は、ネットワークの他例における通信経路の初期状態を示すネットワーク構成図である。
ネットワークは、エンドステーション2が設置されたノードES#10,#11,#20,#21と、パケット転送装置1が設置されたノードRB#1〜RB#6とを含む。このネットワークにおいて、VLAN ID=9について、ノードES#10及びES#21間の通信経路P30と、ノードES#11及びES#22間の通信経路P31とが自律的に設定されている。つまり、このネットワークには、同一VLAN IDに関し、異なるECMPが混在する。通信経路P30は、ノードRB#1,#2,#4,#6を順に経由し、通信経路P31は、ノードRB#10,#1,#3,#5,#6を順に経由する。
図26には、図25の状態におけるノードRB#1のルーティングテーブルの設定が示されている。ルーティングテーブルは、ノード種別として、イングレスRB及びトランジットRBの場合の2種類が設けられている。パケット転送装置1は、例えば上記のLSP交換により、通信経路P30,31ごとに、自ノードがイングレスRB及びトランジットRBの何れかに該当するのかを判断できる。
ノードRB#1は、通信経路P30においてイングレスRBとして機能するので、通信経路P30に関し、「イングレスRB」のルーティングテーブルを参照する。「イングレスRB」のルーティングテーブルは、図23を参照して述べた転送先ノードの決定方法を用いて設定される。この設定に従い、ノードRB#1のパケット転送装置1は、ノードES#10からのパケットを、自律的に設定された通信経路上の次ノードRB#2に転送する。
一方、ノードRB#1は、通信経路P31においてトランジットRBとして機能するので、通信経路P31に関し、「トランジットRB」のルーティングテーブルを参照する。「トランジットRB」のルーティングテーブルは、図24を参照して述べた転送先ノードの決定方法を用いて設定される。この設定に従い、ノードRB#1のパケット転送装置1は、ノードES#11からのパケットを、自律的に設定された通信経路上の次ノードRB#3に転送する。なお、図25は、VLAN ID=8以外の通信経路の図示が省略されている。
図27は、コマンド入力で変更した通信経路の例を示すネットワーク構成図である。本例では、コマンド入力により、ノードES#10及びES#21間の通信経路P30が、他の通信経路P32に変更されている。通信経路P32は、ノードRB#1,#3,#5,#6を順に経由する。
図28には、図27の状態におけるノードRB#1のルーティングテーブルの設定を示されている。「イングレスRB」のルーティングテーブルにおいて、VLAN ID=9について、優先度が「高」である次ノードIDに、RB#3が設定されている。これにより、ノードRB#1のパケット転送装置1は、ノードES#10からのパケットを、コマンド入力で設定された通信経路上の次ノードRB#3に転送する。なお、「トランジットRB」のルーティングテーブルは変更されていないため、ノードES#11及びES#22間の通信経路P31に変更はない。
図29は、リンク断後の通信経路の例を示すネットワーク構成図である。本例では、ノードRB#1及びRB#3の間においてリンク断が発生し、ノードES#10及びES#21間の通信経路P32が、自律的に設定された通信経路P30に変更されている。また、ノードES#11及びES#22間の通信経路P31は、リンク断により通信が不能となるため、自律的に設定された他の通信経路P33に変更される。
図30には、図29の状態におけるノードRB#1のルーティングテーブルの設定が示されている。「イングレスRB」のルーティングテーブルにおいて、優先度が「高」の次ノードIDの設定は削除される。ここで、経路復旧設定は、「無」に設定されているとする。これにより、ノードES#10及びES#21間の通信経路P32が、自律的に設定された通信経路P30に切り替えられる。
また、「イングレスRB」のルーティングテーブルにおいて、VLAN ID=12〜15の次ノードIDの設定が、RB#3からRB#2に変更される。これにより、他のVLAN IDの通信経路は、リンク障害を回避するように、自律的に設定された他の経路に切り替えられる。これと同様に、「トランジットRB」のルーティングテーブルにおいて、LAN ID=9,11,13,15の次ノードIDの設定が、RB#3からRB#2に変更される。
このように、異なるECMPが混在する場合でも、パケット転送装置1は、効果的に通信経路を制御することができる。
これまで述べたように、実施例に係るパケット転送装置1は、複数のポート15と、スイッチ部13と、CLI処理部12と、設定処理部100と、障害検出部101とを有する。複数のポート15は、ネットワーク内の複数のノードとそれぞれ接続され、パケットを送受信する。
スイッチ部13は、ルーティングテーブルに従って複数のポート15間でパケットを交換する。CLI処理部12は、操作者からコマンド入力を受け付ける。
設定処理部100は、複数のノードのうち、コマンド入力で設定された通信経路上の次ノードにパケットが転送されるように、ルーティングテーブルを設定する。障害検出部101は、ネットワーク内のリンク障害を検出する。
設定処理部100は、障害検出部101が、コマンド入力で設定された通信経路上の次ノードとの間におけるリンク障害を検出した場合、パケットの転送先を、自律的に設定した通信経路上の次ノードに切り替えるように、ルーティングテーブルの設定を変更する。設定処理部100は、障害検出部101が、ネットワーク内の他の箇所のリンク障害を検出した場合、ルーティングテーブルの設定を維持する。
実施例に係るパケット転送装置1によると、スイッチ部13は、ルーティングテーブルに従って複数のポート15間でパケットを交換するので、複数のノード間においてパケットを転送できる。設定処理部100は、複数のノードのうち、コマンド入力で設定された通信経路上の次ノードにパケットが転送されるように、ルーティングテーブルを設定するので、操作者により任意に通信経路が設定される。
設定処理部100は、障害検出部101が、コマンド入力で設定された通信経路上の次ノードとの間におけるリンク障害を検出した場合、パケットの転送先を、自律的に設定した通信経路上の次ノードに切り替えるように、ルーティングテーブルの設定を変更する。このため、リンク障害の発生により、コマンド入力で設定された通信経路を介した通信が不可能となった場合、リンク障害を回避するように通信経路が切り替えられ、通信が継続される。
設定処理部100は、障害検出部101が、ネットワーク内の他の箇所のリンク障害を検出した場合、ルーティングテーブルの設定を維持する。このため、コマンド入力で設定された通信経路が維持され、利便性が向上する。したがって、実施例に係るパケット転送装置1によると、通信経路の制御が改善される。
また、実施例に係るパケット転送方法は、ネットワーク内の複数のノードの少なくとも1つにおいて、操作者から受け付けたコマンド入力で設定された通信経路上の次ノードにパケットを転送し、コマンド入力で設定された通信経路上の次ノードとの間におけるリンク障害が検出された場合、パケットの転送先を、自律的に設定した通信経路上の次ノードに切り替え、ネットワーク内の他の箇所のリンク障害が検出された場合、パケットの転送先を維持する方法である。
実施例に係るパケット転送方法は、上記のパケット転送装置1と同様の構成を有するので、上記の作用効果を奏する。
また、上述した実施例によると、TRILL技術に基づくプロトコルに従って自律的に経路制御を行いつつ、操作者が任意に通信経路を設定することができる。また、リンク障害が発生に伴う通信経路の再計算が行われた場合でも、操作者が設定した通信経路を可能な限り維持しつつ、動的な経路制御にも対応するので、柔軟なネットワークの提供が可能となる。
したがって、上述した実施例によると、TRILL技術に基づくプロトコルを用いて、SDN(Software Defined Network)、つまり、構成及び設定をソフトウェアだけで自在に変更可能な仮想的なネットワークを実現することが可能となる。例えば、ソフトウェアを用いて、ECMPの各通信径路に対して、帯域を可能な限り均等に割り当てるトラフィックエンジニアリングや、保守作業において、対象装置からトラフィックを問題なく退避させることが可能となる。
以上、好ましい実施例を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば、種々の変形態様を採り得ることは自明である。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1) ネットワーク内の複数のノードとそれぞれ接続され、パケットを送受信する複数のポートと、
ルーティングテーブルに従って前記複数のポート間で前記パケットを交換するスイッチ部と、
操作者からコマンド入力を受け付ける受付部と、
前記複数のノードのうち、前記コマンド入力で設定された通信経路上の次ノードに前記パケットが転送されるように、前記ルーティングテーブルを設定する設定処理部と、
前記ネットワーク内のリンク障害を検出する障害検出部とを有し、
前記設定処理部は、前記障害検出部が、前記コマンド入力で設定された通信経路上の次ノードとの間におけるリンク障害を検出した場合、前記パケットの転送先を、自律的に設定した通信経路上の次ノードに切り替えるように、前記ルーティングテーブルの設定を変更し、前記障害検出部が、前記ネットワーク内の他の箇所のリンク障害を検出した場合、前記ルーティングテーブルの設定を維持することを特徴とするパケット転送装置。
(付記2) 前記ルーティングテーブルは、前記コマンド入力で設定された通信経路上の次ノードを示す第1識別子、及び、前記設定処理部が自律的に設定した通信経路上の次ノードを示す第2識別子を含み、
前記スイッチ部は、前記第2識別子より優先的に、前記第1識別子に従って前記複数のポート間で前記パケットを交換し、
前記設定処理部は、前記障害検出部が、前記コマンド入力で設定された通信経路上の次ノードとの間におけるリンク障害を検出した場合、前記ルーティングテーブルから前記第1識別子を削除し、または前記第1識別子を無効化することを特徴とする付記1に記載のパケット転送装置。
(付記3) 前記設定処理部は、前記障害検出部が、前記コマンド入力で設定された通信経路上の次ノードとの間におけるリンク障害の復旧を検出した場合、前記第1識別子を有効化することを特徴とする付記2に記載のパケット転送装置。
(付記4) 前記パケットは、前記パケットを識別するためのパケット識別子が付与され、
前記設定処理部は、自律的に設定した通信経路が複数存在する場合、前記パケットが各通信経路に均等に振り分けられるように、前記パケットの転送先として、前記パケット識別子に応じて通信経路上の次ノードを選択することを特徴とする付記1乃至3の何れかに記載のパケット転送装置。
(付記5) ネットワーク内の複数のノードの少なくとも1つにおいて、操作者から受け付けたコマンド入力で設定された通信経路上の次ノードにパケットを転送し、
前記コマンド入力で設定された通信経路上の次ノードとの間におけるリンク障害が検出された場合、前記パケットの転送先を、自律的に設定した通信経路上の次ノードに切り替え、前記ネットワーク内の他の箇所のリンク障害が検出された場合、前記パケットの転送先を維持することを特徴とするパケット転送方法。
(付記6) 前記コマンド入力で設定された通信経路上の次ノードとの間におけるリンク障害の復旧が検出された場合、前記パケットの転送先を、前記コマンド入力で設定された通信経路上の次ノードに戻すことを特徴とする付記5に記載のパケット転送方法。
1 パケット転送装置
10 プロセッサ
100 設定処理部
101 障害検出部
12 CLI処理部(受付部)
13 スイッチ部

Claims (5)

  1. ネットワーク内の複数のノードとそれぞれ接続され、パケットを送受信する複数のポートと、
    ルーティングテーブルに従って前記複数のポート間で前記パケットを交換するスイッチ部と、
    操作者からコマンド入力を受け付ける受付部と、
    前記複数のノードのうち、前記コマンド入力で設定された通信経路上の次ノードに前記パケットが転送されるように、前記ルーティングテーブルを設定する設定処理部と、
    前記複数のノードから受信したフレームから前記ネットワーク内のリンク障害の発生箇所を検出する障害検出部とを有し、
    前記設定処理部は、前記リンク障害の発生箇所が、前記コマンド入力で設定された通信経路上の次ノードとの間である場合、前記パケットの転送先を、自律的に設定した通信経路上の次ノードに切り替えるように、前記ルーティングテーブルの設定を変更し、前記リンク障害の発生箇所が、前記ネットワーク内の他の箇所である場合、前記ルーティングテーブルの設定を維持することを特徴とするパケット転送装置。
  2. 前記ルーティングテーブルは、前記コマンド入力で設定された通信経路上の次ノードを示す第1識別子、及び、前記設定処理部が自律的に設定した通信経路上の次ノードを示す第2識別子を含み、
    前記スイッチ部は、前記第2識別子より優先的に、前記第1識別子に従って前記複数のポート間で前記パケットを交換し、
    前記設定処理部は、前記リンク障害の発生箇所が、前記コマンド入力で設定された通信経路上の次ノードとの間である場合、前記ルーティングテーブルから前記第1識別子を削除し、または前記第1識別子を無効化することを特徴とする請求項1に記載のパケット転送装置。
  3. 前記設定処理部は、前記障害検出部が、前記コマンド入力で設定された通信経路上の次ノードとの間におけるリンク障害の復旧を検出した場合、前記第1識別子を有効化することを特徴とする請求項2に記載のパケット転送装置。
  4. 前記パケットは、前記パケットを識別するためのパケット識別子が付与され、
    前記設定処理部は、自律的に設定した通信経路が複数存在する場合、前記パケットが各通信経路に均等に振り分けられるように、前記パケットの転送先として、前記パケット識別子に応じて通信経路上の次ノードを選択することを特徴とする請求項1乃至3の何れかに記載のパケット転送装置。
  5. ネットワーク内の複数のノードの少なくとも1つにおいて、操作者から受け付けたコマンド入力で設定された通信経路上の次ノードにパケットを転送し、
    前記複数のノードから受信したフレームから前記ネットワーク内のリンク障害の発生箇所を検出し、
    前記リンク障害の発生箇所が、前記コマンド入力で設定された通信経路上の次ノードとの間である場合、前記パケットの転送先を、自律的に設定した通信経路上の次ノードに切り替え、前記リンク障害の発生箇所が、前記ネットワーク内の他の箇所である場合、前記パケットの転送先を維持することを特徴とするパケット転送方法。
JP2013108379A 2013-05-22 2013-05-22 パケット転送装置及びパケット転送方法 Expired - Fee Related JP6217138B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013108379A JP6217138B2 (ja) 2013-05-22 2013-05-22 パケット転送装置及びパケット転送方法
US14/259,516 US9485172B2 (en) 2013-05-22 2014-04-23 Data transmitting device, data transmitting method and non-transitory computer-readable storage medium
CN201410203255.8A CN104184608B (zh) 2013-05-22 2014-05-14 数据发送装置和数据发送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013108379A JP6217138B2 (ja) 2013-05-22 2013-05-22 パケット転送装置及びパケット転送方法

Publications (2)

Publication Number Publication Date
JP2014230100A JP2014230100A (ja) 2014-12-08
JP6217138B2 true JP6217138B2 (ja) 2017-10-25

Family

ID=51935323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013108379A Expired - Fee Related JP6217138B2 (ja) 2013-05-22 2013-05-22 パケット転送装置及びパケット転送方法

Country Status (3)

Country Link
US (1) US9485172B2 (ja)
JP (1) JP6217138B2 (ja)
CN (1) CN104184608B (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9203738B2 (en) * 2013-05-21 2015-12-01 Cisco Technology, Inc. Optimal forwarding for trill fine-grained labeling and VXLAN interworking
US11296800B2 (en) 2013-07-15 2022-04-05 Eric Litak Classical implementation of entanglement
US9614752B2 (en) * 2013-11-11 2017-04-04 Avaya Inc. Multi-threaded multi-path processing
US9692684B2 (en) * 2014-09-05 2017-06-27 Telefonaktiebolaget L M Ericsson (Publ) Forwarding table precedence in SDN
US10855791B2 (en) * 2014-11-25 2020-12-01 Netapp, Inc. Clustered storage system path quiescence analysis
CN105743785B (zh) * 2014-12-12 2019-09-10 南京中兴软件有限责任公司 设备的路由切换方法及装置
JP6333751B2 (ja) * 2015-02-04 2018-05-30 日本電信電話株式会社 Ipネットワークシステムおよびロードバランス方法
CN106817301A (zh) * 2015-11-30 2017-06-09 中兴通讯股份有限公司 故障恢复方法及装置、控制器、软件定义网络
US10606779B2 (en) * 2016-09-16 2020-03-31 Altera Corporation Methods and apparatus for performing partial reconfiguration in a pipeline-based network topology
US10140237B2 (en) * 2016-09-29 2018-11-27 Ford Global Technologies, Llc Fail functional automated driving
WO2018195520A1 (en) * 2017-04-20 2018-10-25 Borrill Paul L Classical implementation of entanglement
JP6879129B2 (ja) * 2017-08-31 2021-06-02 沖電気工業株式会社 中継装置および中継プログラム
US11196713B2 (en) 2017-10-17 2021-12-07 Eric Litak Classical implementation of quantum entanglement in datacenter network design
CN108494700B (zh) * 2018-02-02 2022-11-01 百度在线网络技术(北京)有限公司 跨链路数据传输方法、装置、计算机设备及存储介质
JPWO2021064779A1 (ja) * 2019-09-30 2021-04-08
WO2021232190A1 (en) * 2020-05-18 2021-11-25 Alibaba Group Holding Limited Forward path planning method in massive data center networks

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6857026B1 (en) * 1999-12-14 2005-02-15 Nortel Networks Limited Using alternate routes for fail-over in a communication network
JP2001333091A (ja) * 2000-05-23 2001-11-30 Fujitsu Ltd 通信装置
US20020004843A1 (en) * 2000-07-05 2002-01-10 Loa Andersson System, device, and method for bypassing network changes in a routed communication network
US6883108B2 (en) * 2001-05-07 2005-04-19 Sun Microsystems, Inc. Fault-tolerant routing scheme for a multi-path interconnection fabric in a storage network
US7787480B1 (en) * 2009-03-04 2010-08-31 Juniper Networks, Inc. Routing frames in a trill network using service VLAN identifiers
US8665886B2 (en) * 2009-03-26 2014-03-04 Brocade Communications Systems, Inc. Redundant host connection in a routed network
US8264955B2 (en) * 2009-06-12 2012-09-11 Polytechnic Institute Of New York University Internet protocol fast reroute for shared risk link group failure recovery
JP5166373B2 (ja) * 2009-08-14 2013-03-21 株式会社日立製作所 トランスポート制御サーバ、トランスポート制御システム及び予備パス設定方法
JP5283192B2 (ja) * 2009-09-08 2013-09-04 Kddi株式会社 経路制御プロトコルに基づいて障害リンクをリアルタイムに検出する方法、ノード装置及びプログラム
JP2013524557A (ja) * 2010-03-26 2013-06-17 ロックスター ビーアイディーシーオー,エルピー ルーティングされるEthernetネットワークでの分散した障害回復
US8553562B2 (en) * 2010-09-08 2013-10-08 Telefonaktiebolaget L M Ericsson (Publ) Automated traffic engineering for multi-protocol label switching (MPLS) with link utilization as feedback into the tie-breaking mechanism
CN102638389B (zh) * 2011-02-15 2017-06-06 中兴通讯股份有限公司 一种trill网络的冗余备份方法及系统
CN102299845B (zh) * 2011-09-20 2015-09-09 神州数码网络(北京)有限公司 多链路透明互联多播帧传输方法和系统
CN102780635B (zh) * 2012-08-09 2015-09-09 华为技术有限公司 基于trill网络实现保护倒换的方法、tor交换机及系统

Also Published As

Publication number Publication date
US20140347975A1 (en) 2014-11-27
CN104184608B (zh) 2018-06-05
US9485172B2 (en) 2016-11-01
CN104184608A (zh) 2014-12-03
JP2014230100A (ja) 2014-12-08

Similar Documents

Publication Publication Date Title
JP6217138B2 (ja) パケット転送装置及びパケット転送方法
JP7417825B2 (ja) スライスベースルーティング
JP6576006B2 (ja) 分離した制御デバイスおよび転送デバイスを備えるネットワークでの制御デバイス検出
US8711863B2 (en) Virtual links in a routed ethernet mesh network
US8576721B1 (en) Local forwarding bias in a multi-chassis router
US9503360B2 (en) Method and apparatus for traffic engineering in shortest path bridged networks
US9225629B2 (en) Efficient identification of node protection remote LFA target
US9729473B2 (en) Network high availability using temporary re-routing
CN104335537B (zh) 用于层2多播多路径传送的系统和方法
US7602702B1 (en) Fast reroute of traffic associated with a point to multi-point network tunnel
CN108574639A (zh) Evpn报文处理方法、设备及系统
CN108574630A (zh) Evpn报文处理方法、设备及系统
JP6589060B2 (ja) ソフトウェア定義ネットワークのエントリ生成およびパケット転送
CN112448900A (zh) 一种数据传输方法及装置
WO2009010090A1 (en) Link failure recovery method and apparatus
JP2020025201A (ja) 転送装置、転送システム、転送方法及びプログラム
CN106656793B (zh) 一种sdn网络与ip网络的数据交互方法
WO2016141846A1 (zh) 数据报文传输方法及边缘路由网桥设备
CN107770061B (zh) 转发报文的方法及转发设备
JP6527488B2 (ja) パケット転送制御装置、パケット転送制御方法、およびパケット転送制御プログラム
US7869351B2 (en) Communication techniques and generic layer 3 automatic switching protection
WO2015135284A1 (zh) 数据流转发的控制方法及系统、计算机存储介质
US20210067438A1 (en) Multicast transmissions management
JP2015012343A (ja) 通信ネットワークおよび転送ノード
WO2022142932A1 (zh) 一种路由处理方法、相关装置以及网络系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170911

R150 Certificate of patent or registration of utility model

Ref document number: 6217138

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees