JP4529144B2 - 仮想lanシステムおよびノード装置 - Google Patents
仮想lanシステムおよびノード装置 Download PDFInfo
- Publication number
- JP4529144B2 JP4529144B2 JP2006531781A JP2006531781A JP4529144B2 JP 4529144 B2 JP4529144 B2 JP 4529144B2 JP 2006531781 A JP2006531781 A JP 2006531781A JP 2006531781 A JP2006531781 A JP 2006531781A JP 4529144 B2 JP4529144 B2 JP 4529144B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual lan
- node
- virtual
- node device
- data link
- 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
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
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4675—Dynamic sharing of VLAN information amongst network nodes
Description
図1を用いて、従来の仮想LANシステムをより具体的に説明する。従来の仮想LANシステムは、ノードA11〜A13と仮想ハブB1とバックボーンネットワークC1とにより構成される。
ノードA11は、アプリケーションA111とTCP/IP処理部A112と物理インターフェースA113と仮想インターフェースA114とを含む。ここで、アプリケーションA111はノードA11の備えるTCP/IP通信機能を用いてデータの送受信を行なうアプリケーションであり、例としてブラウザやメーラーなどが挙げられる。TCP/IP処理部A112は、TCP/IP通信に必要なトランスポート層およびネットワーク層の処理を行なう機能を備え、一般的にはカーネルの標準機能として提供されるものである。物理インターフェースA113は、ノードA11の備える物理リンクに対応して提供されるものであり、TCP/IP処理部A112が送受信するIPパケットをデータリンク層メディアによって運ぶ機能を備える。
仮想インターフェースA114は、実際に対応する物理リンクは存在しないが、TCP/IP処理部A112には物理インターフェースA113と同様に見えるものようにエミュレートされるものである。仮想インターフェースA114は、内部にカプセリング部A1141を含む。仮想インターフェースA114を通して送受信されるパケットは、カプセリング部A141によってカプセリング処理が行われ、仮想インターフェースA114の外部では、例えば、Ethernet(登録商標) over IPやEthernet over UDPやEthernet over IPsecなどのパケット形式で通信トンネルCt11の上で運ばれる。すなわち、通信トンネルCt11は仮想LANにおけるノードA11と仮想ハブB1とを接続する仮想的なリンク(仮想リンク)となる。通信トンネルCt11は、仮想ハブB1との間で設定されるものである。また、仮想インターフェースA114を通して送受信されるこれらのパケットは、物理インターフェースA113に対応する物理リンクを利用してバックボーンネットワークC1内を流れる。
仮想ハブB1は、トンネル終端部B11およびブリッジ部B12とを含む。トンネル終端部B11は、ノードA11〜A13のそれぞれに対応する通信トンネルCt11〜Ct13を終端し、受信したパケットに対して非カプセル化処理を行った後、ブリッジ部B12へ渡す。ブリッジ部B12は、渡されたパケットの宛先MACアドレスを基にブリッジ処理を行い、対応する通信トンネル上へ転送するように該パケットをトンネル終端部B11へ戻す。すなわち、仮想ハブB1は、イーサネットにおけるハブと同等の機能を仮想LAN上で提供するものである。
従来技術の問題点は、仮想LANを提供するためには、仮想ハブが必要であるという点である。
仮想LANを提供するためには、該仮想LANに参加するノードが利用するための仮想ハブを用意しなければならない。すなわち、数ノードから構成されるような小規模な仮想LANを提供する場合であっても最低1つの仮想ハブが必要であり、仮想ハブを設置・管理するための運用コストを考えると、スモールスタートしにくいという問題がある。
また、仮想LAN内の通信は、必ず仮想ハブを経由するため、仮想ハブにかかるトラフィック負荷や処理負荷は仮想LAN内の通信量に応じて大きくなり、スケーラビリティの問題がある。
さらに、仮想ハブの障害時や、仮想ハブがバックボーンネットワークに収容されているリンクの障害時は、仮想LAN自体が利用不可能になる。すなわち、仮想ハブが単一障害点となるため、システムの信頼性の面で問題である。
本発明の目的は、仮想ハブを必要としない仮想LANシステムおよびそのシステム用のノード装置を提供することである。
本発明の第2の仮想LANシステムは、第1の仮想LANシステムにおいて、前記仮想LANに参加するノード装置は、前記仮想LANに参加している他のノード装置が前記仮想LANから離脱したことを検出した場合、前記離脱後の仮想LANトポロジを再計算し、再計算した仮想LANトポロジに合致するように前記通信トンネルの開設および削除を行うと共に前記パケット転送テーブルの設定変更を行う仮想LAN制御部を備えることを特徴とする。
本発明の第3の仮想LANシステムは、第1の仮想LANシステムにおいて、前記仮想LANに参加するノード装置は、前記仮想LANへの新たなノード装置の参加を検出した場合、前記参加後の仮想LANトポロジを再計算し、再計算した仮想LANトポロジに合致するように前記通信トンネルの開設および削除を行うと共に前記パケット転送テーブルの設定変更を行う仮想LAN制御部を備えることを特徴とする。
本発明の第4の仮想LANシステムは、第1、第2または第3の仮想LANシステムにおいて、前記仮想LANに参加するノード装置には前記仮想LAN内で一意のノードIDが割り当てられ、前記仮想LANに参加するノード装置の前記パケット転送テーブルには、前記仮想LANに参加するノード装置のMACアドレス、宛先ノードID、ソースノードIDに対応して出側サブインターフェースIDが登録され、前記データリンク層パケットは、前記データリンク層パケットのソースノードおよび宛先ノードのノードIDがカプセル化時にエンコードされ、前記仮想インターフェースは、前記カプセル化されたソースノードおよび宛先ノードのノードIDに基づいて前記データリンク層パケットを転送することを特徴とする。
本発明の第1のノード装置は、データリンク層パケットをカプセル化するための通信トンネルを仮想LANにおける仮想的なリンクとしてエミュレートするための仮想インターフェースを備え、前記仮想インターフェースは、前記仮想LANの他のノード装置に対して設定された通信トンネルを終端する複数のサブインターフェースと、前記仮想LANに参加するノード装置どうしを前記通信トンネルで接続した仮想LANトポロジに従って、自ノード装置が送信しようとする前記データリンク層パケットおよび前記仮想LANの他のノード装置から受信した前記データリンク層パケットを、前記複数のサブインターフェースのうちのどのサブインターフェースから送信あるいは転送すべきかが登録されているパケット転送テーブルとを備え、自ノード装置が送信しようとする前記データリンク層パケットおよび前記仮想LANの他のノード装置から受信した前記データリンク層パケットを前記パケット転送テーブルを参照して決定したサブインターフェースから送信あるいは転送するものであることを特徴とする。
本発明の第2のノード装置は、第1のノード装置において、前記仮想LANに参加している他のノード装置が前記仮想LANから離脱したことを検出した場合、前記離脱後の仮想LANトポロジを再計算し、再計算した仮想LANトポロジに合致するように前記通信トンネルの開設および削除を行うと共に前記パケット転送テーブルの設定変更を行う仮想LAN制御部を備えることを特徴とする。
本発明の第3のノード装置は、第1のノード装置において、前記仮想LANへの新たなノード装置の参加を検出した場合、前記参加後の仮想LANトポロジを再計算し、再計算した仮想LANトポロジに合致するように前記通信トンネルの開設および削除を行うと共に前記パケット転送テーブルの設定変更を行う仮想LAN制御部を備えることを特徴とする。
本発明の第4のノード装置は、第1、第2または第3のノード装置において、前記パケット転送テーブルには、前記仮想LANに参加するノード装置のMACアドレス、宛先ノードID、ソースノードIDに対応して出側サブインターフェースIDが登録され、前記データリンク層パケットは、前記データリンク層パケットのソースノードおよび宛先ノードのノードIDがカプセル化時にエンコードされ、前記仮想インターフェースは、前記カプセル化されたソースノードおよび宛先ノードのノードIDに基づいて前記データリンク層パケットを転送することを特徴とする。
本発明の第5のノード装置は、第1、第2、第3または第4のノード装置において、前記仮想LANに新規に参加しようとする際に、前記仮想LAN内に既に参加している他のどのノードに対して、前記通信トンネルを開設すべきかという情報を得る機能を有するブートストラップ部を備えることを特徴とする。
図2は、本発明の実施の形態の構成を示すブロック図である。
図3は、本発明の実施の形態におけるパケット転送テーブルの例を示す図である。
図4は、本発明の実施の形態において構成される仮想LANトポロジを説明するための図である。
図5は、本発明の実施の形態の動作を示す流れ図である。
図6は、本発明の実施の形態におけるトポロジ構築・再構成の例を示す図である。
図7は、本発明の実施の形態におけるパケット転送テーブルの別の例を示す図である。
図8は、本発明の実施の形態におけるパケット形式の例を示す図である。
図9は、本発明の実施例における仮想LAN参加のために必要な情報の取得動作を説明するための図である。
図10は、本発明の実施例における仮想LAN参加後のパケット転送テーブルを示す図である。
図11は、本発明の実施例におけるトポロジ再構成後のパケット転送テーブルを示す図である。
図2を参照すると、本発明の実施の形態は、ノードA21〜A23とバックボーンネットワークC2とから構成される。各ノード間には、通信トンネルCt21〜Ct23によって仮想リンクがつくられ、仮想LAN内通信に対応するイーサネットパケットがカプセル化されて運ばれる。図2では、3つのノード間にフルメッシュ状に通信トンネルが生成されているように描かれているが、実際には仮想LANに参加するノード間でフルメッシュに通信トンネルが生成される必要はなく、仮想LANに参加するノード間でパケット転送用の任意のトポロジを通信トンネルにより構成し、該トポロジ上でパケットの転送を行う。
ノードA21〜A23は、仮想LANに参加するノードであり、パーソナルコンピュータや携帯情報端末などの通信機能を有するコンピュータで構成される。以下ではノードA21の構成・動作についてだけ詳細に説明するが、ノードA22、A23についてもノードA21と同様の構成をもつ。ノードA21は、アプリケーションA211と、TCP/IP処理部A212と、物理インターフェースA213と、仮想インターフェースA214と、仮想LAN制御部A215とを含む。
アプリケーションA211、TCP/IP処理部A212、物理インターフェースA213は、図1の説明におけるアプリケーションA111、TCP/IP処理部A112、物理インターフェースA113と同じため、説明は省く。
仮想インターフェースA214は、仮想LAN内の通信を行うための仮想的なインターフェースとして、TCP/IP処理部A212に対してエミュレートされるものである。仮想インターフェースA214は、その内部構成として、パケット転送テーブルA2141と、制御メッセージ送受信部A2142と、サブインターフェースA2143とを含む。
パケット転送テーブルA2141は、仮想インターフェースA214において、自ノードから送信するパケットおよび、他ノードから受信しなおかつ宛先MACアドレスが自ノードのMACアドレスではないパケットに対し、宛先MACアドレスに応じて該パケットをどのサブインターフェースから転送すべきかを示すテーブルである。パケット転送テーブルA2141の例を図3に示す。
図3を参照すると、パケット転送テーブル101は、パケットの宛先MACアドレスごとに対応するサブインターフェースのIDが登録されている。パケット転送テーブル101によると、宛先MACアドレスが00:11:22:33:44:55および00:22:33:44:55:66であるパケットはサブインターフェースtun0から送出され、00:33:44:55:66:77であるパケットはサブインターフェースtun1から送出されることを示している。また、宛先MACアドレスに「broadcast」と書かれたエントリは、ブロードキャストパケット(宛先MACアドレスがff:ff:ff:ff:ff:ffであるパケットや、どこに転送すべきか不明な宛先MACアドレスをもつパケットがこれに対応する)に対応するエントリである。図3に示すパケット転送テーブル101の例では、ブロードキャストの場合はソースMACアドレスに応じて送出するサブインターフェースが異なり(そうした理由は後述する)、ソースMACアドレスが00:11:22:33:44:55および00:22:33:44:55:66である場合は転送されずに自ノードで該パケットを終端し、ソースMACアドレスが00:99:aa:bb:cc:ddである場合はサブインターフェースtun0およびtun1から送出されることを示している。
制御メッセージ送受信部A2142は、仮想LAN内の各参加ノードに関する情報を交換するための制御メッセージを送受信する機能を有する。制御メッセージ送受信部A2142は、仮想LAN内の他のノードから受信した制御メッセージに含まれる制御情報を、仮想LAN制御部A215内の仮想LAN状態管理部A2151へ渡す。本制御情報は、仮想LAN内のノードの参加・離脱情報、各参加ノードのID・MACアドレス、各ノード間の遅延・帯域情報などを含む。また、仮想LAN状態管理部A2151から渡された制御情報を他のノードへ制御メッセージとして送信を行う機能も備える。
サブインターフェースA2143は、仮想LAN内の他のノードに対して設定された通信トンネルを終端し、仮想インターフェースA214内のサブインターフェースとして実現される。サブインターフェースA2143が複数ある場合でも、TCP/IP処理部A212に対しては1つの仮想インターフェースとして見える。サブインターフェースA2143は、仮想インターフェースA214から送信されるパケットに対してカプセリング処理を行うことにより、サブインターフェースA2143と仮想LAN内の他のノードに対して設定された通信トンネル上で該パケットの伝送を行う。また、仮想インターフェースA214で受信したパケットに対しては、サブインターフェースA2143でカプセル化ヘッダを外し、仮想インターフェースA214はカプセル化ヘッダの内側にエンコードされたMACヘッダに基づいて、自ノードで受信するかまたはパケット転送処理を行う。サブインターフェースA2143の外部では、例えば、Ethernet over IPやEthernet over UDPなどのパケット形式で通信トンネルCt21〜Ct23の上で運ばれる。Ethernet over UDPのパケット形式を図8のパケット形式401に示す。
仮想LAN制御部A215は、ノードA21が参加する仮想LANにおけるパケット転送用トポロジの制御機能を有する。仮想LAN制御部A215は、その内部構成として、仮想LAN状態管理部A2151と、トンネル制御部A2152と、トポロジ計算部A2153と、ブートストラップ部A2154とを含む。
仮想LAN状態管理部A2151は、ノードA21が参加する仮想LANにおける状態を管理する機能を有する。仮想LANにおける状態とは、仮想LANに参加しているノード数、自ノードから直接通信トンネルにより接続されているノードの情報(ノードID、MACアドレス、物理IPアドレスなど)、各ノード間のリソース情報(遅延・帯域など)などを含む。仮想LAN状態管理部A2151は、これらの情報に基づいて、パケット転送テーブルA2141の内容を書き換える機能を有するとともに、トンネル制御部A2152を介して他のノードに対する通信トンネルを開設・削除することで仮想LANのトポロジを変更する機能を有する。トポロジ変更の際は、トポロジ計算部A2153を介して計算されたトポロジに基づき通信トンネルの開設・削除を行う。
トンネル制御部A2152は、仮想LAN状態管理部A2151からの指示に基づき、仮想インターフェースA214に対して通信トンネルの開設・削除の制御を行う。
トポロジ計算部A2153は、仮想LAN内におけるブロードキャストパケットおよびユニキャストパケットを転送するための通信トンネルによるトポロジを計算する。トポロジ計算においては、仮想LAN状態管理部A2151において保持されている仮想LAN内の各ノードの情報や各ノード間のリソース情報を利用する。トポロジの例としては、リング型トポロジ、格子状グラフ型トポロジ、de Bruijnグラフ型トポロジ、スパニングツリー型トポロジなどが挙げられる。これらのトポロジを図4の201〜204に示す。ここで、スパニングツリーとは、閉路がつくられないようにノード間にリンクが張られているトポロジを指す。
ブートストラップ部A2154は、ノードA21が仮想LANへの参加時に必要な初期動作を行う。初期動作の例として、仮想LANに参加しているいずれかのノードへ接続を行い、仮想LAN参加に必要な情報を得る方法などが挙げられる。この場合、仮想LANに参加しているいずれかのノードのIPアドレスなどの情報がブートストラップ部A2154において予め設定されていることが必要となる。仮想LAN参加に必要な情報とは、仮想LANに新規に参加した際に新規参加ノードがもつノードIDおよび新規参加ノードが通信トンネルを開設すべき相手ノードのベースIPアドレス(実際の物理ネットワーク上で割り当てられているIPアドレス)などである。他にも、仮想LANに対応するFQDN(Full−Qualified Domain Name)を用いてDNS(Domain Name System)サーバから仮想LAN参加に必要な情報を取得する方法などが考えられる。
次に、図5を参照して、本実施の形態において、ノードA21が仮想LANに参加する動作および、参加した後の動作について詳細に説明する。
まずはじめに、ノードA21内のブートストラップ部A2154は、仮想LANに参加しているいずれかのノードへ接続し、自ノードが仮想LAN上に構築されたトポロジに参加するために必要な情報を取得する(図5のステップS101)。例えば、図4に示す格子状グラフ型トポロジを仮想LANに参加しているノード間で構成する場合、現在のノード数によって、ノードA21がどのIDをもつノードとして参加し、他のどのノードと通信トンネルを設定すべきかが異なる。
図6を用いて、8ノードで構成される格子状グラフ型トポロジにノードA21が新規に参加する場合の動作を説明する。ここで、格子状グラフ型トポロジでは各ノードにIDが割り当てられており、一番左下のノードのIDを0−0として、このノードからの(上方向の位置)−(右方向の位置)というように各ノードのIDが決定される(状態301参照)。ノード0−0から、0−1→1−0→1−1→0−2→1−2→2−0→2−1の順でノードが追加され、次に参加するノードは2−2のIDをもつものとする。ノード0−0〜2−1の全てのノードは仮想LANの現在の参加ノード数を保持しており、次に仮想LANに参加するノードのIDおよび該ノードが通信トンネルを設定すべき隣接ノードのベースIPアドレスを仮想LAN内の制御メッセージ交換により保持しているものとする。
ノードA21はブートストラップA2154を介して、ノード0−0〜2−1の任意のノードに対して、仮想LANに参加するための要求を行うと、要求されたノードは、ノードA21に割り当てられるノードIDと、どのノードに対してトンネルを設定すべきかを回答する。この場合、ノードIDは2−2であり、ノード1−2およびノード2−1に対応するベースIPアドレスに対して通信トンネルを開設するべきであると回答する。
ステップS101においてブートストラップA2154が仮想LANに参加するために通信トンネルを開設すべきノードの情報を取得すると、該情報は仮想LAN状態管理部A2151へ渡される。そして、仮想LAN状態管理部A2151は、トンネル制御部A2152を経由して仮想インターフェースA214へ取得した通信トンネルを開設すべきノードに対して通信トンネルの開設を指示し、通信トンネルが開設される(ステップS102)。ステップS102の後、図6における状態302に示す状態となる。
ステップS102の後、仮想LAN状態管理部A2151は、仮想LANに参加し、パケット転送を行うために必要な情報を制御メッセージ送受信部A2142を用いて取得する(ステップS103)。ここで、パケット転送を行うために必要な情報とは、仮想LAN内の各ノードのMACアドレス(仮想インターフェースに割り当てられたMACアドレスを指す)とノードIDの対応関係である。本対応関係を用いて、仮想LAN状態管理部A2151は、パケットの宛先MACアドレスに対して該パケットをどのサブインターフェースへ送信すべきかを示すパケット転送テーブルA2141を作成する(ステップS104)。
パケット転送テーブルA2141の作成は、用いるトポロジの種類に応じて規則的に行われる。例えば図6に示す格子状グラフ型トポロジの場合、どの通信トンネルへ転送すれば最短ホップ数で宛先ノードへ到達できるかが宛先ノードIDに基づき一意に決定できるため、規則的なルーティングテーブル作成が可能となる。ノードIDが2−2であるノードにおいては、0−2、1−2のIDをもつノードに対応する宛先MACアドレスに対しては1−2側の通信トンネルにパケットを転送し、その他のIDをもつノードに対応する宛先MACアドレスに対しては、2−1側の通信トンネルにパケットを転送するというようにパケット転送テーブルが作成される(ここでどちらの通信トンネルへ転送しても同じホップ数となる場合、2−1側の通信トンネルの方を優先するものとした)。
また、パケット転送テーブルA2141には、ARPパケットの転送などのために、ブロードキャスト用のエントリも同時に作成される。図4に示したスパニングツリートポロジの場合は、受信した通信トンネル以外の他の全ての通信トンネルに転送すればよいが、その他のトポロジの場合、ノードが同じパケットを重複して受信しないようにしなければならないため、ブロードキャストパケットのソースノードに応じて転送先の通信トンネルを変える必要があり、図3のパケット転送テーブル101の例に示すようなブロードキャストパケットに対応するエントリが作成される。
ステップS104の後、仮想LAN状態管理部A2151は、仮想LAN内の他のノードに対して、ノードA21が参加したことを制御メッセージ送受信部A2142を介して制御メッセージを送信することにより通知する(ステップS105)。本通知により、ノードA21が参加したことを通知する制御メッセージを受信した他のノードは、後述するステップS107、S109〜S112の動作を行い、必要ならば通信トンネルの開設・削除動作を行うとともに、ノードA21が参加した後のトポロジに対応してパケット転送テーブルA2141を更新する。ステップS105の後、ノードA21は定常状態となり、仮想LANの参加ノードとして他のノードとデータ通信を行うことが可能となる(ステップS106)。
ステップS106の定常状態において発生するイベントは次の3つに分かれる。1つ目は、他のノードが参加・離脱したという通知を受信した場合、2つ目は、隣接ノードとの通信トンネルが切断したことを検出した場合、3つ目は、ノードA21が仮想LANから離脱する場合である。
他のノードが参加・離脱したという通知を受信した場合、制御メッセージ送受信部A2142は該通知を仮想LAN状態管理部A2151へ渡すとともに、他のノードへ転送する(ステップS107)。該通知は、ブロードキャストを用いるか、受信した通信トンネル以外の他の全ての通信トンネルに転送するなどの方法(この場合、重複する通知を受信の際は該通知は廃棄される)を用いて、仮想LAN内の全ノードへ周知される。
また、隣接ノードとの通信トンネルが切断したことを検出した場合、仮想LAN状態管理部A2151は、制御メッセージ送受信部A2142を介して、隣接ノードが仮想LANから離脱したことを仮想LAN内の他のノードに対して通知する(ステップS108)。
ステップS107またはステップS108の後、仮想LAN状態管理部A2151は、トポロジ計算部A2153を用いて、通知に対応するノード参加・離脱後の仮想LANのトポロジを計算する(ステップS109)。
図6を用いてトポロジ更新の例を述べる。図6の状態303は、0−0〜2−2のIDをもつ9つのノードから構成される格子グラフ型トポロジであり、ここでノード1−1が離脱したとする。
2−2のIDをもつノードA21は、ノード1−1が離脱しなという通知を他のノードから受信する。該通知は制御メッセージ送受信部A2142から仮想LAN状態管理部A2151へ渡され、仮想LAN状態管理部A2151はトポロジ計算部A2153を用いて、ノード1−1が離脱したことに対応するトポロジを計算する。ここでは、ノード1−1が離脱すると全体のノード数が9から8に減るため、9番目のノードである、2−2のIDをもつノード(すなわちノードA21)がノード1−1の位置へ論理的に移動すると計算されたとする。他にも利用するトポロジ計算アルゴリズムに応じて様々なトポロジ再構成形態が考えられる。
ステップS109で計算されたトポロジにおいて、ノードA21が通信トンネルを開設・削除することが必要である場合は、該トポロジに合わせてトンネル制御部A2152を介して通信トンネルの開設・削除を行う(ステップS110)。図6に示す例では、ノードA21はノード1−1の位置に論理的に移動するため、新規にノード0−1およびノード1−0と通信トンネルを開設する。また、ノード1−2およびノード2−1との間の通信トンネルも必要であるが、元のトポロジ(ノードA21が2−2の位置に置かれているトポロジ)において既にノードA21とノード1−2およびノード2−1との間に通信トンネルが設定されているため、これらを再利用する(状態304参照)。このようにノードの論理的な移動の前後で移動するノードにおいて設定されている通信トンネルをできるだけ再利用することで通信トンネルの開設・削除動作を削減する。
ステップS110で新規トポロジに合わせて通信トンネルの開設・削除を行うと、仮想LAN状態管理部A2151は、新規トポロジに合わせてパケット転送テーブルA2141の更新を行う(ステップS111)、さらに、仮想LAN状態管理部A2151はトポロジが再構成されたことを制御メッセージ送受信部A2142を用いて仮想LAN内の他の全てのノードに通知する(ステップS112)。該通知を受信したノードは、再構成されたトポロジに合わせてパケット転送テーブルを更新する。
ステップS112の後、ノードA21は1−1のIDをもつノードとして再び仮想LAN内の他のノードとの通信を行えるようになる。すなわち、ステップS106の定常状態へ戻る。
また、ステップS106の定常状態から、ノードA21が仮想LANから離脱する場合、仮想LAN状態管理部A2151は、制御メッセージ送受信部A2142を介して離脱することを仮想LAN内に通知し、設定していた通信トンネルを削除することにより仮想LANからの離脱を行う(ステップS113、S114)。ここで、停電などの理由で離脱の通知をせずに、いきなりノードA21が仮想LANから離脱してしまうこともありうるが、この場合は、ノードA21の隣接ノードがノードA21との通信トンネルが切断したことを検出し、ステップS108以降のステップを行うことにより、仮想LANは継続的に運用される。
以上、本実施の形態において、ノードA21が仮想LANに参加する動作および、参加した後の動作について説明した。
以下、本実施の形態から考えられる他の実施の形態についても併せて説明する。
本実施の形態では、パケット転送テーブルA2141は、図3に示したパケット転送テーブル101のように、MACアドレスベースのテーブル構造をとっていた。これは、図8に示すパケット形式401のように、カプセル化ヘッダの内側に直ちにMACヘッダがエンコードされる場合は、MACヘッダに含まれる情報を用いて仮想LAN内のパケット転送を行わなければならないためである。しかしながら、図8のパケット形式402のように、パケット転送用に新たにヘッダ(転送用ヘッダ)が付加される場合は、該転送用ヘッダ内に含まれる情報に基づいてパケット転送が行えるため、必ずしもMACアドレスベースのテーブル構造をとる必要がない。該パケット転送用ヘッダに、パケットのソースノードIDと宛先ノードIDがエンコードされる場合は、ノードIDベースのテーブル構造をとることができる。例を図7のパケット転送テーブル102に示す。
パケット転送テーブル102においては、MACアドレス、宛先ノードID、ソースノードIDに対応して出側サブインターフェースIDが登録されている。このうち、パケットのソースノードでは、宛先MACアドレスに対応するノードIDおよび出側サブインターフェースIDが解決される。そして、パケットをカプセル化する際に、解決されたノードIDを宛先ノードID、自ノードのノードIDをソースノードIDとしてエンコードし、解決されたサブインターフェースIDから送信する。該パケットを受信した中継ノードでは、仮想インターフェースA214において該パケットにエンコードされた宛先ノードIDを参照して対応する出側サブインターフェースIDが解決され、解決されたサブインターフェース上に該パケットを転送する。ここで、ユニキャストパケットに対しては宛先ノードIDしか参照されないが、ブロードキャストパケットに対しては、同じパケットが重複して受信されないようにするため、ソースノードIDも同時に参照して出側サブインターフェースIDが解決される。
次に本実施の形態の効果について説明する。
本実施の形態では、仮想LAN参加ノード間で自律的に通信トンネルを設定することによりトポロジを構成し、仮想LANを構築する。従来技術では、仮想LAN提供には仮想ハブが必要であったが、本実施の形態では、予め用意された仮想ハブなしに任意のノード数で仮想LANを構築することが可能となる。したがって仮想LAN提供にあたって仮想ハブの設置・運用コストを削減できるという効果がある。
また、仮想LAN内の通信は、構成されたトポロジに応じて各ノードにおいて作成されるパケット転送テーブルに基づいて行われ、従来技術のように特定のノード(仮想ハブ)だけにトラフィック負荷や処理負荷が集中することはない。各通信トンネルにできるだけ均等に負荷がかかるような適切なトポロジを選択することにより、ノード数や仮想LAN内のトラフィックの増加に対して高いスケーラビリティをもたせることができる。
さらに、本実施の形態では、参加ノードのいずれかが離脱しても、仮想LANトポロジの修復が自律的に行われる。従来技術では仮想ハブが単一障害点となったが、本実施の形態ではいずれのノードの離脱や障害に対しても、仮想LAN参加ノード間の通信を継続することができ、高信頼のシステムを提供することが可能となる。
本実施例は、図4に示す格子グラフ型トポロジ202を用いて仮想LANが構築されるものとし、初期状態において図6の状態301に示される8ノードから構成されるトポロジになっているものとする。
ここで、図2におけるノードA21が、仮想LANに新規に参加するものとする。仮想LANに参加するために必要な情報は、現在仮想LANに参加しているノード数と、新規に参加するノードが通信トンネルを開設すべき相手ノードのベースIPアドレスであり、本実施例では、これらの情報をDNSを用いて解決するものとする。
DNSを用いて現在仮想LANに参加しているノード数および新規に参加するノードが通信トンネルを解決すべき相手ノードのベースIPアドレスを解決するために、仮想LANに参加するノードは以下の動作を行う。
まず、0−0のIDをもつノードが、DNSサーバD1に対して現在仮想LANに参加しているノード数を登録する。ここで、ノード数は「nodenum.lan−a.net」に対応するTXT(テキスト)レコードとして登録される。本登録動作は、仮想LAN内のノード数が変化したことを検出するたびに行われる。さらに、各ノードは、DNSサーバD1に対して、自ノードのベースIPアドレスを登録する。例えば、自ノードのIDが2−1であり、ベースIPアドレスが8.9.10.11である場合、「node2−1.lan−a.net」に対するTXTレコードとして、“8.9.10.11”をDNSサーバD1に対して登録する。本登録動作は、自ノードのIDおよびベースIPアドレスの変化に追随して行われる。
図9のシーケンスを参照すると、ノードA21のブートストラップ部A2154は、まず仮想LANの現在のノード数を解決するために、DNSサーバD1に対してドメイン名「nodenum.lan−a.net」に対するTXTレコードを解決する。DNSサーバD1は、“8ノード”という応答を返す。ブートストラップ部A2154は、トポロジ計算部A2153を介して、仮想LANが現在0−0〜2−1までのIDをもつノードから構成される図6の状態301に示すトポロジになっており、ノードA21は2−2のIDをもつノードとして仮想LANに参加するべきであると判断する。格子グラフ型トポロジにおいては、2−2のIDを持つノードは、ノード2−1およびノード1−2と仮想リンクをもつため、ブートストラップ部A2154は次に、ノード2−1およびノード1−2と通信トンネルを開設すべく、ノード2−1およびノード1−2のベースIPアドレスをDNSを用いて解決する。
図9に示すシーケンスでは、「node2−1.lan−a.net」および「node1−2.lan−a.net」に対するTXTレコードを解決し、DNSサーバD1からそれぞれ、“8.9.10.11”および“6.7.8.9”という応答が返されたとする。
ブートストラップ部A2154は、DNSサーバから得たノードA21が通信トンネルを開設すべき相手ノードのベースIPアドレスを仮想LAN状態管理部A2151へ渡し、仮想LAN状態管理部A2151は、トンネル制御部A2152を介して通信トンネルを開設する。通信トンネル開設の結果、仮想LANは図6の状態302に示すトポロジとなる。開設された通信トンネルは、ノードA21においてサブインターフェースA2143により終端されるが、ここでは、ノード2−1との間の通信トンネルを終端するサブインターフェースのIDをtun0、ノード1−2との間の通信トンネルを終端するサブインターフェースのIDをtun1とする。
また、本実施例では、通信トンネルは、図8のパケット形式402に示すように、Ethernet over UDPの形式がとられ、かつ、アウタのUDPヘッダとインナのMACヘッダの間に転送用ヘッダが付加されるものとする。転送用ヘッダには、パケットのソースノードIDと宛先ノードIDが含まれる。
次に、仮想LAN状態管理部A2151は、隣接ノードであるノード2−1またはノード1−2のいずれかに対して、ノードA21が仮想LANにおいてパケット転送を行うために必要な情報(パケット転送情報)を要求する。該要求は、制御メッセージ送受信部A2142を介して行われる。ここでは、ノード2−1に対してパケット転送情報を要求するものとする。
ノード2−1はノードA21からパケット転送情報を要求されると、ノード2−1内に保持されている仮想LANの各参加ノードに対するノードIDおよびMACアドレスのリストを応答する。応答された情報は、制御メッセージ送受信部A2142から仮想LAN状態管理部A2151へ渡され、仮想LAN状態管理部A2151は、該情報を基にパケット転送テーブルA2141を作成する。ここで作成されるパケット転送テーブルの内容を図10のパケット転送テーブル103に示す。パケット転送テーブル103では、ノード0−0〜ノード2−1のそれぞれの宛先について、ユニキャストパケットに対する出側サブインターフェースIDが登録されている。さらに、ブロードキャストパケットに対しては、パケットのソースノードIDごとに出側サブインターフェースIDが登録されている。
パケット転送テーブルA2141が作成された後、仮想LAN状態管理部A2151は、制御メッセージ送受信部A2142を介してノードA21の参加処理が完了したというメッセージを他のノードに対して通知する。該メッセージは、隣接するノード2−1に一旦渡され、ノード2−1がブロードキャストにより仮想LANに参加する他のノードに通知されるという方法がとられる。該メッセージには、ノードA21のノードIDおよびMACアドレスが含まれる。
ノードA21が参加したというメッセージは、仮想LAN内の各ノードによって受信され、各ノードは、該メッセージ内に含まれるノードA21のノードIDおよびMACアドレスを用いて、自ノード内のパケット転送テーブルを更新する。この更新処理により、仮想LAN内の各ノードはノードA21との通信を行うことが可能となり、ノードA21は仮想LAN内の1つの参加ノードとして機能する。
次に、ノードA21が参加している仮想LANにおいて、図6の状態303に示すように、ノード1−1が離脱したとする。
この場合、まず、ノード1−1に隣接するノード0−1、1−0、1−2、2−1のいずれかがノード1−1が離脱したことを検出する。この検出は、キープアライブなどの機構を用いることにより実現される。ここでは、ノード0−1が最初にノード1−1の離脱を検出し、ノード1−1内の仮想LAN状態管理部が制御メッセージ送受信部を介してノード1−1が離脱したというメッセージを他のノードに対して通知する。該メッセージは、受信したサブインターフェース以外の全サブインターフェースに対して転送される形で仮想LAN内の各ノードで次々と転送される。このような転送形態をフラッディングというが、フラッディングによってメッセージが転送される場合は、自ノードが一度受信したメッセージを重複して受信する場合がある。そのため、重複して受信したメッセージは廃棄することにより、メッセージが無限にループして転送されることを防ぐ。
ノード1−1が離脱したというメッセージをノードA21が受信すると、該メッセージは制御メッセージ送受信部A2142から仮想LAN状態管理部A2151へ渡される。仮想LAN状態管理部A2151は、トポロジ計算部A2153を用いてノード1−1が離脱した場合のトポロジを計算する。ここでは、ノードIDをx−yとしたとき、
x=max(x,y)となるノード:p=x2+x+y+1
それ以外のノード:p=y2+x+1
というルールでpを計算し、pの値がノード1−1離脱前のノード数に一致するノードが離脱したノードへ論理的に移動することにより、トポロジを再構成するものとする(max(x,y)はxとyのうち大きい方の値である)。この場合、ノード1−1離脱前のノード数は9ノードであり、IDが2−2の場合はp=9となるため、トポロジ計算部A2153は、自ノード(ノードA21)がノード1−1の位置に論理的に移動するものと計算する。その他のノードにおいては、pの値とノード1−1離脱前のノード数が一致しないため、自らトポロジ再構成動作は行わないと判断される。
次に、仮想LAN状態管理部A2151は、自ノードをノード1−1の位置に論理的に移動させるための通信トンネル開設・削除動作をトンネル制御部A2152を介して行う。ノード1−1の位置では、ノード0−1、1−0、1−2、2−1との間に通信トンネルを保持する必要がある。ここでノードA21は、既にノード1−2、2−1との間に通信トンネルを保持しているため、新規にノード0−1、1−0に対して通信トンネルの開設動作を行い、通信トンネルの削除動作は行わない。
トポロジ再構成のための通信トンネルの開設・削除動作が完了すると、ノードA21においては、サブインターフェースA2143においてサブインターフェースIDの再割り当てが行われ、ここでは、ノード1−0との間の通信トンネルを終端するサブインターフェースのIDをtun0、ノード0−1との間の通信トンネルを終端するサブインターフェースのIDをtun1、ノード1−2との間の通信トンネルを終端するサブインターフェースのIDをtun2、ノード2−3との間の通信トンネルを終端するサブインターフェースのIDをtun3と割り当てるものとする。
次に仮想LAN状態管理部A2151は、変更されたトポロジに合わせてパケット転送テーブルA2141の更新を行う。ここでは、図11のパケット転送テーブル104に示すように更新される。
パケット転送テーブルA2141の更新を行うと、仮想LAN状態管理部A2151は、トポロジが再構成され、ノードA21が1−1のIDをもつノードとして移動したというメッセージを制御メッセージ送受信部A2142を介してブロードキャストにより仮想LAN内の他ノードへ通知する。該メッセージには、ノードA21のノードIDおよびMACアドレスを含む。該メッセージを受信したノードは、受信したメッセージに含まれるノードIDおよびMACアドレスを用いて、自ノード内のパケット転送テーブルを更新する。本動作により、仮想LAN内の各ノードは、ノード1−1離脱後に再構成されたトポロジにおいて互いに通信を行うことが可能となる。
以上本発明の実施の形態および実施例について説明したが、本発明は以上の実施の形態および実施例にのみ限定されず、その他各種の付加変更が可能である。また、本発明のノード装置は、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態および実施例におけるノードの仮想インターフェースA214、仮想LAN制御部A215などの機能手段として機能させる。
本発明の第1の効果は、低コストで仮想LANの構築を行うことが可能になることである。
その理由は、本発明のノード装置およびそれを用いて構築される仮想LANシステムにおいては、仮想LANに参加するノードから他の参加ノード宛てに送信されたデータリンク層パケットは、それらの送受信ノード間に直接通信トンネルが設定されている場合にはその通信トンネルを通じて届けられ、それらの送受信ノード装置間に直接通信トンネルが設定されていない場合には仮想LANに参加している1以上の別の参加ノードを経由して届けられるように構成されており、従来のような仮想ハブが不要になるため、仮想ハブの設置・運用コストを削減できるからである。
第2の効果は、スケーラビリティの高い仮想LANを提供することが可能となることである。
その理由は、本発明のノード装置およびそれを用いて構築される仮想LANシステムにおいては、仮想LAN内の通信は、構成されたトポロジに応じて各ノードにおいて作成されるパケット転送テーブルに基づいて行われ、特定のノードだけにトラフィック負荷や処理負荷が集中することはないからである。
第3の効果は、高信頼な仮想LANを提供することが可能となることである。
その理由は、本発明のノード装置およびそれを用いて構築される仮想LANシステムにおいては、いずれの参加ノードの離脱・障害に対しても、仮想LANトポロジの修復が自律的に行われ、仮想LAN参加ノード間の通信を継続することができるからである。
Claims (18)
- 通信トンネルを用いてデータリンク層パケットをカプセル化することにより仮想的に構築されるLANである仮想LANを提供する仮想LANシステムにおいて、
前記仮想LANに参加するノード装置は、前記データリンク層パケットをカプセル化するための通信トンネルを仮想LANにおける仮想的なリンクとしてエミュレートするための仮想インターフェースを備え、前記仮想インターフェースは、前記仮想LANの他のノード装置に対して設定された通信トンネルを終端する複数のサブインターフェースと、前記仮想LANに参加するノード装置どうしを前記通信トンネルで接続した仮想LANトポロジに従って、自ノード装置が送信しようとする前記データリンク層パケットおよび前記仮想LANの他のノード装置から受信した前記データリンク層パケットを、前記複数のサブインターフェースのうちのどのサブインターフェースから送信あるいは転送すべきかが登録されているパケット転送テーブルとを備え、
前記仮想LANに参加するノード装置から前記仮想LANに参加する他のノード装置宛てに送信された前記データリンク層パケットが、それらの送受信ノード装置間に直接前記通信トンネルが設定されている場合には該通信トンネルを通じて届けられ、それらの送受信ノード装置間に直接前記通信トンネルが設定されていない場合には前記仮想LANに参加している1以上の別のノード装置を経由して届けられるように構成されていることを特徴とする仮想LANシステム。 - 前記仮想LANに参加するノード装置は、前記仮想LANに参加している他のノード装置が前記仮想LANから離脱したことを検出した場合、前記離脱後の仮想LANトポロジを再計算し、再計算した仮想LANトポロジに合致するように前記通信トンネルの開設および削除を行うと共に前記パケット転送テーブルの設定変更を行う仮想LAN制御部を備えることを特徴とする請求項1記載の仮想LANシステム。
- 前記仮想LANに参加するノード装置は、前記仮想LANへの新たなノード装置の参加を検出した場合、前記参加後の仮想LANトポロジを再計算し、再計算した仮想LANトポロジに合致するように前記通信トンネルの開設および削除を行うと共に前記パケット転送テーブルの設定変更を行う仮想LAN制御部を備えることを特徴とする請求項1記載の仮想LANシステム。
- 前記仮想LANに参加するノード装置には前記仮想LAN内で一意のノードIDが割り当てられ、前記仮想LANに参加するノード装置の前記パケット転送テーブルには、前記仮想LANに参加するノード装置のMACアドレス、宛先ノードID、ソースノードIDに対応して出側サブインターフェースIDが登録され、前記データリンク層パケットは、前記データリンク層パケットのソースノードおよび宛先ノードのノードIDがカプセル化時にエンコードされ、前記仮想インターフェースは、前記カプセル化されたソースノードおよび宛先ノードのノードIDに基づいて前記データリンク層パケットを転送することを特徴とする請求項1、2または3記載の仮想LANシステム。
- 通信トンネルを用いてデータリンク層パケットをカプセル化することにより仮想的に構築されるLANである仮想LANを提供する仮想LANシステムにおいて、
前記仮想LANに参加するノード装置の仮想インターフェースが、前記仮想LANの他のノード装置に対して設定された通信トンネルを終端する複数のサブインターフェースであって、前記仮想LANに参加するノード装置どうしを前記通信トンネルで接続した仮想LANトポロジに従って、自ノード装置が送信する前記データリンク層パケットおよび前記仮想LANの他のノード装置から受信した前記データリンク層パケットを、いずれのサブインターフェースから送信あるいは転送すべきかが登録されたサブインターフェースを備え、
前記仮想LANに参加するノード装置から前記仮想LANに参加する他のノード装置宛てに送信された前記データリンク層パケットが、それらの送受信ノード装置間への直接前記通信トンネルの設定の有無により、該通信トンネルを通じて届けられ、前記仮想LANに参加している1以上の別のノード装置を経由して届けられるように構成されていることを特徴とする仮想LANシステム。 - 前記仮想インターフェースが、前記仮想LANに参加するノード装置どうしを前記通信トンネルで接続した仮想LANトポロジに従って、自ノード装置が送信しようとする前記データリンク層パケットおよび前記仮想LANの他のノード装置から受信した前記データリンク層パケットを、前記複数のサブインターフェースのうちのどのサブインターフェースから送信あるいは転送すべきかが登録されているパケット転送テーブルとを備えることを特徴とする請求項5記載の仮想LANシステム。
- データリンク層パケットをカプセル化するための通信トンネルを仮想LANにおける仮想的なリンクとしてエミュレートするための仮想インターフェースを備え、前記仮想インターフェースは、前記仮想LANの他のノード装置に対して設定された通信トンネルを終端する複数のサブインターフェースと、前記仮想LANに参加するノード装置どうしを前記通信トンネルで接続した仮想LANトポロジに従って、自ノード装置が送信しようとする前記データリンク層パケットおよび前記仮想LANの他のノード装置から受信した前記データリンク層パケットを、前記複数のサブインターフェースのうちのどのサブインターフェースから送信あるいは転送すべきかが登録されているパケット転送テーブルとを備え、
自ノード装置が送信しようとする前記データリンク層パケットおよび前記仮想LANの他のノード装置から受信した前記データリンク層パケットを前記パケット転送テーブルを参照して決定したサブインターフェースから送信あるいは転送するものであることを特徴とするノード装置。 - 前記仮想LANに参加している他のノード装置が前記仮想LANから離脱したことを検出した場合、前記離脱後の仮想LANトポロジを再計算し、再計算した仮想LANトポロジに合致するように前記通信トンネルの開設および削除を行うと共に前記パケット転送テーブルの設定変更を行う仮想LAN制御部を備えることを特徴とする請求項7記載のノード装置。
- 前記仮想LANへの新たなノード装置の参加を検出した場合、前記参加後の仮想LANトポロジを再計算し、再計算した仮想LANトポロジに合致するように前記通信トンネルの開設および削除を行うと共に前記パケット転送テーブルの設定変更を行う仮想LAN制御部を備えることを特徴とする請求項7記載のノード装置。
- 前記パケット転送テーブルには、前記仮想LANに参加するノード装置のMACアドレス、宛先ノードID、ソースノードIDに対応して出側サブインターフェースIDが登録され、前記データリンク層パケットは、前記データリンク層パケットのソースノードおよび宛先ノードのノードIDがカプセル化時にエンコードされ、前記仮想インターフェースは、前記カプセル化されたソースノードおよび宛先ノードのノードIDに基づいて前記データリンク層パケットを転送することを特徴とする請求項7、8または9記載のノード装置。
- 前記仮想LANに新規に参加しようとする際に、前記仮想LAN内に既に参加している他のどのノードに対して、前記通信トンネルを開設すべきかという情報を得る機能を有するブートストラップ部を備えることを特徴とする請求項7ないし10の何れか1項に記載のノード装置。
- データリンク層パケットをカプセル化するための通信トンネルを仮想LANにおける仮想的なリンクとしてエミュレートするための仮想インターフェースを備え、
前記仮想インターフェースは、前記仮想LANの他のノード装置に対して設定された通信トンネルを終端する複数のサブインターフェースであって、前記仮想LANに参加するノード装置どうしを前記通信トンネルで接続した仮想LANトポロジに従って、自ノード装置が送信する前記データリンク層パケットおよび前記仮想LANの他のノード装置から受信した前記データリンク層パケットを、いずれのサブインターフェースから送信あるいは転送すべきかが登録されたサブインターフェースを備えることを特徴とするノード装置。 - 前記仮想インターフェースが、自ノード装置が送信しようとする前記データリンク層パケットおよび前記仮想LANの他のノード装置から受信した前記データリンク層パケットを、前記複数のサブインターフェースのうちの何れのサブインターフェースから送信あるいは転送すべきかが登録されているパケット転送テーブルとを備え、
自ノード装置が送信しようとする前記データリンク層パケットおよび前記仮想LANの他のノード装置から受信した前記データリンク層パケットを前記パケット転送テーブルを参照して決定したサブインターフェースから送信あるいは転送するものであることを特徴とする請求項12記載のノード装置。 - 通信ノードを構成するコンピュータを、
データリンク層パケットをカプセル化するための通信トンネルを仮想LANにおける仮想的なリンクとしてエミュレートするための仮想インターフェースであって、前記仮想LANの他のノード装置に対して設定された通信トンネルを終端する複数のサブインターフェースを有し、自ノード装置が送信しようとする前記データリンク層パケットおよび前記仮想LANの他のノード装置から受信した前記データリンク層パケットを、前記仮想LANに参加するノード装置どうしを前記通信トンネルで接続した仮想LANトポロジに従って自ノード装置が送信しようとする前記データリンク層パケットおよび前記仮想LANの他のノード装置から受信した前記データリンク層パケットを前記複数のサブインターフェースのうちのどのサブインターフェースから送信あるいは転送すべきかが登録されているパケット転送テーブルを参照して決定したサブインターフェースから送信あるいは転送する仮想インターフェース、として機能させるためのプログラム。 - 前記コンピュータをさらに、前記仮想LANに参加している他のノード装置が前記仮想LANから離脱したことを検出した場合、前記離脱後の仮想LANトポロジを再計算し、再計算した仮想LANトポロジに合致するように前記通信トンネルの開設および削除を行うと共に前記パケット転送テーブルの設定変更を行う仮想LAN制御手段、として機能させることをことを特徴とする請求項14記載のプログラム。
- 前記コンピュータをさらに、前記仮想LANへの新たなノード装置の参加を検出した場合、前記参加後の仮想LANトポロジを再計算し、再計算した仮想LANトポロジに合致するように前記通信トンネルの開設および削除を行うと共に前記パケット転送テーブルの設定変更を行う仮想LAN制御手段、として機能させることを特徴とする請求項14記載のプログラム。
- 通信ノードを構成するコンピュータ上で実行され、
データリンク層パケットをカプセル化するための通信トンネルを仮想LANにおける仮想的なリンクとしてエミュレートするための仮想インターフェースであって、前記仮想LANの他のノード装置に対して設定された通信トンネルを終端する複数のサブインターフェースを有する前記仮想インターフェースを、
前記仮想LANに参加するノード装置どうしを前記通信トンネルで接続した仮想LANトポロジに従って自ノード装置が送信する前記データリンク層パケットおよび前記仮想LANの他のノード装置から受信した前記データリンク層パケットを、前記複数のサブインターフェースのうちの何れかのサブインターフェースを決定して送信あるいは転送する仮想インターフェース、として機能させるためのプログラム。 - 前記仮想インターフェースを、
前記仮想LANに参加するノード装置どうしを前記通信トンネルで接続した仮想LANトポロジに従って自ノード装置が送信しようとする前記データリンク層パケットおよび前記仮想LANの他のノード装置から受信した前記データリンク層パケットを前記複数のサブインターフェースのうちのどのサブインターフェースから送信あるいは転送すべきかが登録されているパケット転送テーブルを参照して、前記データリンク層パケットを送信あるいは転送するサブインターフェースを、前記複数のサブインターフェースから決定する、仮想インターフェースとして機能させることを特徴とする請求項17記載のプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004234370 | 2004-08-11 | ||
JP2004234370 | 2004-08-11 | ||
PCT/JP2005/014889 WO2006016698A1 (ja) | 2004-08-11 | 2005-08-09 | 仮想lanシステムおよびノード装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2006016698A1 JPWO2006016698A1 (ja) | 2008-05-01 |
JP4529144B2 true JP4529144B2 (ja) | 2010-08-25 |
Family
ID=35839450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006531781A Expired - Fee Related JP4529144B2 (ja) | 2004-08-11 | 2005-08-09 | 仮想lanシステムおよびノード装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20070195794A1 (ja) |
JP (1) | JP4529144B2 (ja) |
CN (1) | CN101002441B (ja) |
WO (1) | WO2006016698A1 (ja) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2418326B (en) * | 2004-09-17 | 2007-04-11 | Hewlett Packard Development Co | Network vitrualization |
CN101326770A (zh) * | 2005-12-09 | 2008-12-17 | 日本电气株式会社 | 帧处理方法以及帧处理设备 |
US7783788B1 (en) * | 2006-04-28 | 2010-08-24 | Huawei Technologies Co., Ltd. | Virtual input/output server |
US8892706B1 (en) | 2010-06-21 | 2014-11-18 | Vmware, Inc. | Private ethernet overlay networks over a shared ethernet in a virtual environment |
US8619771B2 (en) | 2009-09-30 | 2013-12-31 | Vmware, Inc. | Private allocated networks over shared communications infrastructure |
US8924524B2 (en) | 2009-07-27 | 2014-12-30 | Vmware, Inc. | Automated network configuration of virtual machines in a virtual lab data environment |
US7639699B2 (en) * | 2006-08-04 | 2009-12-29 | Cisco Technology, Inc. | Technique for sharing a physical port among a plurality of virtual bridges on a switch in a computer network |
US8638668B2 (en) | 2007-04-03 | 2014-01-28 | Qualcomm Incorporated | Signaling in a cluster |
US20080247389A1 (en) * | 2007-04-04 | 2008-10-09 | Qualcomm Incorporated | Signaling in a cluster |
JP4498406B2 (ja) * | 2007-11-21 | 2010-07-07 | 株式会社東芝 | ネットワーク仮想化システム、中継装置、およびプログラム |
US8195774B2 (en) | 2008-05-23 | 2012-06-05 | Vmware, Inc. | Distributed virtual switch for virtualized computer systems |
US8396960B2 (en) * | 2009-05-08 | 2013-03-12 | Canon Kabushiki Kaisha | Efficient network utilization using multiple physical interfaces |
CN102104519A (zh) * | 2009-12-17 | 2011-06-22 | 中兴通讯股份有限公司 | 基于拓扑信息的环网恢复方法与装置 |
US8897134B2 (en) * | 2010-06-25 | 2014-11-25 | Telefonaktiebolaget L M Ericsson (Publ) | Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel |
CN103125098B (zh) | 2010-09-17 | 2016-08-17 | 甲骨文国际公司 | 支持中间机环境的系统和方法、子网管理器和网络交换机 |
US9419860B2 (en) * | 2011-03-31 | 2016-08-16 | Tejas Networks Limited | Method for managing a logical topology change in a network |
US9935848B2 (en) | 2011-06-03 | 2018-04-03 | Oracle International Corporation | System and method for supporting subnet manager (SM) level robust handling of unkown management key in an infiniband (IB) network |
US8743890B2 (en) | 2011-06-03 | 2014-06-03 | Oracle International Corporation | System and method for supporting sub-subnet in an infiniband (IB) network |
WO2013084419A1 (ja) * | 2011-12-07 | 2013-06-13 | 日本電気株式会社 | 匿名情報送信システム、方法およびプログラム |
US9246702B1 (en) * | 2012-01-31 | 2016-01-26 | Cisco Technology, Inc. | System and method for configuring service appliances as virtual line cards in a network environment |
CN102882793B (zh) * | 2012-09-20 | 2018-10-12 | 新华三技术有限公司 | 拓扑改变消息的传输处理方法及网络设备 |
US9419879B2 (en) | 2013-06-20 | 2016-08-16 | International Business Machines Corporation | Selectively refreshing address registration information |
US10003495B1 (en) | 2014-09-20 | 2018-06-19 | Cisco Technology, Inc. | Discovery protocol for enabling automatic bootstrap and communication with a service appliance connected to a network switch |
US10270658B2 (en) | 2014-09-30 | 2019-04-23 | Cisco Technology, Inc. | Zero touch configuration and synchronization of a service appliance in a network environment |
US11792872B2 (en) * | 2015-02-24 | 2023-10-17 | Intel Corporation | Methods and apparatuses associated with reestablishment of a network connection with a child node |
US10374904B2 (en) | 2015-05-15 | 2019-08-06 | Cisco Technology, Inc. | Diagnostic network visualization |
US10148515B2 (en) * | 2015-05-23 | 2018-12-04 | Cisco Technology, Inc | Determining connections of non-external network facing ports |
US9967158B2 (en) | 2015-06-05 | 2018-05-08 | Cisco Technology, Inc. | Interactive hierarchical network chord diagram for application dependency mapping |
US10142353B2 (en) | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
US10536357B2 (en) | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
US10289438B2 (en) | 2016-06-16 | 2019-05-14 | Cisco Technology, Inc. | Techniques for coordination of application components deployed on distributed virtual machines |
US10708183B2 (en) | 2016-07-21 | 2020-07-07 | Cisco Technology, Inc. | System and method of providing segment routing as a service |
US10972388B2 (en) | 2016-11-22 | 2021-04-06 | Cisco Technology, Inc. | Federated microburst detection |
US10004097B1 (en) * | 2016-12-20 | 2018-06-19 | Intel Corporation | Reestablishment of a network connection with an end device node methods and apparatuses |
US10708152B2 (en) | 2017-03-23 | 2020-07-07 | Cisco Technology, Inc. | Predicting application and network performance |
US10523512B2 (en) | 2017-03-24 | 2019-12-31 | Cisco Technology, Inc. | Network agent for generating platform specific network policies |
US10764141B2 (en) | 2017-03-27 | 2020-09-01 | Cisco Technology, Inc. | Network agent for reporting to a network policy system |
US10250446B2 (en) | 2017-03-27 | 2019-04-02 | Cisco Technology, Inc. | Distributed policy store |
US10594560B2 (en) | 2017-03-27 | 2020-03-17 | Cisco Technology, Inc. | Intent driven network policy platform |
US10873794B2 (en) | 2017-03-28 | 2020-12-22 | Cisco Technology, Inc. | Flowlet resolution for application performance monitoring and management |
US10637800B2 (en) | 2017-06-30 | 2020-04-28 | Nicira, Inc | Replacement of logical network addresses with physical network addresses |
US10681000B2 (en) | 2017-06-30 | 2020-06-09 | Nicira, Inc. | Assignment of unique physical network addresses for logical network addresses |
US10680887B2 (en) | 2017-07-21 | 2020-06-09 | Cisco Technology, Inc. | Remote device status audit and recovery |
US10554501B2 (en) | 2017-10-23 | 2020-02-04 | Cisco Technology, Inc. | Network migration assistant |
US10523541B2 (en) | 2017-10-25 | 2019-12-31 | Cisco Technology, Inc. | Federated network and application data analytics platform |
US10594542B2 (en) | 2017-10-27 | 2020-03-17 | Cisco Technology, Inc. | System and method for network root cause analysis |
US11233821B2 (en) | 2018-01-04 | 2022-01-25 | Cisco Technology, Inc. | Network intrusion counter-intelligence |
US10798015B2 (en) | 2018-01-25 | 2020-10-06 | Cisco Technology, Inc. | Discovery of middleboxes using traffic flow stitching |
US10826803B2 (en) | 2018-01-25 | 2020-11-03 | Cisco Technology, Inc. | Mechanism for facilitating efficient policy updates |
US10574575B2 (en) | 2018-01-25 | 2020-02-25 | Cisco Technology, Inc. | Network flow stitching using middle box flow stitching |
US10999149B2 (en) | 2018-01-25 | 2021-05-04 | Cisco Technology, Inc. | Automatic configuration discovery based on traffic flow data |
US11128700B2 (en) | 2018-01-26 | 2021-09-21 | Cisco Technology, Inc. | Load balancing configuration based on traffic flow telemetry |
JP7392518B2 (ja) | 2020-03-02 | 2023-12-06 | 日本電気株式会社 | 通信回路、ネットワークシステム、通信制御方法および通信制御プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002247089A (ja) * | 2001-02-22 | 2002-08-30 | Nippon Telegr & Teleph Corp <Ntt> | パケットルーティング方法および装置 |
JP2004166235A (ja) * | 2002-10-24 | 2004-06-10 | Matsushita Electric Ind Co Ltd | 移動体通信におけるipサポート方法及びシステム並びに関門交換装置及び局交換装置 |
WO2005083959A1 (ja) * | 2004-03-01 | 2005-09-09 | Nec Corporation | ネットワークアクセスルータ、ネットワークアクセス方法、プログラム、及び記録媒体 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69632144T2 (de) * | 1995-11-16 | 2004-11-25 | Loran Network Systems, L.L.C., Wilmington | Verfahren zur bestimmung der topologie eines netzwerkes von objekten |
US7158497B2 (en) * | 2000-08-31 | 2007-01-02 | Nortel Networks Limited | Methods and apparatus for supporting micro-mobility within a radio access network |
US6781989B1 (en) * | 2000-11-17 | 2004-08-24 | Advanced Micro Devices, Inc. | Method to support VLANs on a phoneline network |
US7383574B2 (en) * | 2000-11-22 | 2008-06-03 | Hewlett Packard Development Company L.P. | Method and system for limiting the impact of undesirable behavior of computers on a shared data network |
US20030026268A1 (en) * | 2000-11-28 | 2003-02-06 | Siemens Technology-To-Business Center, Llc | Characteristic routing |
US7197565B2 (en) * | 2001-01-22 | 2007-03-27 | Sun Microsystems, Inc. | System and method of using a pipe advertisement for a peer-to-peer network entity in peer-to-peer presence detection |
US7577143B1 (en) * | 2001-09-25 | 2009-08-18 | Juniper Networks, Inc. | Decoupling functionality related to providing a transparent local area network segment service |
CN1125545C (zh) * | 2001-12-31 | 2003-10-22 | 刘军民 | 实现局域网虚通道传送的数据转发方法 |
US7453888B2 (en) * | 2002-08-27 | 2008-11-18 | Alcatel Lucent | Stackable virtual local area network provisioning in bridged networks |
US20040042416A1 (en) * | 2002-08-27 | 2004-03-04 | Ngo Chuong Ngoc | Virtual Local Area Network auto-discovery methods |
US7489700B2 (en) * | 2002-11-20 | 2009-02-10 | Hitachi Communication Technologies, Ltd. | Virtual access router |
US7437354B2 (en) * | 2003-06-05 | 2008-10-14 | Netlogic Microsystems, Inc. | Architecture for network search engines with fixed latency, high capacity, and high throughput |
US20050015511A1 (en) * | 2003-07-02 | 2005-01-20 | Nec Laboratories America, Inc. | Accelerated large data distribution in overlay networks |
US7698455B2 (en) * | 2003-08-01 | 2010-04-13 | Foundry Networks, Inc. | Method for providing scalable multicast service in a virtual private LAN service |
US20050068950A1 (en) * | 2003-09-30 | 2005-03-31 | Nortel Networks Limited | Structured private addressing and naming for management of service and network resources |
US7680943B2 (en) * | 2003-10-20 | 2010-03-16 | Transwitch Corporation | Methods and apparatus for implementing multiple types of network tunneling in a uniform manner |
US20050129017A1 (en) * | 2003-12-11 | 2005-06-16 | Alcatel | Multicast flow accounting |
JP4342966B2 (ja) * | 2004-01-26 | 2009-10-14 | 株式会社日立コミュニケーションテクノロジー | パケット転送装置 |
US7779461B1 (en) * | 2004-11-16 | 2010-08-17 | Juniper Networks, Inc. | Point-to-multi-point/non-broadcasting multi-access VPN tunnels |
US7606178B2 (en) * | 2005-05-31 | 2009-10-20 | Cisco Technology, Inc. | Multiple wireless spanning tree protocol for use in a wireless mesh network |
US7701874B2 (en) * | 2005-06-14 | 2010-04-20 | International Business Machines Corporation | Intelligent sensor network |
WO2008011712A1 (en) * | 2006-07-28 | 2008-01-31 | Michael Tin Yau Chan | Wide-area wireless network topology |
-
2005
- 2005-08-09 JP JP2006531781A patent/JP4529144B2/ja not_active Expired - Fee Related
- 2005-08-09 WO PCT/JP2005/014889 patent/WO2006016698A1/ja active Application Filing
- 2005-08-09 US US11/573,623 patent/US20070195794A1/en not_active Abandoned
- 2005-08-09 CN CN2005800271854A patent/CN101002441B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002247089A (ja) * | 2001-02-22 | 2002-08-30 | Nippon Telegr & Teleph Corp <Ntt> | パケットルーティング方法および装置 |
JP2004166235A (ja) * | 2002-10-24 | 2004-06-10 | Matsushita Electric Ind Co Ltd | 移動体通信におけるipサポート方法及びシステム並びに関門交換装置及び局交換装置 |
WO2005083959A1 (ja) * | 2004-03-01 | 2005-09-09 | Nec Corporation | ネットワークアクセスルータ、ネットワークアクセス方法、プログラム、及び記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
CN101002441B (zh) | 2010-06-23 |
JPWO2006016698A1 (ja) | 2008-05-01 |
WO2006016698A1 (ja) | 2006-02-16 |
CN101002441A (zh) | 2007-07-18 |
US20070195794A1 (en) | 2007-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4529144B2 (ja) | 仮想lanシステムおよびノード装置 | |
JP7208386B2 (ja) | パケット転送方法、パケット送信装置、およびパケット受信装置 | |
CN111740913B (zh) | 在计算机网络内转发网络流量的方法、路由器及可读介质 | |
JP3963728B2 (ja) | スパニングツリーのバイパス方法および装置 | |
US7826400B2 (en) | Packet ring network system and packet transport method | |
US7796593B1 (en) | Router using internal flood groups for flooding VPLS traffic | |
JP5462360B2 (ja) | モバイルマルチキャストソースからのマルチキャストトラヒックを共同処理するための複数のランデブーポイントにおける方法および装置 | |
US20130304805A1 (en) | Network system and network relay apparatus | |
EP3528441B1 (en) | Message forwarding | |
CN113364610A (zh) | 网络设备的管理方法、装置及系统 | |
CN104396192A (zh) | 不对称网络地址封装 | |
WO2022062506A1 (zh) | 一种数据处理方法、装置、存储介质及电子装置 | |
EP3095216B1 (en) | Single hop overlay architecture for line rate performance in campus networks | |
CN111835645B (zh) | 用于跨网络内的多个接口代理子网内流量的方法、系统和装置 | |
CN112671642A (zh) | 一种报文转发方法及设备 | |
CN111064659B (zh) | 多宿主节点故障的bum流量的节点保护 | |
CN112887188A (zh) | 一种报文转发方法及设备 | |
CN108737183A (zh) | 一种转发表项的监测方法及装置 | |
CN113037883A (zh) | 一种mac地址表项的更新方法及装置 | |
JP2004274702A (ja) | ルータ装置及びパケット転送制御方法 | |
CN113794615B (zh) | 一种报文转发方法及设备 | |
JP2017034365A (ja) | ネットワークシステムおよびパケット転送方法 | |
JP2008054214A (ja) | ネットワーク仮想化システム及びネットワーク仮想化プログラム | |
JP4615435B2 (ja) | ネットワーク中継装置 | |
CN115225568A (zh) | 对以太网虚拟私有网络—虚拟可扩展局域网的快速重路由 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080711 |
|
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: 20100514 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100527 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130618 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |