JPWO2004086697A1 - 複数リンクを有するノード装置および複数リンクへのユーザ帯域割り当て方法 - Google Patents
複数リンクを有するノード装置および複数リンクへのユーザ帯域割り当て方法 Download PDFInfo
- Publication number
- JPWO2004086697A1 JPWO2004086697A1 JP2004569920A JP2004569920A JPWO2004086697A1 JP WO2004086697 A1 JPWO2004086697 A1 JP WO2004086697A1 JP 2004569920 A JP2004569920 A JP 2004569920A JP 2004569920 A JP2004569920 A JP 2004569920A JP WO2004086697 A1 JPWO2004086697 A1 JP WO2004086697A1
- Authority
- JP
- Japan
- Prior art keywords
- link
- user
- links
- bandwidth
- packet
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/243—Multipath using M+N parallel active paths
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本発明は、隣接したノード装置に複数リンクにより接続され、該複数リンクにパケットを振り分けて送信した場合においてもパケットの順序を保証できるノード装置に関する。ノード装置は、ユーザ識別情報と、該ユーザ識別情報のユーザのパケットを送信する1つリンクとを対応させたテーブルを保持する。ノード装置は、受信パケットに含まれるユーザ識別情報を抽出し、抽出したユーザ識別情報に対応するリンクをテーブルから求める。そして、ノード装置は、該求めたリンクに受信パケットを送信する。各ユーザには、1つのリンクが割り当てられているので、各ユーザのパケットの順序が保証される。
Description
本発明は、通信ネットワークに設けられ、下流側に隣接するノード装置と複数リンクを介して接続され、受信したパケットを該下流側に隣接するノード装置に伝送するノード装置に関し、特に、複数リンクにパケットを振り分けて送信した場合においてもパケットの順序を保証できるノード装置に関する。また、本発明は、パケットの順序を保証できるユーザ帯域の複数リンクへの割り当て方法に関する。
近年、インターネットの爆発的な普及や大容量・高品質な情報を扱う光等のメディアの登場により、大容量データを柔軟に扱うことのできる大規模な通信基盤の整備に期待が寄せられている。通信基盤において、拡大するトラヒックを収容する方法として、伝送装置間に複数のリンクを設ける方法がある。例えば、伝送装置間の1Gbpsの帯域のリンクを1本から3本に増やすといった方法である。この方法は、イーサーネットでは、リンクアグリゲーションと呼ばれており、IEEE802.3で規定されている。
伝送装置間に複数のリンクが設けられた場合に、伝送装置から複数のリンクのいずれにパケット(フレーム)を振り分ける(割り当てる)かが、帯域保証サービスの実現、リンク(帯域)の有効利用の観点から重要となってくる。
IEEE802.3のリンクアグリゲーションでは、複数リンクを設けた場合に、(1)フロー毎のパケットの順序が保証されること、および(2)パケットの複製が無いこと、が条件となっているが、複数リンクへパケットをどのように振り分けて送信するかを示すアルゴリズムは規定されていない。
パケットを複数のリンクにどのように振り分けるかについての一方法として、パケットを送信するごとに、リンクをサイクリックに切り替えていく方法がある。しかし、この方法では、パケット長が可変であるため、パケットの順序が保証されない。例えば、同一ユーザの第1パケットが1番目のリンクに送信された後、第2パケットが2番目のリンクに送信された場合において、第1パケットが第2パケットよりパケット長が長いときは、後に送信された第2パケットが先に送信先の伝送装置に到達し、順序逆転が発生することがある。このような順序逆転を確実に防止するため、送信元伝送装置は、MACアドレス、入力ポート、IPアドレス、ポート番号等のパケットの属性を識別し、同一の属性値を持つパケットを同一のリンクに振り分けることで、フロー毎のパケットの順序を保証している。
また、複数のリンクにパケットを均等に分配するため、前記パケットの属性値をハッシュ関数に代入して求めたハッシュ値により、パケットをランダムにリンクに振り分ける方法がある。同一のフロー(またはユーザ)に属するパケットは、同一のハッシュ値を有するので、同一のリンクに振り分けられる。これにより、フロー毎のパケットの順序は保証される。しかし、パケットの属性値により求められるハッシュ値は、該属性値によっては偏る場合があり、その結果、特定のリンクにパケットが多く振り分けられ、均等に分散されるとは限らない。このため、拡張されたリンク帯域を有効に利用できないという問題がある。ベストエフォート(Best Effort)サービスに対してはこれでも良いが、帯域保証サービスで確実に帯域を保証できるのは、最悪ケースを考慮すると、どんなにリンク数を増やしても1リンク分の帯域に限られてしまう。
なお、帯域保証サービスを実現するための従来技術としては、ネットワーク管理システムに関するものがあるが、複数リンクを前提としておらず、したがって伝送装置間の複数のリンクへのパケットの振り分けについては考慮されていない(例えば特許文献1参照)。
また、従来の帯域制御装置としては、複数の物理リンクを1本の論理リンクにトランキングし、該論理リンクの中の特定のいくつかの物理リンクを、特定条件のトラフィックに合うように収束したサブ論理リンクに該トラフィックを分配するものがある(例えば特許文献2参照)。
特開平11−177617号公報(第2頁) 特開2002−232427号公報(第2頁)
伝送装置間に複数のリンクが設けられた場合に、伝送装置から複数のリンクのいずれにパケット(フレーム)を振り分ける(割り当てる)かが、帯域保証サービスの実現、リンク(帯域)の有効利用の観点から重要となってくる。
IEEE802.3のリンクアグリゲーションでは、複数リンクを設けた場合に、(1)フロー毎のパケットの順序が保証されること、および(2)パケットの複製が無いこと、が条件となっているが、複数リンクへパケットをどのように振り分けて送信するかを示すアルゴリズムは規定されていない。
パケットを複数のリンクにどのように振り分けるかについての一方法として、パケットを送信するごとに、リンクをサイクリックに切り替えていく方法がある。しかし、この方法では、パケット長が可変であるため、パケットの順序が保証されない。例えば、同一ユーザの第1パケットが1番目のリンクに送信された後、第2パケットが2番目のリンクに送信された場合において、第1パケットが第2パケットよりパケット長が長いときは、後に送信された第2パケットが先に送信先の伝送装置に到達し、順序逆転が発生することがある。このような順序逆転を確実に防止するため、送信元伝送装置は、MACアドレス、入力ポート、IPアドレス、ポート番号等のパケットの属性を識別し、同一の属性値を持つパケットを同一のリンクに振り分けることで、フロー毎のパケットの順序を保証している。
また、複数のリンクにパケットを均等に分配するため、前記パケットの属性値をハッシュ関数に代入して求めたハッシュ値により、パケットをランダムにリンクに振り分ける方法がある。同一のフロー(またはユーザ)に属するパケットは、同一のハッシュ値を有するので、同一のリンクに振り分けられる。これにより、フロー毎のパケットの順序は保証される。しかし、パケットの属性値により求められるハッシュ値は、該属性値によっては偏る場合があり、その結果、特定のリンクにパケットが多く振り分けられ、均等に分散されるとは限らない。このため、拡張されたリンク帯域を有効に利用できないという問題がある。ベストエフォート(Best Effort)サービスに対してはこれでも良いが、帯域保証サービスで確実に帯域を保証できるのは、最悪ケースを考慮すると、どんなにリンク数を増やしても1リンク分の帯域に限られてしまう。
なお、帯域保証サービスを実現するための従来技術としては、ネットワーク管理システムに関するものがあるが、複数リンクを前提としておらず、したがって伝送装置間の複数のリンクへのパケットの振り分けについては考慮されていない(例えば特許文献1参照)。
また、従来の帯域制御装置としては、複数の物理リンクを1本の論理リンクにトランキングし、該論理リンクの中の特定のいくつかの物理リンクを、特定条件のトラフィックに合うように収束したサブ論理リンクに該トラフィックを分配するものがある(例えば特許文献2参照)。
本発明は、複数リンクを有するノードにおいて、パケットの順序を保証することを目的とする。
本発明によるノード装置は、通信ネットワークに設けられ、下流側に隣接するノード装置と複数のリンクを介して接続され、受信したパケットを該下流側に隣接するノード装置に伝送するノード装置であって、前記受信したパケットに含まれる、該パケットの送信元ユーザを示すユーザ識別情報を抽出するユーザ情報抽出部と、パケットの送信元ユーザのユーザ識別情報と、前記複数のリンクのうち、該ユーザ識別情報のユーザに割り当てられた1つのリンクの識別情報とを対応させた割り当てデータを保持し、前記ユーザ情報抽出部により抽出されたユーザ識別情報に対応するリンクの識別情報を求めるデータ保持部と、前記データ保持部により求められたリンクの識別情報に対応するリンクに、前記受信したパケットを送信するパケット送信部と、を備える。
本発明によると、あるユーザから送信されたパケットは、複数リンクのうちの所定の1つのリンクに振り分けられて送信される。これにより、ユーザのパケット間の順序逆転が回避され、パケットの順序を保証することができる。
好ましくは、前記ユーザ識別情報のユーザに割り当てられた1つのリンクは、該ユーザの要求帯域を保証するリンクである。これにより、帯域保証サービスが実現される。
また、本発明によるノード装置は、通信ネットワークに設けられ、上流側に隣接するノード装置と複数のリンクを介して接続され、前記上流側に隣接するノードから受信したパケットをさらに下流側のノード装置に伝送するノード装置であって、前記複数のリンクのそれぞれから受信されるパケットを一時的に記憶する複数の受信バッファと、前記複数の受信バッファを監視し、前記上流側に隣接するノード装置がパケットを送信するリンクを切り替える場合に送信する、リンク切り替えを示す制御パケットが該複数の受信バッファの少なくとも1つに受信された場合には、前記複数の受信バッファのすべてに制御パケットが受信されるまで、該制御パケットが受信された受信バッファにその後に受信されるパケットの読み出しを停止し、前記複数の受信バッファのすべてに制御パケットが受信されると、前記複数の受信バッファからのパケットの読み出しを再開してパケットを送信する読み出し制御部と、を備える。
本発明によるユーザ帯域割り当て方法は、隣接するノード装置間に複数のリンクが設けられる通信ネットワークを管理するネットワーク管理装置で実行され、前記複数リンクへのユーザの帯域の割り当てを行うユーザ帯域割り当て方法であって、前記複数リンクのうち、ユーザの要求帯域以上の空き帯域を有するリンクを選択するステップと、前記選択するステップにより1つのリンクが選択された場合には、該1つのリンクに前記ユーザの要求帯域を割り当て、2以上のリンクが選択された場合には、該2以上のリンクのうち、空き帯域の最も大きなリンク、空き帯域の最も小さなリンク、使用率の最も高いリンク、または使用率の最も低いリンクを選択し、選択したリンクに該ユーザの要求帯域を割り当てるステップと、を備える。
本発明によると、ユーザの要求帯域は、複数リンクのうちの所定の1つのリンクに割り当てられる。これにより、あるユーザのパケットは、割り当てあられた1つのリンクを介して伝送され、該ユーザのパケットの順序を保証することができる。
また、本発明は、隣接するノード装置間に複数のリンクが設けられる通信ネットワークを管理するネットワーク管理装置で実行され、前記複数リンクへのユーザの帯域の割り当てを行うユーザ帯域割り当て方法であって、前記複数リンクに1または2以上のユーザの帯域が既に割り当てられている場合において、新たに追加されるユーザの要求帯域を割り当てるとき、該既に割り当てられているユーザの帯域の割り当てを解除するステップと、前記解除したユーザの要求帯域および前記新たに追加されるユーザの要求帯域のうち、割り当てが決定されていないユーザの要求帯域の中から最大の要求帯域を選択するステップと、前記複数リンクのうち、前記選択した最大の要求帯域以上の空き帯域を有するリンクを選択するステップと、前記選択するステップにより1つのリンクが選択された場合には、該1つのリンクに前記最大の要求帯域を割り当て、前記選択するステップにより2以上のリンクが選択された場合には、該2以上のリンクのうち、空き帯域の最も大きなリンク、空き帯域の最も小さなリンク、使用率の最も高いリンク、または使用率の最も低いリンクを選択し、選択したリンクに該最大の要求帯域を割り当てるステップと、を備える。
本発明によっても、ユーザの要求帯域は、複数リンクのうちの所定の1つのリンクに割り当てられるので、パケットの順序保証を図ることできる。
本発明によるノード装置は、通信ネットワークに設けられ、下流側に隣接するノード装置と複数のリンクを介して接続され、受信したパケットを該下流側に隣接するノード装置に伝送するノード装置であって、前記受信したパケットに含まれる、該パケットの送信元ユーザを示すユーザ識別情報を抽出するユーザ情報抽出部と、パケットの送信元ユーザのユーザ識別情報と、前記複数のリンクのうち、該ユーザ識別情報のユーザに割り当てられた1つのリンクの識別情報とを対応させた割り当てデータを保持し、前記ユーザ情報抽出部により抽出されたユーザ識別情報に対応するリンクの識別情報を求めるデータ保持部と、前記データ保持部により求められたリンクの識別情報に対応するリンクに、前記受信したパケットを送信するパケット送信部と、を備える。
本発明によると、あるユーザから送信されたパケットは、複数リンクのうちの所定の1つのリンクに振り分けられて送信される。これにより、ユーザのパケット間の順序逆転が回避され、パケットの順序を保証することができる。
好ましくは、前記ユーザ識別情報のユーザに割り当てられた1つのリンクは、該ユーザの要求帯域を保証するリンクである。これにより、帯域保証サービスが実現される。
また、本発明によるノード装置は、通信ネットワークに設けられ、上流側に隣接するノード装置と複数のリンクを介して接続され、前記上流側に隣接するノードから受信したパケットをさらに下流側のノード装置に伝送するノード装置であって、前記複数のリンクのそれぞれから受信されるパケットを一時的に記憶する複数の受信バッファと、前記複数の受信バッファを監視し、前記上流側に隣接するノード装置がパケットを送信するリンクを切り替える場合に送信する、リンク切り替えを示す制御パケットが該複数の受信バッファの少なくとも1つに受信された場合には、前記複数の受信バッファのすべてに制御パケットが受信されるまで、該制御パケットが受信された受信バッファにその後に受信されるパケットの読み出しを停止し、前記複数の受信バッファのすべてに制御パケットが受信されると、前記複数の受信バッファからのパケットの読み出しを再開してパケットを送信する読み出し制御部と、を備える。
本発明によるユーザ帯域割り当て方法は、隣接するノード装置間に複数のリンクが設けられる通信ネットワークを管理するネットワーク管理装置で実行され、前記複数リンクへのユーザの帯域の割り当てを行うユーザ帯域割り当て方法であって、前記複数リンクのうち、ユーザの要求帯域以上の空き帯域を有するリンクを選択するステップと、前記選択するステップにより1つのリンクが選択された場合には、該1つのリンクに前記ユーザの要求帯域を割り当て、2以上のリンクが選択された場合には、該2以上のリンクのうち、空き帯域の最も大きなリンク、空き帯域の最も小さなリンク、使用率の最も高いリンク、または使用率の最も低いリンクを選択し、選択したリンクに該ユーザの要求帯域を割り当てるステップと、を備える。
本発明によると、ユーザの要求帯域は、複数リンクのうちの所定の1つのリンクに割り当てられる。これにより、あるユーザのパケットは、割り当てあられた1つのリンクを介して伝送され、該ユーザのパケットの順序を保証することができる。
また、本発明は、隣接するノード装置間に複数のリンクが設けられる通信ネットワークを管理するネットワーク管理装置で実行され、前記複数リンクへのユーザの帯域の割り当てを行うユーザ帯域割り当て方法であって、前記複数リンクに1または2以上のユーザの帯域が既に割り当てられている場合において、新たに追加されるユーザの要求帯域を割り当てるとき、該既に割り当てられているユーザの帯域の割り当てを解除するステップと、前記解除したユーザの要求帯域および前記新たに追加されるユーザの要求帯域のうち、割り当てが決定されていないユーザの要求帯域の中から最大の要求帯域を選択するステップと、前記複数リンクのうち、前記選択した最大の要求帯域以上の空き帯域を有するリンクを選択するステップと、前記選択するステップにより1つのリンクが選択された場合には、該1つのリンクに前記最大の要求帯域を割り当て、前記選択するステップにより2以上のリンクが選択された場合には、該2以上のリンクのうち、空き帯域の最も大きなリンク、空き帯域の最も小さなリンク、使用率の最も高いリンク、または使用率の最も低いリンクを選択し、選択したリンクに該最大の要求帯域を割り当てるステップと、を備える。
本発明によっても、ユーザの要求帯域は、複数リンクのうちの所定の1つのリンクに割り当てられるので、パケットの順序保証を図ることできる。
図1は、本発明が適用される通信ネットワークの一例を示す。
図2は、NMSの全体処理の流れを示すフローチャートである。
図3は、キャリアネットワークの各スイッチの構成を示すブロック図である。
図4は、NMSにより実行されるユーザ帯域割り当て処理の流れを示すフローチャートである。
図5は、1Gbpsのリンクが4本設けられている場合の追加ユーザ帯域の収容例を示す。
図6は、1Gbpsのリンクが1本、100Mbpsのリンクが3本の場合の追加ユーザ帯域の収容例を示す。
図7は、NMSにより実行されるユーザ帯域割り当て処理の流れを示すフローチャートである。
図8は、図7のフローチャートによる帯域割り当て例を示す。
図9は、スイッチの構成を示すブロック図である。
図10は、スイッチの構成を示すブロック図である。
図11は、NMSによるリンク障害発生時のリンク割り当て処理の流れを示すフローチャートである。
図12は、図11のフローチャートによる帯域割り当て例を示す。
図13は、優先度に従って帯域を割り当てる処理の流れを示すフローチャートである。
図14は、スイッチの構成を示すブロック図である。
図15は、スイッチの構成を示すブロック図である。
図16は、スイッチの構成を示すブロック図である。
図17は、受信側スイッチの読み出し制御部の処理フローを示すフローチャートである。
図18は、スイッチの構成を示すブロック図である。
図19は、スイッチの構成を示すブロック図である。
図2は、NMSの全体処理の流れを示すフローチャートである。
図3は、キャリアネットワークの各スイッチの構成を示すブロック図である。
図4は、NMSにより実行されるユーザ帯域割り当て処理の流れを示すフローチャートである。
図5は、1Gbpsのリンクが4本設けられている場合の追加ユーザ帯域の収容例を示す。
図6は、1Gbpsのリンクが1本、100Mbpsのリンクが3本の場合の追加ユーザ帯域の収容例を示す。
図7は、NMSにより実行されるユーザ帯域割り当て処理の流れを示すフローチャートである。
図8は、図7のフローチャートによる帯域割り当て例を示す。
図9は、スイッチの構成を示すブロック図である。
図10は、スイッチの構成を示すブロック図である。
図11は、NMSによるリンク障害発生時のリンク割り当て処理の流れを示すフローチャートである。
図12は、図11のフローチャートによる帯域割り当て例を示す。
図13は、優先度に従って帯域を割り当てる処理の流れを示すフローチャートである。
図14は、スイッチの構成を示すブロック図である。
図15は、スイッチの構成を示すブロック図である。
図16は、スイッチの構成を示すブロック図である。
図17は、受信側スイッチの読み出し制御部の処理フローを示すフローチャートである。
図18は、スイッチの構成を示すブロック図である。
図19は、スイッチの構成を示すブロック図である。
図1は、本発明が適用される通信ネットワークの一例を示し、バーチャルLAN(VLAN:Virtual LAN)を使用した広域LANの構成例を示している。あるユーザ(例えば企業等)の例えば本社、支社、工場等の複数の拠点A〜Eには、該ユーザのLAN(図示略)がそれぞれ配設されている。そして、これら拠点のLANがキャリアネットワーク1に接続されることにより、該ユーザの1つのVLAN2が形成される。
図1では、1人のユーザのVLANのみを図示しているが、キャリアネットワーク1には、他のユーザの拠点LANも接続され、該他のユーザのVLANが形成されてもよい。
キャリアネットワーク1は、ノード装置の一例としてのスイッチ11〜17を有し、このスイッチ間の一部に複数リンクが設けられている。例えば、スイッチ11−12間およびスイッチ13−16間には、1Gbpsのリンクが2本設けられ、スイッチ11−13間には、1Gbpsのリンクが3本設けられ、スイッチ13−17間には100Mbpsのリンクが2本設けられている。本実施の形態では、このスイッチ間の複数リンクにおけるパケットの振り分け(割り当て)に本発明が適用される。
各拠点からキャリアネットワーク1に入力されるパケットには、入口ノードであるスイッチ14〜17において、各ユーザにそれぞれ割り当てられたVLANタグ(VLAN−TAG)が付加される。VLANタグが付加されたパケットは、キャリアネットワーク1内をVLANタグおよびパケットのヘッダに含まれるMAC(Media Access Control)アドレスに基づいてスイッチングされ、目的の拠点LANに転送される。転送先の拠点に接続された出口ノードであるスイッチ14〜17において、VLANタグは除去され、除去後のパケットが目的の拠点LANに送信される。
本実施の形態では、あるユーザのパケットは、スイッチ間の複数リンクのうち選択された1つのリンクに振り分けられ、2以上のリンクに分散して振り分けられることはない。これにより、該ユーザのパケットの順序が保証される。このようなパケットの振り分けを行うために、本実施の形態ではVLANタグが使用される。
各ユーザのパケットをどのリンクに振り分けるかの設定は、キャリアネットワーク1を管理するネットワーク管理システム(NMS:Network Management System)10が行う。なお、大規模なキャリアネットワークでは、NMSが階層化され、上位NMSの下位にEMS(Element Management System)が設けられる場合があるが、この場合には、EMSが該振り分けの設定を行ってもよい。以下では、NMS10が行う場合を例にして説明することとする。
まず、NMS10によるユーザ帯域の設定から、各スイッチへの振り分け設定までの全体フローについて説明した後、振り分けの具体的な方法について説明する。また、その後、ある振り分けから他の振り分けに変更する場合において、パケットの順序保証を図るための変更方法について説明する。
図2は、NMS10の全体処理の流れを示すフローチャートである。
あるユーザ(ここでは図1のVLAN2のユーザとする。)がVLANによる広域LANサービスに加入すると、NMS10は、該ユーザについての拠点毎のユーザ帯域を設定する(S1)。例えば、図1では、拠点A〜CおよびEに100Mbps、拠点Dに1Gbpsが設定される。
続いて、NMS10は、キャリネットワーク1のネットワーク構成により、ユーザが使用する各リンク束の帯域を算出する(S2)。例えば、図1では、スイッチ11−12間の1Gbps×2の帯域のうちの300Mbpsが算出される。なお、図1のスイッチ間のリンクに隣接して示される数字のうち、分母はスイッチ間の全帯域を示し、分子は該ユーザ用に算出された帯域を示している。
続いて、NMS10は、各リンク束の各リンクの空き帯域を確認し、振り分けリンクを決定する(S3)。この方法には、いくつかの方法があり、後に詳述する。最後に、NMS10は、決定された振り分けリンクに基づいて、振り分けテーブルを各スイッチに対して作成し、各スイッチに設定する(S4)。なお、振り分けテーブルの各スイッチへの設定は、図1の破線の矢印で示す、NMS10と各スイッチとを接続する制御線を介して行われる。
図3は、キャリアネットワーク1の各スイッチの構成を示すブロック図である。スイッチは、振り分けテーブル保持部31、ユーザ情報抽出部32、および出力リンク振り分け部33を有する。
振り分けテーブル保持部31は、NMS10の上記ステップS4の処理により設定された振り分けテーブル31aを保持する。振り分けテーブル31aは、本実施の形態では、ユーザ情報(ユーザ識別情報)の一例としてのVLANタグと、該VLANタグを有するユーザのパケットが振り分けられる割り当てリンク番号(リンク識別子)とからなる。図3では、VLANタグ=1のユーザのパケットにはリンク2が、VLANタグ=2または3のユーザのパケットにはリンク1が、VLANタグ=4のユーザのパケットにはリンク3が、それぞれ割り当てられている。
スイッチに入力されたパケットは、ユーザ情報抽出部32に入力される。ユーザ情報抽出部32は、パケットに含まれるユーザ情報としてVLANタグを抽出し、抽出したVLANタグを振り分けテーブル保持部31に与えると共に、入力されたパケットを出力リンク振り分け部33に与える。振り分けテーブル保持部31は、ユーザ情報抽出部32から与えられたVLANタグに対応する割り当てリンク番号を振り分けテーブル31aから求め、求めた割り当てリンク番号を出力リンク振り分け部33に与える。
出力リンク振り分け部33は、振り分けテーブル保持部31から与えられた割り当てリンク番号に対応するリンクに、ユーザ情報抽出部32から与えられたパケットを出力する。これにより、VLANタグ=1のユーザのパケットはリンク2に出力され、VLANタグ=2または3のユーザのパケットはリンク1に出力され、VLANタグ=4のユーザのパケットはリンク3に出力される。その結果、各ユーザのパケットの順序保証が図られる。また、振り分けテーブルを適切なものとすることにより、各リンクの帯域を有効利用することもできる。
ここで、各ユーザのパケットを複数のリンクにどのように振り分けるか、換言すると、振り分けテーブルをどのように作成するか、すなわち、上記ステップS3の方法には、いくつかの方法があるので、以下では、これらの方法について説明する。
まず、スイッチ間に設けられた複数リンクへのユーザ帯域の割り当て方法について説明する。図4は、NMS10により実行されるユーザ帯域割り当て処理の流れを示すフローチャートである。
帯域保証サービスにおいては、ユーザが契約・加入する際に、該ユーザの保証帯域が決められる。NMS10は、キャリアネットワーク1において決定したルート上に存在するスイッチ間の複数リンクのうち、この保証帯域以上の空き帯域を有するリンクを選択する(S11)。例えば、図1において、スイッチ11−13間の3本のリンクにユーザの保証帯域300Mbpsを割り当てる場合には、3本のリンク(リンク束)のうち、空き帯域300Mbps以上を有する1つのリンクが選択される。これにより、ユーザ毎の帯域を保証することが可能となり、また該ユーザのパケットの順序保証を実現することができる。
なお、保証帯域以上の空き帯域を有するリンクが存在しない場合には、該ユーザの保証帯域が確保できないので、NMS10は該ユーザのルートを変更し、他のルートについて、図4のフローチャートの処理を実行する。
ユーザ(追加ユーザ)の保証帯域以上の空き帯域を有するリンクが存在する場合には、NMS10は、このようなリンクが複数本存在するかどうかを判断し(S12)、複数本存在する場合には(S12でY)、(1)空き帯域が最も多いリンク、(2)空き帯域が最も少ないリンク、(3)負荷(使用率)が最も低いリンク、(4)負荷(使用率)が最も高いリンク、のいずれか選択基準に基づいてリンクを選択し、該選択したリンクにユーザを割り当てる(S13)。選択基準(1)〜(4)のいずれにするかは、管理者等によって予め決められる。空き帯域がユーザの保証帯域以上残っているリンクが1本の場合には(S12でN),選択されたリンク、すなわち該1本のリンクが最終的に選択され、該ユーザに割り当てられる。
選択基準(1)では、空き帯域の最も多いリンクが選択され、追加ユーザ帯域が割り当てられる。これにより、複数リンク間の負荷を均等にして行くことができる。選択基準(2)では、空き帯域が最も少ないリンクに追加ユーザ帯域が割り当てられる。これにより、空き帯域の大きなリンクが残され、後に、より大きな帯域を使用する別のユーザが加入した場合に、該別のユーザに、残しておいたリンクを割り当てることができる。
選択基準(3)によると、選択基準(1)と同様に、各リンクの負荷を均等にすることができる。ここで、負荷とは、該リンクの使用帯域を、該リンクの全帯域(=使用帯域+空き帯域)で割った値をいう。各リンクの全帯域が等しい場合には、選択基準(3)と(1)のいずれを使用しても、同じリンクが選択されることとになるが、各リンクの全帯域が異なる場合もあり、この場合には、両者の選択結果が異なることがある。選択基準(4)は、選択基準(2)と同様であるが、各リンクの全帯域が等しい場合には、選択基準(4)と選択基準(2)の選択結果とが一致するが、各リンクの全帯域が異なる場合には、両者の選択結果が異なることがある。
例えば、図5は、1Gbpsのリンクが4本設けられている場合の追加ユーザ帯域の収容例を示し、図6は、1Gbpsのリンクが1本、100Mbpsのリンクが3本の場合の追加ユーザ帯域の収容例を示している。図5において、追加ユーザ帯域を300Mbpsとすると、上記選択基準(1)または(3)を使用した場合、いずれの選択基準でも、該ユーザ帯域はリンク2に割り当てられ、上記選択基準(2)または(4)を使用した場合、いずれの方法でも、該ユーザ帯域はリンク3に割り当てられる。図6において、追加ユーザ帯域を50Mbpsとすると、上記選択基準(1)を使用した場合、該ユーザ帯域はリンク1に割り当てられる一方、上記選択基準(3)を使用した場合、該ユーザ帯域はリンク3に割り当てられる。また、上記選択基準(2)を使用した場合、該ユーザ帯域はリンク2に割り当てられ、上記選択基準(4)を使用した場合も同様、該ユーザ帯域はリンク2に割り当てられる。
図4のステップS14により選択されたリンクに基づいて、振り分けテーブルが作成される。これにより、ユーザ毎に帯域を保証しつつ、リンク束の帯域を有効に使用することができる。
なお、MPLS(Multi−protocol Label Switching)を使用するキャリアネットワークでは、VLANタグに代えてラベルパス毎にリンクを割り当てることもできる。
また、各ユーザのパケットをどのリンクに振り分けるかの設定は、ノード自身(例えば振り分けテーブル保持部31またはノードに設けられた図示しないテーブル生成部)が行ってもよい。この場合、リンク束の帯域はNMSもしくはEMSにより決定され、またはノード間のシグナリングにより決定され、ノードは振り分け判定のみを行う。
次に、追加ユーザ帯域をリンク束に割り当てる場合に、該リンク束に既に割り当てられているユーザ帯域についても再度割り当て直す方法について説明する。図7は、この方法によるNMS10の処理フローを示すフローチャートである。
追加ユーザの保証帯域をリンク束に新たに割り当てる場合に、NMS10は、まず、該リンク束の設定をすべてクリアする(S21)。これにより、該リンク束に既に設定されているユーザの帯域割り当てもクリアされる。続いて、NMS10は、未設定のユーザ(既に割り当てられていたユーザおよび追加ユーザの双方が含まれる)の中から、保証帯域が最大のユーザを選択し(S22)、前述した図4の追加ユーザ帯域割り当てフローに基づきリンクを選択し、帯域を設定する(S23)。このような処理が、該リンク束を使用する全ユーザについて行われる(S24)。なお、図4のステップS13の選択基準により選択されたリンクが2以上ある場合には、最小番号のリンクや最大番号のリンク等の基準に基づいていずれかリンクが選択される。
これにより、使用帯域の大きなユーザから順に割り振られるリンクが決定されて行く。既に設定されているユーザの帯域についても再設定を行うので、再設定前には、追加ユーザの帯域がリンク束のいずれのリンクにも割り当てることができない場合にも、再設定後には割り当て可能となる場合がある。これにより、リンク帯域の有効利用を図ることもできる。
図8は、図7のフローチャートによる帯域割り当て例を示している。図8上段に示すように、1Gbpsの2本のリンク1および2からなるリンク束のうち、リンク1には、ユーザ1の帯域500Mbpsが既に割り当てられ、リンク2には、ユーザ2の帯域300Mbpsが既に割り当てられているものとする。この状況において、新たなユーザ3の追加帯域800Mbpsを割り当てる場合を考える。この場合、ユーザ3の帯域はリンク1および2のいずれにも割り当てることができない。一方、図7のフローチャートに従って再設定を行うと、図8下段に示すように、リンク1にユーザ3の帯域800Mbpsが割り当てられ、リンク2に、ユーザ1の帯域500Mbpsおよびユーザ2の帯域300Mbpsがそれぞれ割り当てられ、全てのユーザの帯域を2本のリンク内に割り当てることができる。
なお、本方法によっても、割り当て可能な空き帯域がないことにより、リンク割り当てを行うことができないユーザについては、ルートが変更され、変更されたルートにおいてリンク割り当てが行われることとなる。
次に、リンク束の1つのリンクに障害が発生した場合のリンク振り分け方法(割り当て方法)について説明する。図9は、リンク障害発生時のリンク振り分けの方法を説明するための送信側スイッチおよび受信側スイッチの構成を示すブロック図である。
障害時にも帯域を保証するには、通常使用しないバックアップ用リンクを用意しておく方法がある。図9では、3本のリンクのうち、リンク1および2が現用リンクであり、リンク3が障害時に使用されるバックアップ用リンクである。
例えば現用リンク2に障害が発生すると、受信側スイッチ(下流側スイッチ)4に設けられた障害検出部41が障害を検知する。障害検出部41は、送信側スイッチ(上流側隣接スイッチ)3に障害を通知する。この障害通知は、受信側スイッチ4から送信側スイッチ3に向かう上りリンク(図示略)を介して行うこともできるし、NMS10および制御線を介して行うこともできる。この障害通知には、障害が発生したリンクを示すリンク識別情報(例えばリンク番号等)が含まれる。
送信側スイッチ3には、バックアップ変換テーブル保持部34が設けられる。このバックアップ変換テーブル保持部34には、障害時に使用されるバックアップ変換テーブル34aが保持される。図9に示すように、このバックアップ変換テーブル34aには、通常(障害が発生していない時)使用されるリンクが設定(NMS10により設定)されているが、障害発生時に障害リンクを避けるように変更される。
バックアップ変換テーブル34aは、障害に備えて実際に使用しているリンクを示すテーブルであり、割り当てリンクと実使用リンクとの対応関係を示している。図9では、障害発生前にリンク1に振り分けられていたパケットが、障害発生後も同じリンク1に振り分けられ、障害発生前にリンク2に振り分けられていたパケットは、障害発生後はリンク3に振り分けられることが示されている。なお、障害発生リンクがリンク1の場合、割り当てリンク1の実使用リンクがリンク3に設定される。
バックアップ変換テーブル保持部34は、受信側スイッチの障害検出部41から送信された障害通知(障害リンク識別情報を含む。)を受信すると、バックアップ変換テーブルを変更すると共に、そのバックアップ変換テーブルに基づいて、パケットの出力リンクの振り分けの変更を出力リンク振り分け部33に指示する。これにより、出力リンク振り分け部33は、障害発生リンク2に振り分けるべきパケットをバックアップ用リンク3に振り分ける。このようにすることにより、障害発生時にも対応することができる。
なお、バックアップ変換テーブルを用いず、振り分けテーブルを直接変更してもよい。この場合、テーブル変更が障害リンク使用ユーザ分だけ必要になる。
次に、バックアップ用リンクが特に設けられていない場合における障害発生時のリンク変更方法について説明する。図10は、リンク障害発生時のリンク割り当て方法を説明するための送信側スイッチおよび受信側スイッチのブロック図である。図11は、NMS10によるリンク障害発生時のリンク割り当て処理の流れを示すフローチャートである。
送信側スイッチ3と受信側スイッチ4との間の3本の現用リンク1〜3のうち、リンク2に障害が発生したと仮定する。この場合、受信側スイッチ4の障害検出部41は、障害発生リンクを示すリンク識別情報を含んだ障害通知を送信側スイッチ3およびNMS10に送信する。なお、障害通知がNMS10経由で送信側スイッチ3に与えられる場合には、該通知はNMS10にのみ送信される。
NMS10は、この障害通知を受信することにより、送信側スイッチ3の振り分けテーブルを変更する。ここでは、障害が発生したリンクに割り当てられていたユーザのみの割り当て(振り分け)を見直し、障害が発生していないリンクに既に割り当てられているユーザの割り当ては現状のまま維持するものとする。
NMS10は、まず、障害が発生したリンクの設定をクリアする(S31)。図10の例では、リンク2の設定がクリアされる。続いて、NMS10は、クリアされた設定に関係するユーザ(すなわち未設定のユーザ)の中から保証帯域が最大のユーザを選択する(S32)。続いて、NMS10は、障害が発生していないリンク(図10ではリンク1および2)のうち、選択したユーザの帯域を割り当て可能かどうか、すなわち、障害が発生していないリンクのうち、選択したユーザの保証帯域以上の空き帯域を有するリンクが存在するかどうかを判断する(S33)。
このようなリンクが複数存在する場合には(S33でY)、NMS10は、前述した図4のステップS14の選択基準(1)〜(4)のいずれかによりリンクを選択し、選択したリンクにユーザの帯域を割り当てる(S34)。このようなリンクが1つ存在する場合には(S33でY)、NMS10は、該1つのリンクにユーザの帯域を割り当てる。これらの場合には、該ユーザの帯域保証を図ることができる。
一方、このようなリンクが存在しない場合には(S33でN)、NMS10は、帯域オーバ時割り当て処理によりリンクを選択し、設定を行う(S35)。具体的には、(a)各リンクの負荷が均等になる、または、均等に近づくようにリンクを選択する方法と、(b)オーバした帯域が均等になる、または、均等に近づくように振り分ける方法がある。両方法により選択されるリンクは、リンク束を構成する各リンクの全帯域が等しい場合には同じとなる。一方、各リンクの帯域が異なる場合には、(a)負荷が均等になる、または、均等に近づける方法が特性も均等になるため好ましい。なお、この場合には、該リンクに割り当てられた全てのユーザ(障害発生後に新たに割り当てられたユーザおよび障害発生前から割り当てられていたユーザの双方)に、特に優先順位がない場合には、全ユーザの帯域保証は必ずしも図られず、ベストエフォート型サービスとなる。
このような割り当て変更処理により、例えば図10の振り分けテーブル31aは、振り分けテーブル31bに変更される。この変更後のテーブル31bが、NMS10により送信側スイッチ3の振り分けテーブル保持部31に設定され、送信側スイッチの出力リンク振り分け部33は、テーブル31bに従って出力リンクを選択し、パケットを出力する。これにより、障害発生時も、パケットの順序保証を行い、また、リンクの帯域を有効利用したパケットの振り分けが可能となる。
また、テーブル31b´のように、変更前後(1リンク障害のみ)のテーブルを予め用意しておき、障害時の振り分け先を予め求めておいて設定しておくこともできる。これにより、1リンク障害時のみ高速にリンクの変更を行うことができる。
図12は、図11のフローチャートによる帯域割り当て例を示している。左側の3つのリンク1〜3が障害発生前の割り当てを示し、右側の3つのリンク1〜3がリンク2の障害発生後の割り当てを示している。この例では、リンク2の障害発生時に、できるだけ使用負荷が均等になるように、すなわち障害の影響がユーザ毎に同等になるように振り分けが行われる。まず、リンク2において、ユーザ帯域が最も大きい400Mbpsの帯域が、最も空き帯域の多い(最も使用負荷が低い)リンク3に割り当てられる。次に帯域が大きい300Mbpsの帯域が、最も空き帯域が多い(最も使用負荷が低い)リンク1に割り当てられる。これで、リンク1および3の双方で空き帯域が無くなったので、最後に残った200Mbpsの帯域は、もっとも帯域越えの少ない(最も使用負荷が低い)リンク3に割り当てられる。
次に、障害時のバックアップリンクが設けられていない場合において、障害発生時に、障害が発生していないリンクに既に割り当てられていたユーザを含め、全ユーザに対して割り当てを再設定する方法について説明する。
ユーザ間に優先度が設定されていない場合には、前述した図7に示すフローチャートにより、各ユーザの帯域を割り当てることができる。この場合に、帯域を確保できないユーザについては、前述した図11のステップS35の処理によりリンクを選択して割り当て、ベストエフォート型サービスを提供するか、あるいは、ルートを変更して、変更されたルート上のリンクで帯域を割り当てることもできる。
ユーザ間に優先度が設定されている場合には、優先度の高いユーザについて、先に帯域を割り当て、後に優先度の低いユーザについて、帯域を割り当てることもできる。図13は、優先度に従って帯域を割り当てる処理の流れを示すフローチャートである。ここでは、優先度として、「高」と「低」の2つの優先度のいずれかがユーザに設定されているものとする。
NMS10は、障害発生リンクを含む全リンクの設定をクリアする(S41)。続いて、NMS10は、優先度が「高」で、かつ、未設定のユーザの中で、保障帯域が最大のユーザを選択し(S42)、前述した図4の処理(追加ユーザ帯域割り当てフロー)によりリンクを選択し、設定する(S43)。NMS10は、優先度「高」のユーザのすべてについて割り当てを行い(S42〜S44)、割り当てが終了すると、続いて、優先度「低」のユーザについても同様にして帯域の割り当てを行う(S45〜S47)。
このような割り当てによって、優先度「高」および「低」の全ユーザの帯域が、障害の発生していないリンクにおいて確保できた場合には、全ユーザに対して帯域保証型のサービスを提供することができる。
優先度「高」の全ユーザについて帯域が確保できるが、優先度「低」の全ユーザについては帯域が確保できない場合には、優先度「低」のユーザには、ステップS46の処理の代わりに、図11のステップ35の帯域オーバー時割り当てフローにより割り当てを行うことができる。この場合には、優先度「高」のユーザに対するサービスは帯域保証型サービスとなり、優先度「低」のユーザに対するサービスはベストエフォート型サービスとなる。また、優先度「低」のユーザには、ルートを変更して帯域割り当てを行ってもよい。
優先度「高」および「低」の双方のユーザの帯域が確保できない場合には、帯域オーバー時割り当てフローにより割り当てを行うことができ、この場合には、全ユーザに対してベストエフォート型とすることができる。
次に、リンクの割り当てを変更する場合の変更のタイミングについて説明する。図14は、割り当て変更制御を行うタイマを有するスイッチの構成を示すブロック図である。
送信側スイッチには、振り分けテーブル31、ユーザ情報抽出部32、および出力リンク振り分け部33に加えて、タイマ35、セレクタ36、およびリンク1〜3のそれぞれの送信用バッファ37a〜37cが設けられる。
リンク割り当てを変更する場合、変更の前後で、パケットの順序逆転が発生する可能性がある。これを防ぐため、タイマ35には、リンクのそれぞれに対応した所定の時間がNMS10により計算/設定され、リンク切り替えのタイミングが決定される。タイマ35に設定される各リンクの所定の時間は、以下の式により求められる。
設定時間=(パケットの最大長)÷(変更前リンクの速度)+|(変更前リンクの遅延時間)−(変更後リンクの遅延時間)|+α …(1)
ここで、α(>0)は、リンク速度や遅延時間の誤差を考慮し、設定時間を理論値よりも僅かに大きくするための値である。
例えば、パケットの振り分けをリンク1からリンク2に変更する場合、パケットの最大長(ビット数)をLmax,リンク1のリンク速度(bps)をB1、リンク1の遅延時間τ1、リンク2の遅延時間をτ2とすると、タイマ35には、リンク1の設定時間T1=Lmax÷B1+|τ1−τ2|+αが設定される。なお、Lmax、B1,τ1、およびτ2の値は予め求めておくことができる。
ユーザ情報抽出部32は、パケットを受信すると、受信パケットに含まれるVLANタグを振り分けテーブル保持部31に与える。
振り分けテーブル保持部31は、各ユーザ(VLANタグ)の変更前リンクと変更後リンクとが規定された振り分けテーブル31cを保持する。振り分けテーブル保持部31は、ユーザ情報抽出部32から受信したVLANタグに対応する変更前リンク番号および変更後リンク番号の双方をセレクタ36に与えると共に、変更前リンク番号をタイマ35に与える。例えば、VLANタグ=1の場合には、リンク番号1および2がセレクタ36に与えられ、リンク番号1がタイマ35に与えられる。
セレクタ36は、タイマ35からの切り替え信号が入力されていない状態(初期状態)では、変更前リンク番号を選択して、出力リンク振り分け部33に出力する。これにより、初期状態では、変更前のリンクにパケットが送信される。
タイマ35には、NMS10からリンク変更指示が入力される。タイマ35は、この変更指示受信後、振り分けテーブル保持部31から変更前リンク番号を受信すると直ちに、該変更前リンク番号に対応する設定時間の計時を開始する。そして、タイマ35は、この時間が満了するまでの間に、同じ変更前リンク番号を振り分けテーブル保持部31から受信しない場合(すなわち同じリンクに振り分けられる次のパケットが受信されない場合)には、時間の満了時に該変更前リンク番号の切り替え信号をセレクタ36に出力する。一方、この時間の満了前に、同じ変更前リンク番号を受信した場合(すなわち同じリンクに振り分けられる次のパケットが受信された場合)には、タイマ35は、計時をリセットして、0から新たに計時を繰り返す。例えば、リンク番号1がタイマ35に与えられると、タイマ35は上記設定時間T1の計時を開始し、この時間T1が満了するまでの間に、リンク番号1を受信しない場合には、時間T1の満了時にリンク1の切り替え信号をセレクタ36に出力する一方、リンク番号1を受信した場合には、計時をリセットして、0から新たに計時を繰り返す。
セレクタ36は、切り替え信号を受信すると、以後、該切り替え信号に対応するリンクについては、変更後リンク番号を選択して出力リンク振り分け部33に出力する。これにより、パケットは、変更後リンク番号のリンクに送信される。
このように、タイマ35により、最大パケット長Lmaxの送信に要する時間にリンク間の遅延時間差を考慮した時間が計時され、その間、パケットを受信しない場合にリンク切り替えが行われる。これにより、同一リンクのパケットの順序逆転を防止でき、順序を保証することができる。
なお、タイマ35は、あるリンクについて切り替え信号を出力した後は、同一の変更前リンク番号を受信しても、時間の計時および切り替え信号の出力は行わない。これにより、リンクの再切り替えが防止される。
上記のタイマによる切り替えはリンク毎に行ったが、次に、ユーザ(すなわちVLANタグ)毎にタイマの時間を設定し、ユーザ毎にリンクの切り替え制御を行う方法について説明する。
図15は、ユーザ毎にリンクの切り替え制御を行う場合のスイッチの構成を示すブロック図である。
送信側スイッチには、振り分けテーブル31、ユーザ情報抽出部32、および出力リンク振り分け部33に加えて、タイマ35aおよびリンク1〜3のそれぞれの送信用バッファ37a〜37cが設けられる。
タイマ35には、VLANタグ(ユーザ)のそれぞれに対応した所定の時間がNMS10により設定され、リンク切り替えのタイミングが決定される。タイマ35に設定される各VLANタグの所定の時間は、上記式(1)と同じであるが、VLANタグ毎に設けられる点が異なる。
例えば、VLANタグ=1のパケットをリンク1からリンク2に変更する場合、パケットの最大長(ビット数)をLmax,リンク1のリンク速度(bps)をB1、リンク1の遅延時間τ1、リンク2の遅延時間をτ2とすると、タイマ35には、VLANタグ=1の設定時間T1=Lmax÷B1+|τ1−τ2|+αが設定される。
ユーザ情報抽出部32は、パケットを受信すると、受信パケットに含まれるVLANタグを振り分けテーブル保持部31およびタイマ35に与える。
振り分けテーブル保持部31は、各ユーザ(各VLANタグ)の変更前リンクと変更後リンクとが規定された振り分けテーブル31cを保持する。振り分けテーブル保持部31は、タイマ35からの切り替え信号を受信していない状態(初期状態)では、ユーザ情報抽出部32から受信したVLANタグに対応する変更前リンク番号を出力リンク振り分け部33に与える。例えば、VLANタグ=1の場合には、変更前リンク番号1が出力リンク振り分け部33に与えられる。これにより、出力リンク振り分け部33は、受信パケットを変更前のリンク1にバッファ37aを介して出力する。
タイマ35aには、NMS10からリンク切り替え指示が入力される。タイマ35aは、この切り替え指示の受信後、全VLANタグに対応する設定時間の計時を開始する。そして、タイマ35aは、パケット受信時に、ユーザ情報抽出部32から受信したVLANタグに対応したタイマについて、時間の満了か否かを確認し、満了している場合には、該当VLANタグのテーブル切り替えを行う。一方、時間が満了していない場合には、タイマ35aは、計時をリセットして、0から新たに計時を繰り返す。例えば、タイマ35aは、VLANタグ=1を受信した場合、該当するタイマ値が満了しているならば、VLANタグ=1の切り替え信号を振り分けテーブルに出力する一方、該当するタイマ値が満了していなければ、計時をリセットして、0から新たに計時を繰り返す。
なお、この方法では、切り替えが受信パケットに依存するため、トラフィックによっては切り替え完了が遅くなる場合もある。そこで、並行して未切り替えのユーザ(VLANタグ)に対して順次タイマ値を確認し、タイマ値の満了したテーブルを切り替えていくことで、切り替え完了を高速化することができる。
振り分けテーブル保持部31は、切り替え信号を受信すると、該切り替え信号に対応するVLANタグのリンクを変更前リンクから変更後リンクに変更し、以後、ユーザ情報抽出部32からVLANタグを受信すると、該VLANタグに対応する変更リンク番号を出力リンク振り分け部33に出力する。
このように、タイマ35aにより、最大パケット長Lmaxの送信に要する時間にリンク間の遅延時間差を考慮した時間が計時され、その間、パケットを受信しない場合にリンク切り替えが行われる。これにより、同一ユーザ(同一VLANタグ)のパケットの順序逆転を防止でき、順序を保証することができる。
なお、タイマ35aは、切り替え信号を出力した後は、同一のVLANタグを受信しても、時間の計時および切り替え信号の出力は出力しない。これにより、リンクの再切り替えが防止される。
次に、リンクの変更を受信側スイッチに通知する制御パケット(以下「変更通知パケット」という。)による切り替え制御について説明する。
図16は、変更通知パケットにより切り替え制御を行うスイッチの構成を示すブロック図である。図17は、受信側スイッチの読み出し制御部42の処理フローを示すフローチャートである。
送信側スイッチには、制御パケット挿入部38が設けられる。NMS10は、この制御パケット挿入部38および振り分けテーブル31にリンク切り替え指示を与える。
振り分けテーブル保持部31は、図15に示す振り分けテーブル31cと同様のテーブルを保持し、リンク切り替え指示により、変更前リンクから変更後リンクに変更したリンク番号を出力リンク振り分け部33に与える。これにより、パケット(データパケット、ユーザパケット)は、切り替え後のリンクに振り分けられる。
一方、制御パケット挿入部38は、NMS10からのリンク切り替え指示により、バッファ37a〜37cのそれぞれに変更通知パケット(制御パケット)を書き込む。変更通知パケットは、切り替え前に書き込まれたデータパケット(ユーザパケット)と、切り替え後に書き込まれたデータパケット(ユーザパケット)との間に挿入されるように書き込まれる。すなわち、切り替え指示受信時において、既に振り分け済みまたは振り分け中の最終データパケットの後に、変更通知パケットが挿入される。書き込まれた変更通知パケットは、データパケットと同様に、リンク1〜3をそれぞれ介して受信側スイッチに送信される。
受信側スイッチには、リンク1〜3を介してそれぞれ受信されたパケットを一時的に記憶するための受信用バッファ43a〜43c、読み出し制御部42、およびバッファ43a〜43cを多重化して1つの出力リンクに送信する多重化部44が設けられる。
図17を参照して、読み出し制御部42は、バッファ43a〜43cにパケットが受信されると、受信パケットが変更通知パケット(制御パケット)かどうかを判断する(S51)。制御パケットの場合(S51でY),読み出し制御部42は、バッファから制御パケットを除去し(S58)、読み出し制御部42内に設けられた切り替えフラグをONに設定し、リンク切り替え中であることを示すと共に(S59)、読み出し制御部42内にリンク毎に設けられた制御パケット受信フラグのうち、変更通知パケットを受信したリンクの制御パケット受信フラグをONに設定して、該リンクに変更通知パケットが受信されたことを示す(S60)。その後、読み出し制御部42は、次のパケットの受信待ち状態になる。
一方、受信パケットが変更通知パケットでない場合、すなわちデータパケットである場合(S51でN)、読み出し制御部42は、切り替えフラグに基づいて、現在、リンクの切り替え中かどうかを判断する(S52)。
切り替えフラグがONでない(すなわちリンクの切り替え中ではない)場合には(S52でN)、読み出し制御部42は、受信したデータパケットをバッファから読み出し、多重化部44を介して送信する(S55)。一方、切り替えフラグがONの場合(すなわちリンクの切り替え中の場合)(S52でN)、読み出し制御部42は、全リンク(すなわちリンク1〜3の全て)の制御パケット受信フラグがONであるかどうかを判断する(S53)。すなわち、全リンクに、既に変更通知パケットが受信されているかどうかが判断される。
全リンクの制御パケット受信フラグがONでない場合には(S53でN)、読み出し制御部42は、データパケットを受信したリンクの制御パケット受信フラグがONであるかどうかを判断する(S56)。制御パケット受信フラグがONの場合(S56でY)、すでにそのリンクには変更通知パケットが受信されているので、読み出し制御部42は、受信したデータパケットがバッファから読み出されるのを一時的に停止する(S57)。一方、制御パケット受信フラグがOFFの場合(S56でN)、そのリンクには、変更通知パケットがまだ受信されていないので、読み出し制御部42は、受信データパケットをバッファから読み出し、多重化部44を介して送信する(S55)。
ステップS53において、全リンクの制御パケット受信フラグがONの場合には(S54でY),全リンクについてのリンクの切り替えが終了しており、受信されたデータパケットを直ちに送信しても順序逆転の問題は生じない。したがって、読み出し制御部42は、切り替えフラグおよび全リンクの制御パケット受信フラグをともにOFFに戻し(S54)、受信データパケットの読み出し/送信処理を行う(S55)。これにより、ステップS57で一時的に送信が停止されていたデータパケットも送信される。以後、受信データパケットは、通常通り、バッファから読み出され送信される。
これにより、あるリンクについて変更通知パケットが受信されると、それ以外のリンクについても変更通知パケットが受信されるまで、変更通知パケット以後の全リンクのデータパケットの読み出しおよび送信が一時停止される。そして、全リンクに変更通知パケットが受信された後、データパケットの読み出し/送信が再開される。変更通知パケットは、送信側スイッチにおいて、切り替えの前と後との境界を示す制御パケットであるので、この変更通知パケットの受信後に受信側スイッチで、送信を一時的に停止することにより、全リンクの割り当て変更前後でのデータパケットの順序を保証することができる。
なお、変更通知パケットではなく、データパケットのヘッダに変更通知を示すフラグないしはデータを送信側スイッチで書き込んで受信側スイッチに送信し、受信側スイッチの読み出し制御部42は、ヘッダに含まれるフラグないしデータにより、上記同様の処理を行うこともできる。
また、上記説明では、制御パケットを各リンクに適用する場合について説明したが、制御パケットをユーザ毎に適用することもできる。
次に、送信側スイッチにおいて、リンクの割り当て変更の前後で所定の時間、パケットの送信を停止することにより、順序保証を実現する方法について説明する。
図18は、送信側スイッチにおいてパケットの送信を停止することにより順序保証を実現するスイッチの構成を示すブロック図である。送信側スイッチには、読み出し制御部39が設けられる。
振り分けテーブル保持部31には、NMS10から切り替え指示が入力される。振り分けテーブル保持部31は、NMS10から切り替え指示が入力されると、バッファ37a〜37cからのパケットの読み出し/送信を一時停止する一時停止信号を読み出し制御部39に与える。
読み出し制御部39は、振り分けテーブル保持部31から一時停止信号を受信すると、出力リンク振り分け部33により既に振り分けが完了したパケットまたは現在振り分け中のパケットがバッファ37a〜37cから送信された後、バッファ37a〜37cからのパケットの読み出し/送信を一定時間停止する。停止する時間は、振り分け済みまたは振り分け中のパケットの送信が完了する時間であり、好ましくは、最大パケット長に基づいた送信完了時間(前記式(1)により求められる時間)である。
振り分けテーブル保持部31は、一時停止信号により読み出しが停止された後、振り分けテーブル31c(図15参照)の変更前リンクから変更後リンクに切り替える。
このように切り替え前に送信されたデータパケットと切り替え後に送信されるデータパケットとの間に所定の時間が開けられるので、上記受信側スイッチで受信パケットの読み出しを一時停止する場合と同様に、パケットの順序逆転が回避される。
この方法による停止時間は、上記変更通知パケット(制御パケット)の送信時間よりも長く必要になるが、時間差はたかだか1パケット程度の差であるため影響は小さい。また、この方法では、変更通知パケットといった特殊なパケットが不要なこと、受信側で特殊な処理が不要なことから、メリットは大きい。なお、ここではリンク毎のバッファ37a〜37cの読み出しをそれぞれ停止しているが、バッファ37a〜37cの前段に共通のバッファを配置し、該共通のバッファの読み出しを停止してもよい。
次に、各リンクに対応するユーザの帯域変更を、該リンクのバッファが空きになったときに行うことで、順序保証を実現する方法について説明する。図19は、この方法によりリンクの変更を行うスイッチの構成を示すブロック図である。送信側スイッチには、リンク1〜3のバッファ37a〜37cを管理するバッファ管理部40が設けられる。
ユーザ情報抽出部32は、受信パケットのVLANタグを振り分けテーブル31に与える。振り分けテーブル保持部31には、前述したのと同様の振り分けテーブル31cが保持される。振り分けテーブル保持部31は、ユーザ情報抽出部32からのVLANタグに対応する変更前リンク番号および変更後リンク番号をセレクタ36に与えると共に、変更前リンク番号をバッファ管理部40に与える。
セレクタ36は、バッファ管理部40からの切り替え信号が入力されていない状態(初期状態)においては、変更前リンク番号を選択して出力リンク振り分け部33に与えるように設定されている。これにより、出力リンク振り分け部33は、変更前のリンクに対応するバッファを介して、変更前のリンクに受信パケットを送信する。
バッファ管理部40には、NMS10から切り替え指示が入力される。切り替え指示の受信後、バッファ管理部40は、変更前リンク番号を振り分けテーブル保持部31から受け取ると、該受け取った変更前リンク番号に対応するバッファが空であるかどうかをチェックする。例えば、変更前リンク番号=1の場合、バッファ管理部40は、リンク1に対応するバッファ37aの状態をチェックする。バッファが空の場合、バッファ管理部40は、セレクタ36の切り替え信号を与える。これにより、セレクタ36は、変更後リンクを選択して、出力リンク振り分け部33に与える。これにより、受信バッファは変更後リンクに送信される。一方、バッファが空でない場合、バッファ管理部40は、セレクタ36に切り替え信号を与えない。
バッファが空である、すなわち、先に送信したパケットを構成するデータがすべて送信完了した後に、出力リンクを切り替えるので、先に送信したパケットと、リンク切り替え後に送信したパケットとの間で、順序逆転の問題は発生しない。本方法では、タイマ制御が不要になるため、回路を簡易に実現できるという利点がある。
これまで説明した実施の形態において、広域LANサービスに加入していたユーザがサービス契約を解消し、あるいは、サービス期限が満了することにより、NMS10および各スイッチにおける該ユーザのデータが不要となった場合には、NMS10のデータおよび各スイッチの振り分けテーブルから該ユーザのデータを削除し、NMS10および各スイッチが管理しているリンクの空き帯域を増加することにより対処することができる。
なお、リンクは、双方向リンクでも、片方向リンクでもよい。また、キャリアネットワーク1のノード装置がスイッチである場合について説明したが、ノード装置はルータであってもよい。
図1では、1人のユーザのVLANのみを図示しているが、キャリアネットワーク1には、他のユーザの拠点LANも接続され、該他のユーザのVLANが形成されてもよい。
キャリアネットワーク1は、ノード装置の一例としてのスイッチ11〜17を有し、このスイッチ間の一部に複数リンクが設けられている。例えば、スイッチ11−12間およびスイッチ13−16間には、1Gbpsのリンクが2本設けられ、スイッチ11−13間には、1Gbpsのリンクが3本設けられ、スイッチ13−17間には100Mbpsのリンクが2本設けられている。本実施の形態では、このスイッチ間の複数リンクにおけるパケットの振り分け(割り当て)に本発明が適用される。
各拠点からキャリアネットワーク1に入力されるパケットには、入口ノードであるスイッチ14〜17において、各ユーザにそれぞれ割り当てられたVLANタグ(VLAN−TAG)が付加される。VLANタグが付加されたパケットは、キャリアネットワーク1内をVLANタグおよびパケットのヘッダに含まれるMAC(Media Access Control)アドレスに基づいてスイッチングされ、目的の拠点LANに転送される。転送先の拠点に接続された出口ノードであるスイッチ14〜17において、VLANタグは除去され、除去後のパケットが目的の拠点LANに送信される。
本実施の形態では、あるユーザのパケットは、スイッチ間の複数リンクのうち選択された1つのリンクに振り分けられ、2以上のリンクに分散して振り分けられることはない。これにより、該ユーザのパケットの順序が保証される。このようなパケットの振り分けを行うために、本実施の形態ではVLANタグが使用される。
各ユーザのパケットをどのリンクに振り分けるかの設定は、キャリアネットワーク1を管理するネットワーク管理システム(NMS:Network Management System)10が行う。なお、大規模なキャリアネットワークでは、NMSが階層化され、上位NMSの下位にEMS(Element Management System)が設けられる場合があるが、この場合には、EMSが該振り分けの設定を行ってもよい。以下では、NMS10が行う場合を例にして説明することとする。
まず、NMS10によるユーザ帯域の設定から、各スイッチへの振り分け設定までの全体フローについて説明した後、振り分けの具体的な方法について説明する。また、その後、ある振り分けから他の振り分けに変更する場合において、パケットの順序保証を図るための変更方法について説明する。
図2は、NMS10の全体処理の流れを示すフローチャートである。
あるユーザ(ここでは図1のVLAN2のユーザとする。)がVLANによる広域LANサービスに加入すると、NMS10は、該ユーザについての拠点毎のユーザ帯域を設定する(S1)。例えば、図1では、拠点A〜CおよびEに100Mbps、拠点Dに1Gbpsが設定される。
続いて、NMS10は、キャリネットワーク1のネットワーク構成により、ユーザが使用する各リンク束の帯域を算出する(S2)。例えば、図1では、スイッチ11−12間の1Gbps×2の帯域のうちの300Mbpsが算出される。なお、図1のスイッチ間のリンクに隣接して示される数字のうち、分母はスイッチ間の全帯域を示し、分子は該ユーザ用に算出された帯域を示している。
続いて、NMS10は、各リンク束の各リンクの空き帯域を確認し、振り分けリンクを決定する(S3)。この方法には、いくつかの方法があり、後に詳述する。最後に、NMS10は、決定された振り分けリンクに基づいて、振り分けテーブルを各スイッチに対して作成し、各スイッチに設定する(S4)。なお、振り分けテーブルの各スイッチへの設定は、図1の破線の矢印で示す、NMS10と各スイッチとを接続する制御線を介して行われる。
図3は、キャリアネットワーク1の各スイッチの構成を示すブロック図である。スイッチは、振り分けテーブル保持部31、ユーザ情報抽出部32、および出力リンク振り分け部33を有する。
振り分けテーブル保持部31は、NMS10の上記ステップS4の処理により設定された振り分けテーブル31aを保持する。振り分けテーブル31aは、本実施の形態では、ユーザ情報(ユーザ識別情報)の一例としてのVLANタグと、該VLANタグを有するユーザのパケットが振り分けられる割り当てリンク番号(リンク識別子)とからなる。図3では、VLANタグ=1のユーザのパケットにはリンク2が、VLANタグ=2または3のユーザのパケットにはリンク1が、VLANタグ=4のユーザのパケットにはリンク3が、それぞれ割り当てられている。
スイッチに入力されたパケットは、ユーザ情報抽出部32に入力される。ユーザ情報抽出部32は、パケットに含まれるユーザ情報としてVLANタグを抽出し、抽出したVLANタグを振り分けテーブル保持部31に与えると共に、入力されたパケットを出力リンク振り分け部33に与える。振り分けテーブル保持部31は、ユーザ情報抽出部32から与えられたVLANタグに対応する割り当てリンク番号を振り分けテーブル31aから求め、求めた割り当てリンク番号を出力リンク振り分け部33に与える。
出力リンク振り分け部33は、振り分けテーブル保持部31から与えられた割り当てリンク番号に対応するリンクに、ユーザ情報抽出部32から与えられたパケットを出力する。これにより、VLANタグ=1のユーザのパケットはリンク2に出力され、VLANタグ=2または3のユーザのパケットはリンク1に出力され、VLANタグ=4のユーザのパケットはリンク3に出力される。その結果、各ユーザのパケットの順序保証が図られる。また、振り分けテーブルを適切なものとすることにより、各リンクの帯域を有効利用することもできる。
ここで、各ユーザのパケットを複数のリンクにどのように振り分けるか、換言すると、振り分けテーブルをどのように作成するか、すなわち、上記ステップS3の方法には、いくつかの方法があるので、以下では、これらの方法について説明する。
まず、スイッチ間に設けられた複数リンクへのユーザ帯域の割り当て方法について説明する。図4は、NMS10により実行されるユーザ帯域割り当て処理の流れを示すフローチャートである。
帯域保証サービスにおいては、ユーザが契約・加入する際に、該ユーザの保証帯域が決められる。NMS10は、キャリアネットワーク1において決定したルート上に存在するスイッチ間の複数リンクのうち、この保証帯域以上の空き帯域を有するリンクを選択する(S11)。例えば、図1において、スイッチ11−13間の3本のリンクにユーザの保証帯域300Mbpsを割り当てる場合には、3本のリンク(リンク束)のうち、空き帯域300Mbps以上を有する1つのリンクが選択される。これにより、ユーザ毎の帯域を保証することが可能となり、また該ユーザのパケットの順序保証を実現することができる。
なお、保証帯域以上の空き帯域を有するリンクが存在しない場合には、該ユーザの保証帯域が確保できないので、NMS10は該ユーザのルートを変更し、他のルートについて、図4のフローチャートの処理を実行する。
ユーザ(追加ユーザ)の保証帯域以上の空き帯域を有するリンクが存在する場合には、NMS10は、このようなリンクが複数本存在するかどうかを判断し(S12)、複数本存在する場合には(S12でY)、(1)空き帯域が最も多いリンク、(2)空き帯域が最も少ないリンク、(3)負荷(使用率)が最も低いリンク、(4)負荷(使用率)が最も高いリンク、のいずれか選択基準に基づいてリンクを選択し、該選択したリンクにユーザを割り当てる(S13)。選択基準(1)〜(4)のいずれにするかは、管理者等によって予め決められる。空き帯域がユーザの保証帯域以上残っているリンクが1本の場合には(S12でN),選択されたリンク、すなわち該1本のリンクが最終的に選択され、該ユーザに割り当てられる。
選択基準(1)では、空き帯域の最も多いリンクが選択され、追加ユーザ帯域が割り当てられる。これにより、複数リンク間の負荷を均等にして行くことができる。選択基準(2)では、空き帯域が最も少ないリンクに追加ユーザ帯域が割り当てられる。これにより、空き帯域の大きなリンクが残され、後に、より大きな帯域を使用する別のユーザが加入した場合に、該別のユーザに、残しておいたリンクを割り当てることができる。
選択基準(3)によると、選択基準(1)と同様に、各リンクの負荷を均等にすることができる。ここで、負荷とは、該リンクの使用帯域を、該リンクの全帯域(=使用帯域+空き帯域)で割った値をいう。各リンクの全帯域が等しい場合には、選択基準(3)と(1)のいずれを使用しても、同じリンクが選択されることとになるが、各リンクの全帯域が異なる場合もあり、この場合には、両者の選択結果が異なることがある。選択基準(4)は、選択基準(2)と同様であるが、各リンクの全帯域が等しい場合には、選択基準(4)と選択基準(2)の選択結果とが一致するが、各リンクの全帯域が異なる場合には、両者の選択結果が異なることがある。
例えば、図5は、1Gbpsのリンクが4本設けられている場合の追加ユーザ帯域の収容例を示し、図6は、1Gbpsのリンクが1本、100Mbpsのリンクが3本の場合の追加ユーザ帯域の収容例を示している。図5において、追加ユーザ帯域を300Mbpsとすると、上記選択基準(1)または(3)を使用した場合、いずれの選択基準でも、該ユーザ帯域はリンク2に割り当てられ、上記選択基準(2)または(4)を使用した場合、いずれの方法でも、該ユーザ帯域はリンク3に割り当てられる。図6において、追加ユーザ帯域を50Mbpsとすると、上記選択基準(1)を使用した場合、該ユーザ帯域はリンク1に割り当てられる一方、上記選択基準(3)を使用した場合、該ユーザ帯域はリンク3に割り当てられる。また、上記選択基準(2)を使用した場合、該ユーザ帯域はリンク2に割り当てられ、上記選択基準(4)を使用した場合も同様、該ユーザ帯域はリンク2に割り当てられる。
図4のステップS14により選択されたリンクに基づいて、振り分けテーブルが作成される。これにより、ユーザ毎に帯域を保証しつつ、リンク束の帯域を有効に使用することができる。
なお、MPLS(Multi−protocol Label Switching)を使用するキャリアネットワークでは、VLANタグに代えてラベルパス毎にリンクを割り当てることもできる。
また、各ユーザのパケットをどのリンクに振り分けるかの設定は、ノード自身(例えば振り分けテーブル保持部31またはノードに設けられた図示しないテーブル生成部)が行ってもよい。この場合、リンク束の帯域はNMSもしくはEMSにより決定され、またはノード間のシグナリングにより決定され、ノードは振り分け判定のみを行う。
次に、追加ユーザ帯域をリンク束に割り当てる場合に、該リンク束に既に割り当てられているユーザ帯域についても再度割り当て直す方法について説明する。図7は、この方法によるNMS10の処理フローを示すフローチャートである。
追加ユーザの保証帯域をリンク束に新たに割り当てる場合に、NMS10は、まず、該リンク束の設定をすべてクリアする(S21)。これにより、該リンク束に既に設定されているユーザの帯域割り当てもクリアされる。続いて、NMS10は、未設定のユーザ(既に割り当てられていたユーザおよび追加ユーザの双方が含まれる)の中から、保証帯域が最大のユーザを選択し(S22)、前述した図4の追加ユーザ帯域割り当てフローに基づきリンクを選択し、帯域を設定する(S23)。このような処理が、該リンク束を使用する全ユーザについて行われる(S24)。なお、図4のステップS13の選択基準により選択されたリンクが2以上ある場合には、最小番号のリンクや最大番号のリンク等の基準に基づいていずれかリンクが選択される。
これにより、使用帯域の大きなユーザから順に割り振られるリンクが決定されて行く。既に設定されているユーザの帯域についても再設定を行うので、再設定前には、追加ユーザの帯域がリンク束のいずれのリンクにも割り当てることができない場合にも、再設定後には割り当て可能となる場合がある。これにより、リンク帯域の有効利用を図ることもできる。
図8は、図7のフローチャートによる帯域割り当て例を示している。図8上段に示すように、1Gbpsの2本のリンク1および2からなるリンク束のうち、リンク1には、ユーザ1の帯域500Mbpsが既に割り当てられ、リンク2には、ユーザ2の帯域300Mbpsが既に割り当てられているものとする。この状況において、新たなユーザ3の追加帯域800Mbpsを割り当てる場合を考える。この場合、ユーザ3の帯域はリンク1および2のいずれにも割り当てることができない。一方、図7のフローチャートに従って再設定を行うと、図8下段に示すように、リンク1にユーザ3の帯域800Mbpsが割り当てられ、リンク2に、ユーザ1の帯域500Mbpsおよびユーザ2の帯域300Mbpsがそれぞれ割り当てられ、全てのユーザの帯域を2本のリンク内に割り当てることができる。
なお、本方法によっても、割り当て可能な空き帯域がないことにより、リンク割り当てを行うことができないユーザについては、ルートが変更され、変更されたルートにおいてリンク割り当てが行われることとなる。
次に、リンク束の1つのリンクに障害が発生した場合のリンク振り分け方法(割り当て方法)について説明する。図9は、リンク障害発生時のリンク振り分けの方法を説明するための送信側スイッチおよび受信側スイッチの構成を示すブロック図である。
障害時にも帯域を保証するには、通常使用しないバックアップ用リンクを用意しておく方法がある。図9では、3本のリンクのうち、リンク1および2が現用リンクであり、リンク3が障害時に使用されるバックアップ用リンクである。
例えば現用リンク2に障害が発生すると、受信側スイッチ(下流側スイッチ)4に設けられた障害検出部41が障害を検知する。障害検出部41は、送信側スイッチ(上流側隣接スイッチ)3に障害を通知する。この障害通知は、受信側スイッチ4から送信側スイッチ3に向かう上りリンク(図示略)を介して行うこともできるし、NMS10および制御線を介して行うこともできる。この障害通知には、障害が発生したリンクを示すリンク識別情報(例えばリンク番号等)が含まれる。
送信側スイッチ3には、バックアップ変換テーブル保持部34が設けられる。このバックアップ変換テーブル保持部34には、障害時に使用されるバックアップ変換テーブル34aが保持される。図9に示すように、このバックアップ変換テーブル34aには、通常(障害が発生していない時)使用されるリンクが設定(NMS10により設定)されているが、障害発生時に障害リンクを避けるように変更される。
バックアップ変換テーブル34aは、障害に備えて実際に使用しているリンクを示すテーブルであり、割り当てリンクと実使用リンクとの対応関係を示している。図9では、障害発生前にリンク1に振り分けられていたパケットが、障害発生後も同じリンク1に振り分けられ、障害発生前にリンク2に振り分けられていたパケットは、障害発生後はリンク3に振り分けられることが示されている。なお、障害発生リンクがリンク1の場合、割り当てリンク1の実使用リンクがリンク3に設定される。
バックアップ変換テーブル保持部34は、受信側スイッチの障害検出部41から送信された障害通知(障害リンク識別情報を含む。)を受信すると、バックアップ変換テーブルを変更すると共に、そのバックアップ変換テーブルに基づいて、パケットの出力リンクの振り分けの変更を出力リンク振り分け部33に指示する。これにより、出力リンク振り分け部33は、障害発生リンク2に振り分けるべきパケットをバックアップ用リンク3に振り分ける。このようにすることにより、障害発生時にも対応することができる。
なお、バックアップ変換テーブルを用いず、振り分けテーブルを直接変更してもよい。この場合、テーブル変更が障害リンク使用ユーザ分だけ必要になる。
次に、バックアップ用リンクが特に設けられていない場合における障害発生時のリンク変更方法について説明する。図10は、リンク障害発生時のリンク割り当て方法を説明するための送信側スイッチおよび受信側スイッチのブロック図である。図11は、NMS10によるリンク障害発生時のリンク割り当て処理の流れを示すフローチャートである。
送信側スイッチ3と受信側スイッチ4との間の3本の現用リンク1〜3のうち、リンク2に障害が発生したと仮定する。この場合、受信側スイッチ4の障害検出部41は、障害発生リンクを示すリンク識別情報を含んだ障害通知を送信側スイッチ3およびNMS10に送信する。なお、障害通知がNMS10経由で送信側スイッチ3に与えられる場合には、該通知はNMS10にのみ送信される。
NMS10は、この障害通知を受信することにより、送信側スイッチ3の振り分けテーブルを変更する。ここでは、障害が発生したリンクに割り当てられていたユーザのみの割り当て(振り分け)を見直し、障害が発生していないリンクに既に割り当てられているユーザの割り当ては現状のまま維持するものとする。
NMS10は、まず、障害が発生したリンクの設定をクリアする(S31)。図10の例では、リンク2の設定がクリアされる。続いて、NMS10は、クリアされた設定に関係するユーザ(すなわち未設定のユーザ)の中から保証帯域が最大のユーザを選択する(S32)。続いて、NMS10は、障害が発生していないリンク(図10ではリンク1および2)のうち、選択したユーザの帯域を割り当て可能かどうか、すなわち、障害が発生していないリンクのうち、選択したユーザの保証帯域以上の空き帯域を有するリンクが存在するかどうかを判断する(S33)。
このようなリンクが複数存在する場合には(S33でY)、NMS10は、前述した図4のステップS14の選択基準(1)〜(4)のいずれかによりリンクを選択し、選択したリンクにユーザの帯域を割り当てる(S34)。このようなリンクが1つ存在する場合には(S33でY)、NMS10は、該1つのリンクにユーザの帯域を割り当てる。これらの場合には、該ユーザの帯域保証を図ることができる。
一方、このようなリンクが存在しない場合には(S33でN)、NMS10は、帯域オーバ時割り当て処理によりリンクを選択し、設定を行う(S35)。具体的には、(a)各リンクの負荷が均等になる、または、均等に近づくようにリンクを選択する方法と、(b)オーバした帯域が均等になる、または、均等に近づくように振り分ける方法がある。両方法により選択されるリンクは、リンク束を構成する各リンクの全帯域が等しい場合には同じとなる。一方、各リンクの帯域が異なる場合には、(a)負荷が均等になる、または、均等に近づける方法が特性も均等になるため好ましい。なお、この場合には、該リンクに割り当てられた全てのユーザ(障害発生後に新たに割り当てられたユーザおよび障害発生前から割り当てられていたユーザの双方)に、特に優先順位がない場合には、全ユーザの帯域保証は必ずしも図られず、ベストエフォート型サービスとなる。
このような割り当て変更処理により、例えば図10の振り分けテーブル31aは、振り分けテーブル31bに変更される。この変更後のテーブル31bが、NMS10により送信側スイッチ3の振り分けテーブル保持部31に設定され、送信側スイッチの出力リンク振り分け部33は、テーブル31bに従って出力リンクを選択し、パケットを出力する。これにより、障害発生時も、パケットの順序保証を行い、また、リンクの帯域を有効利用したパケットの振り分けが可能となる。
また、テーブル31b´のように、変更前後(1リンク障害のみ)のテーブルを予め用意しておき、障害時の振り分け先を予め求めておいて設定しておくこともできる。これにより、1リンク障害時のみ高速にリンクの変更を行うことができる。
図12は、図11のフローチャートによる帯域割り当て例を示している。左側の3つのリンク1〜3が障害発生前の割り当てを示し、右側の3つのリンク1〜3がリンク2の障害発生後の割り当てを示している。この例では、リンク2の障害発生時に、できるだけ使用負荷が均等になるように、すなわち障害の影響がユーザ毎に同等になるように振り分けが行われる。まず、リンク2において、ユーザ帯域が最も大きい400Mbpsの帯域が、最も空き帯域の多い(最も使用負荷が低い)リンク3に割り当てられる。次に帯域が大きい300Mbpsの帯域が、最も空き帯域が多い(最も使用負荷が低い)リンク1に割り当てられる。これで、リンク1および3の双方で空き帯域が無くなったので、最後に残った200Mbpsの帯域は、もっとも帯域越えの少ない(最も使用負荷が低い)リンク3に割り当てられる。
次に、障害時のバックアップリンクが設けられていない場合において、障害発生時に、障害が発生していないリンクに既に割り当てられていたユーザを含め、全ユーザに対して割り当てを再設定する方法について説明する。
ユーザ間に優先度が設定されていない場合には、前述した図7に示すフローチャートにより、各ユーザの帯域を割り当てることができる。この場合に、帯域を確保できないユーザについては、前述した図11のステップS35の処理によりリンクを選択して割り当て、ベストエフォート型サービスを提供するか、あるいは、ルートを変更して、変更されたルート上のリンクで帯域を割り当てることもできる。
ユーザ間に優先度が設定されている場合には、優先度の高いユーザについて、先に帯域を割り当て、後に優先度の低いユーザについて、帯域を割り当てることもできる。図13は、優先度に従って帯域を割り当てる処理の流れを示すフローチャートである。ここでは、優先度として、「高」と「低」の2つの優先度のいずれかがユーザに設定されているものとする。
NMS10は、障害発生リンクを含む全リンクの設定をクリアする(S41)。続いて、NMS10は、優先度が「高」で、かつ、未設定のユーザの中で、保障帯域が最大のユーザを選択し(S42)、前述した図4の処理(追加ユーザ帯域割り当てフロー)によりリンクを選択し、設定する(S43)。NMS10は、優先度「高」のユーザのすべてについて割り当てを行い(S42〜S44)、割り当てが終了すると、続いて、優先度「低」のユーザについても同様にして帯域の割り当てを行う(S45〜S47)。
このような割り当てによって、優先度「高」および「低」の全ユーザの帯域が、障害の発生していないリンクにおいて確保できた場合には、全ユーザに対して帯域保証型のサービスを提供することができる。
優先度「高」の全ユーザについて帯域が確保できるが、優先度「低」の全ユーザについては帯域が確保できない場合には、優先度「低」のユーザには、ステップS46の処理の代わりに、図11のステップ35の帯域オーバー時割り当てフローにより割り当てを行うことができる。この場合には、優先度「高」のユーザに対するサービスは帯域保証型サービスとなり、優先度「低」のユーザに対するサービスはベストエフォート型サービスとなる。また、優先度「低」のユーザには、ルートを変更して帯域割り当てを行ってもよい。
優先度「高」および「低」の双方のユーザの帯域が確保できない場合には、帯域オーバー時割り当てフローにより割り当てを行うことができ、この場合には、全ユーザに対してベストエフォート型とすることができる。
次に、リンクの割り当てを変更する場合の変更のタイミングについて説明する。図14は、割り当て変更制御を行うタイマを有するスイッチの構成を示すブロック図である。
送信側スイッチには、振り分けテーブル31、ユーザ情報抽出部32、および出力リンク振り分け部33に加えて、タイマ35、セレクタ36、およびリンク1〜3のそれぞれの送信用バッファ37a〜37cが設けられる。
リンク割り当てを変更する場合、変更の前後で、パケットの順序逆転が発生する可能性がある。これを防ぐため、タイマ35には、リンクのそれぞれに対応した所定の時間がNMS10により計算/設定され、リンク切り替えのタイミングが決定される。タイマ35に設定される各リンクの所定の時間は、以下の式により求められる。
設定時間=(パケットの最大長)÷(変更前リンクの速度)+|(変更前リンクの遅延時間)−(変更後リンクの遅延時間)|+α …(1)
ここで、α(>0)は、リンク速度や遅延時間の誤差を考慮し、設定時間を理論値よりも僅かに大きくするための値である。
例えば、パケットの振り分けをリンク1からリンク2に変更する場合、パケットの最大長(ビット数)をLmax,リンク1のリンク速度(bps)をB1、リンク1の遅延時間τ1、リンク2の遅延時間をτ2とすると、タイマ35には、リンク1の設定時間T1=Lmax÷B1+|τ1−τ2|+αが設定される。なお、Lmax、B1,τ1、およびτ2の値は予め求めておくことができる。
ユーザ情報抽出部32は、パケットを受信すると、受信パケットに含まれるVLANタグを振り分けテーブル保持部31に与える。
振り分けテーブル保持部31は、各ユーザ(VLANタグ)の変更前リンクと変更後リンクとが規定された振り分けテーブル31cを保持する。振り分けテーブル保持部31は、ユーザ情報抽出部32から受信したVLANタグに対応する変更前リンク番号および変更後リンク番号の双方をセレクタ36に与えると共に、変更前リンク番号をタイマ35に与える。例えば、VLANタグ=1の場合には、リンク番号1および2がセレクタ36に与えられ、リンク番号1がタイマ35に与えられる。
セレクタ36は、タイマ35からの切り替え信号が入力されていない状態(初期状態)では、変更前リンク番号を選択して、出力リンク振り分け部33に出力する。これにより、初期状態では、変更前のリンクにパケットが送信される。
タイマ35には、NMS10からリンク変更指示が入力される。タイマ35は、この変更指示受信後、振り分けテーブル保持部31から変更前リンク番号を受信すると直ちに、該変更前リンク番号に対応する設定時間の計時を開始する。そして、タイマ35は、この時間が満了するまでの間に、同じ変更前リンク番号を振り分けテーブル保持部31から受信しない場合(すなわち同じリンクに振り分けられる次のパケットが受信されない場合)には、時間の満了時に該変更前リンク番号の切り替え信号をセレクタ36に出力する。一方、この時間の満了前に、同じ変更前リンク番号を受信した場合(すなわち同じリンクに振り分けられる次のパケットが受信された場合)には、タイマ35は、計時をリセットして、0から新たに計時を繰り返す。例えば、リンク番号1がタイマ35に与えられると、タイマ35は上記設定時間T1の計時を開始し、この時間T1が満了するまでの間に、リンク番号1を受信しない場合には、時間T1の満了時にリンク1の切り替え信号をセレクタ36に出力する一方、リンク番号1を受信した場合には、計時をリセットして、0から新たに計時を繰り返す。
セレクタ36は、切り替え信号を受信すると、以後、該切り替え信号に対応するリンクについては、変更後リンク番号を選択して出力リンク振り分け部33に出力する。これにより、パケットは、変更後リンク番号のリンクに送信される。
このように、タイマ35により、最大パケット長Lmaxの送信に要する時間にリンク間の遅延時間差を考慮した時間が計時され、その間、パケットを受信しない場合にリンク切り替えが行われる。これにより、同一リンクのパケットの順序逆転を防止でき、順序を保証することができる。
なお、タイマ35は、あるリンクについて切り替え信号を出力した後は、同一の変更前リンク番号を受信しても、時間の計時および切り替え信号の出力は行わない。これにより、リンクの再切り替えが防止される。
上記のタイマによる切り替えはリンク毎に行ったが、次に、ユーザ(すなわちVLANタグ)毎にタイマの時間を設定し、ユーザ毎にリンクの切り替え制御を行う方法について説明する。
図15は、ユーザ毎にリンクの切り替え制御を行う場合のスイッチの構成を示すブロック図である。
送信側スイッチには、振り分けテーブル31、ユーザ情報抽出部32、および出力リンク振り分け部33に加えて、タイマ35aおよびリンク1〜3のそれぞれの送信用バッファ37a〜37cが設けられる。
タイマ35には、VLANタグ(ユーザ)のそれぞれに対応した所定の時間がNMS10により設定され、リンク切り替えのタイミングが決定される。タイマ35に設定される各VLANタグの所定の時間は、上記式(1)と同じであるが、VLANタグ毎に設けられる点が異なる。
例えば、VLANタグ=1のパケットをリンク1からリンク2に変更する場合、パケットの最大長(ビット数)をLmax,リンク1のリンク速度(bps)をB1、リンク1の遅延時間τ1、リンク2の遅延時間をτ2とすると、タイマ35には、VLANタグ=1の設定時間T1=Lmax÷B1+|τ1−τ2|+αが設定される。
ユーザ情報抽出部32は、パケットを受信すると、受信パケットに含まれるVLANタグを振り分けテーブル保持部31およびタイマ35に与える。
振り分けテーブル保持部31は、各ユーザ(各VLANタグ)の変更前リンクと変更後リンクとが規定された振り分けテーブル31cを保持する。振り分けテーブル保持部31は、タイマ35からの切り替え信号を受信していない状態(初期状態)では、ユーザ情報抽出部32から受信したVLANタグに対応する変更前リンク番号を出力リンク振り分け部33に与える。例えば、VLANタグ=1の場合には、変更前リンク番号1が出力リンク振り分け部33に与えられる。これにより、出力リンク振り分け部33は、受信パケットを変更前のリンク1にバッファ37aを介して出力する。
タイマ35aには、NMS10からリンク切り替え指示が入力される。タイマ35aは、この切り替え指示の受信後、全VLANタグに対応する設定時間の計時を開始する。そして、タイマ35aは、パケット受信時に、ユーザ情報抽出部32から受信したVLANタグに対応したタイマについて、時間の満了か否かを確認し、満了している場合には、該当VLANタグのテーブル切り替えを行う。一方、時間が満了していない場合には、タイマ35aは、計時をリセットして、0から新たに計時を繰り返す。例えば、タイマ35aは、VLANタグ=1を受信した場合、該当するタイマ値が満了しているならば、VLANタグ=1の切り替え信号を振り分けテーブルに出力する一方、該当するタイマ値が満了していなければ、計時をリセットして、0から新たに計時を繰り返す。
なお、この方法では、切り替えが受信パケットに依存するため、トラフィックによっては切り替え完了が遅くなる場合もある。そこで、並行して未切り替えのユーザ(VLANタグ)に対して順次タイマ値を確認し、タイマ値の満了したテーブルを切り替えていくことで、切り替え完了を高速化することができる。
振り分けテーブル保持部31は、切り替え信号を受信すると、該切り替え信号に対応するVLANタグのリンクを変更前リンクから変更後リンクに変更し、以後、ユーザ情報抽出部32からVLANタグを受信すると、該VLANタグに対応する変更リンク番号を出力リンク振り分け部33に出力する。
このように、タイマ35aにより、最大パケット長Lmaxの送信に要する時間にリンク間の遅延時間差を考慮した時間が計時され、その間、パケットを受信しない場合にリンク切り替えが行われる。これにより、同一ユーザ(同一VLANタグ)のパケットの順序逆転を防止でき、順序を保証することができる。
なお、タイマ35aは、切り替え信号を出力した後は、同一のVLANタグを受信しても、時間の計時および切り替え信号の出力は出力しない。これにより、リンクの再切り替えが防止される。
次に、リンクの変更を受信側スイッチに通知する制御パケット(以下「変更通知パケット」という。)による切り替え制御について説明する。
図16は、変更通知パケットにより切り替え制御を行うスイッチの構成を示すブロック図である。図17は、受信側スイッチの読み出し制御部42の処理フローを示すフローチャートである。
送信側スイッチには、制御パケット挿入部38が設けられる。NMS10は、この制御パケット挿入部38および振り分けテーブル31にリンク切り替え指示を与える。
振り分けテーブル保持部31は、図15に示す振り分けテーブル31cと同様のテーブルを保持し、リンク切り替え指示により、変更前リンクから変更後リンクに変更したリンク番号を出力リンク振り分け部33に与える。これにより、パケット(データパケット、ユーザパケット)は、切り替え後のリンクに振り分けられる。
一方、制御パケット挿入部38は、NMS10からのリンク切り替え指示により、バッファ37a〜37cのそれぞれに変更通知パケット(制御パケット)を書き込む。変更通知パケットは、切り替え前に書き込まれたデータパケット(ユーザパケット)と、切り替え後に書き込まれたデータパケット(ユーザパケット)との間に挿入されるように書き込まれる。すなわち、切り替え指示受信時において、既に振り分け済みまたは振り分け中の最終データパケットの後に、変更通知パケットが挿入される。書き込まれた変更通知パケットは、データパケットと同様に、リンク1〜3をそれぞれ介して受信側スイッチに送信される。
受信側スイッチには、リンク1〜3を介してそれぞれ受信されたパケットを一時的に記憶するための受信用バッファ43a〜43c、読み出し制御部42、およびバッファ43a〜43cを多重化して1つの出力リンクに送信する多重化部44が設けられる。
図17を参照して、読み出し制御部42は、バッファ43a〜43cにパケットが受信されると、受信パケットが変更通知パケット(制御パケット)かどうかを判断する(S51)。制御パケットの場合(S51でY),読み出し制御部42は、バッファから制御パケットを除去し(S58)、読み出し制御部42内に設けられた切り替えフラグをONに設定し、リンク切り替え中であることを示すと共に(S59)、読み出し制御部42内にリンク毎に設けられた制御パケット受信フラグのうち、変更通知パケットを受信したリンクの制御パケット受信フラグをONに設定して、該リンクに変更通知パケットが受信されたことを示す(S60)。その後、読み出し制御部42は、次のパケットの受信待ち状態になる。
一方、受信パケットが変更通知パケットでない場合、すなわちデータパケットである場合(S51でN)、読み出し制御部42は、切り替えフラグに基づいて、現在、リンクの切り替え中かどうかを判断する(S52)。
切り替えフラグがONでない(すなわちリンクの切り替え中ではない)場合には(S52でN)、読み出し制御部42は、受信したデータパケットをバッファから読み出し、多重化部44を介して送信する(S55)。一方、切り替えフラグがONの場合(すなわちリンクの切り替え中の場合)(S52でN)、読み出し制御部42は、全リンク(すなわちリンク1〜3の全て)の制御パケット受信フラグがONであるかどうかを判断する(S53)。すなわち、全リンクに、既に変更通知パケットが受信されているかどうかが判断される。
全リンクの制御パケット受信フラグがONでない場合には(S53でN)、読み出し制御部42は、データパケットを受信したリンクの制御パケット受信フラグがONであるかどうかを判断する(S56)。制御パケット受信フラグがONの場合(S56でY)、すでにそのリンクには変更通知パケットが受信されているので、読み出し制御部42は、受信したデータパケットがバッファから読み出されるのを一時的に停止する(S57)。一方、制御パケット受信フラグがOFFの場合(S56でN)、そのリンクには、変更通知パケットがまだ受信されていないので、読み出し制御部42は、受信データパケットをバッファから読み出し、多重化部44を介して送信する(S55)。
ステップS53において、全リンクの制御パケット受信フラグがONの場合には(S54でY),全リンクについてのリンクの切り替えが終了しており、受信されたデータパケットを直ちに送信しても順序逆転の問題は生じない。したがって、読み出し制御部42は、切り替えフラグおよび全リンクの制御パケット受信フラグをともにOFFに戻し(S54)、受信データパケットの読み出し/送信処理を行う(S55)。これにより、ステップS57で一時的に送信が停止されていたデータパケットも送信される。以後、受信データパケットは、通常通り、バッファから読み出され送信される。
これにより、あるリンクについて変更通知パケットが受信されると、それ以外のリンクについても変更通知パケットが受信されるまで、変更通知パケット以後の全リンクのデータパケットの読み出しおよび送信が一時停止される。そして、全リンクに変更通知パケットが受信された後、データパケットの読み出し/送信が再開される。変更通知パケットは、送信側スイッチにおいて、切り替えの前と後との境界を示す制御パケットであるので、この変更通知パケットの受信後に受信側スイッチで、送信を一時的に停止することにより、全リンクの割り当て変更前後でのデータパケットの順序を保証することができる。
なお、変更通知パケットではなく、データパケットのヘッダに変更通知を示すフラグないしはデータを送信側スイッチで書き込んで受信側スイッチに送信し、受信側スイッチの読み出し制御部42は、ヘッダに含まれるフラグないしデータにより、上記同様の処理を行うこともできる。
また、上記説明では、制御パケットを各リンクに適用する場合について説明したが、制御パケットをユーザ毎に適用することもできる。
次に、送信側スイッチにおいて、リンクの割り当て変更の前後で所定の時間、パケットの送信を停止することにより、順序保証を実現する方法について説明する。
図18は、送信側スイッチにおいてパケットの送信を停止することにより順序保証を実現するスイッチの構成を示すブロック図である。送信側スイッチには、読み出し制御部39が設けられる。
振り分けテーブル保持部31には、NMS10から切り替え指示が入力される。振り分けテーブル保持部31は、NMS10から切り替え指示が入力されると、バッファ37a〜37cからのパケットの読み出し/送信を一時停止する一時停止信号を読み出し制御部39に与える。
読み出し制御部39は、振り分けテーブル保持部31から一時停止信号を受信すると、出力リンク振り分け部33により既に振り分けが完了したパケットまたは現在振り分け中のパケットがバッファ37a〜37cから送信された後、バッファ37a〜37cからのパケットの読み出し/送信を一定時間停止する。停止する時間は、振り分け済みまたは振り分け中のパケットの送信が完了する時間であり、好ましくは、最大パケット長に基づいた送信完了時間(前記式(1)により求められる時間)である。
振り分けテーブル保持部31は、一時停止信号により読み出しが停止された後、振り分けテーブル31c(図15参照)の変更前リンクから変更後リンクに切り替える。
このように切り替え前に送信されたデータパケットと切り替え後に送信されるデータパケットとの間に所定の時間が開けられるので、上記受信側スイッチで受信パケットの読み出しを一時停止する場合と同様に、パケットの順序逆転が回避される。
この方法による停止時間は、上記変更通知パケット(制御パケット)の送信時間よりも長く必要になるが、時間差はたかだか1パケット程度の差であるため影響は小さい。また、この方法では、変更通知パケットといった特殊なパケットが不要なこと、受信側で特殊な処理が不要なことから、メリットは大きい。なお、ここではリンク毎のバッファ37a〜37cの読み出しをそれぞれ停止しているが、バッファ37a〜37cの前段に共通のバッファを配置し、該共通のバッファの読み出しを停止してもよい。
次に、各リンクに対応するユーザの帯域変更を、該リンクのバッファが空きになったときに行うことで、順序保証を実現する方法について説明する。図19は、この方法によりリンクの変更を行うスイッチの構成を示すブロック図である。送信側スイッチには、リンク1〜3のバッファ37a〜37cを管理するバッファ管理部40が設けられる。
ユーザ情報抽出部32は、受信パケットのVLANタグを振り分けテーブル31に与える。振り分けテーブル保持部31には、前述したのと同様の振り分けテーブル31cが保持される。振り分けテーブル保持部31は、ユーザ情報抽出部32からのVLANタグに対応する変更前リンク番号および変更後リンク番号をセレクタ36に与えると共に、変更前リンク番号をバッファ管理部40に与える。
セレクタ36は、バッファ管理部40からの切り替え信号が入力されていない状態(初期状態)においては、変更前リンク番号を選択して出力リンク振り分け部33に与えるように設定されている。これにより、出力リンク振り分け部33は、変更前のリンクに対応するバッファを介して、変更前のリンクに受信パケットを送信する。
バッファ管理部40には、NMS10から切り替え指示が入力される。切り替え指示の受信後、バッファ管理部40は、変更前リンク番号を振り分けテーブル保持部31から受け取ると、該受け取った変更前リンク番号に対応するバッファが空であるかどうかをチェックする。例えば、変更前リンク番号=1の場合、バッファ管理部40は、リンク1に対応するバッファ37aの状態をチェックする。バッファが空の場合、バッファ管理部40は、セレクタ36の切り替え信号を与える。これにより、セレクタ36は、変更後リンクを選択して、出力リンク振り分け部33に与える。これにより、受信バッファは変更後リンクに送信される。一方、バッファが空でない場合、バッファ管理部40は、セレクタ36に切り替え信号を与えない。
バッファが空である、すなわち、先に送信したパケットを構成するデータがすべて送信完了した後に、出力リンクを切り替えるので、先に送信したパケットと、リンク切り替え後に送信したパケットとの間で、順序逆転の問題は発生しない。本方法では、タイマ制御が不要になるため、回路を簡易に実現できるという利点がある。
これまで説明した実施の形態において、広域LANサービスに加入していたユーザがサービス契約を解消し、あるいは、サービス期限が満了することにより、NMS10および各スイッチにおける該ユーザのデータが不要となった場合には、NMS10のデータおよび各スイッチの振り分けテーブルから該ユーザのデータを削除し、NMS10および各スイッチが管理しているリンクの空き帯域を増加することにより対処することができる。
なお、リンクは、双方向リンクでも、片方向リンクでもよい。また、キャリアネットワーク1のノード装置がスイッチである場合について説明したが、ノード装置はルータであってもよい。
本発明は、通信ネットワークを構成するノード装置であって、複数のリンクを有するノード装置(例えばスイッチ、ルータ等)に利用することができる。また、本発明は、通信ネットワークを管理するネットワーク管理システムに利用することができる。
Claims (26)
- 通信ネットワークに設けられ、下流側に隣接するノード装置と複数のリンクを介して接続され、受信したパケットを該下流側に隣接するノード装置に伝送するノード装置であって、
前記受信したパケットに含まれる、該パケットの送信元ユーザを示すユーザ識別情報を抽出するユーザ情報抽出部と、
パケットの送信元ユーザのユーザ識別情報と、前記複数のリンクのうち、該ユーザ識別情報のユーザに割り当てられた1つのリンクの識別情報とを対応させた割り当てデータを保持し、前記ユーザ情報抽出部により抽出されたユーザ識別情報に対応するリンクの識別情報を求めるデータ保持部と、
前記データ保持部により求められたリンクの識別情報に対応するリンクに、前記受信したパケットを送信するパケット送信部と、
を備えるノード装置。 - 請求の範囲第1項において、
前記ユーザ識別情報のユーザに割り当てられた1つのリンクは、該ユーザの要求帯域を保証するリンクである、ノード装置。 - 請求の範囲第1項において、
前記割り当てデータは、前記通信ネットワークを管理するネットワーク管理装置により生成され、該データ保持部に送信されて保持される、ノード装置。 - 請求の範囲第1項において、
前記割り当てデータは、前記データ保持部により生成され、または、データ生成部により生成される、ノード装置。 - 請求の範囲第1項において、
前記割り当てデータは、新たなユーザの要求帯域が前記複数のリンクのいずれかに割り当てられる場合に、該新たなユーザの要求帯域以上の空き帯域を有するリンクのうち、空き帯域の最も大きなリンクまたは最も小さなリンクに該新たなユーザの要求帯域が割り当てることにより生成される、ノード装置。 - 請求の範囲第1項において、
前記割り当てデータは、新たなユーザの要求帯域が前記複数のリンクのいずれかに割り当てられる場合に、該新たなユーザの要求帯域以上の空き帯域を有するリンクのうち、使用率の最も低いリンクまたは最も高いリンクに該新たなユーザの要求帯域が割り当てられることにより生成される、ノード装置。 - 請求の範囲第1項において、
前記割り当てデータは、新たなユーザの要求帯域が前記複数のリンクのいずれかに割り当てられる場合に、既に割り当てられているユーザおよび該新たなユーザを含めた全ユーザの要求帯域が、前記複数のリンクに新たに割り当て直されることにより生成される、ノード装置。 - 請求の範囲第7項において、
前記割り当てデータは、前記全ユーザの要求帯域のうち、大きな要求帯域のユーザから小さな要求帯域のユーザへ向けて順に割り当て直すことにより生成される、ノード装置。 - 請求の範囲第8項において、
前記割り当てデータは、前記大きな要求帯域のユーザから小さな要求帯域のユーザへ向けて順に選択されたユーザの要求帯域以上の空き帯域を有するリンクのうち、空き帯域の最も大きなリンクまたは最も小さなリンクに該選択されたユーザの要求帯域が割り当てられることにより生成される、ノード装置。 - 請求の範囲第8項において、
前記割り当てデータは、前記大きな要求帯域のユーザから小さな要求帯域のユーザへ向けて順に選択されたユーザの要求帯域以上の空き帯域を有するリンクのうち、使用率の最も低いリンクまたは最も高いリンクに該選択されたユーザの要求帯域が割り当てられることにより生成される、ノード装置。 - 請求の範囲第1項において、
前記データ保持部は、ユーザ識別情報と、前記複数のリンクに障害が発生していない通常時において該ユーザ識別情報のユーザに割り当てられる第1リンクの識別情報、および、前記複数のリンクの少なくとも1つに障害が発生した障害時において該ユーザ識別情報のユーザに割り当てられる第2リンクの識別情報とを対応させた割り当てデータを保持し、前記通常時には、前記ユーザ情報抽出部により抽出された前記ユーザ識別情報に対応する第1リンクの識別情報を求め、前記障害時には、前記ユーザ情報抽出部により抽出された前記ユーザ識別情報に対応する第2リンクの識別情報を求め、
前記パケット送信部は、前記データ保持部により求められた第1リンクまたは第2リンクの識別情報に対応するリンクに、前記受信したパケットを送信する、
ノード装置。 - 請求の範囲第1項において、
前記データ保持部は、前記複数のリンクの少なくとも1つに障害が発生した障害時には、前記割り当てデータの全てのユーザ識別情報が、障害が発生していないリンクに対応するように、前記割り当てデータの前記リンクの識別情報の全てまたは一部を書き換え、前記障害時には、書き換え後の割り当てデータに基づいて、前記ユーザ情報抽出部により抽出された前記ユーザ識別情報に対応するリンクの識別情報を求める、
ノード装置。 - 請求の範囲第11または第12項において、
前記複数のリンクの少なくとも1つは、障害時にのみ使用されるバックアップリンクであり、残りは、通常時に使用される現用リンクであり、前記第1リンクは、現用リンクのうちの1つであり、前記第2リンクは、バックアップリンクの1つまたは現用リンクの1つである、ノード装置。 - 請求の範囲第11項または第12項において、
前記複数のリンクの全てが、通常時に使用される現用リンクであり、前記第1リンクは、現用リンクのうちの1つであり、前記第2リンクは、障害時に障害が発生していない現用リンクの1つである、ノード装置。 - 請求の範囲第14項において、
前記割り当てデータの第2リンクは、障害時に、障害が発生していない現用リンクのうち、要求帯域以上の空き帯域を有する1つのリンク、または、要求帯域以上の空き帯域を有するリンクが存在しない場合には障害が発生していない現用リンクの負荷が均等に近づくように選択された1つのリンクである、ノード装置。 - 請求の範囲第15項において、
前記割り当てデータの第2リンクは、障害時に、障害が発生していない現用リンクのうち、要求帯域以上の空き帯域を有する1つのリンク、または、要求帯域以上の空き帯域を有するリンクが存在しない場合には障害が発生していない現用リンクのオーバーした帯域が均等に近づくように選択されたリンクである、ノード装置。 - 請求の範囲第15項において、
前記割り当てデータの第2リンクは、障害時に、障害が発生していない現用リンクに対して、優先度の高いユーザの要求帯域を先に割り当て直し、優先度の低いユーザの要求帯域を後に割り当てなおすことにより決定される、ノード装置。 - 請求の範囲第1項において、
前記データ保持部は、パケットの送信元ユーザのユーザ識別情報と、前記複数のリンクのうち、該ユーザ識別情報のユーザに割り当てられた第1リンクの識別情報および第2リンクの識別情報とを対応させた割り当てデータを保持し、前記ユーザ識別情報に対応する第1および第2リンクの識別情報を求め、
前記パケット送信部は、前記通信ネットワークを管理するネットワーク管理装置または前記下流側に隣接するノード装置からのリンク切り替え指令を受信する前に受信したパケットについては、前記データ保持部により求められた第1リンクに送信し、前記切り替え指令を受信すると、切り替え指令受信前において前記第1リンクに振り分けられるべきパケットが、所定の時間の間受信されるかどうかを判断し、該所定の時間の間受信されない場合に、それ以降に受信したパケットについては、前記データ保持部により求められた第2リンクに送信する、
ノード装置。 - 請求の範囲第18項において、
前記パケット送信部は、前記切り替え指令を受信した後は、前記第1リンクに所定の時間の間該ユーザのパケットが受信されない場合に、それ以後受信したパケットについては、前記データ保持部に求められた第2リンクに送信する処理を各ユーザ毎に行う、
ノード装置。 - 請求の範囲第1項において、
前記データ保持部は、パケットの送信元ユーザのユーザ識別情報と、前記複数のリンクのうち、該ユーザ識別情報のユーザに割り当てられた第1リンクの識別情報および第2リンクの識別情報とを対応させた割り当てデータを保持し、前記ユーザ識別情報に対応する第1および第2リンクの識別情報を求め、
前記パケット送信部は、前記通信ネットワークを管理するネットワーク管理装置または前記下流側に隣接するノード装置からのリンク切り替え指令を受信する前に受信したパケットについては、前記データ保持部により求められた第1リンクに送信し、前記切り替え指令を受信すると、前記複数のリンクにリンク切り替えを示す制御パケットを送信し、その後、前記データ保持部により求められた第2リンクにパケットを送信する、
ノード装置。 - 請求の範囲第1項において、
前記データ保持部は、パケットの送信元ユーザのユーザ識別情報と、前記複数のリンクのうち、該ユーザ識別情報のユーザに割り当てられた第1リンクの識別情報および第2リンクの識別情報とを対応させた割り当てデータを保持し、前記ユーザ識別情報に対応する第1および第2リンクの識別情報を求め、
前記パケット送信部は、前記通信ネットワークを管理するネットワーク管理装置または前記下流側に隣接するノード装置からのリンク切り替え指令を受信する前に受信したパケットについては、前記データ保持部により求められた第1リンクに前記受信したパケットを送信し、前記切り替え指令を受信すると、前記複数のリンクのそれぞれについて所定の時間の間、パケットの送信を停止し、その後、前記データ保持部により求められた第2リンクにパケットの送信を開始する、
ノード装置。 - 請求の範囲第1項において、
前記データ保持部は、パケットの送信元ユーザのユーザ識別情報と、前記複数のリンクのうち、該ユーザ識別情報のユーザに割り当てられた第1リンクの識別情報および第2リンクの識別情報とを対応させた割り当てデータを保持し、前記ユーザ識別情報に対応する第1および第2リンクの識別情報を求め、
前記データ送信部は、前記複数のリンクのそれぞれについての送信バッファを有し、前記通信ネットワークを管理するネットワーク管理装置または前記下流側に隣接するノード装置からのリンク切り替え指令を受信する前に受信したパケットについては、前記データ保持部により求められた第1リンクに前記受信したパケットを送信し、前記切り替え指令を受信すると、前記送信バッファのそれぞれが空になったかどうかを監視し、空になった送信バッファに対応する第1リンクに振り分けられるパケットについては、第2リンクに切り替えてパケットを送信する、
ノード装置。 - 通信ネットワークに設けられ、上流側に隣接するノード装置と複数のリンクを介して接続され、前記上流側に隣接するノードから受信したパケットをさらに下流側のノード装置に伝送するノード装置であって、
前記複数のリンクのそれぞれから受信されるパケットを一時的に記憶する複数の受信バッファと、
前記複数の受信バッファを監視し、前記上流側に隣接するノード装置がパケットを送信するリンクを切り替える場合に送信する、リンク切り替えを示す制御パケットが該複数の受信バッファの少なくとも1つに受信された場合には、前記複数の受信バッファのすべてに制御パケットが受信されるまで、該制御パケットが受信された受信バッファにその後に受信されるパケットの読み出しを停止し、前記複数の受信バッファのすべてに制御パケットが受信されると、前記複数の受信バッファからのパケットの読み出しを再開してパケットを送信する読み出し制御部と、
を備えるノード装置。 - 隣接するノード装置間に複数のリンクが設けられる通信ネットワークを管理するネットワーク管理装置で実行され、前記複数リンクへのユーザの帯域の割り当てを行うユーザ帯域割り当て方法であって、
前記複数リンクのうち、ユーザの要求帯域以上の空き帯域を有するリンクを選択するステップと、
前記選択するステップにより1つのリンクが選択された場合には、該1つのリンクに前記ユーザの要求帯域を割り当て、2以上のリンクが選択された場合には、該2以上のリンクのうち、空き帯域の最も大きなリンク、空き帯域の最も小さなリンク、使用率の最も高いリンク、または使用率の最も低いリンクを選択し、選択したリンクに該ユーザの要求帯域を割り当てるステップと、
を備える方法。 - 請求の範囲第24項において、
前記複数リンクに1または2以上のユーザの帯域が既に割り当てられている場合において、新たに追加されるユーザの要求帯域を割り当てるとき、前記既に割り当てられているユーザの帯域の割り当ては変更せず、該新たに追加されるユーザの要求帯域を、前記選択するステップおよび前記割り当てるステップによって割り当てる、
方法。 - 隣接するノード装置間に複数のリンクが設けられる通信ネットワークを管理するネットワーク管理装置で実行され、前記複数リンクへのユーザの帯域の割り当てを行うユーザ帯域割り当て方法であって、
前記複数リンクに1または2以上のユーザの帯域が既に割り当てられている場合において、新たに追加されるユーザの要求帯域を割り当てるとき、該既に割り当てられているユーザの帯域の割り当てを解除するステップと、
前記解除したユーザの要求帯域および前記新たに追加されるユーザの要求帯域のうち、割り当てが決定されていないユーザの要求帯域の中から最大の要求帯域を選択するステップと、
前記複数リンクのうち、前記選択した最大の要求帯域以上の空き帯域を有するリンクを選択するステップと、
前記選択するステップにより1つのリンクが選択された場合には、該1つのリンクに前記最大の要求帯域を割り当て、前記選択するステップにより2以上のリンクが選択された場合には、該2以上のリンクのうち、空き帯域の最も大きなリンク、空き帯域の最も小さなリンク、使用率の最も高いリンク、または使用率の最も低いリンクを選択し、選択したリンクに該最大の要求帯域を割り当てるステップと、
を備える方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2003/003572 WO2004086697A1 (ja) | 2003-03-25 | 2003-03-25 | 複数リンクを有するノード装置および複数リンクへのユーザ帯域割り当て方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2004086697A1 true JPWO2004086697A1 (ja) | 2006-06-29 |
Family
ID=33045123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004569920A Pending JPWO2004086697A1 (ja) | 2003-03-25 | 2003-03-25 | 複数リンクを有するノード装置および複数リンクへのユーザ帯域割り当て方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2004086697A1 (ja) |
WO (1) | WO2004086697A1 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006203735A (ja) * | 2005-01-24 | 2006-08-03 | Hitachi Ltd | 通信装置 |
JP4588501B2 (ja) * | 2005-03-16 | 2010-12-01 | 富士通株式会社 | 通信カード及び通信方法 |
JP4588503B2 (ja) * | 2005-03-18 | 2010-12-01 | 富士通株式会社 | 通信システム及び通信方法 |
US7639614B2 (en) * | 2005-04-12 | 2009-12-29 | Fujitsu Limited | Distribution-tuning mechanism for link aggregation group management |
US7649846B2 (en) * | 2005-04-12 | 2010-01-19 | Fujitsu Limited | Purge mechanism in link aggregation group management |
US8451713B2 (en) * | 2005-04-12 | 2013-05-28 | Fujitsu Limited | Special marker message for link aggregation marker protocol |
JP4283792B2 (ja) | 2005-08-29 | 2009-06-24 | 富士通株式会社 | 帯域制御方法及び伝送装置 |
JP4491397B2 (ja) * | 2005-10-07 | 2010-06-30 | アラクサラネットワークス株式会社 | トラフィック迂回機能を備えるパケット転送装置。 |
JP4822997B2 (ja) * | 2006-09-20 | 2011-11-24 | 富士通株式会社 | 通信装置および通信方法 |
JP4587053B2 (ja) | 2007-08-28 | 2010-11-24 | 日本電気株式会社 | 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム |
JP5168166B2 (ja) * | 2009-01-21 | 2013-03-21 | 富士通株式会社 | 通信装置および通信制御方法 |
JP5152932B2 (ja) * | 2010-02-18 | 2013-02-27 | 日本電信電話株式会社 | 回線収容設計装置及び方法、並びにプログラム |
JP2011249979A (ja) * | 2010-05-25 | 2011-12-08 | Nec Corp | 通信システム |
JP5612918B2 (ja) * | 2010-06-24 | 2014-10-22 | 日本電信電話株式会社 | トラフィック収容方法、回線設計装置、及び、通信システム |
JP2012205048A (ja) * | 2011-03-25 | 2012-10-22 | Nec Corp | パケット伝送装置、パケット伝送方法、及びコンピュータプログラム |
JP5995279B2 (ja) * | 2012-10-24 | 2016-09-21 | 日本電気株式会社 | ネットワーク機器、方法、及びプログラム |
JP6274828B2 (ja) * | 2013-11-19 | 2018-02-07 | 三菱電機株式会社 | 通信装置および通信パス冗長方法 |
JP2015139111A (ja) * | 2014-01-22 | 2015-07-30 | 日立金属株式会社 | 中継システムおよびスイッチ装置 |
US20230013105A1 (en) * | 2019-12-05 | 2023-01-19 | Nippon Telegraph And Telephone Corporation | Device, method and program for generating network topologies |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59144245A (ja) * | 1983-02-07 | 1984-08-18 | Nippon Telegr & Teleph Corp <Ntt> | パケツト交換加入者回線制御方式 |
JPH0993644A (ja) * | 1995-09-22 | 1997-04-04 | Nippon Telegr & Teleph Corp <Ntt> | 無線チャネル割当方法および無線基地局装置 |
US6591303B1 (en) * | 1997-03-07 | 2003-07-08 | Sun Microsystems, Inc. | Method and apparatus for parallel trunking of interfaces to increase transfer bandwidth |
US6157627A (en) * | 1997-06-23 | 2000-12-05 | Telefonaktiebolaget Lm Ericsson | Channel allocation for mixed multislot services |
JP2000013439A (ja) * | 1998-06-22 | 2000-01-14 | Fujitsu Ltd | マルチリンク型ルーティング方法およびマルチリンク型ルータ |
JP3770058B2 (ja) * | 2000-06-16 | 2006-04-26 | 株式会社日立製作所 | フレーム分配方法およびその機能を有する情報処理装置 |
JP3759416B2 (ja) * | 2001-02-26 | 2006-03-22 | 日本電信電話株式会社 | 経路制御方法 |
JP2003124980A (ja) * | 2001-10-17 | 2003-04-25 | Fujitsu Ltd | パケット振り分け装置 |
-
2003
- 2003-03-25 WO PCT/JP2003/003572 patent/WO2004086697A1/ja active Application Filing
- 2003-03-25 JP JP2004569920A patent/JPWO2004086697A1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2004086697A1 (ja) | 2004-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPWO2004086697A1 (ja) | 複数リンクを有するノード装置および複数リンクへのユーザ帯域割り当て方法 | |
US9967638B2 (en) | Optical switching | |
US6671256B1 (en) | Data channel reservation in optical burst-switched networks | |
Verma et al. | Optical burst switching: a viable solution for terabit IP backbone | |
US8179786B2 (en) | Dynamic traffic rearrangement and restoration for MPLS networks with differentiated services capabilities | |
US11722407B2 (en) | Packet processing method and apparatus | |
US8040901B1 (en) | Packet queueing within ring networks | |
US10439871B2 (en) | Deterministic stitching of deterministic segments across distinct deterministic domains | |
US20080225716A1 (en) | Quality of service admission control network | |
US8339985B2 (en) | Method and system for announcing traffic engineering parameters of composite transport groups | |
JP2007097114A (ja) | 通信品質制御機能を備えるパケット中継装置 | |
US7092359B2 (en) | Method for distributing the data-traffic load on a communication network and a communication network for implementing this method | |
US10826818B2 (en) | Advertising messages in networks | |
WO2016194089A1 (ja) | 通信ネットワーク、通信ネットワークの管理方法および管理システム | |
JP2011049659A (ja) | 通信装置および通信方法 | |
JP2012010102A (ja) | 通信装置および通信方法 | |
US20170279684A1 (en) | System and method for provisioning of bandwidth-on-demand (BoD) services in a telecommunications network | |
Kozlovski et al. | Service differentiation in wavelength-routed optical burst-switched networks | |
JP2004289780A (ja) | 光加入者線端局装置、光加入者線終端装置およびそれらによって用いられる帯域割当方法 | |
US7369514B1 (en) | Source credit based fairness scheme | |
Lin et al. | FARE: An efficient integrated MAC protocol for differentiated services in WDM metro rings | |
JP6211257B2 (ja) | 通信システム | |
JP5045683B2 (ja) | フロー単位でトラフィック制御を行う通信システム、該通信システムで使用する管理装置及びプログラム | |
Zapata et al. | Investigation of future optical metro ring networks based on 100-gigabit metro ethernet (100gbme) | |
JP2012104886A (ja) | 転送制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080229 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080930 |