JP5712416B2 - Frame transfer apparatus and network system - Google Patents
Frame transfer apparatus and network system Download PDFInfo
- Publication number
- JP5712416B2 JP5712416B2 JP2011255570A JP2011255570A JP5712416B2 JP 5712416 B2 JP5712416 B2 JP 5712416B2 JP 2011255570 A JP2011255570 A JP 2011255570A JP 2011255570 A JP2011255570 A JP 2011255570A JP 5712416 B2 JP5712416 B2 JP 5712416B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- transfer
- port
- state
- mode
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
本発明は、ネットワークの分野に関する。具体的には、フレームの転送技術に関する。 The present invention relates to the field of networks. Specifically, the present invention relates to a frame transfer technique.
情報システムの利用拡大及び複雑化並びにネットワークの広帯域化を背景に、情報システムの効率化のため、データセンタへの情報システムの集約、及び1台の物理的に機器の上に論理的な複数の機器(仮想マシン)を動作させる仮想化技術が進展している。 In order to increase the efficiency of the information system against the background of the expansion and complexity of the information system and the widening of the network, the information system is integrated into the data center, and a plurality of logical systems on one physical device Virtualization technology for operating devices (virtual machines) is advancing.
仮想マシンは、仮想マシンを動作させる機器であるサーバ内に構成された仮想ネットワークを介して通信を行う。仮想ネットワークは、外部ネットワークと仮想マシンとが仮想的なネットワーク機器であるEdge Relay(ER)を介して相互に接続された構成をとる。 The virtual machine communicates via a virtual network configured in a server that is a device that operates the virtual machine. The virtual network has a configuration in which an external network and a virtual machine are connected to each other via Edge Relay (ER) which is a virtual network device.
これまで、ERとしては、Virtual Edge Bridge(VEB)が広く用いられてきた。VEBはOSI参照モデルにおけるデータリンク層のスイッチング処理を行うERであり、また、VEBはネットワーク機器のスイッチを仮想化したものであるため、仮想スイッチとも呼ばれる。 Until now, Virtual Edge Bridge (VEB) has been widely used as ER. VEB is an ER that performs switching processing of the data link layer in the OSI reference model. Since VEB is a virtualized switch of a network device, it is also called a virtual switch.
通常、VEBは、仮想マシンが動作するサーバ上でソフトウェアによって実装される。したがって、VEBを用いた処理、特にアクセス制御のような高度なスイッチング処理が実行された場合にCPUの処理負荷が増加するという問題があった。また、VEBはサーバ外部のネットワーク機器と管理手法が異なるため、サーバ外部のネットワーク機器と別に管理する必要があり、管理及び運用コストが増加するという問題があった。 Usually, VEB is implemented by software on a server on which a virtual machine operates. Therefore, there has been a problem that the processing load of the CPU increases when processing using VEB, in particular, advanced switching processing such as access control is executed. Further, since VEB has a different management method from network devices outside the server, it has to be managed separately from the network devices outside the server, which increases the management and operation costs.
VEBが抱える前述した問題に対し、Virtual Edge Port Aggregator(VEPA)と呼ばれるERが提案されている。VEPAは、自身では直接にはスイッチング処理を実行せず、仮想マシンから受け取ったスイッチング対象のフレームをそのままサーバに接続された外部のネットワーク機器(外部スイッチ)に転送する。 An ER called Virtual Edge Port Aggregator (VEPA) has been proposed for the above-mentioned problems that VEB has. VEPA does not directly execute the switching process by itself, but directly transfers the switching target frame received from the virtual machine to an external network device (external switch) connected to the server.
外部スイッチは、受け取ったフレームに対してスイッチング処理を実行し、処理の結果、VEPAに接続された仮想マシンに送信する必要のあるフレームをVEPAに転送する。VEPAは外部スイッチから受信したフレームを宛先である仮想マシンに転送する。 The external switch performs a switching process on the received frame, and transfers a frame that needs to be transmitted to the virtual machine connected to the VEPA to the VEPA as a result of the process. VEPA transfers the frame received from the external switch to the destination virtual machine.
VEPAを用いた場合、外部スイッチによって仮想マシンのフレームに対するスイッチング処理が実行されるため、VEB用いた場合における問題を解決することできる。しかし、VEPAを用いた場合、外部スイッチがスイッチング処理を実行するため、同一サーバ上で動作する仮想マシン間の通信において、VEBに比べてサーバ及び外部スイッチ間の使用帯域が増加し、レイテンシが増えるという問題がある。 When VEPA is used, the switching process for the virtual machine frame is executed by the external switch, so that the problem in the case of using VEB can be solved. However, when VEPA is used, since the external switch executes the switching process, in the communication between virtual machines operating on the same server, the bandwidth used between the server and the external switch increases and the latency increases compared to VEB. There is a problem.
前述したようにVEB及びVEPAはいずれもERであるが、スイッチング処理を実行する装置(位置)が異なっている。そして、VEB及びVEPAは、それぞれ、スイッチング処理を実行する装置(スイッチング位置)に関連した長所及び短所を持つため、仮想ネットワークにおける通信に合わせて、VEB及びVEPAを切り替えて利用することが望ましい。 As described above, VEB and VEPA are both ER, but the devices (positions) for executing the switching process are different. Since VEB and VEPA each have advantages and disadvantages related to a device (switching position) that performs switching processing, it is desirable to switch between VEB and VEPA according to communication in the virtual network.
一般に、サーバの負荷、通信の内容及び通信量は時々刻々変化するため、仮想マシンが利用できる計算機資源、レイテンシ及び帯域等の通信に必要となるネットワークの性質は動的に変化する。そのため、VEB及びVEPAの切り替えることによって、スイッチング処理を実行する装置(スイッチング位置)を動的に変更する必要がある。 In general, the load on the server, the content of communication, and the amount of communication change from moment to moment, so the nature of the network required for communication such as computer resources, latency, and bandwidth that can be used by the virtual machine changes dynamically. For this reason, it is necessary to dynamically change a device (switching position) that performs the switching process by switching between VEB and VEPA.
また、通信の停止は、サーバ及びサーバ上で動作する仮想マシンに多大な影響を与えるため、動的なスイッチング処理の位置の変更に伴う通信の停止は避けなくてはならない。すなわち、VEB及びVEPAの切り替えは、動的にかつ通信を維持したまま行う必要がある。さらに、VEBやVEPAといったERをサーバや外部スイッチ毎に異なる方式で管理すると管理及び運用コストが増加するため、スイッチング処理を実行する装置(位置)を変更するためのERの管理は標準規格に準拠した管理方式で行われることが望ましい。 In addition, since the stop of communication greatly affects the server and the virtual machine operating on the server, the stop of the communication accompanying the change of the position of the dynamic switching process must be avoided. That is, switching between VEB and VEPA needs to be performed dynamically and with communication maintained. In addition, managing ERs such as VEB and VEPA using different methods for each server and external switch increases management and operational costs. Therefore, ER management for changing the device (location) that performs switching processing conforms to the standard. It is desirable that the management method be used.
VEB及びVEPA、並びに、これらの切り替えに関する背景技術として、特許文献1及び非特許文献1がある。
There are
特許文献1には、動的スイッチングモジュールは、前記トラフィックを前記APにおいてローカルに切り換えるか、又は前記トラフィックを上流へ渡すかを決定し、前記トラフィックは、前記決定に従って送られることが、記載されている。
また、非特許文献1では、Edge Virtual Bridging(EVB)に関する標準規格として、ER(VEB及びVEPA)自体及びERと通信するEVB Bridge(外部スイッチ)の要件、利用可能な機能の通知や共通利用する機能を決定するためにERとEVB Bridgeとの間で交換される情報であるEVB TLV、並びに、ERを含むEVB station(サーバ)の管理オブジェクト等が規定されている。
In
特許文献1には、仮想化に係る発明ではないものの、無線局のアクセスポイント(AP)における処理として、無線スイッチ(外部スイッチに相当)がスイッチング処理を実行するVEPAに相当する動作と、AP(ERに相当)がスイッチング処理を実行するVEBに相当する動作とを切り替えることが開示されている。
In
しかし、特許文献1においては、前述する動作を切り替える契機の一例は開示されているが、動作を切り替える時に通信を維持するための構成については開示されていない。単純に、VEB及びVEPAを切り替えた場合、外部スイッチはERがVEBとして動作していると想定し、一方でERはVEPAとして動作する等、外部スイッチの動作とERの動作との間で不整合が生じ、結果として通信の単位であるフレームの送信、順序変更等、通信に不具合が生じて通信が維持できなくなる可能性がある。
However,
さらに、特許文献1においては、VEB及びVEPAに相当する動作の切り替えをどのような方式(プロトコル)で管理するかについて開示がないため、標準に準拠した管理方式を適用することはできない。
Furthermore, in
一方、非特許文献1では、VEB及びVEPAを切り替えるための管理情報や情報の取り扱い(プロトコルに相当)は開示されているが、VEB及びVEPAを切り替える時に通信を維持するための構成に関しては開示はなされていない。
On the other hand, Non-Patent
したがって、従来技術では、動的にかつ通信を維持したまま、スイッチング位置を変更することができないという課題があった。 Therefore, the conventional technique has a problem that the switching position cannot be changed while maintaining communication dynamically.
本発明の代表的な一例を示せば以下の通りである。すなわち、演算処理装置と、前記演算処理装置に接続される記憶装置と、1以上のポートを備えるネットワークインタフェースとを備え、複数の転送モードで動作可能なフレーム転送装置であって、前記複数の転送モードは、第1の転送モード、第2の転送モード及び第3の転送モードを含み、前記フレーム転送装置は、前記フレームを受信する受信部と、前記フレームを送信する送信部と、前記フレームを送信するポートを決定するポート決定部と、受信した前記フレームを解析するフレーム解析部と、前記フレーム解析部によって解析された結果を蓄積する学習部と、前記フレーム転送装置の転送モードを示すモード情報を保持し、前記モード情報に基づいて前記転送モードを切り替え、前記フレーム転送装置を制御する状態管理部と、を備え、前記第1の転送モードでは、前記ポートから受信した第1のフレームの解析の結果に基づいて、前記第1のフレームの転送処理を実行し、前記第2の転送モードでは、他の前記フレーム転送装置が接続されたポートから第2のフレームを受信した場合には、前記第2のフレームの解析の結果に基づいて、前記第2のフレームの転送処理を実行し、当該他のフレーム転送装置以外の装置が接続されたポートから第3のフレームを受信した場合には、前記第3のフレームを当該他のフレーム転送装置に転送し、前記第3の転送モードでは、前記他のフレーム転送装置が接続されたポートから第4のフレームを受信し、かつ、前記第4のフレームに対応する解析の結果が蓄積されている場合には、前記第4のフレームを廃棄し、前記他のフレーム転送装置が接続されたポートから前記第4のフレームを受信し、かつ、前記第4のフレームに対応する解析の結果が蓄積されていない場合には、前記第4のフレームの解析の結果に基づいて、前記第4のフレームの転送処理を実行し、前記他のフレーム転送装置以外の装置が接続されたポートから第5のフレームを受信した場合には、前記第5のフレームの解析の結果に基づいて、前記第5のフレームの転送処理を実行することを特徴とする。 A typical example of the present invention is as follows. That is, a frame transfer apparatus that includes an arithmetic processing device, a storage device connected to the arithmetic processing device, and a network interface including one or more ports and is operable in a plurality of transfer modes, the plurality of transfer The modes include a first transfer mode, a second transfer mode, and a third transfer mode. The frame transfer apparatus includes a receiving unit that receives the frame, a transmitting unit that transmits the frame, and the frame. Mode information indicating a transfer mode of the frame transfer device, a port determination unit that determines a port to transmit, a frame analysis unit that analyzes the received frame, a learning unit that accumulates results analyzed by the frame analysis unit, A state management unit that controls the frame transfer apparatus by switching the transfer mode based on the mode information; And in the first transfer mode, the transfer process of the first frame is executed based on the analysis result of the first frame received from the port, and in the second transfer mode, the other When the second frame is received from the port to which the frame transfer apparatus is connected, the second frame is transferred based on the analysis result of the second frame, and the other frame transfer is performed. When the third frame is received from a port to which a device other than the device is connected, the third frame is transferred to the other frame transfer device. In the third transfer mode, the other frame transfer is performed. apparatus receives the fourth frame from the connected port, and, if the result of the analysis corresponding to the fourth frame are stored discards the fourth frame, the other off If the fourth frame is received from the port to which the frame transfer device is connected and the result of analysis corresponding to the fourth frame is not accumulated, the result of analysis of the fourth frame The fourth frame is transferred, and when the fifth frame is received from a port connected to a device other than the other frame transfer device , the fifth frame is analyzed. based on the results, and executes the transfer processing of the fifth frame.
本発明の一形態によれば、第3の転送モードを設けることによって、通信を維持したまま転送モードを動的に切り替えることができる。さらに、標準規格に準拠した方式で転送モードを切り替えることができる。そのため、所定の契機にしたがって、フレーム転送におけるスイッチング位置を柔軟に変更できるようになり、管理コスト及び運用コストの抑制、処理負荷及び通信帯域の抑制、並びにレイテンシの短縮等が可能となる。 According to one aspect of the present invention, by providing the third transfer mode, the transfer mode can be dynamically switched while maintaining communication. Furthermore, the transfer mode can be switched by a method compliant with the standard. Therefore, it becomes possible to flexibly change the switching position in the frame transfer according to a predetermined opportunity, and it becomes possible to reduce the management cost and the operation cost, the processing load and the communication band, and the latency.
以下、本発明を実施するための最良の形態を図に即して説明する。なお、概略はそれ以外の説明を補足するための文章であり、正確性及び網羅性よりもわかりやすさを優先して記述する。 The best mode for carrying out the present invention will be described below with reference to the drawings. The outline is a sentence supplementing other explanations, and is described with priority given to ease of understanding over accuracy and completeness.
[第1の実施形態]
(システム及びハードウェアの構成)
図1は、本発明の第1の実施形態における計算機システム構成を説明するブロック図である。
[First Embodiment]
(System and hardware configuration)
FIG. 1 is a block diagram illustrating a computer system configuration according to the first embodiment of this invention.
図1に示すように、計算機システムは、ブリッジ装置101、サーバ装置102−1、サーバ装置102−2及びノード装置104から構成される。サーバ装置102−1はケーブル105−1を介してブリッジ装置101と接続され、サーバ装置102−2はケーブル105−2を介してブリッジ装置101と接続され、また、ノード装置104はケーブル105−3を介してブリッジ装置101と接続される。
As shown in FIG. 1, the computer system includes a
以下では、サーバ装置102−1及びサーバ装置102−2を区別しない場合には、サーバ装置102と記載する。また、ケーブル105−1、ケーブル105−2及びケーブル105−3を区別しない場合には、ケーブル105と記載する。 Hereinafter, when the server apparatus 102-1 and the server apparatus 102-2 are not distinguished, they are described as the server apparatus 102. Moreover, when not distinguishing the cable 105-1, the cable 105-2, and the cable 105-3, it describes as the cable 105. FIG.
本実施形態における計算機システムでは、ブリッジ装置101、サーバ装置102−1、サーバ装置102−2及びノード装置104はイーサネット(登録商標、以下同じ)による通信を実現する。
In the computer system according to the present embodiment, the
ブリッジ装置101はイーサネットフレームを転送するブリッジ機能を備えるネットワーク装置であり、ネットワークスイッチとも呼ばれる。なお、イーサネットについては、IEEE 802.3に規定されており、ブリッジ機能はIEEE 802.1D及びIEEE 802.1Qに規定されている。
The
ケーブル105はイーサネットによる通信を伝送する媒体であり、金属によるケーブル、光ファイバ等の有線であってもよいし、電波等の無線によるものであってもよいし、L2TP(Layer 2 Tunneling Protocol)のように他の通信により構築された論理的なものであってもよい。
The cable 105 is a medium for transmitting communication by Ethernet, and may be a cable such as a metal cable or an optical fiber, or may be wireless such as a radio wave, or L2TP (
サーバ装置102−1、サーバ装置102−2及びノード装置104は、イーサネットに準拠した入出力ポートを有するネットワークノードである。ノード装置104はサーバ装置102と同様の計算機でもよいし、ブリッジ装置やルータ装置を含むネットワーク機器でもよいし、ネットワークを介して接続されるストレージ装置でもよい。また、ノード装置104は、さらに一般化してLocal Area Network(LAN)と呼ばれるネットワークととらえてもよい。
The server device 102-1, the server device 102-2, and the
本実施形態では、ノード装置104の一例として、サーバ装置102を説明する。なお、サーバ装置102−2は、はサーバ装置102−1と同一の構成であるものとする。また、図1に示すように、サーバ装置102を含むノード装置104の数は3つに限られるものではなく1つ以上であれば任意の数でよい。例えば、より多くのノード装置104を用意してケーブル105を介してブリッジ装置101とそれぞれ接続し、より多くのノード装置104間でブリッジ装置101を介して通信できるようにしてもよい。
In the present embodiment, the server apparatus 102 will be described as an example of the
図1では、サーバ装置102−1とサーバ装置102−2との間、サーバ装置102−2とノード装置104との間の点線を用いて、ノード装置104の数が任意であることを表現している。以下の説明において用いる図では、構成要素の数が限定されないことを、点線を用いて表現するものとする。
In FIG. 1, a dotted line between the server device 102-1 and the server device 102-2 and between the server device 102-2 and the
また、本実施形態では、ブリッジ装置101、サーバ装置102−1、サーバ装置102−2及びノード装置104は、それぞれ物理的に異なる装置として説明するが、本発明の実施形態はこれに限定されるものではない。
In the present embodiment, the
例えば、仮想マシンを稼動させる仮想化ソフトウェアを用いて、物理的に同一装置内で複数の仮想マシンを生成し、当該仮想マシンがブリッジ装置101、サーバ装置102−1及びノード装置104の機能を実現させてもよい。このとき、仮想化ソフトウェアを用いた仮想化では、ケーブル105−1、ケーブル105−2及びケーブル105−3は、共有メモリやメモリ間コピー等に置き換えられる。
For example, a plurality of virtual machines are physically created in the same device using virtualization software for operating the virtual machine, and the virtual machine realizes the functions of the
仮想化ソフトウェアを実行することによって生成された仮想マシンを用いることによって、柔軟な接続関係の変更、及びハードウェアの利用効率を高めることが可能となる。 By using the virtual machine generated by executing the virtualization software, it becomes possible to change the flexible connection relationship and increase the utilization efficiency of the hardware.
なお、本実施形態ではイーサネットによる通信を例に説明するが、本発明はイーサネットに限るものではなく、例えば、無線LAN等の他のデータリンク層(Layer 2)のプロトコルを用いた通信でもよい。他のプロトコルを利用することによって、例えば、通信の広帯域化や通信の信頼性を増加させることを見込め、また、配線の自由度を増すことができる。 In the present embodiment, communication using Ethernet is described as an example. However, the present invention is not limited to Ethernet, and communication using another data link layer (Layer 2) protocol such as a wireless LAN may be used. By using other protocols, for example, it is possible to increase the bandwidth of communication and increase the reliability of communication, and the degree of freedom of wiring can be increased.
また、例えば、IEEE 802.1Qbgに規定されるS−channelのように、VLANタグ等によって仮想的に構成された通信路を用いて、構成の柔軟性を確保し、物理的な配線数以上の通信路を実現してもよい。 In addition, for example, a communication path virtually configured by a VLAN tag or the like, such as S-channel defined in IEEE 802.1Qbg, is used to ensure the flexibility of the configuration, and more than the number of physical wires. A communication path may be realized.
(ブリッジ装置101のハードウェア構成)
図1を用いてブリッジ装置101のハードウェア構成を説明する。
(Hardware configuration of bridge device 101)
The hardware configuration of the
ブリッジ装置101は、演算処理装置108、記憶装置109、入出力装置110、ネットワークインタフェース111−1、ネットワークインタフェース111−2及びネットワークインタフェース111−3を備え、各構成が互いに共有バス114を介して接続される。
The
以下では、ネットワークインタフェース111−1、ネットワークインタフェース111−2及びネットワークインタフェース111−3を区別しない場合、ネットワークインタフェース111と記載する。 Hereinafter, when the network interface 111-1, the network interface 111-2, and the network interface 111-3 are not distinguished, they are referred to as the network interface 111.
ネットワークインタフェース111−1はケーブル105−1を介してサーバ装置102−1と、ネットワークインタフェース111−2はケーブル105−2を介してサーバ装置102−2と、ネットワークインタフェース111−3はケーブル105−3を介してノード装置104と、それぞれ接続され、各装置間においてイーサネットフレームを送受信する。
The network interface 111-1 is connected to the server apparatus 102-1 via the cable 105-1, the network interface 111-2 is connected to the server apparatus 102-2 via the cable 105-2, and the network interface 111-3 is connected to the cable 105-3. Are connected to the
図1において、ネットワークインタフェース111の数は接続される装置の数に合わせて3つとしたが、1つ又は3つ以上備えていてもよい。複数のネットワークインタフェース111を備える場合、いずれの装置にも接続されていないネットワークインタフェース111があってもよい。 In FIG. 1, the number of network interfaces 111 is three according to the number of connected devices, but one or three or more may be provided. When a plurality of network interfaces 111 are provided, there may be a network interface 111 that is not connected to any device.
演算処理装置108は、Central Processing Unit(CPU)に代表される演算処理装置であり、記憶装置109上に展開されたプログラム(ソフトウェア)を実行する。なお、演算処理装置108は、物理的又は論理的な複数のCPUによって構成されてよい。
The
記憶装置109は、演算処理装置108によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。当該情報には、プログラムの実行中に生成されるデータ、プログラムの実行時に読み出されるデータ及び設定が含まれる。
The
演算処理装置108が、記憶装置109に格納されるプログラムを実行することによって、ブリッジ装置101が有する機能を実現することができる。
When the
記憶装置109上に展開されたプログラムは、演算処理装置108によって実行される形式のデータであり、プログラムの内部にデータやプログラムが含まれてもよいし、データの内部にプログラムが含まれてもよく、両者の区別は便宜的なものである。
The program developed on the
記憶装置109は、例えばメモリ、ハードディスク、若しくは光ディスク等のデータ及びプログラムを保持可能な記憶媒体を含む装置(遠隔地に設置され、ネットワークインタフェース111及び入出力装置110等を介して通信可能な装置を含む)、又はこれらを組み合わせたものから構成される。
The
記憶装置109に格納されるプログラムには、全体制御部120、ポート制御部121−1、ポート制御部121−2及びポート制御部121−3が含まれる。また、記憶装置109に格納されるデータの一例としては、転送ポート管理表124が含まれる。以下では、ポート制御部121−1、ポート制御部121−2及びポート制御部121−3を区別しない場合、ポート制御部121と記載する。
The programs stored in the
全体制御部120は、ブリッジ装置101の全体を制御するためのプログラムである。ポート制御部121は、ネットワークインタフェース111が備える入出力ポートを制御するためのプログラムである。
The
これらの詳細については後述するが、以下のブリッジ装置101に関する説明において、データ及び変数の保存、保持、記憶、記録及び格納等の書込処理、並びに、参照及び取り出し等の読出処理は、記憶装置109に対して実行されるものとする。
Although details of these will be described later, in the following description of the
記憶装置109に格納されるプログラムは、ブリッジ装置101を制御するための機能を論理的に区別するために表したものであり、例えば、すべてプログラムを1つのプログラムとして実行させてもよいし、細分化して複数のスレッド又はプロセス等に分離して実行させてもよい。なお、記憶装置109にはブリッジ装置101を制御するためのプログラムによって生成された他のデータが格納されてもよい。
The programs stored in the
入出力装置110は、ブリッジ装置101に対して情報を入出力するための装置である。入出力装置110は、例えば、スイッチ、キーボード、マウス、マイクロホン、ビデオカメラ、ディスプレイ及びスピーカー等の機器が含まれる。
The input /
なお、ブリッジ装置101には入出力装置110が直接接続されてもよいし、入出力装置110に接続可能なインタフェースを介して入出力装置110と接続する形態でもよい。また、入出力装置110には、信号ケーブル、又は、電波及び赤外線等の無線を介して行われるシリアル通信などの通信によって接続されるものも含まれる。
Note that the input /
ブリッジ装置101は、入出力装置110を介して、ブリッジ装置101のユーザ又は管理者からの指示を受け付け、また、結果を出力することが可能となる。
The
ネットワークインタフェース111−1、ネットワークインタフェース111−2及びネットワークインタフェース111−3は、それぞれ、イーサネットフレームを送受信するための入出力ポート125−1、入出力ポート125−2及び入出力ポート125−3を備える。以下では、入出力ポート125−1、入出力ポート125−2及び入出力ポート125−3を区別しない場合には、入出力ポート125と記載する。 The network interface 111-1, the network interface 111-2, and the network interface 111-3 include an input / output port 125-1, an input / output port 125-2, and an input / output port 125-3 for transmitting and receiving Ethernet frames, respectively. . Hereinafter, when the input / output port 125-1, the input / output port 125-2, and the input / output port 125-3 are not distinguished, they are referred to as the input / output port 125.
入出力ポート125は、演算処理装置108が実行するポート制御部121によってそれぞれ制御され、他の機器とイーサネットフレームを用いた通信を行う。以下、入出力ポート125と、当該入出力ポート125を制御するポート制御部121とをまとめてポートと呼ぶ。
The input / output port 125 is controlled by the port control unit 121 executed by the
なお、共有バス114は、ブリッジ装置101の各構成要素間の通信を実現するためのものであるが、本発明は共有バス114に限定されるものではない。各構成要素間で通信できれば、共有バス114を用いる以外の方法によって接続されてもよい。例えば、各構成要素間を直接接続することのよって、要素間の接続を最適化し、処理に必要な消費電力を減らし、また、処理効率を上げることが可能となる。
The shared
(サーバ装置102のハードウェア構成)
次に、図1を用いてサーバ装置102のハードウェア構成を説明する。
(Hardware configuration of server apparatus 102)
Next, the hardware configuration of the server apparatus 102 will be described with reference to FIG.
サーバ装置102は、演算処理装置115、記憶装置116、入出力装置117及びネットワークインタフェース118を備え、各構成が互いに共有バス119を介して接続される。
The server device 102 includes an
ネットワークインタフェース118はケーブル105−1を介してブリッジ装置101と接続され、イーサネットフレームを送受信する。
The
図1に示す例では、ネットワークインタフェース118の数は1つとしたが、1つ以上であれば任意の数でよく、ネットワークの冗長化及び広帯域化を実現するために、サーバ装置102が複数のネットワークインタフェース118を備えてもよい。
In the example shown in FIG. 1, the number of the network interfaces 118 is one, but any number may be used as long as the number is one or more. In order to realize network redundancy and broadband, the server apparatus 102 includes a plurality of networks. An
演算処理装置115は、Central Processing Unit(CPU)に代表される演算処理装置であり、記憶装置116上に展開されたプログラム(ソフトウェア)を実行する。なお、演算処理装置115は、物理的又は論理的な複数のCPUによって構成されてよい。
The
記憶装置116は、演算処理装置115によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。当該情報には、プログラムの実行中に生成されるデータ、プログラムの実行時に読み出されるデータ及び設定が含まれる。
The
演算処理装置115が、記憶装置116に格納されるプログラムを実行することによって、サーバ装置102が有する機能を実現することができる。
When the
記憶装置116上に展開されたプログラムは、演算処理装置115によって実行される形式のデータであり、プログラムの内部にデータやプログラムが含まれてもよいし、データの内部にプログラムが含まれてもよく、両者の区別は便宜的なものである。
The program developed on the
記憶装置116は、例えば、メモリ、ハードディスク、若しくは光ディスク等のデータ及びプログラムを保持可能な記憶媒体を含む装置(遠隔地に設置され、ネットワークインタフェース118又は入出力装置117等を介して通信可能な装置を含む)、又はこれらを組み合わせたものから構成される。
The
記憶装置116に格納されるプログラムには、EdgeRelay128及び仮想化ソフトウェア129が含まれる。また、記憶装置116に格納されるデータの一例としては、仮想マシン130−1及び仮想マシン130−2が含まれる。以下、仮想マシン130−1及び仮想マシン130−2を区別しない場合には、仮想マシン130と記載する。
The programs stored in the
EdgeRelay128は、仮想的なネットワークスイッチの機能を実現するプログラムであり、ブリッジ装置101と同様の構成をソフトウェアとして提供する。従って、EdgeRelay128の内部には、ブリッジ装置101における全体制御部120、ポート制御部121、転送ポート管理表124及び入出力ポート125等のプログラム及びデータに対応するものが含まれる。なお、EdgeRelay128の詳細については後述する。
The
仮想化ソフトウェア129は、ハイパバイザとも呼ばれ、サーバ装置102のような仮想的な計算機を動作させるプログラムである。仮想化ソフトウェア129は、仮想マシン130のような仮想マシンに対応するデータを読み出し、それぞれのデータに従って仮想的な計算機として動作させる。仮想化ソフトウェア129を用いることによってサーバ装置102上に複数の仮想的な計算機を動作させることができる。
The
仮想マシン130は、仮想化ソフトウェア129を用いて仮想的に動作する計算機の実態であるデータであり、仮想的な計算機の状態、記憶装置116に格納されるプログラム及びデータ等が含まれる。図1に示す例では、サーバ装置102に2つ仮想マシン130を動作させる例を示しているが、仮想マシン130の数は任意である。例えば、2つ以上の仮想マシン130を動作させて、サーバ装置102上でより多くの処理を実行させて利用効率を高めてもよい。
The virtual machine 130 is data that is the actual state of a computer that virtually operates using the
なお、仮想化ソフトウェア129及び仮想マシン130は一般的なものであるため詳細な説明は省略する。
Since the
なお、以下のサーバ装置102に関する説明において、データ及び変数の保存、保持、記憶、記録及び格納等の書込処理、並びに、参照及び取り出し等の読出処理は、記憶装置116に対して実行されるものとする。
In the following description relating to the server apparatus 102, writing processing such as storage, retention, storage, recording and storage of data and variables, and reading processing such as reference and retrieval are executed for the
記憶装置116に格納されるプログラムは、サーバ装置102を制御するための機能を論理的に区別するために表したものであり、例えば、すべてのプログラムを1つのプログラムとして実行させてもよいし、細分化して複数のスレッド又はプロセス等に分離して実行させてもよい。なお、記憶装置116にはサーバ装置102を制御するためのプログラムによって生成された他のデータが格納されてもよい。
The program stored in the
入出力装置117は、サーバ装置102に対して情報を入出力するための装置である。入出力装置117は、例えば、スイッチ、キーボード、マウス、マイクロホン、ビデオカメラ、ディスプレイ及びスピーカー等の機器が含まれる。
The input /
なお、サーバ装置102には、入出力装置117が直接接続されてもよいし、入出力装置に接続可能なインタフェースを介して入出力装置117に接続する形態でもよい。また、入出力装置117には、信号ケーブル、又は、電波及び赤外線等の無線を介して行われるシリアル通信などの通信によって接続されるものも含まれる。
The server device 102 may be directly connected to the input /
サーバ装置102は、入出力装置117を介して、サーバ装置102のユーザ又は管理者からの指示を受け付け、また、結果を出力することが可能となる。
The server device 102 can receive an instruction from a user or administrator of the server device 102 via the input /
ネットワークインタフェース118は、演算処理装置108が実行するEdgeRelay128又は仮想化ソフトウェア129の指示にしたがって、他の機器とイーサネットフレームを用いた通信を行う。EdgeRelay128又は仮想化ソフトウェア129は、ソフトウェアによって仮想的に生成されたネットワークインタフェース、又は、ネットワークインタフェース118を用いて他の機器や構成要素と通信する。
The
なお、共有バス119は、サーバ装置102の各構成要素間の通信を実現するためのものであるが、本発明は共有バス119に限定されるものではない。各構成要素間で通信できれば、共有バス119を用いる以外の方法によって接続されてもよい。例えば、各構成要素間を直接接続することのよって、要素間の接続を最適化し、処理に必要な消費電力を減らし、また、処理効率を上げることが可能となる。
The shared
ノード装置104は、イーサネットを用いた通信を行う機器であり、例えば、ブリッジ装置101等のネットワーク機器やサーバ装置102等の計算機であるが、本発明に特有の構成を必要とするものではないため説明は省略する。
The
(システム及びハードウェアの変形例)
なお、図1に示す計算機システムの構成は一例であり、ブリッジ装置101又はサーバ装置102の構成要素の個数は図1に示すものに限定されない。例えば、入出力装置110及び入出力装置117等を2つ用意して冗長化し、また、機能を分担してもよい。
(Modification of system and hardware)
The configuration of the computer system illustrated in FIG. 1 is an example, and the number of components of the
また、本発明は、記憶装置109及び記憶装置116に格納されたプログラムによって実現される機能のうち、一部又は全部の機能をハードウェアとして実装してもよい。ハードウェアとして実装することによって、例えば、処理の高速化や低消費電力化が可能となる。
In the present invention, some or all of the functions realized by the programs stored in the
また、当該ハードウェアが備える機能を、仮想化ソフトウェアを用いてプログラムとして実現してもよい。ハードウェアが備える機能をプログラムとして実現することによって、例えば、設置スペースを削減し、管理を単純化することができる。 Further, the functions of the hardware may be realized as a program using virtualization software. By realizing the functions of the hardware as a program, for example, installation space can be reduced and management can be simplified.
また、プログラムによって実現される機能の構成は後述する構成に限るものではなく、複数の機能が統合される構成、又は1つの機能が複数に分割される構成でもよい。また、各機能によって実行される処理の順序についても、後述する順序に限るものではなく、処理の依存関係が許すならば、並列で同時に実行し、また、処理の実行順序を入れ替えて実行してもよい。例えば、処理を並列実行することによって処理時間を短縮でき、実行順序を入れ替えることによって待ち時間を減らすことができる。 In addition, the configuration of functions realized by the program is not limited to the configuration described later, and may be a configuration in which a plurality of functions are integrated or a configuration in which one function is divided into a plurality of functions. In addition, the order of processing executed by each function is not limited to the order described later. If processing dependency permits, execute in parallel at the same time, and change the execution order of the processes. Also good. For example, the processing time can be shortened by executing the processes in parallel, and the waiting time can be reduced by changing the execution order.
図2は、本発明の第1の実施形態における計算機システムの論理的な構成を説明するブロック図である。 FIG. 2 is a block diagram illustrating a logical configuration of the computer system according to the first embodiment of this invention.
サーバ装置102では、演算処理装置115がEdgeRelay128を実行することによって仮想的なネットワーク機器として動作し、演算処理装置115が仮想化ソフトウェア129を実行することによって仮想的な計算機である仮想マシン130−1及び仮想マシン130−2がサーバ装置102上で稼動する。
In the server apparatus 102, the
EdgeRelay128、仮想マシン130−1及び仮想マシン130−2が、イーサネットフレームを送受信する主体となる。サーバ装置102内においてEdgeRelay128、仮想マシン130−1及び仮想マシン130−2の論理的な接続は、図2に示すような接続関係となっている。
The
EdgeRelay128は、仮想ケーブル211−1を介して仮想マシン130−1と接続され、仮想ケーブル211−2を介して仮想マシン130−2と接続される。以下、仮想ケーブル211−1及び仮想ケーブル211−2を区別しない場合には、仮想ケーブル211と記載する。
The
仮想ケーブル211は、ケーブル105と同様の機能を仮想的に実現したものであり、共有メモリ又はメモリ間のコピー等によって、仮想マシン130及びEdgeRelay128から送信されたフレームが、対向装置(仮想マシン130及びEdgeRelay128等の仮想的な機器、又は、ブリッジ装置101等の物理的な機器)に送信される。
The virtual cable 211 virtually implements the same function as that of the cable 105, and frames transmitted from the virtual machine 130 and
また、EdgeRelay128は、ケーブル105−1を介してブリッジ装置101とフレームを送受信する。ケーブル105−1と仮想ケーブル211とは物理と論理との違いはあるが、いずれも構成要素間を接続するという点では同一のものである。仮想化ソフトウェア129は、EdgeRelay128が仮想ケーブル211をケーブル105と同様に扱えるように制御する。なお、仮想化ソフトウェア129における制御は、仮想ネットワークインタフェース、デバイス仮想化等の名称で一般的な技術であるため、説明は省略する。
The
本実施形態においては、例えば、仮想マシン130−1から仮想マシン130−2宛にフレームが送信された場合、後述するEdgeRelay128のモードに従ってフレームの伝送経路が異なる。すなわち、EdgeRelay128のみを経由する経路か、EdgeRelay128及びブリッジ装置101の両方を経由する経路のいずれかの伝送経路を介してフレームが伝達される。
In the present embodiment, for example, when a frame is transmitted from the virtual machine 130-1 to the virtual machine 130-2, the transmission path of the frame differs according to the
EdgeRelay128及びブリッジ装置101の両方を経由する伝送経路では、最初にEdgeRelay128を通り、次にブリッジ装置101を通り、その後、EdgeRelay128を通ってフレームが伝達される。
In the transmission path that passes through both the
前述した一例のように、本実施形態は、送信元の仮想マシン130と、宛先又は届けられる先(ブロードキャストフレーム等)の仮想マシン130とが同一のサーバ装置102内にある場合、EdgeRelay128のモードによってフレームの伝達経路が変わる。
As in the example described above, in the present embodiment, when the transmission source virtual machine 130 and the destination or delivery destination (broadcast frame or the like) virtual machine 130 are in the same server device 102, the embodiment uses the
また、本実施形態では、EdgeRelay128のモードと整合がとれるようにブリッジ装置101のモードも切り替えられるため、通信を維持した状態でEdgeRelay128のモードを切り替えられる。そのため、本実施形態では、伝達経路を動的に切り替えることができる。
In this embodiment, since the mode of the
以下、前述したEdgeRelay128及びブリッジ装置101のモードと、モードの切り替え方法について説明する。
Hereinafter, the modes of the above-described
(ソフトウェアの構成)
図3は、本発明の第1の実施形態におけるEdgeRelay128及びブリッジ装置101のソフトウェア構成を示すブロック図である。
(Software configuration)
FIG. 3 is a block diagram illustrating software configurations of the
EdgeRelay128及びブリッジ装置101は、仮想的な装置と物理的な装置という違いはあるが、いずれもネットワーク機器として動作し、そのソフトウェアの構成は同一であってもよいため、同一の図を用いて説明する。図3では、主に、ブリッジ装置101を例に説明し、EdgeRelay128と違いのある場合を除き、EdgeRelay128としての説明は省略する。
The
なお、図3において、四角は実行されるプログラムによって実現される処理ブロックを表す。また、処理ブロック間の矢印は、矢印の方向に情報又は指示及び指令が伝送されることを示す。処理ブロック間で伝送される情報又は指示及び指令については後述する。 In FIG. 3, squares represent processing blocks realized by the program to be executed. An arrow between processing blocks indicates that information or instructions and commands are transmitted in the direction of the arrow. Information or instructions and commands transmitted between processing blocks will be described later.
ブリッジ装置101は、全体制御部120、ポート制御部121−1、ポート制御部121−2、入出力ポート125−1及び入出力ポート125−2を備える。図1で説明したようにポートの数は任意であるため、図3ではポートを2つとし、ポート制御部121−3及び入出力ポート125−3に対応するポートは省略している。
The
EdgeRelay128の場合は、全体制御部120、ポート制御部121−1、ポート制御部121−2、入出力ポート125−1及び入出力ポート125−2は、EdgeRelay128にモジュールとして含まれるものとする。
In the case of
なお、本実施形態では各ポートのソフトウェア構成はいずれも同一とし、ポート番号及び役割、接続される対向装置等によって動作を変更するものとするが、それぞれのポートに適したソフトウェア構成としてもよい。例えば、ポート毎にソフトウェア構成を変更して不要な機能を省略し、コードサイズを削減してもよい。なお、ポートを含めたブリッジ装置101及びEdgeRelay128の動作については後述する。
In this embodiment, the software configuration of each port is the same, and the operation is changed depending on the port number, role, connected device, and the like. However, a software configuration suitable for each port may be used. For example, the software configuration may be changed for each port, unnecessary functions may be omitted, and the code size may be reduced. The operations of the
また、全体制御部120の数は複数でもよく、例えば、ポートと同じ数だけ全体制御部120を用意し、各全体制御部120がポート毎に並列処理を実行することによって処理時間を短縮する構成でもよい。また、複数のポート制御部121を統括する制御部を追加して、当該制御部を全体制御部120が制御するように処理を階層化して、全体制御部120の処理を削減することによって制御を単純化してもよい。
In addition, the number of the
ブリッジ装置101は、入出力ポート125−1及び入出力ポート125−2を介してイーサネットフレームを送受信する。ポート制御部121−1及びポート制御部121−2は、それぞれ、入出力ポート125−1及び入出力ポート125−2を介して送信する情報及び受信した情報を、再度送受信するか否かを制御する。
The
また、ポート制御部121−1及びポート制御部121−2は、必要に応じて、互いに、ポート間で情報を移動し、またコピーする。 In addition, the port control unit 121-1 and the port control unit 121-2 move and copy information between the ports as necessary.
全体制御部120は、ポート制御部121−1及びポート制御部121−2を介して各ポートで送受信する情報を制御し、また、外部からの入力、設定及び受信した情報に基づいて動作を変更する。
The
ブリッジ装置101は、各構成要素を用いて、あるポートが受信したイーサネットフレームを適切なポートから送信し、イーサネットフレームの通信を中継するブリッジ機能を実現する。なお、フレームの内容やブリッジ装置101の状態によってはポートからフレームが送信されないこともある。
The
全体制御部120は、状態管理部306、制御フレーム処理部307、制御フレーム生成部308、配送ポート決定部309及びポート学習部310から構成される。
The
状態管理部306は、各ポート及び装置全体のモード、状態及び設定を管理する。制御フレーム処理部307は、接続された対向装置から受信したフレームのうち対向装置(装置全体又はポート)の状態を通知する制御フレームを処理して情報を抽出する。
The
制御フレーム生成部308は、自装置(又は自ポート)の状態を対向装置に通知する制御フレームを生成する。配送ポート決定部309は、自装置(又は自ポート)の状態、及び受信したフレームの宛先等の内容に基づいて、受信したフレームを配送(送信)するポートを決定する。
The control frame generation unit 308 generates a control frame that notifies the opposite device of the state of the own device (or the own port). The delivery
ポート学習部310は、受信したフレームの内容から各ポートが受信したフレームの送信元等の情報を保持する。ポート学習部310が保持する情報は、配送ポートを決定するときに用いられる。
The
ポート制御部121は、フレーム分類/情報抽出部311、フレーム蓄積部312及び送受信制御部313から構成される。
The port control unit 121 includes a frame classification /
フレーム分類/情報抽出部311は、フレームから必要な情報を抽出し、適切な構成要素に、抽出された情報を出力する。フレーム蓄積部312は、受信したフレーム及び送信するフレームを保持する。送受信制御部313は、フレームの送信及び受信の可否を制御する。
The frame classification /
入出力ポート125は、フレーム受信部314及びフレーム送信部315から構成される。フレーム受信部314は、フレームを受信する。フレーム送信部315は、フレームを送信する。
The input / output port 125 includes a
以下では、どのようにして情報、指示及び指令が各構成要素間で伝達されるかを説明する。 In the following, it will be described how information, instructions and commands are transmitted between the components.
まず、ブリッジ装置101への指示は2通りの経路で行われる。
First, an instruction to the
ひとつは、入出力装置110又はプログラム起動時の引数、設定ファイル、他のプログラムからの通知を介して指示が行われる。当該指示は、全体制御部120の状態管理部306に入力される。
One is instructed via an argument from the input /
もうひとつは、ネットワークインタフェース111を介した制御フレームを用いて指示が行われる。当該指示を含む制御フレームは、入出力ポート125及び対応するポート制御部121を経由して制御フレーム処理部307に伝達され、さらに、状態管理部306に入力される。
The other is instructed using a control frame via the network interface 111. The control frame including the instruction is transmitted to the control
状態管理部306は、現在の状態と、入力された指示とに基づいて、新しい状態を決定する。ブリッジ装置101の動作は、状態に基づいて決定される。当該状態の決定方法(状態遷移)及び各状態におけるブリッジ装置101の動作については後述する。また、制御フレームの内容及び形式に関しても後述する。
The
次に、入出力ポート125から受信したイーサネットフレームを適切なポートから送信するためのブリッジ機能の実現方法について説明する。 Next, a method for realizing a bridge function for transmitting an Ethernet frame received from the input / output port 125 from an appropriate port will be described.
ブリッジ装置101に対してフレームが送信されると、当該フレームは、ネットワークインタフェース111を通してフレーム受信部314によって受信される。フレーム受信部314は、フレーム単位で処理を実行する。
When a frame is transmitted to the
ネットワークインタフェース111は、ケーブル105等の媒体を介して伝送される光信号及び電気信号からフレームへの変換を行う。なお、EdgeRelay128が仮想ケーブル211を介してフレームを受信した場合、記憶装置116上にて受信処理が実現されるため、前述した変換処理は通常は必要ない。ただし、記憶装置116上の表現(例えば、エンディアンやビット順序等)を変更する等、フレームを扱う上で必要がある場合にはフレームへの変換処理が実行されてもよい。
The network interface 111 performs conversion from an optical signal and an electrical signal transmitted through a medium such as the cable 105 to a frame. Note that when
フレーム受信部314は、受信したフレームをフレーム蓄積部312に格納し、当該フレームを参照するための記憶装置116上のアドレスをフレーム分類/情報抽出部311に伝達する。
The
なお、フレーム受信部314がフレーム分類/情報抽出部311に伝達する情報には、記憶装置116上のアドレスが必ず含まれている必要はなく、当該フレームを参照するために必要な情報が含まれていればよい。例えば、フレーム受信部314は、フレームの優先度等、フレーム内容に応じてフレームを分類して異なるキューに格納し、キュー番号及びキュー内の位置(順序等)をフレーム分類/情報抽出部311に伝達してもよい。この場合、キュー毎にフレームを区別して、優先度毎に異なる扱いを行ってもよい。
The information transmitted from the
フレーム分類/情報抽出部311は、フレーム受信部314から伝達された情報を用いて、フレーム蓄積部312にアクセスしてフレームの内容を読み出し、読み出されたフレームの内容に基づいてフレームを分類する。具体的には、以下のような処理が実行される。
The frame classification /
イーサネットフレームの宛先(Destination)Mac(Media Access Control)アドレスから当該フレームが制御フレームであると判定された場合、フレーム分類/情報抽出部311は制御フレーム処理部307にフレーム内容を伝達する。
When it is determined that the frame is a control frame from the destination (Destination) Mac (Media Access Control) address of the Ethernet frame, the frame classification /
一方、制御フレーム以外のフレームであると判定された場合、フレーム分類/情報抽出部311は、ポート番号、当該フレームのメモリアドレス、フレームから抽出された宛先MACアドレス、送信元MACアドレス、VLAN(Virtual LAN) ID等を配送ポート決定部309に伝達する。また、フレーム分類/情報抽出部311は、ポート番号、並びに、フレームから抽出した送信元MACアドレス及びVLAN IDをポート学習部310に伝達し、さらに、フレームを受信したポート番号と制御フレームであるか否か示す情報とを状態管理部306に伝達する。
On the other hand, when it is determined that the frame is other than the control frame, the frame classification /
なお、フレーム分類/情報抽出部311が伝達する情報は、前述した情報に限るものではない。例えば、フレームの内容に応じてフレームを複数のキューに格納し、キュー番号を配送ポート決定部309に伝達して、フレームの内容毎に配送ポートを変更してもよい。また、MACアドレス及びVLAN IDではなく、これらの組み合わせから決定される番号Forwarding IDを配送ポート決定部309及びポート学習部310に伝達して、伝達する情報を減らしてもよい。この場合、Forwarding IDに基づいて配送ポートが決定される。また、VLAN IDを省略した構成とし、構成を簡素化してもよい。また、VLAN IDをフレームから抽出するのではなく、ポート毎に予め定めた値を用いてもよい。また、制御フレーム処理部307にフレームの内容ではなく当該フレームを格納した記憶装置116上のアドレスを伝達することによって伝達する情報を削減してもよい。
Note that the information transmitted by the frame classification /
また、イーサネットフレームの宛先及び送信元を識別する情報としてMACアドレス以外の情報として、例えば、IP(Internet Protocol)アドレス等を用いてもよい。 Further, as information other than the MAC address, for example, an IP (Internet Protocol) address may be used as information for identifying the destination and transmission source of the Ethernet frame.
制御フレーム処理部307は、フレーム分類/情報抽出部311から伝達されたフレームの内容からLLDP(Link Layer Discovery Protocol)のTLV(type−length−value)を抽出し、状態管理部306に伝達する。
The control
なお、LLDPのTLVはIEEE 802.1ABとして標準化されおり、後述するように、本実施形態ではLLDPのTLVのうち、IEEE 802.1Qbgに規定されるEVB(Edge Virtual Bridging) TLVのみを用いる。ただし、接続機器の管理等に役立てるために、Chassis ID TLV等、その他の情報を使用してもよい。 Note that the LLDP TLV is standardized as IEEE 802.1AB, and, as will be described later, in the present embodiment, only the EVB (Edge Virtual Bridging) TLV defined in IEEE 802.1Qbg is used in the LLDP TLV. However, other information such as a Chassis ID TLV may be used to help manage connected devices.
ポート学習部310は、状態管理部306から伝達された指示がポート学習を示す場合のみポート学習を実行する。
The
ポート学習では、フレーム分類/情報抽出部311から伝達されたMACアドレスとVLAN IDとに基づいて転送ポート管理表124を参照して一致するエントリが検索される。一致するエントリが見つかった場合には、当該エントリのポート番号が更新される。また、一致するエントリが見つからない場合には、フレーム分類/情報抽出部311から伝達されたMACアドレス、VLAN ID及びポート番号を対応づけた新たなエントリが転送ポート管理表124に生成される。
In port learning, a matching entry is searched by referring to the transfer port management table 124 based on the MAC address and VLAN ID transmitted from the frame classification /
転送ポート管理表124では、古いエントリは削除される。なお、本発明において、ポート学習に相当する機能は必須の構成ではなく、例えば、予めエントリを生成しておき、更新処理を省略することによってエントリの検索処理を高速化してもよい。 In the transfer port management table 124, the old entry is deleted. In the present invention, the function corresponding to port learning is not an essential configuration. For example, the entry search process may be accelerated by generating an entry in advance and omitting the update process.
なお、転送ポート管理表124におけるエントリ追加及び削除等のポート学習の詳細に関しては、MACアドレステーブル又はForwarding Databaseとしてブリッジ装置101において一般的な技術であるため、本実施形態では説明を省略する。
Note that details of port learning such as entry addition and deletion in the forwarding port management table 124 are common techniques in the
配送ポート決定部309は、状態管理部306が管理する状態に従って、フレーム分類/情報抽出部311から伝達されたポート番号、宛先MACアドレス、送信元MACアドレス及びVLAN IDを用いて当該フレームを配送するポート(以下、配送ポートとも呼ぶ)を決定する。また、配送ポート決定部309は、フレーム分類/情報抽出部311から伝達されたポート番号及び当該フレームのメモリアドレスを、決定された配送ポートに対応する送受信制御部313に伝達する。
The delivery
なお、配送ポートの数は、複数個でもよいし、0個でもよい。配送ポートが複数個の場合には、各配送ポートに同一のフレームが配送される。配送ポートが0個の場合には、フレームは転送されない。すなわち、フレームは廃棄される。また、後述する一部のモードにおいて、ブロードキャストフレームは受信ポートを除く全ポートに配送される。 Note that the number of delivery ports may be plural or zero. When there are a plurality of delivery ports, the same frame is delivered to each delivery port. If there are no delivery ports, no frame is transferred. That is, the frame is discarded. In some modes described later, the broadcast frame is delivered to all ports except the reception port.
なお、配送ポート決定部309は、後述する所定のモードではポート学習部310に宛先MACアドレス、送信元MACアドレス及びVLAN IDを伝送する。ポート学習部310は伝送された情報に一致するエントリ(宛先と送信元とは別エントリ)を検索し、一致するエントリが見つかった場合にはポート番号を、一致するエントリが見つからなかった場合にはエントリが見つからなかった旨を配送ポート決定部309に伝達する。
The delivery
配送ポート決定部309は、ポート学習部310から伝達された検索結果に含まれるポート番号に対応するポートを配送ポートとして決定し、又は、当該ポートを除くポートの中から配送ポートを決定し、状態管理部306に配送ポートを通知する。また、配送ポート決定部309は、送受信制御部313に当該フレームが保存されているポート番号とメモリアドレスとを通知してフレームを配送する。
The delivery
前述した配送ポート決定部309における動作は、ブリッジ装置101及びEdgeRelay128のモードに従って動作が異なる。なお、詳細については後述する。
The operation of the delivery
また、状態管理部306は、現在の状態、Chassis IDやポートを識別するID、有効期限、ポートのMACアドレス及び宛先MACアドレスを制御フレーム生成部308に伝送する。これによって、制御フレームが送信される。なお、制御フレームが送信される契機については後述する。
In addition, the
状態管理部306から制御フレーム生成部308に伝送される情報のうち、状態については後述する。また、伝送される情報のうち、状態以外の情報については設定から取得されるが、具体的な情報については、LLDPの必須TLVとして一般的な内容であるため本実施形態では説明は省略する。
Among the information transmitted from the
制御フレーム生成部308は、状態管理部306から伝送された情報がTLVとして埋め込まれたLLDPフレームを生成し、生成されたLLDPフレームを全ポートのフレーム蓄積部312に保存する。また、制御フレーム生成部308は、各ポートの送受信制御部313にポート番号と、保存されたLLDPフレームを参照するための記憶装置116上のアドレスとを伝送する。
The control frame generation unit 308 generates an LLDP frame in which the information transmitted from the
なお、一つのポートのフレーム蓄積部312にのみ前述のLLDPフレームを保存し、当該ポートのポート番号と当該LLDPフレームを参照するための記憶装置116上のアドレスとを全ポートのフレーム蓄積部312に通知することによってLLDPフレームの保存に必要な記憶容量を節約してもよい。また、前述のLLDPフレームはPort ID等、ポート毎に異なる内容を含んでもよい。また、一部のポートにおいてLLDPフレームの送信を抑止し、LLDPフレームが不要なリンクの帯域を節約してもよい。
The LLDP frame described above is stored only in the
なお、制御フレーム生成部308が生成するLLDPフレームの内容については後述する。 The contents of the LLDP frame generated by the control frame generation unit 308 will be described later.
EdgeRelay128において、EdgeRelay128の状態によって、状態管理部306は送受信制御部313に対して、フレーム受信の一時停止又は再開を指示することがある。このとき、送受信制御部313は、前述の一時停止又は再開の指示を受け付けると、フレーム分類/情報抽出部311にフレーム受信の一時停止又は再開の指示を伝達する。なお、本指示に関係するEdgeRelay128の状態は後述する。
In
フレーム分類/情報抽出部311は、送受信制御部313からフレーム受信の一時停止の指示を受け付けた後、フレームを受信した場合、フレーム蓄積部312にフレームを保存するが、配送ポート決定部309及びポート学習部310への情報の伝達を一時停止する。フレーム分類/情報抽出部311は、送受信制御部313からフレーム受信の再開の指示を受け付けると情報の伝達を再開する。また、フレーム分類/情報抽出部311は、前述のフレーム受信の一時停止中では、状態管理部306にフレームが保存された旨を通知する。
When the frame classification /
フレーム受信の一時停止中に保存されたフレームに関する情報は、フレーム受信が再開された後、受信した順に配送ポート決定部309及びポート学習部310に伝達される。
Information about the frames saved during the frame reception suspension is transmitted to the delivery
なお、フレーム分類/情報抽出部311は、フレーム受信の一時停止中でも制御フレーム処理部307へ情報を伝達するが、配送ポート決定部309及びポート学習部310への情報の伝達と同様に、制御フレーム処理部307への情報の伝達も一時停止し、再開の指示を受けた後に再開するように簡素化してもよい。前述の伝達の一時停止及び再開は、キューという仕組みによって実現されるが、情報処理においてキューはFirst In First Out(FIFO)とも呼ばれ一般的であるので説明を省略する。
Note that the frame classification /
また、フレーム受信の一時停止及び再開は必ずしも前述した方法である必要はなく、例えば、フレーム受信の一時停止中は送受信制御部313がフレーム全体を受信した順にキューに入れて、再開後にフレームを順に取り出して送受信制御部313が処理する方法でもよい。これによって、プログラムを簡素化できる。
In addition, it is not always necessary to suspend and resume frame reception by the above-described method. For example, during suspension of frame reception, the transmission /
次に、送受信制御部313のその他処理について説明する。
Next, other processes of the transmission /
フレーム蓄積部312は、ユーザからの指示があったときに、送受信制御部313に対して、受信フレームの廃棄を指示する。なお受信フレームの廃棄の契機はユーザからの指示に限るものではなく、例えば、状態管理部306が管理している状態が所定の状態となったときを契機として受信フレームの廃棄を行うようにして、特定条件下でフレームを廃棄できるようにしてもよい。
The
送受信制御部313は、フレーム蓄積部312から受信フレームの廃棄を指示された場合、フレーム分類/情報抽出部311に受信フレームの廃棄を指示する。フレーム分類/情報抽出部311は、送受信制御部313から受信フレームの廃棄の指示を受け付けた後にフレームを受信した時、配送ポート決定部309、ポート学習部310及び制御フレーム処理部307への情報の伝達を停止し、受信フレームの廃棄の指示が解除された場合も、フレーム受信の停止中に受信したフレームに関する情報を伝達しない。
When the transmission /
なお、フレーム分類/情報抽出部311は、フレーム受信の停止中に受信したフレームに使用された記憶領域の開放をフレーム蓄積部312に指示し、当該指示を受けたフレーム蓄積部312は当該記憶領域を開放する。
The frame classification /
本発明は前述の処理によって受信フレームの廃棄を実現するが、前述の処理に限るものではなく、例えば、フレーム受信部314の処理を停止して受信フレームの実質的な廃棄を実現してもよい。
Although the present invention realizes discarding of received frames by the above-described processing, the present invention is not limited to the above-described processing. For example, the processing of the
次に、ポートからフレームを送信する場合の動作について説明する。 Next, an operation when a frame is transmitted from a port will be described.
送受信制御部313は、制御フレーム処理部307又は配送ポート決定部309から伝送された送信対象のフレームが保存されるフレーム蓄積部312のポート番号及び記憶装置116上のアドレスが、フレームを送信するポートと異なる場合、送信対象のフレームが保存されるフレーム蓄積部312からフレームを読み出して、フレームを送信するポートのフレーム蓄積部312に保存する。
The transmission /
そして、送受信制御部313は、送信対象のフレームをフレーム送信部315に伝送するようにフレーム蓄積部312に指示する。フレーム蓄積部312は、前述の指示に従って、フレーム送信部315に送信対象のフレームを伝送する。フレーム送信部315は、フレーム蓄積部312から伝送されたフレームを送信する。
Then, the transmission /
なお、送受信制御部313は、送信済みのフレームの削除をフレーム蓄積部312に指示し、当該フレーム蓄積部312がフレームを削除する。ただし、複数のポートからフレームが送信される場合に整合性を保ったフレームの削除方法としては、情報処理において参照カウントとして一般的な技術であるため、本実施形態での説明を省略する。
The transmission /
また、本実施形態ではポート毎にフレーム蓄積部312を持つ構成としたが、フレームを蓄積するフレーム蓄積部312を記憶装置116内で集約し、管理することによって、記憶装置116内のコピー回数を減らして処理を高速化し、記憶装置116の利用効率を高めてもよい。記憶装置116の管理に関しては、情報処理においてメモリ確保やメモリ管理等として一般的な技術であるため、本実施形態での説明を省略する。
In this embodiment, the
図4は、本発明の第1の実施形態における転送ポート管理表124の一例を示す説明図である。 FIG. 4 is an explanatory diagram illustrating an example of the transfer port management table 124 according to the first embodiment of this invention.
転送ポート管理表124は、MACアドレス401、VLAN_ID402及びポートID403を含むエントリから構成される。
The transfer port management table 124 includes entries including a
MACアドレス401は、イーサネットにおけるエンティティを識別するためのアドレスである。VLAN_ID402は、IEEE 802.1Qに規定されるイーサネットフレームにおけるVLANの識別子である。異なるVLAN IDを含むフレームは、別のVLANとして扱われる。ポートID403は、複数あるポート(入出力ポート125及び入出力ポート125対応するポート制御部121を表す)を識別するための識別子である。
The
なお、仮想マシン130の場合、MACアドレス401には仮想的なMACアドレスが格納され、ポートID403には仮想的なポートIDが格納される。
In the case of the virtual machine 130, a virtual MAC address is stored in the
ポート学習部310は、MACアドレス401及びVLAN_ID402が、フレーム分類/情報抽出部311から伝達された送信元MACアドレス及びVLAN IDに一致するエントリを検索する。
The
一致するエントリが見つからない場合、ポート学習部310は、送信元MACアドレス及びVLAN IDをそれぞれMACアドレス401及びVLAN_ID402に格納し、伝送されたポート番号をポートID403に格納して新たなエントリを追加する。
If no matching entry is found, the
一致するエントリが見つかった場合、ポート学習部310は、当該エントリのポートID403を伝達されたポート番号に更新する。
When a matching entry is found, the
また、ポート学習部310は、MACアドレス401及びVLAN_ID402が、配送ポート決定部309から伝達されたMACアドレス及びVLAN IDに一致するエントリを検索する。
Further, the
検索の結果、一致するエントリが見つかった場合には当該エントリのポートID403を、一致するエントリが見つからなかった場合にはエントリが見つからなかった旨を配送ポート決定部309に伝達する。
If a matching entry is found as a result of the search, the
転送ポート管理表124は、IEEE 802.1QにおけるFiltering Databaseに対応する。なお、転送ポート管理表124とフレームの情報と照合して当該フレームを転送するポートを決定する機能が実現できれば、転送ポート管理表124の構成は必ずしも図4に示す情報のみの構成に限定されない。例えば、入力ポートを識別するポートIDと転送先のポートID403との対応表という構成も考えられ、VLAN_ID402を省いた構成(IEEE 802.1Dに規定されるブリッジ機能)としてもよい。
The forwarding port management table 124 corresponds to Filtering Database in IEEE 802.1Q. Note that the configuration of the transfer port management table 124 is not necessarily limited to the configuration of only the information shown in FIG. 4 as long as the function of determining the port to transfer the frame by comparing the transfer port management table 124 with the frame information can be realized. For example, a configuration of a correspondence table between port IDs for identifying input ports and transfer
また、転送ポート管理表124は、入力されたフレームの送信元MACアドレス、VLAN ID及びポート番号(ポートID)を対応づけたエントリとして追加し、一定時間使用されなかったエントリを削除するポート学習によって管理される。なお、本発明はこれに限るものではなく、例えば、固定的なエントリを作成し、ポート学習の処理を省略してもよい。 In addition, the forwarding port management table 124 adds a source MAC address, a VLAN ID, and a port number (port ID) of an input frame as an associated entry, and deletes an entry that has not been used for a certain period of time by port learning. Managed. The present invention is not limited to this. For example, a fixed entry may be created and the port learning process may be omitted.
(制御フレーム)
前述したように、制御フレームは、ブリッジ装置101及びEdgeRelay128の制御フレーム生成部308によって生成され、フレーム送信部315から送信される。制御フレームは、所定の周期、又は特定の状態変化があった場合に送信される。制御フレームの送信契機にはLLDPとして規定されているものに加え、後述する状態遷移に伴うものも含まれる。
(Control frame)
As described above, the control frame is generated by the
送信された制御フレームは、対向装置(ブリッジ装置101又はEdgeRelay128)のフレーム受信部314が受信し、制御フレーム処理部307が当該フレームを処理する。制御フレームは、IEEE 802.1ABに規定されるLLDPフレームとして構成され、本実施形態では、LLDP TLVの1つとしてIEEE 802.1Qbgに規定されるEVB TLVを用いて自装置(ブリッジ装置101の各ポート又はEdgeRelay128)の状態情報を対向装置に伝達する。また、対向装置は、受信した状態情報に基づいて状態遷移の処理を実行する。
The transmitted control frame is received by the
図5は、本発明の第1の実施形態におけるEVB TLVの構成を示す説明図である。 FIG. 5 is an explanatory diagram showing the configuration of the EVB TLV in the first embodiment of the present invention.
図5では、EVB TLVのどの部分にどのような状態情報を埋め込んで伝えるかを示している。 FIG. 5 shows what state information is embedded and transmitted in which part of the EVB TLV.
本発明では、ブリッジ装置101はポート毎に状態情報RRCAPと状態情報RRCTRとを保持し、また、EdgeRelay128は状態情報RRREQと状態情報RRSTATとを保持する。前述した状態情報の詳細については後述する。
In the present invention, the
本発明では、ブリッジ装置101は、自装置の制御フレームを送信するポートの状態情報RRCAP及び状態情報RRCTRを、EVB_Bridge_status501に含まれるRRCAP504及びRRCTR505にそれぞれ埋め込み、対向装置であるEdgeRelay128の状態情報RRREQ及び状態情報RRSTATをEVB_station_status502に含まれるRRREQ506及びRRSTAT507にそれぞれ埋め込み、さらに、EVB_Mode503にはEVB Bridgeであることを示す値「1」を埋め込んでEVB TLVを生成し、制御フレームとして送信する。
In the present invention, the
また、本発明では、EdgeRelay128は、対向装置であるブリッジ装置101の当該EdgeRelay128が接続されたポートの状態情報RRCAP及び状態情報RRCTRをEVB_Bridge_status501に含まれるRRCAP504及びRRCTR505にそれぞれ埋め込み、自装置の状態情報RRREQ及び状態情報RRSTATをEVB_station_status502に含まれるRRREQ506及びRRSTAT507にそれぞれ埋め込み、さらに、EVB_Mode503にはEVB stationであることを示す値「2」を埋め込んでEVB TLVを生成し、制御フレームとして送信する。
In the present invention,
また、EdgeRelay128は、対向装置から送信された制御フレームから対向装置(ポート)の状態情報を取得し、取得された状態情報を用いて制御フレームを生成する。なお、対向装置から制御フレームを受信していない場合には、対向装置の状態情報をすべて「0」とした制御フレームが生成される。
Further,
なお、IEEE 802.1Qbgの標準に規定されるEVB TLVにおいて、図5に挙げたEVB_Bridge_status501、EVB_station_status502、EVB_Mode503、RRCAP504、RRCTR505、RRREQ506及びRRSTAT507は、標準における同名の情報であるものとし、それ以外の情報はIEEE 802.1Qbgの標準に従うものとする。
In the EVB TLV defined in the IEEE 802.1Qbg standard,
すなわち、状態情報が埋め込まれたEVB TLVは、IEEE 802.1Qbgの標準に従ったEVB TLVとして扱うことができる。従って、状態情報が埋め込まれたEVB TLVを含む制御フレームはLLDPフレームであり、IEEE 802.1ABの標準に従うものとする。 That is, the EVB TLV in which the state information is embedded can be handled as an EVB TLV in accordance with the IEEE 802.1Qbg standard. Therefore, the control frame including the EVB TLV in which the state information is embedded is an LLDP frame and conforms to the IEEE 802.1AB standard.
また、本発明において使用される制御フレームは前述したLLDPフレームに限るものではなく、前述した状態情報を通知することができるフレームであれば、前述の形式に限定されるものではない。例えば、ブリッジ装置101は状態情報RRCAP及び状態情報RRCTRのみを、EdgeRelay128は状態情報RRREQ及び状態情報RRSTATのみ含むフレームを送信して、状態情報の伝達に必要な転送量を節約してもよい。
In addition, the control frame used in the present invention is not limited to the above-described LLDP frame, and is not limited to the above-described format as long as it can notify the above-described state information. For example, the
次に、本発明に用いる状態情報RRCAP、状態情報RRCTR、状態情報RRREQ及び状態情報RRSTATの考え方を説明する。 Next, the concept of state information RRCAP, state information RRCTR, state information RRREQ, and state information RRSTAT used in the present invention will be described.
本発明では、ブリッジ装置101は、Reflective Relayと呼ばれる機能を有する。Reflective Relayは、イーサネットのブリッジ機能において、フレームを受信したポートから、さらに当該フレームを送信することを認める機能である。
In the present invention, the
IEEE 802.1Qbgでは、状態情報RRCAPの値は、EVB Bridge(ブリッジ装置101に相当)がReflective Relayの機能を持つ場合には「1」とし、Reflective Relayの機能を持たない場合には「0」とすること規定されている。本発明では、後述するブリッジ装置101のモードに従って、状態情報RRCAPの値を「0」又は「1」に変更する。
In IEEE 802.1Qbg, the value of the status information RRCAP is “1” when the EVB Bridge (corresponding to the bridge device 101) has the reactive relay function, and “0” when the reflective relay function is not provided. It is stipulated that. In the present invention, the value of the state information RRCAP is changed to “0” or “1” according to the mode of the
IEEE 802.1Qbgでは、状態情報RRCTRの値は、EVB BridgeがReflective Relayとして動作している場合には「1」とし、Reflective Relayとして動作していない場合には「0」とすることが規定されている。本発明でも同様にブリッジ装置101がReflective Relayとして動作している場合には値を「1」とし、Reflective Relayとして動作していない場合には値を「0」とする。
In IEEE 802.1Qbg, the value of the status information RRCTR is defined to be “1” when EVB Bridge is operating as a Reflective Relay, and “0” when not operating as a Reflexive Relay. ing. Similarly, in the present invention, the value is “1” when the
IEEE 802.1Qbgでは、状態情報RRREQの値は、EVB station(サーバ装置102に相当)のEdge Relay(EdgeRelay128に相当)がEVB BridgeにReflective Relayとしての動作を希望する場合には「1」とし、Reflective Relayとしての動作を希望しない場合には「0」とすることが規定されている。本発明でも同様に、EdgeRelay128が、ブリッジ装置101にReflective Relayとして動作することを希望する場合には値を「1」とし、Reflective Relayとして動作することを希望しない場合には値を「0」とする。
In IEEE 802.1Qbg, the value of status information RRREQ is “1” when Edge Relay (equivalent to Edge Relay 128) of EVB station (equivalent to server device 102) wants EVB Bridge to operate as Reflective Relay. It is stipulated that “0” is set when the operation as a reactive relay is not desired. Similarly, in the present invention, the value is “1” when the
IEEE 802.1Qbgでは、状態情報RRSTATの値は、EVB stationがEVB Bridgeの動作を判定し、EVB BridgeがReflective Relayとして動作していないと判定された場合には「0」とし、EVB BridgeがReflective Relayとして動作していると判定された場合には「1」とし、さらに、EVB Bridgeの動作が不明の場合には「2」又は「3」とすることが規定されている。本発明でも同様に、EdgeRelay128がブリッジ装置101の動作を判定し、ブリッジ装置101がReflective Relayとして動作していないと判定された場合には値を「0」とし、ブリッジ装置101がReflective Relayとして動作していると判定された場合には値を「1」、さらに、ブリッジ装置101の動作が不明の場合には値を「2」とする。
In IEEE 802.1Qbg, the value of the status information RRSTAT is “0” when the EVB station determines that the EVB Bridge is operating, and the EVB Bridge is not operating as the Reflexive Relay, and the EVB Bridge is Reflective. It is specified that “1” is set when it is determined that the relay is operating, and “2” or “3” is set when the operation of EVB Bridge is unknown. Similarly, in the present invention,
ブリッジ装置101及びEdgeRelay128の状態情報の考え方は前述の通りだが、これらの状態情報の変更に伴う状態遷移に関しては後述する。
The concept of the state information of the
以下では、状態情報RRCAP、状態情報RRCTR、状態情報RRREQ及び状態情報RRSTATを、単に、RRCAP、RRCTR、RRREQ及びRRSTATとも記載する。 Hereinafter, state information RRCAP, state information RRCTR, state information RRREQ, and state information RRSTAT are also simply referred to as RRCAP, RRCTR, RRREQ, and RRSTAT.
(EdgeRelay及びブリッジ装置におけるモード及び状態)
次に、ブリッジ装置101及びEdgeRelay128におけるモード及び状態について説明する。
(Mode and state in Edge Relay and bridge device)
Next, modes and states in the
図6は、本発明の第1の実施形態のEdgeRelay128におけるモード及び状態遷移を示す説明図である。
FIG. 6 is an explanatory diagram illustrating modes and state transitions in
図6において、点線の四角はモードを表し、実線の四角は状態を表し、また、矢印は状態遷移を表す。 In FIG. 6, a dotted square represents a mode, a solid square represents a state, and an arrow represents a state transition.
図6に示すように、EdgeRelay128は、RRSTAT及びRRREQの2つの状態情報の組み合わせに対応して、S0状態604、S1状態605、S2状態606、S3状態607、S4状態608及びS5状態609の6種類のうちのいずれかの状態を取り得る。
As shown in FIG. 6,
また、EdgeRelay128はそれぞれの状態に対応したモードで動作する。各モードでは、受信フレームの転送時の動作が異なり、1つ又は複数の状態を含む。具体的には、EdgeRelay128は、S0状態604の場合にはVEBモード601で動作し、S3状態607の場合にはVEPAモード602で動作し、S1状態605、S2状態606、S4状態608及びS5状態609のいずれかの場合にはTRANモード603で動作する。
The
各モードにおけるEdgeRelay128の動作については後述する。また、各状態間での遷移についても後述する。
The operation of
6種類の状態は、RRREQ及びRRSTATに関連づけられている。具体的には、RRSTATが「0」かつRRREQが「0」の状態がS0状態604と、RRSTATが「0」かつRRREQが「1」の状態がS1状態605と、RRSTATが「1」かつRRREQが「0」の状態がS2状態606と、RRSTATが「1」かつRRREQが「1」の状態がS3状態607と、RRSTATが「2」かつRRREQが「0」の状態がS4状態608と、RRSTATが「2」かつRRREQが「1」の状態がS5状態609と関連づけられている。
Six states are associated with RRREQ and RRSTAT. Specifically, the state in which RRSTAT is “0” and RRREQ is “0” is the
前述したように、EdgeRelay128は、図5で説明した制御フレームを用いて、RRREQ及びRRSTAT、すなわち、EdgeRelay128の状態をブリッジ装置101に伝達する。
As described above, the
図7は、本発明の第1の実施形態のブリッジ装置101のポートにおけるモード及び状態遷移を示す説明図である。
FIG. 7 is an explanatory diagram illustrating modes and state transitions in the ports of the
図7において、点線の四角はモードを表し、実線の四角は状態を表し、また、矢印は状態遷移を表す。 In FIG. 7, dotted squares represent modes, solid squares represent states, and arrows represent state transitions.
図7に示すように、ブリッジ装置101のポートは、RRCAP及びRRCTRの2つの状態情報の組み合わせに対応して、B0状態703、B1状態704、B2状態705及びB3状態706の4種類のいずれかの状態をとる。
As shown in FIG. 7, the port of the
4種類の状態は、RRCAP及びRRCTRと関連づけられている。具体的には、RRCAPが「0」かつRRCTRが「0」の状態がB0状態703と、RRCAPが「0」かつRRCTRが「1」の状態がB1状態704と、RRCAPが「1」かつRRCTRが「0」の状態がB2状態705と、RRCAPが「1」かつRRCTRが「1」の状態がB3状態706と関連づけられている。
Four types of states are associated with RRCAP and RRCTR. Specifically, a state in which RRCAP is “0” and RRCTR is “0” is a
また、ブリッジ装置101のポートはそれぞれの状態に対応したモードで動作する。各モードでは、受信フレームの転送時の動作が異なり、1つ又は複数の状態を含む。具体的には、ブリッジ装置101のポートは、B0状態703又はB2状態705の場合にはSWモード701で動作し、B3状態706又はB1状態704の場合にはRRモード702で動作する。
Further, the port of the
ブリッジ装置101は、ポート毎に独立した状態を保持し、かつ、ポート毎に独立したモードで動作する。すなわち、ブリッジ装置101の一つのポートと他のポートとは異なる状態又はモードとなってもよい。各モードにおけるブリッジ装置101の動作については後述する。また、各状態間における状態遷移についても後述する。
The
前述したように、ブリッジ装置101は、図5で説明した制御フレームを用いて、各ポートにおけるRRCAP及びRRCTR、すなわち、ブリッジ装置101のポートの状態をEdgeRelay128に伝達する。
As described above, the
ここで、EdgeRelay128のモードと、ブリッジ装置101のポートのモードとの関係について説明する。
Here, the relationship between the
基本的に、EdgeRelay128のモードは、対向装置であるブリッジ装置101のポートのモードと連動する。具体的には、ブリッジ装置101のポートがSWモード701で動作している場合、EdgeRelay128はVEBモード601で動作し、ブリッジ装置101のポートがRRモード702で動作している場合、EdgeRelay128はVEPAモード602で動作する。
Basically, the
ブリッジ装置101のポートのモードが変更される時には、EdgeRelay128はTRANモード603で動作する。詳細は後述するが、VEBモード601の場合、EdgeRelay128はVirtual Edge Bridge(VEB)として、すなわち、一般的なネットワークスイッチとして動作する。このとき、EdgeRelay128が、仮想マシン130−1と仮想マシン13−2との間の通信に必要なスイッチング処理を実行する。
The
一方で、VEPAモード602の場合、EdgeRelay128はVirtual Edge Port Aggregator(VEPA)として動作する。このとき、仮想マシン130−1と仮想マシン130−2との間の通信では、EdgeRelay128から、一旦、ブリッジ装置101にフレームが転送され、ブリッジ装置101がスイッチング処理を実行することとなる。
On the other hand, in the case of the
ブリッジ装置101のポートのモードがSWモード701の場合と、RRモード702の場合とでは、動作は以下のような相違点がある。すなわち、SWモード701の動作ではフレームを受信したポートに対して当該フレームが転送されないが、RRモード702の動作ではフレームを受信したポートに対しても当該フレームが転送されるという違いがある。
The operation differs between the case where the mode of the port of the
SWモード701で動作するブリッジ装置101のポートは、VEBモード601で動作するEdgeRelay128と同じく、一般的なネットワークスイッチとして動作する。SWモード701の場合に、フレームを受信したポートに対して当該フレームが転送されないのは、当該ポートに接続された装置が同一フレームを重複して受信することを防ぐためである。
The port of the
しかし、当該ポートに接続された装置がVEPAとして動作している場合、すなわち、VEPAモード602で動作するEdgeRelay128が当該ポートに接続されている場合、RRモード702で動作する必要がある。これは、EdgeRelay128は、ブリッジ装置101に転送したフレームがEdgeRelay128に接続された仮想マシン130に転送される必要がある場合に、ブリッジ装置101によりEdgeRelay128に折り返されることを前提として動作するためである。
However, when the device connected to the port is operating as VEPA, that is, when
すなわち、VEBモード601で動作するEdgeRelay128はRRモード702で動作するポートには接続できず、VEPAモード602で動作するEdgeRelay128はSWモード701で動作するポートには接続できない。
That is,
本発明では、VEBモード601とVEPAモード602とを動的に切り替える場合に、過渡的な状態でも正しく通信を継続するためTRANモード603を導入している。
In the present invention, when the
TRANモード603では、VEBモード601の動作を基本として、ブリッジ装置101に接続されたポートから入力されたフレームのうち、送信元アドレスが他のポートによって学習されている場合、又は、他のポートに登録されている場合にはフレームを廃棄し、ポート学習は実行されない。すなわち、TRANモード603では、EdgeRelay128からブリッジ装置101に転送されたフレームが、さらにブリッジ装置101からEdgeRelay128に転送された場合、すなわち、フレームが折り返された場合に、EdgeRelay128が当該フレームを廃棄することによって重複フレームの受信を防ぐ。
In the
そのため、TRANモード603で動作するEdgeRelay128がRRモード702で動作するポートと接続されても問題がなく、さらに、当該ポートがSWモード701となった場合には折り返されたフレームは転送されないため、通常のフレーム転送時の問題はなくなる。ただし、TRANモード603におけるEdgeRelay128の動作にも制限がある。
Therefore, there is no problem even if
例えば、サーバ装置102−1内においてTRANモード603で動作するEdgeRelay128に接続され、仮想マシン130−1にフレームを送信していた仮想マシン130−2が、サーバ装置102−2に移動した場合、移動前と同様に仮想マシン130−2が仮想マシン130−1宛に送信したフレームはブリッジ装置101を経由してEdgeRelay128に届くため、TRANモード603の動作に従って当該フレームが廃棄され、通信が遮断されてしまう。
For example, if the virtual machine 130-2 connected to the
本発明では、前述の通信遮断の発生を抑制するため、EdgeRelay128のモードを、VEBモード601とVEPAモード602とを切り替える場合にのみ、過渡的なTRANモード603に変更する。
In the present invention, the
EdgeRelay128及びブリッジ装置101のモードに関しては、各モードでの切り替えを含む動作を後述する。
Regarding the modes of the
次に、図6における状態情報を含む制御フレームをEdgeRelay128からブリッジ装置101に送信する場合の各状態情報の位置づけを説明する。
Next, the positioning of each state information when transmitting a control frame including the state information in FIG. 6 from the
S0状態604を通知する制御フレームは、EdgeRelay128が現在VEBモード601で動作していることをブリッジ装置101に通知する役割がある。
The control frame that notifies the
S1状態605又はS5状態609を通知する制御フレームは、EdgeRelay128が現在TRANモード603で動作していることをブリッジ装置101に通知し、さらに、VEPAモード602で動作するために、RRモード702で動作するようブリッジ装置101に要求する役割がある。
The control frame notifying the
S3状態607を通知する制御フレームは、EdgeRelay128が現在VEPAモード602で動作していることをブリッジ装置101に通知する役割がある。
The control frame that notifies the
S2状態606又はS4状態608を通知する制御フレームは、EdgeRelay128が現在TRANモード603で動作していることをブリッジ装置101に通知し、さらに、VEBモード601で動作するために、SWモード701で動作するようブリッジ装置101に要求する役割がある。
The control frame notifying the
次に、図7における状態情報を含む制御フレームをブリッジ装置101からEdgeRelay128に送信する場合の各状態情報の位置づけを説明する。
Next, the positioning of each state information when transmitting a control frame including the state information in FIG. 7 from the
B0状態703を通知する制御フレームは、ブリッジ装置101が現在SWモード701で動作していることをEdgeRelay128に通知する役割がある。
The control frame that notifies the
B2状態705を通知する制御フレームは、ブリッジ装置101が現在SWモード701で動作していることを通知し、さらに、RRモード702で動作するために、VEPAモード602で動作するようEdgeRelay128に要求する役割がある。
The control frame notifying the
B3状態706を通知する制御フレームは、ブリッジ装置101が現在RRモード702で動作していることを通知する役割がある。
The control frame that notifies the
B1状態704を通知する制御フレームは、ブリッジ装置101が現在RRモード702で動作していることを通知し、さらに、SWモード701で動作するために、VEBモード601で動作するようEdgeRelay128に要求する役割がある。
The control frame notifying the
以上で説明したように、本発明において、図6及び図7に示した状態情報を含む制御フレームは、各装置の状態を通知し、さらに、接続された装置にモードの遷移を要求する役割がある。 As described above, in the present invention, the control frame including the state information shown in FIG. 6 and FIG. 7 has a role of notifying the state of each device and requesting the connected device for mode transition. is there.
EdgeRelay128及びブリッジ装置101は、モードの遷移指示に従って、前述した制御フレームを送信し、制御フレームの受信時に適切なモードとなるように動作する。
The
以下、EdgeRelay128及びブリッジ装置101の動作を以下について説明する。なお、以下の説明においては、変数名は変数に格納された値を表すものとする。
Hereinafter, operations of the
(EdgeRelayの動作)
図8A及び図8Bは、本発明の第1の実施形態におけるEdgeRelay128が実行する処理を説明するフローチャートである。
(Operation of Edge Relay)
8A and 8B are flowcharts for explaining processing executed by
EdgeRelay128は、起動すると、ハードウェア及び設定の確認等、プログラムの初期化を実行した後、開始状態となる(ステップS801)。
When the
状態管理部306は、変数「RRSTAT」及び変数「RRREQ」を管理しており、各変数の値の組み合わせに基づいて、S0状態604、S1状態605、S2状態606、S3状態607、S4状態608及びS5状態609のいずれの状態であるかを管理する。また、状態管理部306は、状態遷移が必要な場合に各状態を変更する。
The
また、状態管理部306は、変数「RRCAP」及び変数「RRCTR」を管理しており、各変数の値の組み合わせに基づいて、EdgeRelay128に接続されたブリッジ装置101のポートの状態がB0状態703、B1状態704、B2状態705及びB3状態706のいずれの状態であるかを管理する。なお、状態管理部306は、ポートの状態を把握できない場合には、ポートの状態が不明であることを認識できる。
The
また、状態管理部306は、変数「転送停止状態」を管理し、当該変数の値に基づいて、受信したフレームの転送を停止する転送停止の状態であるか否かを管理する。
Further, the
ここで、状態管理部306は、初期化においてS4状態608となるように設定する。また、状態管理部306は、初期化において、例えば、変数「RRCAP」の値を「2」に、変数「RRCTR」の値を「0」に設定して、EdgeRelay128に接続されたブリッジ装置101のポートの状態が「不明」とする。また、状態管理部306は、初期化において、転送停止の状態ではないとする。
Here, the
状態管理部306は、開始状態となると、まず、遷移指示を受け付けたか否かを判定する(ステップS802)。ここで、遷移指示は、VEBモード601への遷移指示又はVEPAモード602への遷移指示のいずれかであり、設定によって又は外部から与えられる。
When entering the start state, the
なお、ステップS802の判定では、遷移指示を受け付ける度に1度だけ、遷移指示を受け付けたと判定されるものとする。すなわち、1回の遷移指示に対して、1回だけ判定結果が「YES」となるものとする。このような判定は、例えば、毎回遷移指示の状態を変数等に保存し、前回と今回の遷移指示を比較し、変化があり、かつ今回遷移指示があった場合に限り「YES」とすれば実現できる。 In the determination in step S802, it is determined that the transition instruction is received only once every time the transition instruction is received. That is, the determination result is “YES” only once for one transition instruction. For example, the state of the transition instruction is saved in a variable or the like every time, the previous and current transition instructions are compared, and if there is a change and the current transition instruction is “YES”, for example, realizable.
遷移指示を受け付けたと判定された場合、状態管理部306は、遷移指示に関する情報を記録し、ステップS804に進む(ステップS803)。具体的には、遷移指示を受け付けたこと、及び、当該遷移指示がVEBモード601への遷移指示又はVEPAモード602への遷移指示のいずれであるかを示す変数「遷移指示状態」が記録される。
When it is determined that the transition instruction has been received, the
状態管理部306は、EdgeRelay128における状態遷移処理を実行し、ステップS805に進む(ステップS804)。なお、EdgeRelay128における状態遷移処理の詳細については後述する。
The
状態管理部306は、状態遷移処理が終了した後、変数「遷移指示状態」を参照して、遷移指示が記録されているか否かを判定する(ステップS805)。変数「遷移指示状態」にVEBモード601への遷移指示又はVEPAモード602への遷移指示を示す値が格納されている場合、遷移指示が記録されていると判定される。
After the state transition process ends, the
遷移指示が記録されていないと判定された場合、状態管理部306は、ステップS802に戻り、同様の処理を実行する。
When it is determined that the transition instruction is not recorded, the
遷移指示が記録されていると判定された場合、状態管理部306は、変数「遷移指示状態」、変数「RRSTAT」及び変数「RRREQ」を参照して、VEBモード601への遷移指示が記録され、かつ、S0状態604であるか否かを判定する(ステップS806)。
When it is determined that the transition instruction is recorded, the
ステップS806の判定条件を満たすと判定された場合、状態管理部306は、受け付けた遷移指示に対して成功した旨を応答し、ステップS808に進む(ステップS807)。応答の方法としては、例えば、入出力装置117を介して成功した旨を示す情報を出力し、ポートを介して成功した旨を示す情報を含むフレームを送信することによって応答する方法が考えられる。また、制御フレームによる状態の通知にあわせて当該情報を通知してもよい。なお、遷移指示の応答が必要ない場合には、当該処理は省略してもよい。
If it is determined that the determination condition in step S806 is satisfied, the
状態管理部306は、変数「遷移指示状態」を消去し、ステップS802に戻り同様の処理を実行する(ステップS808)。ここで、変数「遷移指示状態」の消去方法としては、例えば、遷移指示を示す値とは異なる値を代入する。なお、開始状態では変数「遷移指示状態」は消去されている状態とする。
The
ステップS806において、ステップS806の判定条件を満たさないと判定された場合、状態管理部306は、変数「遷移指示状態」、変数「RRSTAT」及び変数「RRREQ」を参照し、VEPAモード602への遷移指示が記録され、かつ、S3状態607であるか否かを判定する(ステップS809)。
If it is determined in step S806 that the determination condition in step S806 is not satisfied, the
ステップS809の判定条件を満たすと判定された場合、状態管理部306は、ステップS807に進む。
If it is determined that the determination condition in step S809 is satisfied, the
ステップS809の判定条件を満たさないと判定された場合、状態管理部306は、変数「遷移指示状態」、変数「RRSTAT」及び変数「RRREQ」を参照し、VEPAモード602への遷移指示が記録され、かつ、S2状態606であるか否かを判定する(ステップS810)。応答の方法は、ステップS808と同一の方法を用いる。なお、遷移指示の応答が必要ない場合には、当該処理は省略してもよい。
When it is determined that the determination condition in step S809 is not satisfied, the
ステップS810の判定条件を満たさないと判定された場合、状態管理部306は、ステップS802に戻り同様の処理を実行する。
When it is determined that the determination condition of step S810 is not satisfied, the
ステップS810の判定結果を満たすと判定された場合、状態管理部306は、遷移指示に対して失敗した旨を応答し、ステップS808に進む(ステップS811)。
When it is determined that the determination result in step S810 is satisfied, the
ステップS802において、遷移指示を受け付けていないと判定された場合、状態管理部306は、フレーム分類/情報抽出部311から伝達された情報に基づいて、ポートがフレームを受信したか否かを判定する(ステップS812)。
If it is determined in step S802 that a transition instruction has not been received, the
フレームを受信したと判定された場合、状態管理部306は、フレーム分類/情報抽出部311から伝達された情報に基づいて、当該フレームが制御フレームであるか否かを判定する(ステップS813)。
When it is determined that the frame has been received, the
制御フレームを受信したと判定された場合、状態管理部306は、ステップS804に進む。このとき、状態管理部306は、制御フレーム処理部307から受信した制御フレームの内容を取得し、取得された内容に基づいて変数「RRCAP」及び変数「RRCTR」に値を設定する。
If it is determined that the control frame has been received, the
制御フレームを受信していないと判定された場合、状態管理部306は、変数「転送停止状態」を参照し、転送停止の状態であるか否かを判定する(ステップS814)。
When it is determined that the control frame has not been received, the
転送停止の状態であると判定された場合、状態管理部306は、フレーム分類/情報抽出部311から伝達された情報に基づいて、ステップS812においてフレームを受信したポートが、ブリッジ装置101に接続されているポート、すなわち、UPLINKポートであるか否かを判定する(ステップS815)。
When it is determined that the transfer is stopped, the
フレームを受信したポートがUPLINKポートであると判定された場合、状態管理部306は、処理対象であるフレームに対して、EdgeRelay128におけるフレーム転送処理を実行し、ステップ817に進む(ステップS816)。なお、EdgeRelay128におけるフレーム転送処理の詳細については後述する。
When it is determined that the port that has received the frame is a UPLINK port, the
状態管理部306は、フレーム転送処理の実行後、配送ポート決定部309から各ポートに配送されたフレームがあるか否かを判定する(ステップS817)。
After executing the frame transfer process, the
ポートに配送されたフレームがないと判定された場合、状態管理部306は、ステップ802に戻り同様の処理を実行する。
If it is determined that there is no frame delivered to the port, the
ポートに配送されたフレームがあると判定された場合、状態管理部306は、送受信制御部313に配送されたフレームの送信を指示し、その後、ステップS802に戻り同様の処理を実行する(ステップS818)。
When it is determined that there is a frame delivered to the port, the
ステップS814において、転送停止の状態でないと判定された場合、状態管理部306は、フレーム分類/情報抽出部311からから伝達された情報に基づいて、フレーム蓄積部312に蓄積されたフレームがあるか否かを判定する(ステップS819)。
If it is determined in step S814 that the transfer is not stopped, the
蓄積されたフレームがないと判定された場合、状態管理部306は、ステップS816に進む。
If it is determined that there is no accumulated frame, the
蓄積されたフレームがあると判定された場合、状態管理部306は、蓄積されたフレーム、受信したフレームの順に転送処理の対象とし、ステップS816に進む(ステップS820)。
If it is determined that there is an accumulated frame, the
ステップS812において、フレームを受信していないと判定された場合、状態管理部306は、変数「転送停止状態」を参照し、転送停止の状態であるか否かを判定する(ステップS821)。
If it is determined in step S812 that no frame has been received, the
転送停止の状態であると判定された場合、状態管理部306は、ステップS802に戻り同様の処理を実行する。
When it is determined that the transfer is stopped, the
転送停止の状態でないと判定された場合、状態管理部306は、フレーム分類/情報抽出部311から伝達された情報に基づいて、フレーム蓄積部312に蓄積されたフレームがあるか否かを判定する(ステップS822)。
When it is determined that the transfer is not stopped, the
蓄積されたフレームがないと判定された場合、状態管理部306は、ステップS802に戻り同様の処理を実行する。
If it is determined that there is no accumulated frame, the
蓄積されたフレームがあると判定された場合、状態管理部306は、フレーム蓄積部312に蓄積されたフレームを処理対象とし、ステップS816に進む(ステップS823)。
When it is determined that there is an accumulated frame, the
ステップS815において、フレームを受信したポートがUPLINKポートでないと判定された場合、状態管理部306は、現在転送停止の状態であるため、フレーム受信部314に受信フレームをそのままフレーム蓄積部312に蓄積するように指示し、ステップ802に戻り同様の処理を実行する(ステップS824)。
If it is determined in step S815 that the port that received the frame is not a UPLINK port, the
以上で説明したEdgeRelay128が実行する処理の概略は以下のようになる。
The outline of the processing executed by
まず、EdgeRelay128は初期化処理を実行する。そして、遷移指示がある場合(ステップS802がYES)、EdgeRelay128は状態遷移処理を実行する(ステップS804)。EdgeRelay128は、処理の結果が出た場合(ステップS806、ステップS809、ステップS810)、応答を返し(ステップS807、ステップS811)、最初に戻る(ステップS802)。
First, the
遷移指示がなく、かつ、制御フレームを受信した場合(ステップS813がYES)、EdgeRelay128は、状態遷移処理を実行し(ステップS804)、その後、最初に戻る(ステップS802)。
If there is no transition instruction and a control frame is received (YES in step S813),
遷移指示がなく、制御フレーム以外のフレームを受信し、かつ、転送停止の状態である場合(ステップS814がYES)、EdgeRelay128は、UPLINKポート以外のポートについては、受信フレームを蓄積する(ステップS824)。一方、転送停止の状態であり、かつ、フレームを受信したポートがUPLINKポートである場合、又は、転送停止の状態でない場合、EdgeRelay128は、フレーム転送処理を実行し(ステップS816)、実行結果に基づいてフレームを送信する(ステップS818)。
When there is no transition instruction, a frame other than the control frame is received and the transfer is stopped (YES in step S814),
遷移指示がなく、フレームを受信しておらず、かつ、転送停止の状態において蓄積されたフレームがある場合(ステップS822がYES)、EdgeRelay128は、蓄積フレームを処理対象とし(ステップS821)、フレーム転送処理を実行し(ステップS816)、実行結果に基づいてフレームを送信する(ステップS818)。
If there is no transition instruction, no frame is received, and there is a frame accumulated in the transfer stop state (YES in step S822),
(フレーム転送処理)
次に、EdgeRelay128におけるフレーム転送処理について説明する。
(Frame transfer processing)
Next, the frame transfer process in
図9は、本発明の第1の実施形態のEdgeRelay128におけるフレーム転送処理を説明するフローチャートである。
FIG. 9 is a flowchart for describing frame transfer processing in
EdgeRelay128におけるフレーム転送処理の開始が指示されると、開始状態となり処理が開始される(ステップS901)。
When the start of the frame transfer process in
EdgeRelay128は、現在の状態がS0状態604、すなわち、VEBモード601であるか否かを判定する(ステップS902)。具体的には、状態管理部306が、変数「RRSTAT」及び変数「RRREQ」を参照して、現在の状態がVEBモード601であるか否かを判定する。
The
現在の状態がVEBモードであると判定された場合、EdgeRelay128は、ポート学習を実行し、ステップS904に進む(ステップS903)。具体的には、状態管理部306がポート学習部310にポート学習の実行を指示し、当該指示を受け付けたポート学習部310は、対象フレームの送信元MACアドレス及びVLAN IDを用いてポート学習を実行する。
If it is determined that the current state is the VEB mode,
次に、EdgeRelay128は、配送ポートを検索する(ステップS904)。具体的には、配送ポート決定部309が、対象フレームの宛先MACアドレス及びVLAN IDに対応するポート、すなわち、学習済みのポートの検索をポート学習部310に指示する。対応するポートが見つかった場合には、当該ポート(1つ以上)が配送ポートに決定され、また、対応するポートが見つからなかった場合には、全ポートを配送ポートに決定される。なお、ポート学習処理の省略時において、対応ポートが見つからないフレームを受信した場合やマルチキャストフレームを受信した場合等に、特定の宛先を持つフレームに対して配送ポートを0個とし、当該フレームを廃棄するようにして転送帯域等の資源を節約してもよい。
Next,
EdgeRelay128は、対象フレームを受信したポートを配送ポートから除外して、配送ポートを決定し、ステップS906に進む(ステップS905)。具体的には、配送ポート決定部309が、ステップS904において決定された配送ポートのうち、フレーム分類/情報抽出部311から伝達された対象フレームを受信したポートを除外し、残りのポートを新たな配送ポートとして決定する。
EdgeRelay128は、配送ポートからフレームを配送して、処理を終了する(ステップS906、ステップS907)。具体的には、配送ポート決定部309が、決定された配送ポートに対象フレームを配送する。
The
ステップS902において、現在の状態がVEBモードでないと判定された場合、EdgeRelay128は、現在の状態がS3状態607、すなわち、VEPAモードであるか否かを判定する(ステップS908)。具体的には、状態管理部306が、変数「RRSTAT」及び変数「RRREQ」を参照して、現在の状態がS3状態607であるか否かを判定する。
If it is determined in step S902 that the current state is not the VEB mode,
現在の状態がVEPAモードであると判定された場合、EdgeRelay128は、フレームを受信したポートがブリッジ装置101に接続されているポート、すなわち、UPLINKポートであるか否かを判定する(ステップS909)。具体的には、状態管理部306が、フレーム分類/情報抽出部311から伝達された情報に基づいて、対象フレームを受信したポートがUPLINKポートであるか否かを判定する。
If it is determined that the current state is the VEPA mode, the
対象フレームを受信したポートがUPLINKポートであると判定された場合、EdgeRelay128は、ステップS904に進む。
If it is determined that the port that received the target frame is a UPLINK port,
対象フレームを受信したポートがUPLINKポートでないと判定された場合、EdgeRelay128は、ポート学習を実行し、ステップS911に進む(ステップS910)。具体的には、状態管理部306が、ポート学習部310にポート学習の実行を指示し、当該指示を受け付けたポート学習部310が対象フレームの送信元MACアドレス及びVLAN IDを用いてポート学習を実行する。
If it is determined that the port that has received the target frame is not a UPLINK port,
EdgeRelay128は、ポート学習の実行後、配送ポートを決定してステップS906に進む(ステップS911)。具体的には、配送ポート決定部309が、UPLINKポートのみを配送ポートとして決定する。
The
ステップS908において、現在の状態がVEPAモードでない、すなわち、TRANモードであると判定された場合、EdgeRelay128は、対象フレームを受信したポートがブリッジ装置101に接続されているポート、すなわち、UPLINKポートであるか否かを判定する(ステップS912)。具体的には、配送ポート決定部309が、フレーム分類/情報抽出部311から伝達された情報に基づいて、対象フレームを受信したポートがUPLINKポートであるか否かを判定する。
If it is determined in step S908 that the current state is not the VEPA mode, that is, the TRAN mode,
対象フレームを受信したポートがUPLINKポートでないと判定された場合、EdgeRelay128は、ステップS903に進む。
If it is determined that the port that received the target frame is not a UPLINK port,
対象フレームを受信したポートがUPLINKポートであると判定された場合、EdgeRelay128は、送信元アドレスが登録済みであるか否かを判定する(ステップS913)。具体的には、配送ポート決定部309が、ポート学習部310に対象フレームの送信元アドレス及びVLAN IDに基づいて学習されているポートの検索を指示し、当該ポートが見つかったか否かを判定する。送信元アドレスが登録済みである場合、EdgeRelay128が接続する装置(仮想マシン130)から送信されたフレームであることを示す。
If it is determined that the port that has received the target frame is a UPLINK port,
送信元アドレスが登録済みでないと判定された場合、EdgeRelay128は、ステップS903に進む。
If it is determined that the transmission source address has not been registered,
送信元アドレスが登録済みであると判定された場合、EdgeRelay128は、フレームを廃棄して、処理を終了する(ステップS914)。具体的には、配送ポート決定部309が、送受信制御部313に対象フレームを廃棄するように指示する。
If it is determined that the transmission source address has been registered,
以上で説明したように、EdgeRelay128におけるフレーム転送処理は、モードによって異なる。処理の概要を示すと以下の通りである。
As described above, the frame transfer process in
まず、EdgeRelay128は、どのモードで動作しているかを判定する(ステップS902、ステップS908)。
First, the
VEBモード601で動作している場合、EdgeRelay128は、ポート学習を実行し(ステップS903)、配送ポートの検索結果から受信ポート以外のポートを配送ポートに決定し(ステップS904、ステップS905)、当該配送ポートにフレームを配送する(ステップS906)。
When operating in the
VEPAモード602で動作している場合、EdgeRelay128は、UPLINKポートからフレームを受信すると(ステップS909がYES)、ポート学習は実行せず、VEBモード601の場合と同様にフレームを配送する(ステップS904、ステップS905、ステップS906)。一方、VEPAモード602で動作している場合に、UPLINKポート以外のポートからフレームを受信すると、EdgeRelay128は、ポート学習を実行し(ステップS910)、UPLINKポートにフレームを配送する(ステップS911、ステップS906)。
When operating in the
TRANモード603で動作している場合、UPLINKポートからフレームを受信し、かつ、非UPLINKポートにおけるポート学習の結果から、送信元アドレスが非UPLINKポートに接続されていると判明している場合は、EdgeRelay128は、フレーム廃棄する(ステップS914)。一方、それ以外の場合には、EdgeRelay128は、VEBモード601と同様の処理を実行する。
When operating in the
(状態遷移処理)
次に、ステップS805において実行される、EdgeRelay128における状態遷移処理について説明する。
(State transition process)
Next, the state transition process in
図10Aから図10Fは、本発明の実施形態のEdgeRelay128における状態遷移処理を説明するフローチャートである。
10A to 10F are flowcharts illustrating the state transition process in
EdgeRelay128の状態の取得、及び、ブリッジ装置101のポートの状態情報を含む制御フレームの受信は、図8において説明したため以下では省略する。
The acquisition of the
なお、EdgeRelay128の状態の変更は、変数「RRSTAT」及び変数「RRREQ」の値を変更することによって実現される。したがって、EdgeRelay128の状態が変更された場合には、変数「RRSTAT」及び変数「RRREQ」の値が変更されたことを意味する。
Note that the state of the
また、状態管理部306は変数「遷移待機開始時刻」及び「転送停止開始時刻」を保持し、これらの変数は、状態遷移処理の終了後、再び、状態遷移処理が実行される場合に、同一の値を参照できるものとする。
In addition, the
さらに、状態管理部306は設定「遷移待機時間」及び設定「受信待機時間」を保持する。
Further, the
また、変数「転送停止状態」及び変数「遷移指示状態」は、図8において説明した変数と同一のものである。 Further, the variable “transfer stop state” and the variable “transition instruction state” are the same as the variables described in FIG.
なお、以下で説明する状態遷移処理は、遷移指示を受け付け又は制御フレームの受信を契機に実行される。以下の説明において、「状態情報を含む制御フレームを受信した」という表現は、状態遷移処理の契機となる制御フレームに状態情報(B0状態703、B1状態704、B2状態705又はB3状態706)が含まれていることを表すものとする。また、状態管理部306は、制御フレームの内容に従って変数「RRCAP」及び変数「RRCTR」を更新し、変数「RRCAP」及び変数「RRCTR」を参照してブリッジ装置101の状態情報を取得できる。
Note that the state transition process described below is executed when a transition instruction is received or a control frame is received. In the following description, the expression “received a control frame including state information” means that the state information (
EdgeRelay128における状態遷移処理が開始されると(ステップS1001)、状態管理部306は、変数「転送停止状態」を参照して、転送停止の状態であるか否かを判定する(ステップS1002)。
When the state transition process in
なお、図8で説明したように、遷移指示又は制御フレームの受信を契機に状態遷移処理が開始される。 As described with reference to FIG. 8, the state transition process is started when a transition instruction or a control frame is received.
状態管理部306は、制御フレームに含まれる情報に従って変数「RRCAP」及び変数「RRCTR」を更新し、また、変数「RRCAP」及び変数「RRCTR」を参照することによってブリッジ装置101におけるポートの状態情報を取得できる。
The
転送停止の状態であると判定された場合、状態管理部306は、ステップS1021に進む。
If it is determined that the transfer is stopped, the
転送停止の状態でないと判定された場合、状態管理部306は、B0状態703を含む制御フレームを受信したか否かを判定する(ステップS1003)。
When it is determined that the transfer is not stopped, the
B0状態703を含む制御フレームを受信していないと判定された場合、状態管理部306は、ステップS1031に進む。
If it is determined that a control frame including the
B0状態703を含む制御フレームを受信したと判定された場合、状態管理部306は、現在のEdgeRelay128の状態がS2状態606又はS4状態608のいずれかに該当するか否かを判定する(ステップS1004)。
If it is determined that a control frame including the
ステップS1004の判定条件を満たすと判定された場合、状態管理部306は、EdgeRelay128の状態をS0状態604に変更し、ステップS1006に進む(ステップS1005)。
When it is determined that the determination condition of step S1004 is satisfied, the
状態管理部306は、現在の状態を通知するための状態情報を含む制御フレームを送信し、処理を終了する(ステップS1006、ステップS1007)。具体的には、状態管理部306は、制御フレームの生成を制御フレーム生成部308に指示し、生成された制御フレームをブリッジ装置101に送信する。
The
ステップS1004において、ステップS1004の判定条件を満たさないと判定された場合、状態管理部306は、現在のEdgeRelay128の状態がS5状態609であるか否かを判定する(ステップS1008)。
If it is determined in step S1004 that the determination condition of step S1004 is not satisfied, the
ステップS1008の判定条件を満たすと判定された場合、状態管理部306は、EdgeRelay128の状態をS1状態605に変更し、ステップS1010に進む(ステップS1009)。
If it is determined that the determination condition of step S1008 is satisfied, the
状態管理部306は、現在の時刻を変数「遷移待機開始時刻」に保存し、ステップS1006に進む(ステップS1010)。
The
ステップS1008において、ステップS1008の判定条件を満たさないと判定された場合、状態管理部306は、現在のEdgeRelay128の状態がS3状態607であるか否かを判定する(ステップS1011)。
If it is determined in step S1008 that the determination condition in step S1008 is not satisfied, the
ステップS1011の判定条件を満たすと判定された場合、状態管理部306は、EdgeRelay128の状態をS2状態606に変更し、ステップ1010に進む(ステップS1012)。
When it is determined that the determination condition of step S1011 is satisfied, the
ステップS1011の判定条件を満たさないと判定された場合、状態管理部306は、現在のEdgeRelay128の状態がS1状態605であるか否かを判定する(ステップS1013)。
When it is determined that the determination condition of step S1011 is not satisfied, the
ステップS1013の判定条件を満たさないと判定された場合、すなわち、現在のEdgeRelay128の状態がS0状態604の場合、状態管理部306は、処理を終了する(ステップS1007)。
When it is determined that the determination condition of step S1013 is not satisfied, that is, when the
ステップS1013の判定条件を満たすと判定された場合、状態管理部306は、遷移待機時間に設定された時間を経過したか否かを判定する(ステップS1014)。
When it is determined that the determination condition of step S1013 is satisfied, the
具体的には、状態管理部306は、現在の時刻から変数「遷移待機開始時刻」の時刻を減算して時刻差を算出し、算出された時刻差が設定「遷移待機時間」の値より大きいか否かを判定する。算出された時刻差が設定「遷移待機時間」の値より大きい場合には、遷移待機時間を経過したと判定される。
Specifically, the
遷移待機時間に設定された時間を経過したと判定された場合、状態管理部306は、ステップS1012に進む。一方、遷移待機時間に設定された時間を経過したと判定された場合、状態管理部306は、処理を終了する(ステップS1007)。
If it is determined that the time set for the transition standby time has elapsed, the
ステップS1002において、転送停止の状態であると判定された場合、状態管理部306は、受信待機時間を経過したか否かを判定する(ステップS1021)。
If it is determined in step S1002 that the transfer is stopped, the
具体的には、状態管理部306は、現在の時刻から変数「転送停止開始時刻」の時刻を減算して時刻差を算出し、算出された時刻差が設定「受信待機時間」の値より大きいか否かを判定する。算出された時刻差が設定「受信待機時間」の値より大きい場合には、受信待機時間を経過したと判定される。
Specifically, the
受信待機時間を経過していないと判定された場合、状態管理部306は、処理を終了する(ステップS1007)。
When it is determined that the reception standby time has not elapsed, the
受信待機時間を経過したと判定された場合、状態管理部306は、現在のEdgeRelay128の状態がS3状態607であるか否かを判定する(ステップS1023)。
When it is determined that the reception standby time has elapsed, the
ステップS1023の判定条件を満たすと判定された場合、状態管理部306は、EdgeRelay128の状態をS2状態606に変更し、ステップS1022Aに進む(ステップS1024)。
When it is determined that the determination condition of step S1023 is satisfied, the
そして、状態管理部306は、転送停止の状態を解除し、ステップS1010に進む(ステップS1022A)。具体的には、変数「転送停止状態」に、転送停止の状態以外の状態を示す値が設定される。
Then, the
ステップS1023の判定条件を満たさないと判定された場合、状態管理部306は、EdgeRelay128の状態をS3状態607に変更し、ステップS1022Bに進む(ステップS1025)。
When it is determined that the determination condition of step S1023 is not satisfied, the
そして、状態管理部306は、転送停止の状態を解除し、ステップS1006に進む(ステップS1022B)。具体的には、変数「転送停止状態」に、転送停止の状態以外の状態を示す値が設定される。
Then, the
ステップS1003において、ステップS1003の判定条件を満たさないと判定された場合、状態管理部306は、B1状態704を含む制御フレームを受信し、又は、VEBモード601への遷移指示を受け付けたか否かを判定する(ステップS1031)。
In step S1003, when it is determined that the determination condition of step S1003 is not satisfied, the
なお、状態管理部306は、変数「遷移指示状態」を参照することによって、VEBモード601への遷移指示を受け付けたか否かを判定できる。また、少なくともいずれかの条件に該当する場合には、ステップS1031の判定条件を満たすと判定される。
The
ステップS1031の判定条件を満たさないと判定された場合、状態管理部306は、ステップS1041に進む。
When it is determined that the determination condition of step S1031 is not satisfied, the
ステップS1031の判定条件を満たすと判定された場合、状態管理部306は、現在のEdgeRelay128の状態がS3状態607であるか否かを判定する(ステップS1032)。
When it is determined that the determination condition of step S1031 is satisfied, the
ステップS1032の判定条件を満たすと判定された場合、状態管理部306は、ステップS1061に進む。
When it is determined that the determination condition of step S1032 is satisfied, the
ステップS1032の判定条件を満たさないと判定された場合、状態管理部306は、現在のEdgeRelay128の状態がS1状態605、S4状態608又はS5状態609のいずれかに該当するか否かを判定する(ステップS1033)。
When it is determined that the determination condition in step S1032 is not satisfied, the
現在のEdgeRelay128の状態が、S1状態605、S4状態608又はS5状態609のいずれかに該当する場合には、ステップS1033の判定条件を満たすと判定される。
When the current state of
ステップS1033の判定条件を満たさないと判定された場合、状態管理部306は、ステップS1006に進む。
If it is determined that the determination condition of step S1033 is not satisfied, the
ステップS1033の判定条件を満たすと判定された場合、状態管理部306は、B1状態704を含む制御フレームを受信し、又は、EdgeRelay128の状態がS1状態605であるか否かを判定する(ステップS1034)。少なくともいずれかの条件に該当する場合には、ステップS1034の判定条件を満たすと判定される。
When it is determined that the determination condition of step S1033 is satisfied, the
ステップS1034の判定条件を満たさないと判定された場合、状態管理部306は、ステップS1036に進む。
If it is determined that the determination condition of step S1034 is not satisfied, the
ステップ1034の判定条件を満たすと判定された場合、状態管理部306は、EdgeRelay128の状態をS2状態606に変更し、ステップS1010に進む(ステップS1035)。
When it is determined that the determination condition of step 1034 is satisfied, the
ステップS1034の判定条件を満たさないと判定された場合、状態管理部306は、現在のEdgeRelay128の状態がS5状態609であるか否かを判定する(ステップS1036)。
When it is determined that the determination condition of step S1034 is not satisfied, the
ステップS1036の判定条件を満たさないと判定された場合、状態管理部306は、ステップS1006に進む。
If it is determined that the determination condition in step S1036 is not satisfied, the
ステップS1036の判定条件を満たすと判定された場合、状態管理部306は、EdgeRelay128の状態をS4状態608に変更し、ステップS1010に進む(ステップS1037)。
When it is determined that the determination condition of step S1036 is satisfied, the
ステップS1031において、ステップS1031の判定条件を満たさないと判定された場合、状態管理部306は、B2状態705を含む制御フレームを受信し、又は、VEPAモード602への遷移指示を受け付けたか否かを判定する(ステップS1041)。なお、状態管理部306は、変数「遷移指示状態」を参照することによって、VEPAモード602への遷移指示を受け付けたか否かを判定できる。少なくともいずれかの条件に該当する場合には、ステップS1041の判定条件を満たすと判定される。
When it is determined in step S1031 that the determination condition of step S1031 is not satisfied, the
ステップS1041の判定条件を満たさないと判定された場合、状態管理部306は、ステップ1051に進む。
If it is determined that the determination condition of step S1041 is not satisfied, the
ステップS1041の判定条件を満たすと判定された場合、状態管理部306は、現在のEdgeRelay128の状態がS0状態604、S2状態606、S4状態608又はS5状態609のいずれかに該当するか否かを判定する(ステップS1042)。
When it is determined that the determination condition of step S1041 is satisfied, the
現在のEdgeRelay128の状態が、S0状態604、S2状態606、S4状態608又はS5状態609のいずれかに該当する場合には、ステップS1042の判定条件を満たすと判定される。
When the
ステップS1042の判定条件を満たさないと判定された場合、状態管理部306は、ステップS1006に進む。
If it is determined that the determination condition of step S1042 is not satisfied, the
ステップS1042の判定条件を満たすと判定された場合、状態管理部306は、B2状態705を含む制御フレームを受信し、又は、EdgeRelay128の状態がS0状態604若しくはS2状態606のいずれかに該当するか否かを判定する(ステップS1043)。少なくともいずれかの条件に該当する場合には、ステップS1043の判定条件を満たすと判定される。
When it is determined that the determination condition of step S1042 is satisfied, the
ステップS1043の判定条件を満たすと判定された場合、状態管理部306は、EdgeRelay128の状態をS1状態605に変更し、ステップS1010に進む(ステップS1044)。
When it is determined that the determination condition of step S1043 is satisfied, the
ステップS1043の判定条件を満たさないと判定された場合、状態管理部306は、現在のEdgeRelay128の状態がS4状態608であるか否かを判定する(ステップS1045)。ステップS1045の判定条件を満たさないと判定された場合、状態管理部306は、ステップS1006に進む。
When it is determined that the determination condition in step S1043 is not satisfied, the
ステップS1045の判定条件を満たすと判定された場合、状態管理部306は、EdgeRelay128の状態をS5状態609に変更し、ステップS1010に進む(ステップS1046)。
When it is determined that the determination condition of step S1045 is satisfied, the
ステップS1041において、ステップS1041の判定条件を満たさないと判定された場合、すなわち、B3状態706を含む制御フレームを受信したと判定された場合、状態管理部306は、現在のEdgeRelay128の状態がS1状態605又はS5状態609のいずれかに該当するか否かを判定する(ステップS1051)。
If it is determined in step S1041 that the determination condition of step S1041 is not satisfied, that is, if it is determined that a control frame including the
ステップS1051の判定条件を満たさないと判定された場合、状態管理部306は、ステップS1061に進む。
If it is determined that the determination condition of step S1051 is not satisfied, the
ステップS1051の判定条件を満たすと判定された場合、状態管理部306は、現在のEdgeRelay128の状態がS4状態608であるか否かを判定する(ステップS1052)。
When it is determined that the determination condition of step S1051 is satisfied, the
ステップS1052の判定条件を満たすと判定された場合、状態管理部306は、EdgeRelay128の状態をS2状態606に変更し、ステップS1010に進む(ステップS1053)。
When it is determined that the determination condition of step S1052 is satisfied, the
ステップS1052の判定条件を満たさないと判定された場合、状態管理部306は、EdgeRelay128の状態がS0状態604であるか否かを判定する(ステップS1054)。
When it is determined that the determination condition of step S1052 is not satisfied, the
ステップS1054の判定条件を満たすと判定された場合、状態管理部306は、EdgeRelay128の状態をS1状態605に変更し、ステップS1010に進む(ステップS1055)。
When it is determined that the determination condition of step S1054 is satisfied, the
ステップS1055の判定条件を満たさないと判定された場合、状態管理部306は、現在のEdgeRelay128の状態がS2状態606であるか否かを判定する(ステップS1056)。
When it is determined that the determination condition in step S1055 is not satisfied, the
ステップ1056の判定条件を満たさないと判定された場合、すなわち、現在のEdgeRelay128の状態がS3状態607であると判定された場合、状態管理部306は、処理を終了する(ステップS1007)。
When it is determined that the determination condition of
ステップS1056の判定条件を満たすと判定された場合、状態管理部306は、遷移待機時間を経過したか否かを判定する(ステップS1057)。なおステップS1057の処理は、ステップ1014と同一である。すなわち、現在の時刻と変数「遷移待機開始時刻」の時刻との差が設定「遷移待機時間」より大きい場合に、遷移待機時間を経過したと判定される。
When it is determined that the determination condition of step S1056 is satisfied, the
遷移待機時間を経過していないと判定された場合、状態管理部306は、処理を終了する(ステップS1007)。
When it is determined that the transition waiting time has not elapsed, the
遷移待機時間を経過していると判定された場合、状態管理部306は、ステップS1010に進む。
If it is determined that the transition waiting time has elapsed, the
ステップS1032において判定条件を満たすと判定された場合、又は、ステップS1051において判定条件を満たすと判定された場合、状態管理部306は、転送停止開始時刻を記録して、ステップS1062に進む(ステップS1061)。具体的には、状態管理部306は、変数「遷移待機開始時刻」に現在の時刻を格納する。
If it is determined in step S1032 that the determination condition is satisfied, or if it is determined in step S1051 that the determination condition is satisfied, the
状態管理部306は、転送停止の状態に設定し、処理を終了する(ステップS1062、ステップS1007)。具体的には、状態管理部306は、変数「転送停止状態」に転送停止の状態であることを示す値を設定する。
The
以上で説明したEdgeRelay128における状態遷移処理の概略は以下のようになる。
The outline of the state transition process in
EdgeRelay128における状態遷移処理は、遷移指示を受け付け、又は、制御フレームを受信すると開始される。
The state transition process in
状態管理部306は、まず、現在のEdgeRelay128の状態と、遷移指示の内容と、受信した制御フレームに含まれる状態情報と、経過時間とに基づいて、EdgeRelay128の状態を決定し、決定された状態に変更する。
The
また、状態管理部306は、変更した状態を通知するための制御フレームをブリッジ装置101に転送する。さらに、状態管理部306は、転送停止の状態に設定することによってフレームの転送を停止し、又は、転送停止の状態を解除することによってフレームの転送を再開する。
Further, the
転送停止の状態に設定されている場合、状態管理部306は、一定時間経過後(ステップS1021がYES)、現在のEdgeRelay128の状態がS3状態607の場合にはS2状態606に変更し(ステップS1024)、S3状態607以外の状態(S1状態605又はS5状態609)の場合にはS3状態607に変更する(ステップS1025)。その後、状態管理部306は、転送停止の状態を解除する(ステップS1022A及びステップ1022B)。
When the transfer stop state is set, the
B0状態703を含む制御フレームを受信し(ステップS1003がYES)、かつ、EdgeRelay128の状態がS0状態604の場合(ステップS1013がNO)の場合、状態管理部306は、処理を終了する。
When the control frame including the
B0状態703を含む制御フレームを受信し(ステップS1003がYES)、かつ、EdgeRelay128の状態がS1状態605の場合(ステップS1013がYES)の場合、一定時間経過した後(ステップS1014がYES)、S2状態606に変更し(ステップS1012)、遷移待機時刻の計測をリセットする(ステップS1010)。その後、状態管理部306は、変更後の状態に基づいて制御フレームを送信し、処理を終了する(ステップS1006、ステップS1007)。
When a control frame including the
また、B0状態703を含む制御フレームを受信し(ステップS1003がYES)、かつ、EdgeRelay128の状態がS3状態607又はS5状態609の場合、状態管理部306は、状態を変更し(ステップS1009又はステップS1012)、遷移待機時刻の計測をリセットする(ステップS1010)。その後、状態管理部306は、変更後の状態に基づいて制御フレームを送信し、処理を終了する(ステップS1006、ステップS1007)。
When the control frame including the
また、B0状態703を含む制御フレームが受信し(ステップS1003がYES)、かつ、EdgeRelay128の状態がS2状態606又はS4状態608のいずれかに該当する場合、状態管理部306は、S0状態604に変更し(ステップS1005)、変更後の状態に基づいて制御フレームを送信し、処理を終了する(ステップS1006、ステップS1007)。
If the control frame including the
B3状態706を含む制御フレームを受信した場合も(ステップS1041がNO)、B0状態703の制御フレームを受信した場合と同様の処理が実行されるが、以下で説明する分岐A及び分岐Bが異なる。
Even when a control frame including the
分岐Aでは、EdgeRelay128の状態がS1状態605又はS5状態609の場合(ステップS1051がYES)、フレームの転送が停止される(ステップS1062)。
In branch A, when the state of
一方、分岐Bでは、EdgeRelay128の状態がS2状態606、かつ、一定時間経過した場合(ステップS1057がYES)、状態は変更されずS2状態606のままである。分岐Aについては、ステップS1032がNOである場合と合わせて後述する。
On the other hand, in the branch B, when the state of
分岐Bについては、状態管理部306は、EdgeRelay128の状態がS1状態605であり、かつ、一定時間経過後に(ステップS1014がYES)、VEPAモード602への遷移をあきらめてフェイルセーフとしてVEBモード601への遷移するために、S2状態606に状態を変更し、VEBモード601への遷移を試みる。
Regarding the branch B, the
これは、EdgeRelay128がVEPAモード602への遷移をブリッジ装置101に要求したがモードの遷移が成功せずVEBモード601で動作を継続しているときに、制御フレームがバッファされた等、何らかの理由で遅れてモードの遷移が成功することによって、EdgeRelay128がVEBモード601で動作して、一方でブリッジ装置101がRRモード702で動作する事態が起こる可能性を減らすためである。
This is because
前述した各装置のモードの組み合わせでは、EdgeRelay128から送信されたフレームがEdgeRelay128に戻ってくる可能性があるため、フレームが重複し、ポート学習に不具合が起き、また、フレームの複製が際限なく実行されことによってフレームが増加して制御不能となる恐れがある。一方、EdgeRelay128がVEPAモード602で動作し、ブリッジ装置101がSWモード701で動作する場合では、EdgeRelay128が送信したフレームが失われる可能性あるが、前述したモードの組み合わせと比較して、危険な状態にはならない。
In the combination of modes of each device described above, there is a possibility that the frame transmitted from
なお、本実施形態では、遷移待機時間が経過した後にEdgeRelay128の状態を遷移させているのは、EdgeRelay128への遷移指示よりも、後述するブリッジ装置101への遷移指示を優先して実行するためであるが、本発明はこの実行順に限らない。
In the present embodiment, the state of the
例えば、ブリッジ装置101が遷移待機時間の経過後に状態を遷移するように構成を変更し、EdgeRelay128から前述した状態遷移の構成を省略することによって状態遷移の実行順序を逆にしてもよい。当該構成によって、EdgeRelay128の構成を簡素化できる。また、EdgeRelay128及びブリッジ装置101の両方で遷移待機時間の経過後に状態遷移の処理を実行させるように構成してもよい。これによって、状態遷移の失敗を低減することができる。
For example, the configuration may be changed so that the
なお、これら遷移待機時間中に状態遷移が生じる原因としては、制御フレームの宇宙線等を原因とするエラーによる喪失、EdgeRelay128又はブリッジ装置101による制御フレームの受信失敗若しくは処理失敗、又は処理に想定外に時間がかかっていることなどが考えられる。
The cause of the state transition during the transition waiting time may be a loss due to an error caused by a cosmic ray of the control frame, a failure of receiving or processing failure of the control frame by the
一方、B2状態705を含む制御フレームを受信し、又はVEPAモード602への遷移指示を受け付け(ステップS1041がYES)、かつ、EdgeRelay128の状態がS1状態605又はS3状態607である場合(ステップS1042がNO)、EdgeRelay128の状態そのままである。また、VEPAモード602への遷移指示を受信し(ステップS1041がYES)、かつ、EdgeRelay128の状態がS5状態609の場合も(ステップS1045がNO)、EdgeRelay128の状態そのままである。
On the other hand, when a control frame including the
VEPAモード602への遷移指示を受信し、かつ、EdgeRelay128の状態がS4状態608の場合(ステップS1045がYES)、状態管理部306は、S5状態609に変更し(ステップS1046)、時間計測をリセット(ステップS1010)し、変更後の状態に基づいて制御フレームを送信する(ステップS1006)。
When the instruction to transition to the
また、それ以外の場合(ステップS1043がYES)、状態管理部306は、S1状態605に変更し(ステップS1044)、時間計測をリセットして(ステップS1010)、変更後の状態に基づいて制御フレームを送信する(ステップS1006)。
In other cases (YES in step S1043), the
B1状態704を含む制御フレームを受信し、又は、VEBモード601への遷移指示を受け付けた場合(ステップS1031がYES)も、ステップS1041がYESである場合と同様の動作となるが、S3状態607の場合(ステップS1032がYES)、状態管理部306は、転送停止の状態に設定する点が異なる(ステップS1062)。
When a control frame including the
VEPAモード602への遷移が完了する場合(ステップS1051がYES)、又は、VEPAモード602からVEBモード601への遷移を開始する場合(ステップS1032がYES)の場合、状態管理部306は、受信待機時間が経過するまでの間は、フレームの転送を停止する。
When the transition to the
フレームの転送停止中にフレームを受信した場合、状態管理部306は、ブリッジ装置101に接続されたUPLINKポートから受信したフレームを先に処理し、UPLINK以外のポートから受信したフレームを蓄積して後で処理する。この動作によって、スイッチング処理の実行する装置(位置)がブリッジ装置101とEdgeRelay128とで切り替わる瞬間、すなわち、VEPAモード602とTRANモード603との間で状態が遷移する時のフレームの順序が維持できる。
When a frame is received while frame transfer is stopped, the
なお、受信待機時間は、EdgeRelay128とブリッジ装置101との往復とEdgeRelay128及びブリッジ装置101の処理時間をカバーする時間であるものとするが、一般的に数マイクロ秒〜数ミリ秒以下であり、転送停止を原因とする通信中断による通信の利用者に対する実質的な影響はない。
Note that the reception standby time is a time that covers the round trip between the
また、転送停止中にブリッジ装置101から折り返され、UPLINKポートで受信されたフレームは、VEPAモード602からTRANモード603への遷移時はVEPAモード602の動作に基づいて転送されるためフレーム廃棄を抑止でき、TRANモード603からVEPAモード602への遷移時はTRANモード603の動作に基づいて廃棄されるためフレームの重複を防止でき、それぞれ正しく処理されることとなる。
In addition, frames that are looped back from the
(ブリッジ装置101における動作)
次に、ブリッジ装置101が実行する処理について説明する。以下の説明において、変数名は変数に格納された値を表すものとする。
(Operation in Bridge Device 101)
Next, processing executed by the
図11A及び図11Bは、本発明の第1の実施形態におけるブリッジ装置101が実行する処理を説明するフローチャートである。
FIG. 11A and FIG. 11B are flowcharts illustrating processing executed by the
ブリッジ装置101が起動すると、ハードウェア及び設定の確認等、プログラムの初期化が実行された後、開始状態となる(ステップS1101)。
When the
なお、図11A及び図11Bに示す処理はポート毎に実行される。本実施形態では、状態管理部306が各ポートの状態を管理し、ポート毎に以下で説明する処理を実行するものとするが、本発明はこれに限らない。例えば、ポート毎又は複数のポートをまとめたグループ毎に状態管理部306又は全体制御部120を用意して並列に処理を実行させることによって処理を高速化してもよいし、一部の処理だけポート毎又はグループ毎に並列に処理を実行させてもよい。
Note that the processing shown in FIGS. 11A and 11B is executed for each port. In the present embodiment, the
状態管理部306は、ポート毎に変数「RRCAP」及び変数「RRCTR」を管理しており、変数の値の組み合わせに基づいて、各ポートがB0状態703、B1状態704、B2状態705及びB3状態706のいずれの状態であるかを管理する。また、状態管理部306は、状態遷移が必要な場合に各状態を変更する。
The
また、状態管理部306は、ポート毎に変数「RRSTAT」及び変数「RRREQ」を管理しており、変数の組み合わせに基づいて、ポートに接続されたEdgeRelay128の状態がS0状態604、S1状態605、S2状態606、S3状態607、S4状態608及びS5状態609のいずれの状態であるかを管理する。
Further, the
ここで、状態管理部306は、初期化においてB0状態703となるように設定する。また、状態管理部306は、初期化において、ブリッジ装置101のポートに接続されたEdgeRelay128の状態をS0状態604とする。
Here, the
ブリッジ装置101の状態管理部306は、開始状態になると、まず、遷移指示を受け付けたか否かを判定する(ステップS1102)。ここで、遷移指示は、SWモード701への遷移指示と又はRRモード702への遷移指示のいずれかであり、設定によって又は外部から与えられる。
When entering the start state, the
なお、ステップ1102の判定では、遷移指示を受け付ける度に1度だけ、遷移指示を受け付けたと判定されるものとする。すなわち、1回の遷移指示に対して、1回だけ判定結果が「YES」となるものとする。 In step 1102, it is assumed that it is determined that the transition instruction is received only once every time the transition instruction is received. That is, the determination result is “YES” only once for one transition instruction.
遷移指示を受け付けたと判定された場合、状態管理部306は、遷移指示に関する情報を記録し、ステップS1104に進む(ステップS1103)。具体的には、遷移指示を受け付けたこと、及び、当該遷移指示がSWモード701への遷移指示又はRRモード702への遷移指示のいずれであるかを示す変数「遷移指示状態」が記録される。
When it is determined that the transition instruction has been received, the
状態管理部306は、ブリッジ装置101におけるポート状態遷移処理を実行し、ステップ1105に進む(ステップS1104)。なお、ブリッジ装置101におけるポート状態遷移処理の詳細については後述する。
The
状態管理部306は、状態遷移処理が終了した後、変数「遷移指示状態」を参照して、遷移指示が記録されているか否かを判定する(ステップS1105)。変数「遷移指示状態」にSWモード701への遷移指示又はRRモード702への遷移指示を示す値が格納されている場合、遷移指示が記録されていると判定される。
After the state transition process ends, the
遷移指示が記録されていないと判定された場合、状態管理部306は、ステップS1102に戻り、同様の処理を実行する。
If it is determined that no transition instruction is recorded, the
ステップS1102において遷移指示を受け付けていないと判定された場合、状態管理部306は、フレーム分類/情報抽出部311から伝達された情報に基づいて、ポートがフレームを受信したか否かを判定する(ステップS1106)。
If it is determined in step S1102 that a transition instruction has not been received, the
ポートがフレームを受信していないと判定された場合、状態管理部306は、ステップS1102に戻り同様の処理を実行する。
If it is determined that the port has not received a frame, the
ポートがフレームを受信していると判定された場合、状態管理部306は、フレーム分類/情報抽出部311から伝達された情報に基づいて、ポートが制御フレームを受信したか否かを判定する(ステップS1107)。
When it is determined that the port is receiving a frame, the
ポートが制御フレームを受信していないと判定された場合、状態管理部306は、ステップS1121に進む。
When it is determined that the port has not received the control frame, the
ポートが制御フレームを受信したと判定された場合、状態管理部306は、制御フレーム処理部307から制御フレームの内容を取得し、変数「RRSTAT」及び変数「RRREQ」に値を設定して、ステップS1104に進む。
When it is determined that the port has received the control frame, the
ステップS1105において遷移指示が記録されていると判定された場合、状態管理部306は、変数「遷移指示状態」、変数「RRCAP」及び変数「RRCTR」を参照し、SWモード701への遷移指示が記録され、かつ、現在のブリッジ装置101のポートの状態がB0状態703であるか否かを判定する(ステップS1108)。
When it is determined in step S1105 that the transition instruction is recorded, the
ステップS1108の判定条件を満たすと判定された場合、状態管理部306は、受け付けた遷移指示に対して成功した旨を応答し、ステップS1110に進む(ステップS1109)。応答の方法としては、例えば、入出力装置を介して成功した旨を示す情報を出力し、ポートを介して成功した旨を示す情報を含むフレームを送信することによって応答する方法が考えられる。また、制御フレームによる状態の通知にあわせて当該情報を通知してもよい。なお、遷移指示の応答が必要ない場合には、当該処理は省略してもよい。
If it is determined that the determination condition of step S1108 is satisfied, the
状態管理部306は、変数「遷移指示状態」を消去し、ステップS1102に戻り同様の処理を実行する(ステップS1110)。ここで、変数「遷移指示状態」の消去方法としては、例えば、遷移指示を示す値とは異なる値を変数に代入する。なお、開始状態では変数「遷移指示状態」は消去されている状態とする。
The
ステップS1108において、ステップS1108の判定条件を満たさないと判定された場合、状態管理部306は、変数「遷移指示状態」、変数「RRCAP」及び変数「RRCTR」を参照し、RRモード702への遷移指示が記録され、かつ、現在のブリッジ装置101のポートの状態がB3状態706であるか否かを判定する(ステップS1111)。
When it is determined in step S1108 that the determination condition in step S1108 is not satisfied, the
ステップS1111の判定条件を満たさないと判定された場合、状態管理部306は、ステップS1102に戻り同様の処理を実行する。ステップS1111の判定条件を満たすと判定された場合、状態管理部306は、ステップS1109に進む。
If it is determined that the determination condition of step S1111 is not satisfied, the
ステップS1107において、ポートが制御フレームを受信していないと判定された場合、状態管理部306は、ポート学習部310にポート学習の実行を指示する(ステップS1121)。当該指示を受け付けたポート学習部310は、対象フレームの送信元MACアドレス及びVLAN IDを用いてポート学習を実行する。
When it is determined in step S1107 that the port has not received the control frame, the
次に、状態管理部306は、配送ポート決定部309に対して、配送ポートの検索を指示し、ステップS1123に進む(ステップS1122)。当該指示を受け付けた配送ポート決定部309は、以下のような処理を実行する。
Next, the
まず、配送ポート決定部309は、対象フレームの宛先MACアドレス及びVLAN IDに基づいてポート学習部310に問い合わせをすることによって、学習済みのポートを検索する。
First, the delivery
学習済みのポートが見つかった場合、配送ポート決定部309は、当該ポート(1個以上)を配送ポートに決定し、学習済みのポートが見つからなかった場合、全ポートを配送ポートに決定する。
When learned ports are found, the delivery
次に、状態管理部306は、変数「RRCAP」及び変数「RRCTR」を参照し、現在のブリッジ装置101のポートのモードがRRモード702(B1状態704又はB3状態706)であるか否かを判定する(ステップS1123)。
Next, the
現在のブリッジ装置101のポートのモードがRRモード702であると判定された場合、状態管理部306は、配送ポート決定部309に配送ポートへのフレームの配送を指示する(ステップS1124)。
When it is determined that the current port mode of the
状態管理部306は、配送ポート決定部309に問い合わせて、各ポートに配送されたフレームがあるか否かを判定する(ステップS1125)。各ポートに配送されたフレームがないと判定された場合、状態管理部306は、ステップS1102に戻り同様の処理を実行する。
The
各ポートに配送されたフレームがあると判定された場合、状態管理部306は、送受信制御部313に配送されたフレームの送信を指示し、その後、ステップS1102に戻り同様の処理を実行する(ステップS1126)。
When it is determined that there is a frame delivered to each port, the
ステップS1123において現在のブリッジ装置101のモードがRRモード702でないと判定された場合、状態管理部306は、配送ポートの除外を指示し、ステップS1124に進む(ステップS1127)。当該指示を受け付けた配送ポート決定部309は、ステップS1122において決定された配送ポートのうち、フレーム分類/情報抽出部311から伝達された対象フレームの受信ポートを除外し、残りのポートを新たな配送ポートとして決定する。
When it is determined in step S1123 that the current mode of the
以上で説明したブリッジ装置101が実行する処理の概略は以下のようになる。
The outline of the processing executed by the
まず、ブリッジ装置101は、初期化を実行する。そして、遷移指示を受け付けた場合(ステップS1102がYES)、ブリッジ装置101はポート状態遷移処理を実行する(ステップS1104)。ブリッジ装置101は、処理の結果が出た場合(ステップS1108、ステップS1111)は応答を返し(ステップS1109)、最初に戻る(ステップS1102)。
First, the
遷移指示を受け付けてなく、かつ、制御フレームを受信した場合(ステップS1107がYES)、ブリッジ装置101は、ポート状態遷移処理を実行し(ステップS1104)、その後、最初に戻る(ステップS1102)。
If a transition instruction has not been received and a control frame has been received (YES in step S1107), the
遷移指示を受け付けてなく、かつ、制御フレーム以外のフレームを受信した場合(ステップS1007がNO)、ブリッジ装置101は、フレーム配送処理(ステップS1121〜1124、ステップS1127)を実行した後、フレームを送信する(ステップS1126)。
If a transition instruction has not been received and a frame other than the control frame has been received (NO in step S1007), the
なお、フレーム配送処理において、ブリッジ装置101のモードがRRモード702の場合、ブリッジ装置101は、配送ポートから受信ポートを除外しない。以上で説明した処理はポート毎に実行される。
In the frame delivery process, when the mode of the
(ポート状態遷移処理)
次に、ブリッジ装置101におけるポート状態遷移処理について説明する。
(Port state transition processing)
Next, port state transition processing in the
図12A、図12B、図12C及び図12Dは、本発明の第1の実施形態のブリッジ装置101におけるポート状態遷移処理を表すフローチャートである。
12A, 12B, 12C, and 12D are flowcharts illustrating the port state transition process in the
また、ブリッジ装置101の状態の取得、及び、EdgeRelay128の状態情報を含む制御フレームの受信は、図11において説明したため以下では省略する。
The acquisition of the state of the
ブリッジ装置101の状態の変更は、変数「RRCAP」及び変数「RRCTR」の値を変更することによって実現される。したがって、ブリッジ装置101の状態が変更された場合には、変数「RRCAP」及び変数「RRCTR」の値が変更されたことを意味する。
The change of the state of the
なお、ポート状態遷移処理は、遷移指示を受け付け、又は、制御フレームの受信を契機に実行され、以下の説明において「状態情報を含む制御フレームを受信した」という表現はポート状態遷移処理の契機となる制御フレームに状態情報(S0状態604、S1状態605、S2状態606、S3状態607、S4状態608又はS5状態609)が含まれていることを表すものとする。また、状態管理部306は、制御フレームに従って変数「RRSTAT」及び変数「RRREQ」を更新し、変数「RRSTAT」及び変数「RRREQ」を参照してEdgeRelay128の状態情報を取得できる。
The port state transition process is executed when a transition instruction is accepted or when a control frame is received. In the following description, the expression “a control frame including state information has been received” is an opportunity for the port state transition process. It is assumed that state information (
ブリッジ装置101におけるポート状態遷移処理が開始されると(ステップS1201)、状態管理部306は、ブリッジ装置101の状態がB0状態703であるか否かを判定する(ステップS1202)。
When the port state transition process in the
ステップS1202の判定条件を満たさないと判定された場合、状態管理部306は、ステップS1211に進む。
If it is determined that the determination condition of step S1202 is not satisfied, the
ステップS1202の判定条件を満たすと判定された場合、状態管理部306は、変数「遷移指示状態」を参照して、RRモード702への遷移指示を受け付けたか否かを判定する(ステップS1203)。
When it is determined that the determination condition of step S1202 is satisfied, the
RRモード702への遷移指示を受け付けたと判定された場合、状態管理部306は、ブリッジ装置101の状態をB2状態705に変更し、ステップ1205に進む(ステップS1204)。
If it is determined that an instruction to transition to the
状態管理部306は、現在のブリッジ装置101の状態情報を含む制御フレームの生成を制御フレーム生成部308に指示し、処理を終了する(ステップS1205、ステップS1206)。当該指示を受け付けた制御フレーム生成部308は、制御フレームを生成し、処理対象のポートに接続されたEdgeRelay128に制御フレームを送信する。
The
ステップS1203においてRRモード702への遷移指示を受け付けていないと判定された場合、状態管理部306は、変数「遷移指示状態」を参照してSWモード701への遷移指示を受け付けたか否かを判定する(ステップS1207)。
If it is determined in step S1203 that a transition instruction to the
SWモード701への遷移指示を受け付けたと判定された場合、状態管理部306は、処理を終了する(ステップS1206)。
If it is determined that an instruction to transition to the
SWモード701への遷移指示を受け付けていないと判定された場合、状態管理部306は、S1状態605又はS5状態609を含む制御フレームを受信したか否かを判定する(ステップS1208)。
When it is determined that the instruction to transition to the
ステップS1208の判定条件を満たさないと判定された場合、状態管理部306は、ブリッジ装置101の状態を変更することなくステップS1210に進む。
If it is determined that the determination condition of step S1208 is not satisfied, the
ステップS1208の判定条件を満たすと判定された場合、状態管理部306は、ブリッジ装置101の状態をB3状態706に変更し、ステップS1210に進む(ステップS1209)。
When it is determined that the determination condition of step S1208 is satisfied, the
状態管理部306は、S1状態605、S2状態606、S4状態608又はS5状態609のいずれかを含む制御フレームを受信したか否かを判定する(ステップS1210)。
The
ステップS1210の判定条件を満たさないと判定された場合、状態管理部306は、処理を終了する(ステップS1206)。ステップS1210の判定条件を満たすと判定された場合、状態管理部306、ステップS1205に進む。
When it is determined that the determination condition of step S1210 is not satisfied, the
ステップS1202において、ステップS1202の判定条件を満たさないと判定された場合、状態管理部306は、ブリッジ装置101の状態がB1状態704であるか否かを判定する(ステップS1211)。
If it is determined in step S1202 that the determination condition in step S1202 is not satisfied, the
ステップS1211の判定条件を満たすと判定された場合、状態管理部306は、変数「遷移指示状態」を参照してRRモード702への遷移指示を受け付けたか否かを判定する(ステップS1212)。
When it is determined that the determination condition of step S1211 is satisfied, the
ステップS1212の判定条件を満たすと判定された場合、状態管理部306は、ブリッジ装置101の状態をB3状態706に変更し、ステップ1205に進む(ステップS1213)。
When it is determined that the determination condition of step S1212 is satisfied, the
ステップS1212の判定条件を満たさないと判定された場合、状態管理部306は、変数「遷移指示状態」を参照してSWモード701への遷移指示を受け付けたか否かを判定する(ステップS1214)。
When it is determined that the determination condition of step S1212 is not satisfied, the
ステップS1214の判定条件を満たすと判定された場合、状態管理部306は、処理を終了する(ステップS1206)。
When it is determined that the determination condition of step S1214 is satisfied, the
ステップS1214の判定条件を満たさないと判定された場合、状態管理部306は、S0状態604、S2状態606又はS4状態608のいずれかを含む制御フレームを受信したか否かを判定する(ステップS1215)。
When it is determined that the determination condition in step S1214 is not satisfied, the
ステップS1215の判定条件を満たさないと判定された場合、状態管理部306は、ステップS1210に進む。
If it is determined that the determination condition in step S1215 is not satisfied, the
ステップS1215の判定条件を満たすと判定された場合、状態管理部306は、ブリッジ装置101の状態をB0状態703に変更し、ステップS1210に進む(ステップS1216)。
When it is determined that the determination condition of step S1215 is satisfied, the
ステップS1211において、ステップS1211の判定条件を満たさないと判定された場合、状態管理部306は、ブリッジ装置101の状態がB2状態705であるか否かを判定する(ステップS1221)。
In step S1211, when it is determined that the determination condition of step S1211 is not satisfied, the
ステップS1221の判定条件を満たすと判定された場合、状態管理部306は、変数「遷移指示状態」を参照してSWモード701への遷移指示を受け付けたか否かを判定する(ステップS1222)。
When it is determined that the determination condition of step S1221 is satisfied, the
ステップS1222の判定条件を満たすと判定された場合、状態管理部306は、ブリッジ装置101の状態をB0状態703に変更し、ステップ1205に進む(ステップS1223)。
When it is determined that the determination condition of step S1222 is satisfied, the
ステップS1222の判定条件を満たさないと判定された場合、状態管理部306は、状態管理部306は、変数「遷移指示状態」を参照してRRモード702への遷移指示を受け付けたか否かを判定する(ステップS1224)。
When it is determined that the determination condition in step S1222 is not satisfied, the
ステップS1224の判定条件を満たすと判定された場合、状態管理部306は、処理を終了する(ステップS1206)。
When it is determined that the determination condition of step S1224 is satisfied, the
ステップS1224の判定条件を満たさないと判定された場合、状態管理部306は、S1状態605、S3状態607又はS5状態609のいずれかを含む制御フレームを受信したか否かを判定する(ステップS1225)。
When it is determined that the determination condition of step S1224 is not satisfied, the
ステップS1225の判定条件を満たさないと判定された場合、状態管理部306は、ステップS1210に進む。
If it is determined that the determination condition in step S1225 is not satisfied, the
ステップS1225の判定条件を満たすと判定された場合、状態管理部306は、ブリッジ装置101の状態をB3状態706に変更し、ステップS1210に進む(ステップS1226)。
When it is determined that the determination condition of step S1225 is satisfied, the
ステップS1221において、ステップS1221の判定条件を満たさない、すなわち、ブリッジ装置101の状態がB3状態であると判定された場合、状態管理部306は、変数「遷移指示状態」を参照してSWモード701への遷移指示を受け付けたか否かを判定する(ステップS1231)。
If it is determined in step S1221 that the determination condition in step S1221 is not satisfied, that is, the state of the
ステップS1231の判定条件を満たすと判定された場合、状態管理部306は、ブリッジ装置101の状態をB1状態704に変更し、ステップS1205に進む(ステップS1232)。
When it is determined that the determination condition of step S1231 is satisfied, the
ステップS1231の判定条件を満たさないと判定されて場合、状態管理部306は、変数「遷移指示状態」を参照してRRモード702への遷移指示を受け付けたか否かを判定する(ステップS1233)。
When it is determined that the determination condition of step S1231 is not satisfied, the
ステップS1233の判定条件を満たすと判定された場合、状態管理部306は、処理を終了する(ステップS1206)。
When it is determined that the determination condition of step S1233 is satisfied, the
ステップS1233の判定条件を満たさないと判定された場合、状態管理部306は、S2状態606又はS4状態608を含む制御フレームを受信したか否かを判定する(ステップS1234)。
When it is determined that the determination condition of step S1233 is not satisfied, the
ステップS1234の判定条件を満たさないと判定された場合、状態管理部306は、ステップS1210に進む。
If it is determined that the determination condition in step S1234 is not satisfied, the
ステップS1234の判定条件を満たすと判定された場合、状態管理部306は、ブリッジ装置101の状態をB0状態703に変更し、ステップS1210に進む(ステップS1235)。
When it is determined that the determination condition of step S1234 is satisfied, the
以上で説明したブリッジ装置101におけるポート状態遷移処理の概略は以下の通りである。
The outline of the port state transition processing in the
ブリッジ装置におけるポート状態遷移処理は、遷移指示を受け付け、又は、制御フレームを受信すると開始される。状態管理部306は、まず、現在のブリッジ装置101の状態と、遷移指示の内容と、受信した制御フレームに含まれるEdgeRelay128の状態情報とに基づいて、ブリッジ装置101の状態を決定し、決定された状態に変更する。また、状態管理部306は、変更した状態を通知するための制御フレームを転送する。
The port state transition process in the bridge device is started when a transition instruction is received or a control frame is received. First, the
B0状態703、かつ、RRモード702への遷移指示を受け付けた場合、状態管理部306は、ブリッジ装置101の状態をB2状態705に変更する(ステップS1204)。また、B3状態706、かつ、SWモード701への遷移指示を受け付けた場合、状態管理部306は、ブリッジ装置101の状態をB1状態704に変更する(ステップS1232)。
When the
B0状態703でS1状態605若しくはS5状態609を含む制御フレームを受信した場合(ステップS1208がYES)、B1状態704、かつ、RRモード702への遷移指示を受け付けた場合(ステップS1212がYES)、又は、B2状態705、かつ、S1状態605、S3状態607若しくはS5状態609のいずれかを含む制御フレームを受信した場合(ステップS1225がYES)、状態管理部306は、ブリッジ装置101の状態をB3状態706に変更する。
When a control frame including the
B1状態704、かつ、S0状態604、S2状態606又はS4状態608を受信した場合(ステップS1215がYES)、B2状態705、かつ、SWモード701への遷移指示を受け付けた場合(ステップS1222がYES)、又は、B3状態706、かつ、S2状態606若しくはS4状態608を含む制御フレームを受信した場合(ステップS1234がYES)、状態管理部306は、ブリッジ装置101の状態をB0状態703に変更する。
When
遷移指示を受け付け、又は、S1状態605、S2状態606、S4状態608若しくはS5状態609を含む制御フレームを受信することによって状態が変更された場合、状態管理部306は、変更後の状態を通知するための制御フレームを送信する(ステップS1205)。
When the state is changed by receiving a transition instruction or receiving a control frame including the
図10で説明したEdgeRelay128における状態遷移処理に比べると、ブリッジ装置101におけるポート状態遷移処理の方が単純となっている。これは、EdgeRelay128の状態の数が6つあるのに対して、ブリッジ装置101の状態の数が4つであり、また、時間経過に伴う処理及びフレームの転送停止に関する処理がないためである。
Compared with the state transition process in
次に、EdgeRelay128及びブリッジ装置101を含むシステムにおける動作の概略について説明する。以下、各装置のモードの組み合わせについて説明する。
Next, an outline of an operation in a system including the
(EdgeRelay128がVEBモード601で動作し、ブリッジ装置101がSWモード701で動作する場合)
ここでは、EdgeRelay128はVEBモード601(S0状態604)で動作し、ブリッジ装置101はSWモード701(B0状態703)で動作しているものとする。この場合、EdgeRelay128及びブリッジ装置101は、互いに制御フレームを送受信しても状態は変化しない。
(When
Here, it is assumed that
仮想マシン130−1から仮想マシン130−2宛のフレームが送信された場合、初期状態ではEdgeRelay128及びブリッジ装置101は、共にポート学習が実行されていない。したがって、EdgeRelay128は、受信ポートを除く全ポート、すなわち、仮想マシン130−2とブリッジ装置101にフレームを転送し、同様に、ブリッジ装置101は、サーバ装置102−2及びノード装置104にフレームを転送する。
When a frame addressed to the virtual machine 130-2 is transmitted from the virtual machine 130-1, the
仮想マシン130−2は、転送されたフレームの宛先が自分宛であるためフレームを受信し、フレームを用いて所定の処理を実行する。一方、サーバ装置102−2及びノード装置104は、転送されたフレームの宛先が自分宛でないためフレームを廃棄する。したがって、結果として仮想マシン130−2に正しくフレームが伝送される。
The virtual machine 130-2 receives the frame because the destination of the transferred frame is addressed to itself, and executes a predetermined process using the frame. On the other hand, the server apparatus 102-2 and the
このとき、EdgeRelay128及びブリッジ装置101は、送信元のアドレスに仮想マシン130−1のアドレスを含むフレームをどのポートから受信したかを学習する。
At this time, the
次に、仮想マシン130−2から仮想マシン130−1宛のフレームが送信された場合、EdgeRelay128はポート学習の結果、仮想マシン130−1のアドレスのポートを学習済みであるため、仮想マシン130−1が接続されるポートにのみにフレームを転送する。また、仮想マシン130−1はフレームを受信し、フレームを用いて所定の処理を実行する。
Next, when a frame addressed to the virtual machine 130-1 is transmitted from the virtual machine 130-2, the
このとき、EdgeRelay128及びブリッジ装置101は、それぞれ、送信元のアドレスに仮想マシン130−2のアドレスを含むフレームをどのポートから受信したかを学習する。
At this time, the
以降、同様の手順に従って、EdgeRelay128及びブリッジ装置101は、仮想マシン130−1及び仮想マシン130−2を学習済みであるとする。
Hereinafter, it is assumed that the
サーバ装置102−2やノード装置104から送信された仮想マシン130−1宛のフレームは、同様に、ブリッジ装置101、EdgeRelay128の順に経由して仮想マシン130−1に伝送される。
Similarly, the frame addressed to the virtual machine 130-1 transmitted from the server apparatus 102-2 or the
仮想マシン130−1と仮想マシン130−2との間で送受信されるフレームの伝送経路は、EdgeRelay128及びブリッジ装置101の状態及びモードによって変化するが、それ以外のフレームの伝送経路は変化しないため以下の説明では省略する。
The transmission path of frames transmitted and received between the virtual machine 130-1 and the virtual machine 130-2 changes depending on the state and mode of the
現在、EdgeRelay128はVEBモード601(S0状態604)で動作し、ブリッジ装置101はSWモード701(B0状態703)で動作している。
Currently,
仮想マシン130−1から仮想マシン130−2宛のフレームが送信されると、EdgeRelay128が当該フレームのスイッチング処理を実行して、当該フレームを仮想マシン130−2に転送するため、ブリッジ装置101に当該フレームが転送されることはない。
When the frame addressed to the virtual machine 130-2 is transmitted from the virtual machine 130-1, the
また、仮想マシン130−1からブロードキャストフレームが送信されると、EdgeRelay128から仮想マシン130−2とブリッジ装置101とにフレームが転送され、ブリッジ装置101は、受信ポートを除く全ポート、すなわち、サーバ装置102−2及びノード装置104にフレームを転送する。従って、仮想マシン130−2、サーバ装置102−2及びノード装置104にそれぞれフレームが転送されるため、正しくブロードキャストの通信が行える。
When a broadcast frame is transmitted from the virtual machine 130-1, the frame is transferred from the
(VEPAモード602への遷移指示を受け付け後、EdgeRelay128がTRANモード603で動作し、ブリッジ装置101がSWモード701で動作する場合)
次に、EdgeRelay128は、VEPAモード602への遷移指示を受け付けた場合、状態遷移処理を実行することによって状態をS1状態605に変更する。これに伴って、EdgeRelay128は、TRANモード603で動作する。また、EdgeRelay128は、S1状態605を含む制御フレームをブリッジ装置101に送信する。
(After accepting the transition instruction to
Next, when the
このとき、EdgeRelay128はTRANモード603(S1状態605)で動作し、ブリッジ装置101はSWモード701(B0状態703)で動作している。
At this time,
仮想マシン130−1から仮想マシン130−2宛のフレームが送信された場合、EdgeRelay128が当該フレームのスイッチング処理を実行して、当該フレームを仮想マシン130−2に転送するため、ブリッジ装置101に当該フレームが転送されることはない。
When a frame addressed to the virtual machine 130-2 is transmitted from the virtual machine 130-1, the
また、仮想マシン130−2からブロードキャストフレームが送信されると、EdgeRelay128から仮想マシン130−2とブリッジ装置101とにフレームが転送され、ブリッジ装置101は、受信ポートを除く全ポート、すなわち、サーバ装置102−2及びノード装置104にフレームを転送する。従って、仮想マシン130−2、サーバ装置102−2及びノード装置104のそれぞれにフレームが転送されるため、正しくブロードキャストの通信が行える。
When a broadcast frame is transmitted from the virtual machine 130-2, the frame is transferred from the
(EdgeRelay128がTRANモード603で動作し、ブリッジ装置101がRRモード702で動作する場合)
ブリッジ装置101は、S1状態605を含む制御フレームを受信すると、ポート状態遷移処理を実行することによって状態をB3状態706に変更し、さらに、B3状態706を含む制御フレームをEdgeRelay128に送信する。このとき、EdgeRelay128はTRANモード603(S1状態605)で動作し、ブリッジ装置101はRRモード702(B3状態706)で動作している。
(When
When the
仮想マシン130−1から仮想マシン130−2宛のフレームが送信された場合、EdgeRelay128が当該フレームのスイッチング処理を実行して、当該フレームを仮想マシン130に転送するため、ブリッジ装置101に当該フレームが転送されることはない。
When the frame addressed to the virtual machine 130-2 is transmitted from the virtual machine 130-1, the
また、仮想マシン130−1からブロードキャストフレームが送信されると、EdgeRelay128から仮想マシン130−2とブリッジ装置101とにフレームが転送され、RRモード702で動作するブリッジ装置101は、受信ポートを含む全ポート、すなわち、EdgeRelay128、サーバ装置102−2及びノード装置104にフレームを転送する。
When a broadcast frame is transmitted from the virtual machine 130-1, the frame is transferred from the
一方、TRANモード603で動作するEdgeRelay128は、転送ポート管理表124に受信ポート以外のポートを示すエントリが存在するため、ブリッジ装置101から転送されたフレームの送信元(仮想マシン130−1)の情報が学習済みであると判定する(ステップS913がYES)。したがって、EdgeRelay128は、当該フレームを廃棄する。
On the other hand, since
本発明ではTRANモード603を導入することによって、結果として、仮想マシン130−2、サーバ装置102−2及びノード装置104のそれぞれにフレームが転送されるため、正しくブロードキャストの通信が行える。
In the present invention, by introducing the
(EdgeRelay128がVEPAモード602で動作し、ブリッジ装置101がRRモード702で動作する場合)
EdgeRelay128は、B3状態706を含む制御フレームを受信すると、状態遷移処理を実行して、ブリッジ装置101が接続されるUPLINKポートが受信したフレームの転送を継続し(ステップS815がYES)、一方、UPLINKポート以外のポートが受信したフレームの転送を受信待機時間の間停止して(ステップS1062)、フレームを蓄積する(ステップS824)。
(When
When the
EdgeRelay128は、状態をS3状態607に変更することによってVEPAモード602での動作を開始した後、フレームの転送を再開し(ステップS1022B)、蓄積されたフレームから順に転送処理を実行する(ステップS821)。この結果、転送停止中にEdgeRelay128が受信したフレームは、正しい順序で転送される。また、EdgeRelay128は、S3状態607を含む制御フレームをブリッジ装置101に送信する。
The
このとき、EdgeRelay128は、前半はTRANモード603で動作しているが転送停止の状態であり、後半は、VEPAモード602(S3状態607)で動作する。一方、ブリッジ装置101は前半及び後半いずれの場合でもRRモード702(B3状態706)で動作する。
At this time,
そのため、仮想マシン130−1から仮想マシン130−2宛のフレームが送信された場合、前半はEdgeRelay128に当該フレームが蓄積されるため、ブリッジ装置101に当該フレームが転送されることはない。
Therefore, when a frame addressed to the virtual machine 130-2 is transmitted from the virtual machine 130-1, the frame is not transferred to the
後半では、EdgeRelay128が蓄積したフレームと新たに受信したフレームとのスイッチング処理を順に実行する。仮想マシン130−1から仮想マシン130−2宛のフレームが送信されている場合、ブリッジ装置101が接続されたポート(UPLINKポート)以外のポートから当該フレームを受信するため(ステップS909がNO)、当該フレームをブリッジ装置101に転送する。
In the second half, the switching process between the frame accumulated by
ブリッジ装置101は、EdgeRelay128から転送されたフレームのスイッチング処理を実行する。このとき、ブリッジ装置101は仮想マシン130−2の宛先を学習済みであるため、EdgeRelay128が接続されたポートに当該フレームを転送する。
The
EdgeRelay128は、ブリッジ装置101が接続されたポート(UPLINKポート)からフレームを受信するため(ステップS909がYES)、仮想マシン130−2にフレームを転送する。仮想マシン130−2は、当該フレームを受信し、フレームを用いて所定の処理を実行する。
The
すなわち、ブリッジ装置101と仮想マシン130−1との間で互いを宛先として送受信されるフレームは、EdgeRelay128を経由してブリッジ装置101に転送され、ブリッジ装置101によってスイッチング処理が実行され、さらに、EdgeRelay128を経由して宛先に伝送される。
That is, frames transmitted and received between the
仮想マシン130−2からブロードキャストフレームが送信された場合も、仮想マシン130−1には同様の経路を通って1フレーム毎にフレームが伝送され、サーバ装置102−1及びノード装置104にはEdgeRelay128を経由してブリッジ装置101から1フレーム毎にフレームが伝送される。
Even when a broadcast frame is transmitted from the virtual machine 130-2, the frame is transmitted to the virtual machine 130-1 for each frame through the same path, and
(EdgeRelay128がVEBモード601に遷移中の動作)
EdgeRelay128は、VEPAモード602への遷移指示を受け付けると、状態遷移処理を実行して、ブリッジ装置101が接続されたUPLINKポートから受信したフレームの転送を継続し(ステップS815がYES)、UPLINKポート以外のポートから受信したフレームの転送を受信待機時間の間は停止して(ステップS1062)、フレームを蓄積する(ステップS824)。
(Operation while
Upon receiving an instruction to transition to the
EdgeRelay128は、S2状態606に変更することによってTRANモード603での動作を開始し、フレームの転送を再開し(ステップS1022A及びステップS1022B)、蓄積されたフレームから順に転送処理を実行する(ステップS820)。この結果、転送停止中の状態の場合にEdgeRelay128が受信したフレームは、正しい順序で転送される。
The
また、EdgeRelay128は、S2状態606を含む制御フレームをブリッジ装置101に送信する。
Further,
このとき、EdgeRelay128は、前半はVEPAモード602で動作しているが、転送停止の状態であり、後半はTRANモード603で動作し、フレームの転送を再開する。一方、ブリッジ装置101は前半及び後半いずれの場合でもRRモード702で動作する。
At this time, the
そのため、仮想マシン130−1から仮想マシン130−2宛のフレームが送信され他場合、前半はEdgeRelay128に当該フレームが蓄積され、後半はEdgeRelay128が蓄積したフレームと当該フレームのスイッチング処理を順に実行して、当該フレームを仮想マシン130−2に転送するため、ブリッジ装置101に当該フレームが転送されることはない。
Therefore, when a frame addressed to the virtual machine 130-2 is transmitted from the virtual machine 130-1, the frame is accumulated in the
また、仮想マシン130−1からブロードキャストフレームが送信されると、転送再開後にEdgeRelay128から仮想マシン130−2及びブリッジ装置101にフレームが転送される。RRモード702で動作するブリッジ装置101は、受信ポートを含む全ポート、すなわち、EdgeRelay128、サーバ装置102−2及びノード装置104にフレームを転送する。
When a broadcast frame is transmitted from the virtual machine 130-1, the frame is transferred from the
TRANモード603で動作するEdgeRelay128は、転送ポート管理表124に受信ポート以外のポートを示すエントリが存在するため、ブリッジ装置101から転送されたフレームの送信元(仮想マシン130−2)の情報を学習済みであると判定する(ステップS913がYES)。したがって、EdgeRelay128は、当該フレームを廃棄する。
本発明ではTRANモード603を導入することによって、結果として、仮想マシン130−2、サーバ装置102−2及びノード装置104のそれぞれに当該フレームが転送されるため、正しくブロードキャストの通信が行える。
In the present invention, by introducing the
ブリッジ装置101は、S2状態606を含む制御フレームを受信すると、ポート状態遷移処理を実行することによって状態をB0状態703に変更し、B0状態703を含む制御フレームをEdgeRelay128に送信する。このとき、EdgeRelay128はTRANモード603(S2状態606)で動作し、ブリッジ装置101はSWモード701(B0状態703)で動作する。当該モードの組み合わせにおける動作は前述したため説明を省略する。
When the
B0状態703を含む制御フレームを受信したEdgeRelay128は、状態遷移処理を実行することによって状態をS0状態604に変更して、VEBモード601で動作を開始し、また、S0状態604を含む制御フレームをブリッジ装置101に送信する。このとき、EdgeRelay128はVEBモード601(S0状態604)で動作し、ブリッジ装置101はSWモード701(B0状態703)で動作する。当該モードの組み合わせにおける動作は前述したため説明を省略する。
Upon receiving the control frame including the
(モード遷移の説明)
以上で示した手順によって、EdgeRelay128は、VEBモード601からTRANモード603を経て、フレームの転送を一時停止した後、VEPAモード602に遷移し、さらに、フレームの転送を一時停止した後、VEPAモード602からTRANモード603を経てVEBモード601に遷移する。
(Description of mode transition)
Through the procedure described above,
また、EdgeRelay128のモードの遷移に対応して、ブリッジ装置101は、SWモード701からRRモード702に遷移し、さらに、RRモード702からSWモード701に遷移する。
Corresponding to the transition of the
ブリッジ装置101と仮想マシン130−1との間で送受信されるフレームのスイッチング処理を実行する装置は、モードの変更に伴って、EdgeRelay128からブリッジ装置101に、ブリッジ装置101からEdgeRelay128に、通信を継続したまま動的に変更される。
A device that performs switching processing of frames transmitted and received between the
EdgeRelay128及びブリッジ装置101のモードの組み合わせは、VEBモード601とSWモード701、TRANモード603とSWモード701、TRANモード603とRRモード702、及びVEPAモード602とRRモード702のいずれかである。各組み合わせでの動作は前述したとおりである。
The combination of
VEPAモード602とTRANモード603との間でのモード遷移時にフレームの転送を一時停止させるのは、EdgeRelay128からRRモード702で動作するブリッジ装置101に転送され、ブリッジ装置101からEdgeRelay128に転送されるブロードキャストフレームと、TRANモード603で動作するEdgeRelay128がスイッチング処理を実行することによって転送されるフレームとが重複することを避けるためである。
The frame that is temporarily stopped when the mode is changed between the
(遷移指示の契機)
本発明において、状態遷移の契機のひとつであるEdgeRelay128及びブリッジ装置101におけるモードの遷移指示は、ユーザ又は管理者からの指示するものとしているが、本発明はこれに限らない。
(Trigger for transition instructions)
In the present invention, the mode relay instruction in
例えば、EdgeRelay128又はブリッジ装置101に閾値を設定し、サーバ装置102又はブリッジ装置101のCPU使用率やメモリ使用量等が閾値を超えた場合に遷移指示を発行することによって、サーバ装置102又はブリッジ装置101の負荷変動に合わせてスイッチング処理を実行する装置を変更できるようにしてもよい。
For example, by setting a threshold value in
また、例えば、EdgeRelay128又はブリッジ装置101に時刻を設定し、設定された時刻になった場合に遷移指示を発行することによって、スイッチング処理を実行する装置を時間毎に変更できるようにしてもよい。
Further, for example, by setting a time in the
以上に例示するように、本発明では、遷移指示をEdgeRelay128及びブリッジ装置101のいずれに行ってもよい。例えば、ブリッジ装置101にネットワーク管理者が遷移指示を与えて、ネットワーク機器の利用予定やモニタリング等のネットワーク管理の都合に合わせたスイッチング処理を実行する装置を変更してもよいし、例えば、サーバ管理者がEdgeRelay128に遷移指示を与えて、サーバ利用者が必要とするレイテンシ等のネットワーク要件に合わせてスイッチング処理を実行する装置を変更してもよい。
As exemplified above, in the present invention, the transition instruction may be given to either
(本実施形態の装置以外との接続)
ここで、EdgeRelay128と他のブリッジ装置(以下、他ブリッジ装置)を接続した場合、及びブリッジ装置101と他ブリッジ装置を接続した場合の動作について説明する。
(Connection with devices other than this embodiment)
Here, operations when
EdgeRelay128と他ブリッジ装置との接続に関しては、EdgeRelay128がTRANモード603で動作し、一定時間、制御フレームを受信しない場合に、状態をS0状態604に遷移する処理を追加すれば対応できる。
Regarding the connection between
まず、他ブリッジ装置がIEEE 802.1Qbgをサポートしない、すなわち、制御フレームを送信しない場合を説明する。 First, a case where the other bridge device does not support IEEE 802.1Qbg, that is, does not transmit a control frame will be described.
EdgeRelay128と他ブリッジ装置とを接続した場合、初期状態ではEdgeRelay128はTRANモード603で動作する。仮想マシンの移動を伴わなければ、TRANモード603でも通信は正常に行われる。また、制御フレームが一定時間受信されず、S0状態604に遷移し、VEBモード601で動作するため、通信は正常に行われる。
When
なお、VEPAモード602への遷移が指示された場合、EdgeRelay128は、一時的にTRANモード603に遷移するが、同様にVEBモード601に遷移することとなる。また、本発明のブリッジ装置101を他ブリッジ装置(Edge Relayとして動作)と接続した場合、初期状態ではB0状態703となっているため、SWモード701で動作し、通信は正常に行われる。RRモード702への遷移指示を行った場合でも、状態がB2状態705に遷移するが、ブリッジ装置101はSWモード701のまま動作するため、通信は正常に行われる。
When transition to the
次に、他ブリッジ装置がIEEE 802.1Qbgに準拠している場合の動作を説明する。 Next, the operation when the other bridge device is compliant with IEEE 802.1Qbg will be described.
IEEE 802.1Qbgでは、RRCAPが「1」でRRREQが「1」の場合のみ、EVB BridgeのReflective Relay動作が有効となると規定されている。 IEEE 802.1Qbg stipulates that the EVB Bridge's Reflective Relay operation is valid only when RRCAP is “1” and RRREQ is “1”.
EdgeRelay128とIEEE 802.1Qbg準拠の他ブリッジ装置を接続し、他ブリッジ装置がReflective Relay機能を持たない場合、B0状態703を含む制御フレームのみを受信するため、EdgeRelay128は、制御フレームを受信していない時にはTRANモード603、制御フレームを受信した時にはVEBモード601で動作する。従って、通信は正常に行われる。VEPAモード602への遷移を指示した場合も同様である。
If
また、他ブリッジ装置がReflective Relay機能を持つ場合、EdgeRelay128は、B2状態705又はB3状態706を含む制御フレームを受信することとなる。この場合、EdgeRelay128が受信するB2状態705を含む制御フレームを、B0状態703を含む制御フレームと置き換えて扱えば、EdgeRelay128へのモードの遷移指示も含めて動作する。
When the other bridge device has a reactive relay function,
一方、本発明のブリッジ装置101をIEEE 802.1Qbgに準拠する他ブリッジ装置(Edge Relayとして動作)と接続した場合、B0状態703をB2状態705に置き換えて扱うようにすれば、ブリッジ装置101への遷移指示以外は正常に動作する。ブリッジ装置101へのモード遷移指示は、他ブリッジ装置の挙動を完全には制御できないため遷移が完了しないことがあり、失敗することがある。また、遷移中の動作はIEEE 802.1Qbgでは規定されていないため、他ブリッジ装置における通信が正常に行われない可能性がある。
On the other hand, when the
したがって、本実施形態におけるEdgeRelay128(前述した若干の変更を含む)が他ブリッジ装置と接続し、他ブリッジ装置がIEEE 802.1Qbgに対応したReflective Relay機能を持つ場合、EdgeRelay128への遷移指示まで含めて、それ以外では遷移指示を除いて動作する。また、遷移指示を行った場合も含めて通信は正常に行われる。また、本実施形態におけるブリッジ装置101(前述した若干の変更を含む)は、他ブリッジ装置(Edge Relayとして動作)と接続される場合、EdgeRelay128への遷移指示を除いて動作し、通信も正常に行わる。
Therefore, when Edge Relay 128 (including the slight changes described above) in the present embodiment is connected to another bridge device, and the other bridge device has a Reflective Relay function compatible with IEEE 802.1Qbg, include even a transition instruction to
第1の実施形態によれば、EdgeRelay128とブリッジ装置101との間の通信を継続したまま、動的にスイッチング処理を実行する装置を変更できる。また、前述の変更に必要な制御フレームにはIEEE 802.1Qbgの規定に準拠したものを用いているため、他のブリッジ装置と接続される場合、モード遷移指示以外では正常に動作して、通信も正常に行える。
According to the first embodiment, it is possible to change a device that dynamically executes a switching process while continuing communication between the
さらに、IEEE 802.1Qbgに準拠したEdgeRelay128と、Reflective Relay機能を持つブリッジ装置とを接続した場合、EdgeRelay128へのモード遷移指示も含めて動作可能となる。
Furthermore, when
[第2の実施形態]
第1の実施形態では、EdgeRelay128はサーバ装置102において動作するプログラムであった。しかし、図3で説明したように、EdgeRelay128とブリッジ装置101とのソフトウェア構成は同一であるため、ブリッジ装置101にEdgeRelay128の機能を含めることができる。本発明の第2の実施形態では、ブリッジ装置101にEdgeRelay128が含まれる点が第1の実施形態と異なる。
[Second Embodiment]
In the first embodiment,
以下、第1の実施形態との差異を中心に、第2の実施形態について説明する。 Hereinafter, the second embodiment will be described focusing on the differences from the first embodiment.
本発明の第1の実施形態における計算機システムの論理的な構成を説明するブロック図である。 It is a block diagram explaining the logical structure of the computer system in the 1st Embodiment of this invention.
(システム構成)
図13は、本発明の第2の実施形態における計算機システムの論理的な構成を説明するブロック図である。
(System configuration)
FIG. 13 is a block diagram illustrating a logical configuration of a computer system according to the second embodiment of this invention.
なお、サーバ装置102、ブリッジ装置1301及びEdgeRelay1302の構成は第1の実施形態と同一であるため説明を省略する。
Note that the configurations of the server apparatus 102, the
図13において、ブリッジ装置1301は、ブリッジ装置101と同一の構成であり、サーバ装置1303−1、サーバ装置1303−2及びサーバ装置1303−3はサーバ装置102と同一の構成であり、また、ノード装置1306はノード装置104と同一の構成である。また、ケーブル1307−1、ケーブル1307−2、ケーブル1308−1、ケーブル1308−2及びケーブル1311はケーブル105と同一の構成である。
13, the
図13において、EdgeRelay1302は、EdgeRelay128が実行されたブリッジ装置101を示す。
In FIG. 13,
サーバ装置1303−1、サーバ装置1303−2及びサーバ装置1303−3は、いずれもイーサネットに準拠した入出力ポートを備えるネットワークノードである。EdgeRelay1302及びブリッジ装置1301が実行する処理は、第1の実施形態においてEdgeRelay128及びブリッジ装置101として同一であるため説明を省略する。
Each of the server device 1303-1, the server device 1303-3, and the server device 1303-3 is a network node having an input / output port compliant with Ethernet. The processes executed by the
第2の実施形態によれば、第1の実施形態と同様、EdgeRelay1302とブリッジ装置1301との間で、通信を継続したまま動的にスイッチング処理を実行する装置を変更できる。さらに、EdgeRelay1302はサーバ装置1303以外の装置上で実行されるため、仮想化機能を備えていない計算機でも、スイッチング処理を実行する装置を動的に変更することができる。
According to the second embodiment, as in the first embodiment, the device that dynamically executes the switching process can be changed between the
[第3の実施形態]
本発明において、EdgeRelay128及びブリッジ装置101は、両者の機能を兼ねる装置又はプログラムを用いて実現してもよい。第3の実施形態では、ブリッジ装置101に機能を集約した場合を例に説明する。
[Third Embodiment]
In the present invention, the
第3の実施形態におけるハードウェア構成及び論理的な構成は、第1の実施形態又は第2の実施形態と同一であるため省略する。以下では、第3の実施形態におけるブリッジ装置101の動作について説明する。
The hardware configuration and the logical configuration in the third embodiment are the same as those in the first embodiment or the second embodiment, and are omitted. Hereinafter, the operation of the
図11A及び図11Bで説明したブリッジ装置101の動作は、図8A及び図8Bにおける転送停止の状態に関係する処理を除けば、図8A及び図8Bで説明したEdgeRelay128のVEBモード601における動作と同様である。
The operation of the
これは、ブリッジ装置101とEdgeRelay128との動作はいずれも、基本的な動作として、受信したフレームの転送処理と(ステップS816、ステップS820〜ステップS824、ステップS1121〜ステップS1127)、受け付けた遷移指示又は受信した制御フレームに従った状態の変更処理(ステップS805〜ステップS809、ステップS1104〜ステップS1105、ステップS1108〜ステップS1111)を実行するためである。
This is because the basic operations of the
なお、フレームの転送処理では、RRモード702の場合、ステップS1127の処理は実行されない点が異なり、状態の変更処理では、状態遷移処理と(ステップS804)、ポート状態遷移処理(ステップS1104)の内容に大きな違いがある。
In the frame transfer process, the processing in step S1127 is not executed in the
しかし、フレームの転送処理における違いは単なる条件分岐であるし、状態の変更処理における違いは、状態遷移処理(ステップS804)が全体の処理である一方でポート状態遷移処理(ステップS1104)はポート毎の処理であるため、ブリッジ装置101の動作とEdgeRelay128の動作を、同一装置内で実現して共存させることができる。例えば、EdgeRelay128の各ポートは、VEPAモード602においてUPLINKとして動作しているポートを除いて、変更を加えてブリッジ装置101のポートにおける動作をさせることができる。
However, the difference in the frame transfer process is simply a conditional branch, and the difference in the state change process is that the state transition process (step S804) is the entire process while the port state transition process (step S1104) is performed for each port. Therefore, the operation of the
具体的には、図9において、ステップS905に換えて、「状態管理部306は、当該ポートがRRモード702で動作するか否かを判定し、ポートがRRモード702で動作する場合にはステップS906に進み、ポートがRRモード702で動作していない場合にはステップ905に進むステップ」と、ステップS905とを置くことによって共存させられる。
Specifically, in FIG. 9, instead of step S905, “the
第3の実施形態によれば、EdgeRelay128の機能とブリッジ装置101の機能とを実現可能な装置又はソフトウェア(以下、同時実施装置という)を多段に接続可能となる。また、同時実施装置の一方を第1の実施形態又は第2の実施形態におけるブリッジ装置101に接続し、もう一方をEdgeRelay128に接続して、スイッチング処理位置の変更を目的に応じてEdgeRelay128、ブリッジ装置101、同時実施装置から自由に選択することが可能となる。
According to the third embodiment, a device or software (hereinafter referred to as a simultaneous execution device) capable of realizing the function of
特許請求の範囲に記載した以外の発明の観点の代表的なものとして、次のものがあげられる。
(1)演算処理装置と、前記演算処理装置に接続される記憶装置と、1以上のポートを備えるネットワークインタフェースとを備え、複数の転送モードで動作可能なフレーム転送装置におけるフレーム転送方法であって、
前記複数の転送モードは、第1の転送モード、第2の転送モード及び第3の転送モードを含み、
前記フレーム転送装置は、
前記フレームを受信する受信部と、
前記フレームを送信する送信部と、
前記フレームを送信するポートを決定するポート決定部と、
受信した前記フレームを解析するフレーム解析部と、
前記フレーム解析部によって解析された結果を蓄積する学習部と、
前記フレーム転送装置の転送モードを示すモード情報を保持し、前記モード情報に基づいて前記転送モードを切り替え、前記フレーム転送装置を制御する状態管理部と、
を備え、
前記方法は、
前記第1の転送モードでは、
前記フレーム転送装置が、前記ポートから受信した第1のフレームの解析の結果に基づいて、前記第1のフレームの転送処理を実行するステップを含み、
前記第2の転送モードでは、
前記フレーム転送装置が、他の前記フレーム転送装置が接続されたポートから第2のフレームを受信した場合、前記第2のフレームの解析の結果に基づいて、前記第2のフレームの転送処理を実行するステップと、
前記フレーム転送装置が、当該他のフレーム転送装置以外の装置が接続されたポートから第3のフレームを受信した場合、前記第3のフレームを当該他のフレーム転送装置に転送するステップと、を含み、
前記第3の転送モードでは、
前記フレーム転送装置が、前記他のフレーム転送装置が接続されたポートから第4のフレームを受信し、かつ、前記第4のフレームに対応する解析の結果が蓄積されている場合には、前記第4のフレームを廃棄するステップと、
前記フレーム転送装置が、当該他のフレーム転送装置以外の装置が接続されたポートから第5のフレームを受信した場合、又は、当該他のフレーム転送装置が接続されたポートから前記第4のフレームを受信し、かつ、前記第4のフレームに対応する解析の結果が蓄積されていない場合には、前記第4のフレームの解析の結果又は前記第5のフレームの解析の結果に基づいて、前記第4のフレーム又は前記第5のフレームの転送処理を実行するステップと、を含むことを特徴とするフレーム転送方法。
(2)前記フレーム転送装置は、前記転送モードが切り替えられる前は、前記第1の転送モード又は第2の転送モードのいずれかで動作し、
前記方法は、さらに、
前記第1の転送モード又は前記第2の転送モードから前記第3の転送モードを経由して、前記第1の転送モード又は前記第2の転送モードへ切り替えるステップを含むことを特徴とする(1)に記載のフレーム転送方法。
(3)前記第1のフレームの転送処理は、
前記第1のフレームの解析の結果に基づいて、前記第1のフレームを送信する送信ポートを検索するステップと、
前記送信ポートが1個以上検索された場合には、前記検索された1個以上のポートから前記第1のフレームを送信するステップと、
前記検索された送信ポートが0個の場合には、前記第1のフレームを廃棄するステップと、を含み、
前記第2のフレームの転送処理は、
前記他のフレーム転送装置が接続されるポートを除く前記ポートの中から前記第2のフレームを送信する前記送信ポートを検索するステップと、
前記送信ポートが1個以上検索された場合には、前記検索された1個以上のポートから前記第2のフレームを送信するステップと、
前記検索された送信ポートが0個の場合には、前記第2のフレームを廃棄するステップと、を含み、
前記第4のフレームの転送処理は、
前記他のフレーム転送装置が接続されるポートを除く前記ポートの中から前記第4のフレームを送信する前記送信ポートを検索するステップと、
前記送信ポートが1個以上検索された場合には、前記検索された1個以上のポートから前記第4のフレームを送信するステップと、
前記検索された送信ポートが0個の場合には、前記第4のフレームを廃棄するステップと、を含み、
前記第5のフレームの転送処理は、
前記第5のフレームの解析の結果を蓄積するステップと、
前記第5のフレームの解析の結果に基づいて、前記第5のフレームを送信する送信ポートを検索するステップと、
前記送信ポートが1個以上検索された場合には、前記検索された1個以上のポートから前記第5のフレームを送信するステップと、
前記検索された送信ポートが0個の場合には、前記第5のフレームを廃棄するステップと、を含むことを特徴とする(2)に記載のフレーム転送方法。
(4)前記フレーム転送装置は、
切替条件に関する情報を保持し、
前記切替条件が満たされた場合に、前記転送モードを切り替えることを特徴とする(3)に記載のフレーム転送方法。
(5)前記フレーム転送装置は、前記転送モードの切替指示を受け付けた場合に、前記転送モードを切り替えることを特徴とする(3)に記載のフレーム転送方法。
(6)前記転送モードの切替指示は、IEEE 802.1Qbgに規定され、前記フレーム転送装置及び前記他のフレーム転送装置の状態を示す情報を含むフレームによって送信されることを特徴とする(5)に記載のフレーム転送方法。
(7)前記方法は、さらに、前記転送モードを切り替える場合に、前記他のフレーム転送装置以外の装置が接続されたポートから受信したフレームの転送を所定時間停止するステップを含むことを特徴とする(3)に記載のフレーム転送方法。
(8)前記方法は、さらに、前記フレームの転送停止中に、前記他のフレーム転送装置以外の装置が接続されたポートからフレームを受信した場合、前記受信したフレームを蓄積するステップと、
前記フレームの転送停止状態が解除された後に、前記蓄積されたフレームを転送するステップと、を含むことを特徴とする(7)に記載のフレーム転送方法。
The following are typical examples of aspects of the invention other than those described in the claims.
(1) A frame transfer method in a frame transfer apparatus that includes an arithmetic processing unit, a storage device connected to the arithmetic processing unit, and a network interface including one or more ports and is operable in a plurality of transfer modes. ,
The plurality of transfer modes include a first transfer mode, a second transfer mode, and a third transfer mode,
The frame transfer device includes:
A receiving unit for receiving the frame;
A transmitter for transmitting the frame;
A port determination unit for determining a port to transmit the frame;
A frame analysis unit for analyzing the received frame;
A learning unit that accumulates results analyzed by the frame analysis unit;
Holding a mode information indicating a transfer mode of the frame transfer device, switching the transfer mode based on the mode information, and controlling the frame transfer device;
With
The method
In the first transfer mode,
The frame transfer apparatus includes a step of executing transfer processing of the first frame based on a result of analysis of the first frame received from the port;
In the second transfer mode,
When the frame transfer device receives a second frame from a port to which another frame transfer device is connected, the second frame transfer processing is executed based on the analysis result of the second frame. And steps to
When the frame transfer device receives a third frame from a port to which a device other than the other frame transfer device is connected, the step of transferring the third frame to the other frame transfer device. ,
In the third transfer mode,
When the frame transfer apparatus receives a fourth frame from a port to which the other frame transfer apparatus is connected and the analysis result corresponding to the fourth frame is accumulated, Discarding 4 frames;
When the frame transfer device receives a fifth frame from a port to which a device other than the other frame transfer device is connected, or receives the fourth frame from a port to which the other frame transfer device is connected. And when the analysis result corresponding to the fourth frame is not accumulated, the first frame is analyzed based on the analysis result of the fourth frame or the analysis result of the fifth frame. And a step of executing transfer processing of the fourth frame or the fifth frame.
(2) The frame transfer device operates in either the first transfer mode or the second transfer mode before the transfer mode is switched,
The method further comprises:
The method includes a step of switching from the first transfer mode or the second transfer mode to the first transfer mode or the second transfer mode via the third transfer mode (1 ) Frame transfer method.
(3) The first frame transfer process includes:
Searching a transmission port for transmitting the first frame based on the result of the analysis of the first frame;
When one or more of the transmission ports are searched, transmitting the first frame from the searched one or more ports;
Discarding the first frame if the retrieved transmission ports are zero; and
The second frame transfer process includes:
Searching the transmission port for transmitting the second frame from the ports excluding the port to which the other frame transfer device is connected;
When one or more of the transmission ports are retrieved, transmitting the second frame from the retrieved one or more ports;
Discarding the second frame if the retrieved transmission ports are zero, and
The transfer process of the fourth frame is as follows:
Searching the transmission port for transmitting the fourth frame from among the ports excluding the port to which the other frame transfer device is connected;
When one or more of the transmission ports are searched, transmitting the fourth frame from the searched one or more ports;
Discarding the fourth frame if the retrieved transmission ports are zero, and
The transfer process of the fifth frame is as follows:
Accumulating the results of the analysis of the fifth frame;
Searching a transmission port for transmitting the fifth frame based on a result of the analysis of the fifth frame;
When one or more of the transmission ports are retrieved, transmitting the fifth frame from the retrieved one or more ports;
The frame transfer method according to (2), further comprising a step of discarding the fifth frame when the searched transmission ports are zero.
(4) The frame transfer device
Holds information about switching conditions,
The frame transfer method according to (3), wherein the transfer mode is switched when the switching condition is satisfied.
(5) The frame transfer method according to (3), wherein the frame transfer device switches the transfer mode when receiving an instruction to switch the transfer mode.
(6) The transfer mode switching instruction is defined by IEEE 802.1Qbg and is transmitted by a frame including information indicating a state of the frame transfer device and the other frame transfer device. The frame transfer method described in 1.
(7) The method further includes a step of stopping transfer of a frame received from a port connected to a device other than the other frame transfer device for a predetermined time when the transfer mode is switched. The frame transfer method according to (3).
(8) The method further includes a step of storing the received frame when a frame is received from a port to which a device other than the other frame transfer device is connected while the transfer of the frame is stopped.
The frame transfer method according to (7), further comprising a step of transferring the accumulated frame after the frame transfer stop state is cancelled.
101 ブリッジ装置
102 サーバ装置
104 ノード装置
105 ケーブル
108 演算処理装置
109 記憶装置
110 入出力装置
111 ネットワークインタフェース
114 共有バス
115 演算処理装置
116 記憶装置
117 入出力装置
118 ネットワークインタフェース
119 共有バス
120 全体制御部
121 ポート制御部
124 転送ポート管理表
125 入出力ポート
128 EdgeRelay
129 仮想化ソフトウェア
130 仮想マシン
211 仮想ケーブル
306 状態管理部
307 制御フレーム処理部
308 制御フレーム生成部
309 配送ポート決定部
310 ポート学習部
311 フレーム分類/情報抽出部
312 フレーム蓄積部
313 送受信制御部
314 フレーム受信部
315 フレーム送信部
401 MACアドレス
402 VLAN_ID
403 ポートID
501 EVB_Bridge_status
502 EVB_station_status
503 EVB_Mode
504 RRCAP
505 RRCTR
506 RRREQ
507 RRSTAT
601 VEBモード
602 VEPAモード
603 TRANモード
604 S0状態
605 S1状態
606 S2状態
607 S3状態
608 S4状態
609 S5状態
701 SWモード
702 RRモード
703 B0状態
704 B1状態
705 B2状態
706 B3状態
1301 ブリッジ装置
1302 EdgeRelay
1303 サーバ装置
1306 ノード装置
1307 ケーブル
1308 ケーブル
1311 ケーブル
101 bridge device 102
129 Virtualization software 130 Virtual machine 211
403 Port ID
501 EVB_Bridge_status
502 EVB_station_status
503 EVB_Mode
504 RRCAP
505 RRCTR
506 RRREQ
507 RRSTAT
601
1303
Claims (14)
前記複数の転送モードは、第1の転送モード、第2の転送モード及び第3の転送モードを含み、
前記フレーム転送装置は、
前記フレームを受信する受信部と、
前記フレームを送信する送信部と、
前記フレームを送信するポートを決定するポート決定部と、
受信した前記フレームを解析するフレーム解析部と、
前記フレーム解析部によって解析された結果を蓄積する学習部と、
前記フレーム転送装置の転送モードを示すモード情報を保持し、前記モード情報に基づいて前記転送モードを切り替え、前記フレーム転送装置を制御する状態管理部と、
を備え、
前記第1の転送モードでは、
前記ポートから受信した第1のフレームの解析の結果に基づいて、前記第1のフレームの転送処理を実行し、
前記第2の転送モードでは、
他の前記フレーム転送装置が接続されたポートから第2のフレームを受信した場合には、前記第2のフレームの解析の結果に基づいて、前記第2のフレームの転送処理を実行し、
当該他のフレーム転送装置以外の装置が接続されたポートから第3のフレームを受信した場合には、前記第3のフレームを当該他のフレーム転送装置に転送し、
前記第3の転送モードでは、
前記他のフレーム転送装置が接続されたポートから第4のフレームを受信し、かつ、前記第4のフレームに対応する解析の結果が蓄積されている場合には、前記第4のフレームを廃棄し、
前記他のフレーム転送装置が接続されたポートから前記第4のフレームを受信し、かつ、前記第4のフレームに対応する解析の結果が蓄積されていない場合には、前記第4のフレームの解析の結果に基づいて、前記第4のフレームの転送処理を実行し、
前記他のフレーム転送装置以外の装置が接続されたポートから第5のフレームを受信した場合には、前記第5のフレームの解析の結果に基づいて、前記第5のフレームの転送処理を実行することを特徴とするフレーム転送装置。 A frame transfer device comprising an arithmetic processing device, a storage device connected to the arithmetic processing device, and a network interface having one or more ports, and operable in a plurality of transfer modes,
The plurality of transfer modes include a first transfer mode, a second transfer mode, and a third transfer mode,
The frame transfer device includes:
A receiving unit for receiving the frame;
A transmitter for transmitting the frame;
A port determination unit for determining a port to transmit the frame;
A frame analysis unit for analyzing the received frame;
A learning unit that accumulates results analyzed by the frame analysis unit;
Holding a mode information indicating a transfer mode of the frame transfer device, switching the transfer mode based on the mode information, and controlling the frame transfer device;
With
In the first transfer mode,
Based on the analysis result of the first frame received from the port, the transfer process of the first frame is executed,
In the second transfer mode,
When the second frame is received from the port to which the other frame transfer device is connected, based on the result of the analysis of the second frame, the second frame is transferred.
When a third frame is received from a port to which a device other than the other frame transfer device is connected, the third frame is transferred to the other frame transfer device,
In the third transfer mode,
When the fourth frame is received from the port to which the other frame transfer device is connected and the analysis result corresponding to the fourth frame is accumulated, the fourth frame is discarded. ,
When the fourth frame is received from the port to which the other frame transfer apparatus is connected and the analysis result corresponding to the fourth frame is not accumulated, the analysis of the fourth frame is performed. On the basis of the result of the fourth frame transfer processing,
When receiving the fifth frame from the port in which the other frame transfer apparatus other than the apparatus is connected, based on the results of the analysis of the fifth frame, executes the transfer processing of the fifth frame A frame transfer apparatus.
前記転送モードが切り替えられる前は、前記第1の転送モード又は前記第2の転送モードのいずれかで動作し、
前記転送モードを切り替える場合に、前記第1の転送モード又は前記第2の転送モードから前記第3の転送モードを経由して、前記第1の転送モード又は前記第2の転送モードへ切り替えることを特徴とする請求項1に記載のフレーム転送装置。 The frame transfer device includes:
Before being switched the transfer mode is to operate in either the first transfer mode and the second transfer mode, the
When switching the transfer mode, switching from the first transfer mode or the second transfer mode to the first transfer mode or the second transfer mode via the third transfer mode. The frame transfer apparatus according to claim 1, wherein:
前記第1のフレームの解析の結果に基づいて、前記第1のフレームを送信する送信ポートを検索し、
前記送信ポートが1個以上検索された場合には、前記検索された1個以上のポートから前記第1のフレームを送信し、
前記検索された送信ポートが0個の場合には、前記第1のフレームを廃棄し、
前記第2のフレームの転送処理では、
前記他のフレーム転送装置が接続されるポートを除く前記ポートの中から前記第2のフレームを送信する前記送信ポートを検索し、
前記送信ポートが1個以上検索された場合には、前記検索された1個以上のポートから前記第2のフレームを送信し、
前記検索された送信ポートが0個の場合には、前記第2のフレームを廃棄し、
前記第4のフレームの転送処理では、
前記他のフレーム転送装置が接続されるポートを除く前記ポートの中から前記第4のフレームを送信する前記送信ポートを検索し、
前記送信ポートが1個以上検索された場合には、前記検索された1個以上のポートから前記第4のフレームを送信し、
前記検索された送信ポートが0個の場合には、前記第4のフレームを廃棄し、
前記第5のフレームの転送処理では、
前記第5のフレームの解析の結果に基づいて、前記第5のフレームを送信する送信ポートを検索し、
前記送信ポートが1個以上検索された場合には、前記検索された1個以上のポートから前記第5のフレームを送信し、
前記検索された送信ポートが0個の場合には、前記第5のフレームを廃棄することを特徴とする請求項2に記載のフレーム転送装置。 In the transfer process of the first frame,
Based on the analysis result of the first frame, search for a transmission port for transmitting the first frame;
When one or more of the transmission ports are searched, the first frame is transmitted from the searched one or more ports.
If the retrieved transmission port is 0, the first frame is discarded,
In the transfer process of the second frame,
Searching for the transmission port for transmitting the second frame from the ports excluding the port to which the other frame transfer device is connected,
When one or more transmission ports are searched, the second frame is transmitted from the one or more searched ports.
If the retrieved transmission port is 0, the second frame is discarded,
In the transfer process of the fourth frame,
Searching for the transmission port for transmitting the fourth frame from the ports excluding the port to which the other frame transfer device is connected,
When one or more transmission ports are searched, the fourth frame is transmitted from the one or more searched ports.
If the retrieved transmission port is 0, the fourth frame is discarded,
In the transfer process of the fifth frame,
Based on the analysis result of the fifth frame, search for a transmission port for transmitting the fifth frame;
When one or more of the transmission ports are searched, the fifth frame is transmitted from the searched one or more ports.
3. The frame transfer apparatus according to claim 2, wherein when the searched transmission port is 0, the fifth frame is discarded.
切替条件に関する情報を保持し、
前記切替条件が満たされた場合に、前記転送モードを切り替えることを特徴とする請求項3に記載のフレーム転送装置。 The frame transfer device includes:
Holds information about switching conditions,
The frame transfer device according to claim 3, wherein the transfer mode is switched when the switching condition is satisfied.
前記フレームの転送停止状態が解除された後に、前記蓄積されたフレームを転送することを特徴とする請求項7に記載のフレーム転送装置。 When a frame is received from a port to which a device other than the other frame transfer device is connected while the transfer of the frame is stopped, the received frame is accumulated,
8. The frame transfer apparatus according to claim 7, wherein the stored frame is transferred after the frame transfer stop state is released.
前記フレーム転送装置は、ネットワークを介して、他のフレーム転送装置と接続され、
前記フレーム転送装置は、
前記フレームを受信する受信部と、
前記フレームを送信する送信部と、
前記フレームを送信するポートを決定するポート決定部と、
受信した前記フレームを解析するフレーム解析部と、
前記フレーム解析部によって解析された結果を蓄積する学習部と、
前記他のフレーム転送装置の制御を指示する制御フレームを生成するフレーム生成部と、
前記フレーム転送装置の転送モードを示すモード情報を保持し、前記モード情報に基づいて、前記転送モードを切り替えて、前記フレーム転送装置を制御する状態管理部と、
を備え、
前記複数の転送モードは、
前記ポートからフレームを受信した場合に、前記受信したフレームの解析の結果に基づいて、前記フレームを受信したポートを除く前記ポートの中から前記フレームを送信する送信ポートを検索し、前記送信ポートが1個以上検索された場合には前記検索された1個以上のポートから前記フレームを送信し、前記検索された送信ポートが0個の場合には前記フレームを廃棄する第1の転送モードと、
前記ポートからフレームを受信した場合に、前記受信したフレームの解析の結果に基づいて、前記フレームを送信する前記送信ポートを検索し、前記送信ポートが1個以上検索された場合には前記検索された1個以上のポートから前記フレームを送信し、前記検索された送信ポートが0個の場合には前記フレームを廃棄する第2の転送モードと、
を含み、
前記フレーム転送装置は、
前記他のフレーム転送装置が接続される第1のポートから、前記他のフレーム転送装置の前記転送モードの切り替えを要求する第1の制御フレームを送信し、
前記第1のポートにおける前記第1の転送モードと前記第2の転送モードとの間の切替処理を要求する第2の制御フレームを前記第1のポートから受信し、
前記第2の制御フレームに基づいて、前記切替処理を実行し、
前記切替処理の結果を通知する第3の制御フレームを生成し、
前記生成された第3の制御フレームを前記第1のポートから送信することを特徴とするフレーム転送装置。 A frame transfer device comprising: an arithmetic processing device; a storage device connected to the arithmetic processing device; and a network interface including one or more ports, each of the ports being operable in a plurality of transfer modes,
The frame transfer device is connected to another frame transfer device via a network,
The frame transfer device includes:
A receiving unit for receiving the frame;
A transmitter for transmitting the frame;
A port determination unit for determining a port to transmit the frame;
A frame analysis unit for analyzing the received frame;
A learning unit that accumulates results analyzed by the frame analysis unit;
A frame generation unit for generating a control frame for instructing control of the other frame transfer device;
A state management unit that holds mode information indicating a transfer mode of the frame transfer device, switches the transfer mode based on the mode information, and controls the frame transfer device;
With
The plurality of transfer modes are:
When a frame is received from the port, a transmission port for transmitting the frame is searched from the ports other than the port that has received the frame based on the analysis result of the received frame. A first transfer mode for transmitting the frame from the one or more searched ports when one or more are searched, and discarding the frame when the searched transmission ports are zero;
When a frame is received from the port, the transmission port for transmitting the frame is searched based on the analysis result of the received frame, and when one or more transmission ports are searched, the search is performed. A second transfer mode for transmitting the frame from one or more ports, and discarding the frame when the searched transmission ports are 0;
Including
The frame transfer device includes:
Transmitting a first control frame requesting switching of the transfer mode of the other frame transfer device from a first port to which the other frame transfer device is connected;
Receiving a second control frame requesting the switching process between the first transfer mode in the first port and the second transfer mode from said first port,
Executing the switching process based on the second control frame;
Generating a third control frame notifying the result of the switching process;
The frame transfer apparatus, wherein the generated third control frame is transmitted from the first port.
前記第1のフレーム転送装置及び前記第2のフレーム転送装置は、ネットワークを介して接続され、
前記第1のフレーム転送装置における前記複数の転送モードは、第1の転送モード又は第2の転送モードを含み、
前記第2のフレーム転送装置における前記複数の動作モードは、第3の転送モード、第4の転送モード又は第5の転送モードを含み、
前記第1のフレーム転送装置は、
前記フレームを受信する第1の受信部と、
前記フレームを送信する第1の送信部と、
前記フレームを送信するポートを決定する第1のポート決定部と、
受信した前記フレームを解析する第1のフレーム解析部と、
前記第1のフレーム解析部によって解析された結果を蓄積する第1の学習部と、
前記第2のフレーム転送装置の制御を指示する制御フレームを生成する第1のフレーム生成部と、
前記フレーム転送装置の転送モードを示すモード情報を保持し、前記モード情報に基づいて、前記転送モードを切り替えて、前記フレーム転送装置を制御する第1の状態管理部と、を有し、
前記第2のフレーム転送装置は、
前記フレームを受信する第2の受信部と、
前記フレームを送信する第2の送信部と、
前記フレームを送信するポートを決定する第2のポート決定部と、
受信した前記フレームを解析する第2のフレーム解析部と、
前記第2のフレーム解析部によって解析された結果を蓄積する第2の学習部と、
前記第1のフレーム転送装置の制御を指示する制御フレームを生成する第2のフレーム生成部と、
前記フレーム転送装置の転送モードを示すモード情報を保持し、前記モード情報に基づいて、前記転送モードを切り替えて、前記フレーム転送装置を制御する第2の状態管理部と、を有し、
前記第1の転送モードでは、
前記第1のフレーム転送装置が、前記ポートから第1のフレームを受信した場合に、前記第1のフレームの解析の結果に基づいて、前記第1のフレームを受信したポートを除く前記ポートの中から前記第1のフレームを送信する送信ポートを検索し、前記送信ポートが1個以上検索された場合には前記検索された1個以上のポートから前記第1のフレームを送信し、前記検索された送信ポートが0個の場合には前記第1のフレームを廃棄し、
前記第2の転送モードでは、
前記第1のフレーム転送装置が、前記ポートから第2のフレームを受信した場合に、前記第2のフレームの解析の結果に基づいて、前記第2のフレームを送信する送信ポートを検索し、前記送信ポートが1個以上検索された場合には前記検索された1個以上のポートから前記第2のフレームを送信し、前記検索された送信ポートが0個の場合には前記第2のフレームを廃棄し、
前記第3の転送モードでは、
前記第2のフレーム転送装置が、前記ポートから受信した第3のフレームの解析の結果に基づいて、前記第3のフレームの転送処理を実行し、
前記第4の転送モードでは、
前記第2のフレーム転送装置が、前記第1のフレーム転送装置が接続される第2のポートから第4のフレームを受信した場合に、前記第4のフレームの解析の結果に基づいて、前記第4のフレームの転送処理を実行し、当該第1のフレーム転送装置以外の装置が接続される前記ポートから第5のフレームを受信した場合に、前記第5のフレームを当該第2のフレーム転送装置に転送し、
前記第5の転送モードでは、
前記第2のフレーム転送装置が、前記第1のフレーム転送装置が接続される前記第2のポートから第6のフレームを受信し、かつ、前記第6のフレームに対応する解析の結果が蓄積されている場合には前記第6のフレームを廃棄し、当該第1のフレーム転送装置以外の装置が接続されるポートから第7のフレームを受信した場合、又は、当該第1のフレーム転送装置が接続される前記第2のポートから前記第6のフレームを受信し、かつ、前記第6のフレームに対応する解析の結果が蓄積されていない場合には前記第6のフレーム又は前記第7のフレームの解析の結果に基づいて、前記第6のフレーム又は前記第7のフレームの転送処理を実行し、
前記ネットワークシステムは、
前記第2のフレーム転送装置が、
前記転送モードの切り替えを要求する第1の制御フレームを受信した場合に、当該第1の制御フレームに基づいて、前記第1のフレーム転送装置に前記転送モードの切り替えを要求する第2の制御フレームを生成し、
前記生成された第2の制御フレームを前記第1のフレーム転送装置に送信し、
前記第1のフレーム転送装置が、
前記第2の制御フレームに基づいて、前記第2のフレーム転送装置が接続される前記ポートの前記転送モードを切り替え、
前記転送モードを切り替えた旨を通知する第3の制御フレームを生成し、
前記第3の制御フレームを前記第2のフレーム転送装置に送信し、
前記第2のフレーム転送装置が、前記第3の制御フレームを受信した後に前記転送モードを切り替えることを特徴とするネットワークシステム。 A first arithmetic processing unit, a first storage device connected to the first arithmetic processing unit, and a first network interface having one or more ports, each port being operable in a plurality of transfer modes A first frame transfer device, a second arithmetic processing device, a second storage device connected to the second arithmetic processing device, and a second network interface having one or more ports, A second frame transfer apparatus operable in a transfer mode, and a network system comprising:
The first frame transfer device and the second frame transfer device are connected via a network,
The plurality of transfer modes in the first frame transfer device include a first transfer mode or a second transfer mode,
The plurality of operation modes in the second frame transfer device include a third transfer mode, a fourth transfer mode, or a fifth transfer mode,
The first frame transfer device includes:
A first receiving unit for receiving the frame;
A first transmitter for transmitting the frame;
A first port determining unit for determining a port for transmitting the frame;
A first frame analysis unit for analyzing the received frame;
A first learning unit for accumulating results analyzed by the first frame analysis unit;
A first frame generation unit for generating a control frame for instructing control of the second frame transfer device;
A first state management unit that holds mode information indicating a transfer mode of the frame transfer device, switches the transfer mode based on the mode information, and controls the frame transfer device;
The second frame transfer device includes:
A second receiving unit for receiving the frame;
A second transmitter for transmitting the frame;
A second port determining unit for determining a port to transmit the frame;
A second frame analysis unit for analyzing the received frame;
A second learning unit for accumulating results analyzed by the second frame analysis unit;
A second frame generation unit for generating a control frame for instructing control of the first frame transfer device;
A second state management unit that holds mode information indicating a transfer mode of the frame transfer device, switches the transfer mode based on the mode information, and controls the frame transfer device;
In the first transfer mode,
When the first frame transfer apparatus receives the first frame from the port, the first frame transfer apparatus is configured to determine whether the first frame transfer device excludes the port that has received the first frame based on the analysis result of the first frame. The transmission port for transmitting the first frame is searched, and when one or more transmission ports are searched, the first frame is transmitted from the searched one or more ports, and the search is performed. The first frame is discarded when the number of transmitted ports is zero,
In the second transfer mode,
When the first frame transfer device receives a second frame from the port, the first frame transfer device searches for a transmission port for transmitting the second frame based on the analysis result of the second frame, and When one or more transmission ports are searched, the second frame is transmitted from the searched one or more ports. When the number of searched transmission ports is zero, the second frame is transmitted. Discard,
In the third transfer mode,
The second frame transfer device executes the transfer process of the third frame based on the analysis result of the third frame received from the port;
In the fourth transfer mode,
When the second frame transfer apparatus receives a fourth frame from the second port to which the first frame transfer apparatus is connected, the second frame transfer apparatus is configured to perform the first frame analysis based on the analysis result of the fourth frame. 4, when the fifth frame is received from the port to which a device other than the first frame transfer device is connected, the fifth frame is transferred to the second frame transfer device. Forward to
In the fifth transfer mode,
The second frame transfer apparatus receives a sixth frame from the second port to which the first frame transfer apparatus is connected, and an analysis result corresponding to the sixth frame is accumulated. If the seventh frame is discarded and the seventh frame is received from a port to which a device other than the first frame transfer device is connected, or the first frame transfer device is connected When the sixth frame is received from the second port and the analysis result corresponding to the sixth frame is not accumulated, the sixth frame or the seventh frame Based on the result of the analysis, the transfer process of the sixth frame or the seventh frame is executed,
The network system includes:
The second frame transfer device comprises:
A second control frame requesting the first frame transfer apparatus to switch the transfer mode based on the first control frame when a first control frame requesting the transfer mode switching is received Produces
Transmitting the generated second control frame to the first frame transfer device;
The first frame transfer device comprises:
Based on the second control frame, switching the transfer mode of the port to which the second frame transfer device is connected,
Generating a third control frame notifying that the transfer mode has been switched;
Transmitting the third control frame to the second frame transfer device;
The network system, wherein the second frame transfer apparatus switches the transfer mode after receiving the third control frame.
前記第1の制御フレームを受信する前は、前記第3の転送モード又は前記第4の転送モードのいずれかで動作し、
前記第1の制御フレームを受信した後、前記第3の転送モード又は前記第4の転送モードから前記第5の転送モードに切り替え、
前記第4の制御フレームを受信した後、前記第4の転送モード又は前記第3の転送モードに切り替えることを特徴とする請求項11に記載のネットワークシステム。 The second frame transfer device includes:
Before receiving the first control frame, operate in either the third transfer mode or the fourth transfer mode,
After receiving the first control frame, switching from the third transfer mode or the fourth transfer mode to the fifth transfer mode,
The network system according to claim 11, wherein the network system is switched to the fourth transfer mode or the third transfer mode after receiving the fourth control frame.
前記第3の転送モードから前記第4の転送モードへ切り替える場合、又は、前記第4の転送モードから前記第3の転送モードへ切り替える場合、前記第1のフレーム転送装置以外の装置が接続されたポートから受信したフレームの転送を所定時間停止し、
前記フレームの転送が停止されているときに前記第1のフレーム転送装置以外の装置が接続されたポートからフレームを受信した場合に、前記受信したフレームを蓄積し、
前記フレームの転送停止状態が解除された後に、前記蓄積されたフレームを転送することを特徴とする請求項12に記載のネットワークシステム。 The second frame transfer device includes:
When switching from the third transfer mode to the fourth transfer mode, or when switching from the fourth transfer mode to the third transfer mode, a device other than the first frame transfer device is connected. Stop forwarding frames received from the port for a specified time,
When a frame is received from a port connected to a device other than the first frame transfer device when transfer of the frame is stopped, the received frame is accumulated,
13. The network system according to claim 12, wherein the accumulated frame is transferred after the frame transfer stop state is released.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011255570A JP5712416B2 (en) | 2011-11-22 | 2011-11-22 | Frame transfer apparatus and network system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011255570A JP5712416B2 (en) | 2011-11-22 | 2011-11-22 | Frame transfer apparatus and network system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013110656A JP2013110656A (en) | 2013-06-06 |
JP5712416B2 true JP5712416B2 (en) | 2015-05-07 |
Family
ID=48706992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011255570A Active JP5712416B2 (en) | 2011-11-22 | 2011-11-22 | Frame transfer apparatus and network system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5712416B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102008918B1 (en) * | 2017-10-13 | 2019-08-08 | 엔에이치엔 주식회사 | Cloud network architecture |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4990304B2 (en) * | 2009-01-28 | 2012-08-01 | 株式会社日立製作所 | Frame transmitting / receiving apparatus and communication data processing method |
-
2011
- 2011-11-22 JP JP2011255570A patent/JP5712416B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013110656A (en) | 2013-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011198299A (en) | Program, computer, communicating device, and communication control system | |
US7809909B2 (en) | Remote copy network | |
JP5643990B2 (en) | Network device and network system | |
JP4171910B2 (en) | Parallel processing system and parallel processing program | |
CN103155497A (en) | Communication system, control device, node, processing rule setting method and program | |
JP2014216905A (en) | Communication path switching device, communication path switching method and communication path switching program | |
JP3988146B2 (en) | Multi-node system, inter-node crossbar switch, node, switch program and node program | |
JP4571576B2 (en) | Remote copy storage system and remote copy method | |
JP3445435B2 (en) | Control device and control method for continuous data server device | |
WO2012073276A1 (en) | Storage system using sas bypass expanders | |
CN110019484B (en) | Database system, implementation method, management device, data interface device and medium | |
JP5712416B2 (en) | Frame transfer apparatus and network system | |
JP2005115603A (en) | Storage device control apparatus and control method thereof | |
US20040190546A1 (en) | Method and apparatus for controlling management agents in a computer system on a packet-switched input/output network | |
US8051203B2 (en) | Providing SCSI acceleration as a service in the SAN | |
JP2010152591A (en) | Database system, data processing method, and data processing program | |
JP3643574B2 (en) | Process migration method, communication system, computer | |
CN101604270A (en) | ARINC429 communication redundancy method based on vxworks operating system | |
US9288267B2 (en) | Handling of data transfer in a LAN-free environment | |
JP6056408B2 (en) | Fault tolerant system | |
JP2003046526A (en) | Inter-node data transfer method and data transfer device | |
JP6036690B2 (en) | Distributed execution system and distributed program execution method | |
WO2014155654A1 (en) | Information processing device, and information processing device replacement assistance system and replacement assistance method | |
WO2022208856A1 (en) | Communication system, switching device, switching method, and program | |
US12086619B2 (en) | Function coordination device, virtual machine communication system, and function coordination method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140609 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140617 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150126 |
|
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: 20150210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150213 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5712416 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |