JP6460256B2 - フロー処理装置、通信システム及びフロー処理方法 - Google Patents

フロー処理装置、通信システム及びフロー処理方法 Download PDF

Info

Publication number
JP6460256B2
JP6460256B2 JP2017547608A JP2017547608A JP6460256B2 JP 6460256 B2 JP6460256 B2 JP 6460256B2 JP 2017547608 A JP2017547608 A JP 2017547608A JP 2017547608 A JP2017547608 A JP 2017547608A JP 6460256 B2 JP6460256 B2 JP 6460256B2
Authority
JP
Japan
Prior art keywords
mac
entry
frame
flow processing
duplication
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
Application number
JP2017547608A
Other languages
English (en)
Other versions
JPWO2017073033A1 (ja
Inventor
真実雄 外園
真実雄 外園
一志 久保田
一志 久保田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2017073033A1 publication Critical patent/JPWO2017073033A1/ja
Application granted granted Critical
Publication of JP6460256B2 publication Critical patent/JP6460256B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、フロー処理装置、通信システム及び通信方法に関する。
ネットワークの規格として、IEEE(Institute of Electrical and Electronics Engineers, Inc.)802.1Qがある。IEEE802.1Qは、QinQと呼ばれている。
また、ネットワークに仮想的なLAN(Local Area Network)を構築する技術として、VLAN(Virtual LAN)がある。
大規模な仮想ネットワークを構築するために、QinQを用いた仮想ネットワーク構成モデル(QinQモデル)が採用されている。
QinQモデルでは、制御装置が、ユーザや上位制御装置により設定された仮想ネットワーク構成に基づき、OpenFlowなどの制御プロトコルを使用して、複数のフロー処理装置を制御する。QinQモデルは、例えば、仮想ネットワークの配下に仮想ブリッジを配置する構成である。QinQモデルは、フロー制御装置が管理する仮想ネットワークID(IDentifier)と仮想ブリッジIDとを、それぞれフレームのOVID(Outer VLAN ID)とIVID(Inner VLAN ID)とに対応づける。このことで、QinQモデルは、当該仮想ブリッジ単位でMAC(Media Access Control)フォワーディングを実現する。
ここで、特許文献1には、仮想的に構築される仮想マシンとネットワーク装置とで構成されるネットワーク環境では、正常な通信ができなくなってしまう場合があることが記載されている。詳細には、特許文献1には、上記環境では、仮想マシン作成時に設定されるMACアドレスが重複すると、MACアドレスが重複してしまった稼働中の仮想マシンに対して、正常な通信ができなくなってしまう場合があることが記載されている。
そして、特許文献2には、MAC重複によって正常な通信ができなくなってしまうことを回避するために、クライアント装置を異なるサブネットに割り当てることが開示されている。詳細には、特許文献2には、上記を回避するため、必要に応じて同じMACアドレスをもつ2つのクライアント装置が同じサブネットに割り当てられないように、クライアント装置を異なるサブネットに割り当てることが開示されている。
特開2013−168771号公報 特表2012−525018号公報
上述したとおり、特許文献2に記載の発明は、同じMACアドレスをもつ2つのクライアント装置が同じサブネットに割り当てられないようにすることで、MAC重複を発生させないようにするものである。
しかしながら、特許文献2に記載の発明では、同じサブネット内に同じMACアドレスをもつ2つのクライアント装置を割り当てることができないため、MACアドレスの設定の柔軟性が低下してしまうという問題が生じる。また、QinQモデルにおけるコアスイッチは、IVIDは異なるが、送信元MACアドレスが同じフレームを受信する場合があり、当該コアスイッチにおいてMAC重複の問題が発生してしまう。
本発明は、上記課題に鑑み、フロー処理装置においてMAC重複が発生した場合であっても、当該MAC重複による誤転送を回避することが可能なフロー処理装置、通信システム及びフロー処理方法を提供することである。
本発明の一態様のフロー処理装置は、MACエントリが登録されたMACアドレステーブルと、受信したフレームに基づいてMACエントリの送信先情報が更新されたことに応じて、当該フレームに関連する情報を含む重複エントリを登録するMAC重複テーブルと、MAC重複テーブルに互いに関連する複数の重複エントリが登録されたことに応じて、当該複数の重複エントリに関連するフレームを転送するための転送用エントリを登録するアクセスリストテーブルと、を備え、複数の重複エントリに関連するフレームを、転送用エントリに従って転送することを特徴とする。
本発明の一態様の通信システムは、制御装置からの指示に基づいてフレームを転送するノードと、ノードから受信したフレームを、MACエントリが登録されたMACアドレステーブルに基づいて転送するフロー処理装置と、を含み、フロー処理装置は、受信したフレームに基づいてMACエントリの送信先情報が更新されたことに応じて、当該フレームに関連する情報を含む重複エントリを登録するMAC重複テーブルと、MAC重複テーブルに互いに関連する複数の重複エントリが登録されたことに応じて、当該複数の重複エントリに関連するフレームを転送するための転送用エントリを登録するアクセスリストテーブルと、を備え、複数の重複エントリに関連するフレームを、転送用エントリに従って転送することを特徴とする。
本発明の一態様のフロー処理方法は、MACエントリを登録し、受信したフレームに基づいてMACエントリの送信先情報が更新されたことに応じて、当該フレームに関連する情報を含む重複エントリを登録し、互いに関連する複数の重複エントリが登録されたことに応じて、当該複数の重複エントリに関連するフレームを転送するための転送用エントリを登録し、複数の重複エントリに関連するフレームを、転送用エントリに従って転送する、ことを特徴とする。
本発明のフロー処理装置、通信システム及びフロー処理方法は、フロー処理装置においてMAC重複が発生した場合であっても、当該MAC重複による誤転送を回避することが可能である。
第1の実施形態の通信システムの構成例である。 第1の実施形態のフロー処理装置の構成例である。 第1の実施形態におけるフロー処理装置の動作例を示すフローチャートである。 第2の実施形態の通信システムの構成例である。 第2の実施形態のフロー処理装置の構成例である。 第2の実施形態の各テーブルに格納されるエントリの構成例である。 第2の実施形態におけるフロー処理装置の動作例を示すフローチャートである。 第2の実施形態のフロー処理装置の構成例である。 第2の実施形態のフロー処理装置の他の構成例である。 第2の実施形態におけるフロー処理装置の他の動作例を示すフローチャートである。 第2の実施形態におけるフロー処理装置の他の動作例を示すフローチャートである。 第2の実施形態のフロー処理装置の他の構成例である。 第2の実施形態におけるフロー処理装置の他の動作例を示すフローチャートである。 第2の実施形態のフロー処理装置の他の構成例である。 第2の実施形態におけるフロー処理装置の他の動作例を示すフローチャートである。 第2の実施形態のフロー処理装置の他の構成例である。 第2の実施形態におけるフロー処理装置の他の動作例を示すフローチャートである。 第2の実施形態のフロー処理装置の他の構成例である。 第1の実施形態の概要の構成例である。
以下、本発明の実施形態及び実施例について、図面を参照して説明する。各実施形態は、例示であり、本発明は各実施形態に限定されるものではない。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
なお、同様の複数の構成には、同じ参照符号とアルファベットを付す。これらの構成をまとめて説明する場合は、参照符号を用いる。
<第1の実施形態>
図1は、本発明の第1の実施形態における通信システムの構成例を示す図である。
図1に示すように、第1の実施形態における通信システムは、フロー制御装置100と、エッジノード200と、端末300と、フロー処理装置400とを含む。フロー処理装置400は、物理ネットワーク500に含まれる。
フロー制御装置100は、例えば、集中管理型のアーキテクチャにおいて、パケット処理を実行するノードを管理可能である。
集中管理型のアーキテクチャは、例えば、OpenFlowネットワークである。OpenFlowネットワークでは、一般的なスイッチの機構が、次のモジュールに分離されている。第1のモジュールは、経路の決定処理を外部からプログラミングすることで変更可能としたモジュールであるOFC(OFC:OpenFlow Controller)である。第2のモジュールは、パケット転送処理のみを行うモジュールであるOFS(OFS:OpenFlow Switch)である。
OpenFlowネットワークにおけるOFSとは、OpenFlowネットワークを形成し、OFCの制御下にあるエッジスイッチ及びコアスイッチのことである。OpenFlowネットワークでは、OFCが、OFSのフローテーブルを操作することによりOFSの挙動を制御する。
フローテーブルとは、所定の条件(ルール)に適合(マッチ)するパケット(通信データ)に対して行うべき所定の動作(アクション)を定義したフローエントリ(Flow entry)が登録されたテーブルである。
各OFSは、フローテーブルを少なくとも1つ保持している。OFCは、配下の各OFSのフローテーブルと同じ内容のフローテーブルを全て保持している。すなわち、OFCは、各OFSのフローテーブルのマスターテーブルを保持している。なお、「フローテーブルを保持している」とは、そのフローテーブルを管理していることを意味する。そのフローテーブルをネットワーク経由等で管理可能であれば、実際には、そのフローテーブルが自身の内部に存在していなくても良い。例えば、OFCとOFSが、ネットワーク上にある同一のフローテーブルを共有することも考えられる。
フローエントリのルールは、以下のアドレス及びポートのいずれか、又は、全てを用いた様々な組み合わせにより定義され、区別可能である。アドレスは、パケットの各プロトコル階層のヘッダ領域に含まれる送信先アドレス(Destination Address)、及び、送信元アドレス(Source Address)である。ポートは、送信先ポート(Destination Port)、及び送信元ポート(Source Port)のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスは、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローエントリのルールとして使用可能である。また、フローエントリのルールは、フローエントリのルールとして、フローを示すパケットのヘッダ領域の値の一部(又は全部)を、正規表現やワイルドカード「*」等で表現したものを設定することもできる。
OFSは、ルールの欄に記述された内容にマッチするパケットを、アクションの欄に記述された内容に従って処理する。OFCは、このようなフローエントリをOFSに登録することで、マッチするパケットに対する処理を制御できるのである。
OFSは、パケットが到着した時、当該パケットのヘッダ情報(送信元情報や送信先情報等)を読み取り、自身のフローテーブルの中から、マッチするルールを持つフローエントリ(以下、マッチするフローエントリと呼ぶ)を検索する。検索の結果、マッチするフローエントリが見つかった場合、OFSは、そのフローエントリのアクションに記載されている通りにパケットを処理する。なお、複数のフローエントリが見つかった場合、見つかったフローエントリのうち、最も優先度が高いフローエントリに従い、パケットを処理する。また、検索の結果、マッチするフローエントリが見つからなかった場合、OFSは、当該パケットを「ファーストパケット」と判断する。そして、OFSは、当該パケットのコピー(複製)をOFCに転送することで、当該パケットをどのように処理すべきかについてOFCに問い合わせる。
OFCは、OFSから問い合わせを受けた場合、経路計算を行い、問い合わせを受けたパケットを送信先まで転送するための最適な経路を導出する。また、OFCは、OFSのフローテーブルに、導出した経路を構成するためのフローエントリを新規に追加登録する。このとき、OFCは、自身のフローテーブルにも同じフローエントリを新規に追加登録する。
エッジノード200は、物理ネットワーク500の境界に位置し、パケットに対する処理を実行する。エッジノード200は、例えば、OFSの機能を含む。なお、エッジノード200は、OFSの機能でパケットを処理するだけでなく、例えば、MAC学習によってパケットを処理する機能も含む。
なお、エッジノード200と、フロー処理装置400とは、同様の構成を備える装置であってもよい。この場合において、当該装置が物理ネットワーク500の境界に配置される場合には、エッジノード200となり、フロー制御装置100からの制御によって、転送処理を実行する。一方、当該装置が物理ネットワーク500のコア部分に配置される場合には、フロー処理装置400となり、MAC学習によって転送処理を実行する。
端末300は、エッジノード200やフロー処理装置400などを介して通信を行う装置である。端末300は、例えば、携帯電話、PC(Personal Computer)、又は、モバイルルータである。あるいは、端末300は、例えば、スマートデバイス(例えば、家庭の消費電力をモニタするスマートメータ、スマートテレビ、ウェアラブル端末)、又は、M2M(Machine to Machine)デバイス等である。M2Mデバイスは、例えば、上記のデバイスに加え、産業機器、車、ヘルスケア機器、及び、家電等を含む。
フロー処理装置400は、例えば、QinQを用いたネットワーク(QinQモデル)に含まれるコアノードである。なお、フロー処理装置400は、受信したフレーム600を、MAC学習に基づいて転送する。
QinQモデルでは、フロー制御装置100が、ユーザや上位制御装置により設定された仮想ネットワーク構成に基づき、OpenFlowなどの制御プロトコルを使用して、エッジノード200及びフロー処理装置400を遠隔制御する。QinQモデルは、仮想ネットワーク配下に仮想ブリッジを配置する単純な構成である。QinQモデルは、フロー制御装置100が管理する仮想ネットワークIDと仮想ブリッジIDを、それぞれフレーム600のOVIDとIVIDに対応づける。そのことで、QinQモデルは、仮想ネットワーク単位の仮想ブリッジ単位で、MACフォワーディングの転送制御を実現している。
しかしながら、フロー処理装置400の制御は、ハードウェアチップで制御可能なOuterVLAN単位のMACフォワーディングで実行される。そのため、1つのフロー処理装置400に、送信元MACアドレスとOVIDとは同じだが、異なるIVIDである異なるフレーム600が、異なるポートから入力(受信)した場合、MAC移動(MAC重複)が発生してしまう。つまり、当該異なるフレーム600が入力する都度、MAC移動(MAC重複)が発生してしまう。すなわち、特定の仮想ネットワークに含まれる複数の仮想ブリッジに対して、送信元MACアドレスとOVIDとは同じだが、異なるIVIDである異なるフレーム600が入力した場合には、MAC移動(MAC重複)が発生してしまう。つまり、当該異なるIVID間においてフレーム600が入力される度に、MAC移動(MAC重複)が発生してしまう。この場合、当該送信元MACアドレスを送信先とするフレーム600が、正しい送信先だけでなく、誤った送信先にも転送されてしまうという問題が生じる。
図2は、フロー処理装置400の構成例を示す図である。フロー処理装置400は、例えば、制御部401と、ポート410と、MACアドレステーブル420と、MAC重複テーブル490と、アクセスリストテーブル450とを備える。制御部401とMAC重複テーブル490は、ソフトウェア上に構成される。ポート410と、MACアドレステーブル420と、アクセスリストテーブル450とは、ハードウェアとして構成される。
ポート410は、フレーム600を送受信するインターフェースである。
MACアドレステーブル420は、MACエントリ421を含む。MACエントリ421は、キーが“OVID及び送信先MACアドレス”であり、アクションが“出力ポート”の指定である。すなわち、MACエントリ421に指定された“OVID及び送信先MACアドレス”を含むフレーム600が入力した場合、フロー処理装置400は、出力ポートを決定できる。
ここで、フロー処理装置400は、エッジノード200Bから、“OVID:N1、IVID:B1、送信元MACアドレス:M1”のフレーム600Bを受信する。この場合、フロー処理装置400のMACアドレステーブル420は、フレーム600Bを受信したことに応じて、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールを学習する(MAC学習)。
フロー処理装置400は、フレーム600Bを受信した後に、エッジノード200Cから、“OVID:N1、IVID:B2、送信元MACアドレス:M1”のフレーム600Cを受信する。この場合、フロー処理装置400のMACアドレステーブル420は、フレーム600Cを受信したことに応じて、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールを更新する。ここで、更新後の転送ルールは、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Cに転送する”旨である。これが、MAC移動である。
続いて、フロー処理装置400は、エッジノード200Aから、“OVID:N1、IVID:B1、送信元MACアドレス:M2、送信先MACアドレス:M1”のフレーム600Aを受信する。この場合、フロー処理装置400は、更新した“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Cに転送する”旨の転送ルールに従って、当該フレーム600Aを転送する。ここで、フレーム600Aは送信先MACアドレスが“M1”であるところ、本来の転送先は“ポート410B”である。しかしながら、フレーム600Cに基づいてMACアドレステーブル420が更新された結果、当該フレーム600Aは本来の転送先(“ポート410B”)とは異なる“ポート410C”に転送されてしまうという問題が生じる。また、フレーム600Bとフレーム600Cとが受信する毎にMACアドレステーブル420が書き換わる(MAC移動する)。そのため、フレーム600Aが、ある時は“ポート410B”に転送され、別の時は“ポート410C”に転送されてしまうという問題も生じる。
そこで、第1の実施形態におけるフロー処理装置400は、MAC重複テーブル490を含み、MAC重複による問題を解決する。
フロー処理装置400の制御部401は、異なる入力ポートの各々から、送信元MACアドレスとOVIDとが重複するフレーム600(例えば、フレーム600Bとフレーム600C)を受信したことに応じて、次のように動作する。制御部401は、MAC重複テーブル490に、送信先MACアドレスと、OVIDと、IVIDとを用いた転送ルールを登録する。例えば、フロー処理装置400は、フレーム600Bに続いてフレーム600Cを受信した場合、次のように動作する。フロー処理装置400は、MAC重複テーブル490において、フレーム600Cに基づいて、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2のフレームを、ポート410Cに転送する”旨のMAC重複エントリ491を学習する。フロー処理装置400は、フレーム600Cを受信した後に、再度、フレーム600Bを受信すると、MACアドレステーブル420において、再度、MAC移動が発生する。従って、制御部401は、MAC重複テーブル490に、フレーム600Bに基づいて、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB1のフレームを、ポート410Bに転送する”旨のMAC重複エントリ491を学習する。
フロー処理装置400の制御部401は、MAC重複テーブル490において、送信先MACアドレスとOVIDとが同じであるMAC重複エントリ491が複数登録されたことに応じて、次のように動作する。すなわち、制御部401は、MACアドレステーブル420から、当該重複エントリに関連する転送ルールを削除する。フロー処理装置400は、例えば、MAC重複テーブル490に“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2”及び“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB1”が登録された場合、次のように動作する。すなわち、フロー処理装置400は、MACアドレステーブル420から、関連する“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールを削除する。ここで、削除される転送ルールは、MAC重複エントリ491と、“送信先MACアドレスと、OVID”が同じ転送ルールである。
フロー処理装置400の制御部401は、アクセスリストテーブル450に、MAC重複テーブル490に学習した転送ルールに対応する出力用のMAC重複エントリ491(転送ルール)を設定する。制御部401は、例えば、MAC重複テーブル490において、“送信先MACアドレス”と“OVID”とが同じである重複エントリが複数登録されたことに応じて、次のように動作する。すなわち、制御部401は、アクセスリストテーブル450に、出力用のエントリ(MAC重複UC(Unified Communation)出力用エントリ453)を登録する。MAC重複UC出力用エントリ453は、キーが“送信先MACアドレス”と“OVID”と“IVID”で、アクションが“送信先ポート”のエントリである。例えば、アクセスリストテーブル450には、2つの転送ルールが登録される。第1の転送ルールは、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB1のフレームを、ポート410Bに転送する”旨の転送ルールである。そして、第2の転送ルールは、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2のフレームを、ポート410Cに転送する”旨の転送ルールである。
その結果、フロー処理装置400は、“IVID”を加味した転送が可能となり、当該フレーム600を本来の転送先に転送することが可能となる。例えば、フロー処理装置400は、エッジノード200Aからフレーム600Aを受信した場合、次のように動作する。フロー処理装置400は、アクセスリストテーブル450に含まれる“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB1のフレームを、ポート410Bに転送する”旨の転送ルールに従って、当該フレーム600Aをポート410Bに転送する。
図3は、第1の実施形態におけるフロー処理装置400の動作例を示すフローチャートである。
フロー処理装置400が、送信元アドレスが同じ異なるフレーム600を、異なるポート410から受信する(S101)。フロー処理装置400は、例えば、エッジノード200Bから、“OVID:N1、IVID:B1、送信元MACアドレス:M1”のフレーム600Bを受信する。一方、フロー処理装置400は、例えば、エッジノード200Cから、“OVID:N1、IVID:B2、送信元MACアドレス:M1”のフレーム600Cを受信する。
フロー処理装置400の制御部401は、送信元アドレスが同じ異なるフレーム600を、異なるポート410から受信したことに起因して、MACアドレステーブル420において、MAC移動が発生したことを検出する(S102)。MACアドレステーブル420は、フレーム600Bを受信したことに応じて、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールを学習する(MAC学習)。その後、MACアドレステーブル420は、フレーム600Cを受信したことに応じて、第1の転送ルールを第2の転送ルールに更新する(MAC移動)。第1の転送ルールは、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールである。第2の転送ルールは、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Cに転送する”旨の転送ルールである。制御部401は、当該MAC移動が発生したことを検出する。
制御部401は、MAC重複テーブル490に、受信したフレーム600に関連するMAC重複エントリ491を登録する(S103)。具体的には、制御部401は、MAC重複テーブル490に対して、フレーム600Cに基づき、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2のフレームを、ポート410Cに転送する”旨のMAC重複エントリ491を学習する。制御部401は、例えば、フレーム600Cの後に再度フレーム600Bを受信した場合、次のように動作する。すなわち、制御部401は、当該フレーム600Bに基づき、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2のフレームを、ポート410Cに転送する”旨のMAC重複エントリ491を学習する。
フロー処理装置400の制御部401は、MAC重複テーブル490において、送信先MACアドレスとOVIDとが同じであるMAC重複エントリ491が複数登録されたことに応じて、次のように動作する。すなわち、制御部401は、MACアドレステーブル420から、当該MAC重複エントリ491に関連する転送ルールを削除する(S104)。制御部401は、例えば、MAC重複テーブル490に“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2”及び“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB1”が登録された場合、次のように動作する。制御部401は、MACアドレステーブル420から、関連する“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410B(又は、ポート410C)に転送する”旨の転送ルールを削除する。
具体的には、制御部401は、転送ルールとして、MACエントリ421を削除する。
制御部401は、アクセスリストテーブル450に、MAC重複テーブル490に学習した転送ルールに対応する出力用のエントリ(転送ルール)を設定する(S105)。制御部401は、例えば、MAC重複テーブル490において、“送信先MACアドレス”と“OVID”とが同じである重複エントリが複数登録されたことに応じて、次のように動作する。すなわち、制御部401は、アクセスリストテーブル450に、出力用のエントリ(MAC重複UC出力用エントリ453)を登録する。
フロー処理装置400は、受信したフレーム600を、当該MAC重複UC出力用エントリ453に従って転送する(S106)。フロー処理装置400は、例えば、フレーム600Aを受信した場合、次のように動作する。フロー処理装置400は、アクセスリストテーブル450に含まれる“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB1のフレームを、ポート410Bに転送する”旨の転送ルールに従って、当該フレーム600Aをポート410Bに転送する。
上記のとおり、フロー処理装置400は、ソフトウェア上で動作するMAC重複テーブル490を備え、重複するMACが発生したことに応じて、“IVID”を加味した転送ルールを設定する。そのため、フロー処理装置400は、MAC重複が発生した場合であっても、フレーム600を正しい送信先に転送することができる。
[第1の実施形態の概要]
図面を参照して、第1の実施形態の概要を説明する。図19は、第1の実施形態の概要の構成例を示す図である。フロー制御装置400は、MACアドレステーブル420と、MAC重複テーブル490と、アクセスリストテーブル450とを備える。
MACアドレステーブル420は、MACエントリ421を登録する。
MAC重複テーブル490は、受信したフレームに基づいてMACエントリ421の送信先情報が更新されたことに応じて、フレームに関連する情報を含む重複エントリを登録する。重複エントリの一例が、MAC重複エントリ491である。
アクセスリストテーブル450は、重複テーブルに互いに関連する複数の重複エントリが登録されたことに応じて、複数の重複エントリに関連するフレームを転送するための転送用のエントリを登録する。転送用のエントリに一例が、MAC重複UC出力用エントリ453である。
図19のフロー制御装置400は、図2のフロー処理装置400と同様に、複数の重複エントリに関連するフレームを、転送用のエントリに従って転送する。
つまり、図19のフロー処理装置400は、図2のフロー処理装置400と同様に、MAC重複テーブル490を備え、重複するMACが発生したことに応じて、“IVID”を加味した転送ルールを設定する。そのため、図19のフロー処理装置400は、MAC重複が発生した場合であっても、フレーム600を正しい送信先に転送することができる。
<第2の実施形態>
図4は、本発明の第2の実施形態における通信システムの構成例を示す図である。
なお、第2の実施形態の技術は、第1の実施形態、及び、後述の実施形態のいずれにも適用可能である。
図4において、通信システムは、例えば、フロー制御装置100と、エッジノード200と、端末300と、フロー処理装置400とを含む。なお、エッジノード200と、端末300とは、図1に示す第1の実施形態における通信システムのエッジノード200と、端末300と同様の構成であるため、詳細な説明は省略される。
フロー制御装置100は、例えばユーザや上位制御装置からの要求に応じて、仮想ネットワーク700と、仮想ブリッジ710とを設定する。
物理ネットワーク500は、例えば、エッジノード200と、フロー処理装置400とを含み、仮想ネットワーク700Aと、仮想ブリッジ710A及び710Bとを用いた仮想ネットワークにおけるフレーム600の転送を実現するための物理環境を提供する。フロー制御装置100は、管理するエッジノード200に対して、仮想ネットワーク700における端末300間の仮想的な通信を実現するために必要な、物理ネットワーク500上の設定を行う。例えば、フロー制御装置100は、端末300Aから送信されたフレーム600Aを仮想ネットワーク700A上において転送するために、エッジノード200Aに対して、当該フレーム600Aのフレーム変換を指示する。より具体的には、フロー制御装置100は、エッジノード200Aに対して、端末300Aから受信したフレーム600AのOVIDを仮想ネットワーク700AのID:N1に対応づける。そして、フロー制御装置100は、当該フレーム600AのIVIDを仮想ブリッジ710AのID:B1に対応づけるためのフレーム変換を指示する。
フロー処理装置400において、フレーム600B(OVID:N1、IVID:B1、送信元MACアドレス:M1)と、フレーム600C(OVID:N1、IVID:B2、送信元MACアドレス:M1)とは、IVID(仮想ブリッジ)は異なる。しかし、OVIDと送信元MACアドレスが同一である。したがって、フロー処理装置400に含まれるMACアドレステーブル420は、フレーム600Bとフレーム600Cとを受信すると、MAC移動を生じてしまう。そのため、フロー処理装置400が、“OVID:N1、IVID:B1、送信元MACアドレス:M1、送信先MACアドレス:M1”のフレーム600Aを受信した場合、MACアドレステーブル420に従って転送を実行すると、誤転送が発生する可能性がある。
そこで、フロー処理装置400は、異なる入力元から受信したフレーム600において、MAC重複が発生した際に、例えば、ソフトウェアのMAC重複テーブル490を用いて、当該MAC移動による誤転送を回避する。
図5は、第2の実施形態における、フロー処理装置400の構成例を示す図である。フロー処理装置400は、ポート410、フレーム変換用テーブル430、VLANテーブル440、MACアドレステーブル420、及びアクセスリストテーブル450を含む。また、フロー処理装置400は、フレーム処理部460、MAC重複処理部470、ハードウェア処理部480、及びMAC重複テーブル490を含む。
フロー処理装置400において、ポート410、フレーム変換用テーブル430、VLANテーブル440、MACアドレステーブル420、及びアクセスリストテーブル450は、ハードウェアに構成される。フレーム処理部460、MAC重複処理部470、ハードウェア処理部480、及びMAC重複テーブル490は、ソフトウェアに構成される。
ここで、フロー処理装置400のフレーム処理部460は、フレーム600Bとフレーム600Cとが、ハードウェアのMACアドレステーブル420を通過した際に、MAC移動を検出する。MAC移動は、MACアドレステーブル420において、OVIDと送信先MACアドレスが同一の転送ルールにおいて、転送ルールが書き換えられる処理である。例えば、MACアドレステーブル420は、フレーム600Bが通過した際に、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールを学習する。MACアドレステーブル420は、フレーム600Bの通過後フレーム600Cが通過した際に、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールを、次のように書きかえる。すなわち、MACアドレステーブル420は、その転送ルールを、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Cに転送する”旨の転送ルールに書き換える。
上記のとおり、フレーム600Bと600Cとは、IVIDは異なるが、OVIDと送信元MACアドレスが同じであるため、フロー処理装置400のMACアドレステーブル420で学習するキー情報(OVIDとMACアドレス)が同じとなる。そのため、フレーム600B及び600Cが入力する度に、MACアドレステーブル420のMACエントリ421(転送ルール)は、ポート410Bと410Cとの間でMAC移動を繰り返す。そのため、フロー処理装置400は、MACアドレス:M1を送信先とするフレーム600Aを受信した場合、当該フレーム600Aを、MACアドレステーブル420のMACエントリ421(転送ルール)のポート410Cに対して送信する。そのため、フロー処理装置400は、正しい送信先であるポート410Bだけでなく、誤った送信先であるポート410Cにも送信する。
そこで、フロー処理装置400は、MAC重複テーブル490を備え、MAC移動による誤転送を防止する。
ポート410は、フレーム600を送受信するインターフェースである。なお、受信後のフレーム600は、ポート410、フレーム変換用テーブル430、VLANテーブル440、MACアドレステーブル420、及びアクセスリストテーブル450の順に、パイプライン処理される。
フレーム変換用テーブル430は、フレーム600のVLAN変換を実施するテーブルである。なお、フレーム変換用テーブル430は、フレーム600を更新するための機能を備え、フレーム600に対するその他のアクションも実行することができる。第2の実施形態において、フレーム変換用テーブル430は、例えば、MAC学習のキャンセルのアクションを実行するために用いられる。
VLANテーブル440は、VLANエントリ441Aを含む。VLANエントリ441Aは、キーが“OVID”であり、アクションが“フレーム中継(例えば、後段のMACアドレステーブル420への処理へ進ませるためのアクション)”である。VLANテーブル440において、入力されたフレーム600に対応するエントリが存在しない場合には、当該フレーム600は廃棄される。VLANテーブル440は、フロー制御装置100の指示、または、フロー処理装置400のコンフィグにより、VLANエントリ441Aの登録/更新/削除を実行する。
MACアドレステーブル420は、MACエントリ421を含む。MACエントリ421は、キーが“OVID及び送信先MACアドレス”であり、アクションが“出力ポート”指定である。すなわち、MACエントリ421に指定された“OVID及び送信先MACアドレス”を含むフレーム600が入力した場合、出力ポートが決定できる。MACエントリ421は、ハードウェアによって、自動的に登録/更新/削除される。MACアドレステーブル420に入力されたフレーム600に含まれる“OVID及び送信先MACアドレス”をキーとするMACエントリ421が存在しない場合、MAC学習が実行される(すなわち、新たなMACエントリ421が登録される)。MACエントリ421が存在するが、MACエントリ421に指定された出力のポート410と、フレーム600の入力のポート410とが異なる場合、次のとおりとなる。すなわち、MACエントリ421は、MACエントリ421に指定された出力ポートの情報(ポート410の識別子やポート番号など)を、フレーム600の入力ポートの情報(ポート410の識別子やポート番号など)に更新する(MAC移動)。
なお、MACアドレステーブル420において、所定の時間である“エージング設定時間”を超える間、MACエントリ421のキーに一致するフレーム600を受信しなかった場合、当該MACエントリ421は削除される。
アクセスリストテーブル450は、2つの論理的なテーブルであるフレーム転送用のアクセスリストテーブル450Aと、MAC重複監視用のアクセスリストテーブル450Bとを含む。アクセスリストテーブル450に含まれるエントリにヒット(HIT)するフレーム600が入力した場合、当該ヒットしたエントリのアクションが当該フレーム600に対して適用される。
また、アクセスリストテーブル450は、論理テーブルにおいて、フレーム600に適用される際の優先度を示す“エントリ優先度”を有する。例えば、アクセスリストテーブル450に含まれるエントリの各々は優先度を含み、入力されたフレーム600にヒットするエントリが複数ある場合には、当該優先度の高いエントリで指定されたアクションが当該フレーム600に優先して適用される。なお、第2の実施形態の図面においては、アクセスリストテーブル450のより上位(上位位置)に記載されたエントリが、高優先のエントリとする。
アクセスリストテーブル450A(フレーム転送用)に含まれるUC出力用エントリ451Aは、MACアドレステーブル420のMACエントリ421にヒット(HIT)したフレーム600だけがヒット(HIT)するエントリである。そのUC出力用エントリ451Aは、MACエントリ421によって指定されたポート410からフレーム600を出力する役割を有する。
フレーム600がUC出力用エントリ451Aにヒット(HIT)しない場合(MAC学習されていない場合)、当該フレーム600は、UC出力用エントリ451Aよりも優先度が低いFlooding出力用エントリ452Aにヒット(HIT)する。そして、当該フレーム600は、Flooding出力される。UC出力用エントリ451A及びFlooding出力用エントリ452Aは、フロー制御装置100の指示により、アクセスリストテーブル450Aに登録/更新/削除される。
フレーム処理部460は、MACアドレステーブル420におけるMAC移動が発生した場合に、当該MAC移動の要因となったフレーム600又はそのコピーを受信する。フレーム処理部460は、監視用エントリ454Aにヒット(HIT)したフレーム600又はそのコピーを受信する。フレーム処理部460は、MAC重複処理部470に、フレーム600又はそのコピーを通知する。
MAC重複処理部470は、フレーム処理部460から受信したフレーム600の情報(ヘッダ情報など)に基づいて、MAC重複テーブル490にエントリを登録する。例えば、MAC重複処理部470は、MAC重複テーブル490に、フレーム600A、及び、600Bのそれぞれに対応するMAC重複エントリ491Aと、491Bとを登録し、IVIDを含めた形式のMACエントリとして管理する。
また、MAC重複処理部470は、フレーム処理部460から受信したフレーム600の情報(ヘッダ情報など)に基づいて、ハードウェアの各テーブルのエントリの登録/更新/削除を、ハードウェア処理部480に指示する。例えば、MAC重複処理部470は、MAC重複テーブル490内のMAC重複エントリ491Aと、491Bとの情報に基づき、ハードウェアのフレーム変換用テーブル430に対して、エージング用エントリ431Aと、431Bとの登録を指示する。エージング用エントリ431A、及び431Bは、フレーム600A、及び600Bが入力しなくなった際のエージングを検出する役割を持つ。
エージング用エントリ431は、キーが“OVID、IVID、送信元MACアドレス、入力ポート”であり、アクションが“MAC学習キャンセル及びWriteMetadata”である。MAC学習キャンセルは、当該エージング用エントリ431にヒット(HIT)するフレーム600がMACアドレステーブル420に入力した場合に、MAC学習させないという役割を持つ。WriteMetadataは、当該エージング用エントリ431にヒット(HIT)したことを、フレーム情報として保持させる役割を持つ。
また、MAC重複UC出力用エントリ453は、キーが“VID、IVID、送信先MACアドレス”であり、アクションが“ポート出力”である。
また、MAC重複処理部470は、アクセスリストテーブル450Aに対して、MAC重複UC出力用エントリ453Aと、453Bとの登録を指示する。MAC重複UC出力用エントリ453Aと、453Bは、重複MACが発生したフレーム600を、正しいポート410へ出力するための役割を持つ。例えば、アクセスリストテーブル450Aは、MAC重複UC出力用エントリ453Aとして、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB1のフレームを、ポート410Bに転送する”旨を登録する。また、アクセスリストテーブル450Aは、MAC重複UC出力用エントリ453Bとして、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2のフレームを、ポート410Cに転送する”旨を登録する。
ハードウェア処理部480は、MAC重複処理部470の指示に従い、ハードウェアの各テーブルに、エントリを登録/更新/削除する。また、ハードウェア処理部480は、エージング用エントリ431のフレーム600の統計情報(フレーム統計)から、MAC重複エントリ491のエージアウトを検出する。ハードウェア処理部480は、エージアウトを検出した場合、MAC重複処理部470に当該エージアウトを通知する。
上記のとおり、MAC重複UC出力用エントリ453と、エージング用エントリ431によって、フロー処理装置400における誤転送を回避するとともに、エージングにも追随することができる。また、MAC重複処理部470は、ハードウェアで構成される各テーブルに対する、MACエントリ451Aの削除と、監視用エントリ454Aの登録を指示する。MACエントリ451Aを削除することで、新規のMAC重複がさらに発生した場合であっても、ハードウェア上ですみやかにMAC学習が動作し、フレーム600の転送処理を、UC転送に移行することが可能となる。
監視用エントリ454Aは、新たに発生したMAC重複の要因となったフレーム600を、ソフトウェア上で動作するMAC重複処理部470に通知する役割を担っている。MAC重複処理部470は、新規のMAC重複に対するMAC重複エントリ491をMAC重複テーブル490に登録し、また、エージング用エントリ431やMAC重複UC出力用エントリ453をハードウェア上の各テーブルに登録する。そのため、フロー処理装置400は、動的にMAC重複に対応することが可能となる。
監視用エントリ454Aは、キーが“OVID、送信元MACアドレス、Metadata”であり、アクションが“ソフトウェアへのフレーム600のコピー”である。Metadataは、エージング用エントリ431で設定されたMetadataに基づいて、エージング用エントリ431にヒット(HIT)していないフレーム600だけがヒット(HIT)する条件で登録される。すなわち、Metadataは、新たに発生したMAC重複のみを検出して、ソフトウェアに通知するために使用する。
図6は、上記で説明した各テーブルに格納されるエントリの構成例を示す図である。図6に示すように、MAC重複エントリ491は、キーが“OVID、IVID、送信先MACアドレス”であり、アクションが“出力ポート指定”である。また、MACエントリ421は、キーが“OVID、送信先MACアドレス”であり、アクションが“出力ポート指定”である。また、VLANエントリ441Aは、キーが“OVID”であり、アクションが“フレーム中継”である。また、エージング用エントリ431は、キーが“OVID、IVID、送信元MACアドレス、入力ポート”であり、アクションが“MAC学習キャンセル、WriteMetadata”である。また、MAC重複UC出力用エントリ453は、キーが“OVID、IVID、送信先MACアドレス”であり、アクションが“ポート指定”である。また、監視用エントリ454Aは、キーが“OVID、送信元MACアドレス、Metadata”であり、アクションが“ソフトウェアにフレームをコピー”である。
図7は、第2の実施形態におけるフロー処理装置400の動作例を示すフローチャートである。
端末300Aと端末300Bとは、フロー処理装置400を介して、相互に通信している(S201)。具体的には、フロー処理装置400は、ポート410Aから、“OVID:N1、IVID:B1、送信元MACアドレス:M2、送信先MACアドレス:M1”のフレーム600Aを受信し、ポート410Bを介して転送する。また、フロー処理装置400は、ポート410Bから、“OVID:N1、IVID:B1、送信元MACアドレス:M1,送信先MACアドレス:M2”のフレーム600Bを受信し、ポート410Aを介して転送する。
図8は、端末300Aと端末300Bとが相互に通信している場合の、フロー処理装置400の構成例を示す図である。
フロー処理装置400は、端末300Aから、ポート410Aを介して、フレーム600Aを受信する。その結果、フロー処理装置400のMACアドレステーブル420は、“送信先MACアドレスがM2で、OVIDがN1のフレームを、ポート410Aに転送する”というMACエントリ421Bを学習する。一方、フロー処理装置400は、端末300Bから、ポート410Bを介して、フレーム600Bを受信する。その結果、フロー処理装置400のMACアドレステーブル420は、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”というMACエントリ421Aを学習する。その結果、図8に示すように、MACアドレステーブル420には、MACエントリ421Aと、MACエントリ421Bとが学習される。なお、図8のフロー処理装置400は、予めMACエントリ421CとMACエントリ421Dとが学習されている。
フロー処理装置400が、フレーム600Bを受信した場合には、MACアドレステーブル420に登録されているMACエントリ421Bに従って、当該フレーム600Bの転送処理が実行される。また、フロー処理装置400が、フレーム600Aを受信した場合には、MACアドレステーブル420に登録されているMACエントリ421Aに従って、当該フレーム600Aの転送処理が実行される。
また、図9に示すように、アクセスリストテーブル450Aは、UC出力用エントリ451Aと、Flooding出力用エントリ452Aとが登録されている。図9に示すように、MACアドレステーブル420に登録されているMACエントリ421にヒットしたフレーム600は、UC出力用エントリ451Aに従って、MACエントリ421で指定されたポート410から転送される。例えば、フレーム600Aは、UC出力用エントリ451Aに従って、MACエントリ421Aで指定されたポート410Aから転送される。
次に、フロー処理装置400は、ポート410Cから、“OVID:N1、IVID:B2、送信元MACアドレス:M1、送信先MACアドレス:M5”のフレーム600Cを受信する(S202)。フレーム600Cは、VLANテーブル440のVLANエントリ441Aにヒット(HIT)することにより、MACアドレステーブル420の処理に進む(S203)。
フロー処理装置400がフレーム600Cを受信した場合、MACアドレステーブル420のMACエントリ421Aが、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Cに転送する”旨の内容に書き換わる(MAC移動)。すなわち、フレーム600Cが、MACアドレステーブル420ですでに学習済みのMACエントリ421Aの“OVID:N1、送信先MACアドレスM1”と同一のキーであり、ポート410が異なる。そのため、フロー処理装置400は、当該MACエントリ421Aのポートを、フレーム600Cの入力のポート410Cに更新する(S204)。
フロー処理装置400は、フレーム600Cを、MACアドレステーブル420に予め学習されている送信先のMACエントリ421Cと、アクセスリストテーブル450Aに登録されているUC出力用エントリ451Aに従って、転送する(S205)。
フロー処理装置400は、MACアドレステーブル420におけるMAC移動(MAC重複)が生じたことに応じて、フレーム600Cを、フレーム処理部460に通知する。フレーム処理部460は、フレーム600Cを、MAC重複処理部470に通知する(S206)。
MAC重複処理部470は、フレーム600Cに含まれる情報(例えば、ヘッダ情報)に基づき、MAC重複テーブル490に、MAC重複エントリ491Bを登録する(S207)。MAC重複エントリ491Bは、“OVID:N1、IVID:B2、送信先MACアドレス:M1”をキーとして、“ポート410C”を出力ポートとするエントリである。
MAC重複処理部470は、ハードウェア処理部480に、MACエントリ421Aの削除を指示する。ハードウェア処理部480は、指示されたMACエントリ421Aを削除する(S208)。
MACエントリ421Aを削除することにより、次に受信したフレーム600が、600Cであっても、フレーム600Bであっても、すみやかにMAC学習が動作し、UC転送に移行することが可能である。
また、フロー処理装置400は、MAC重複ではなく、MAC移動の際には、ソフトウェアにフレーム600が通知されないため、一定時間経過した場合には、MAC重複テーブル490からMAC重複エントリ491Bを削除する処理を行う。
図9は、図8の状態において、フロー処理装置400のポート410Cを介して、フレーム600Cを受信した場合の、フロー処理装置400の構成例を示す図である。
フロー処理装置400のMACアドレステーブル420において、フレーム600Cが入力されたことによりMAC移動が発生するため、フレーム処理部460は、当該フレーム600Cの通知を受ける。
MAC重複処理部470は、フレーム処理部460からフレーム600Cを通知されたことにより、MAC重複テーブル490にMAC重複エントリ491Bを登録する。
MAC重複エントリ491Bは、キーが“OVID,IVID、送信先MACアドレス”であり、アクションが“出力ポート”である。すなわち、MAC重複エントリ491は、ハードウェアで表現できないIVIDを含めたMACエントリ421を、ソフトウェアで管理する。
MAC重複エントリ491Bのキーは、“OVID:N1、IVID:B2、送信先MACアドレス:M1”であり、アクションは“ポート410C“である。MAC重複エントリ491Bは、フレーム600Cに基づいて、設定される。
MACエントリ421Aは、MAC重複処理部470の指示により、ハードウェア処理部480を介して、削除される。MACエントリ421Aの削除により、MACアドレス:M1を送信先とするフレーム600Aは、アクセスリストテーブル450AのFlooding出力用エントリ452Aにヒット(HITF)し、Flooding出力される。
図10は、第2の実施形態におけるフロー処理装置400の他の動作例を示すフローチャートである。図10は、フロー処理装置400が、図7の動作の後に、ポート410Cからフレーム600Cを受信した場合の動作例を示すフローチャートである。
フロー処理装置400は、ポート410Cから、“OVID:N1、IVID:B2、送信元MACアドレス:M1、送信先MACアドレス:M5”のフレーム600Cを受信する(S301)。
フロー処理装置400のVLANテーブル440において、フレーム600Cは、VLANエントリ441Aにヒット(HIT)し、MACアドレステーブル420の処理に進む(S302)。
フロー処理装置400は、MACアドレステーブル420に、フレーム600Cに対応する“OVID:N1、送信先MACアドレス:M1”をキーとするエントリがないため、MACエントリ421Aを登録する(S303)。
フロー処理装置400は、フレーム600Cを、MACアドレステーブル420に予め学習されていた送信先のMACエントリ421Cと、アクセスリストテーブル450AのUC出力用エントリ451Aに従って、転送処理を実行する(S304)。
図11は、第2の実施形態におけるフロー処理装置400の他の動作例を示すフローチャートである。図11は、フロー処理装置400が、図10の動作の後に、ポート410Bからフレーム600Bを受信した場合の動作例を示すフローチャートである。
フロー処理装置400は、ポート410Bを介して、“OVID:N1、IVID:B1、送信元MACアドレス:M1,送信先MACアドレス:M2”のフレーム600Bを受信する(S401)。
フロー処理装置400において、フレーム600Bは、VLANテーブル440のVLANエントリ441Aにヒット(HIT)することで、MACアドレステーブル420の処理に進む(S402)。
フロー処理装置400がフレーム600Bを受信した場合、MACアドレステーブル420のMACエントリ421Aが、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の内容に書き換わる(MAC移動)。すなわち、フレーム600Bが、MACアドレステーブル420ですでに学習済みのMACエントリ421Aの“OVID:N1、送信MACアドレスM1”と同一のキーであり、ポート410が異なる。そのため、フロー処理装置400は、当該MACエントリ421Aのポートを、フレーム600Bの入力のポート410Bに更新する(S403)。
フロー処理装置400は、フレーム600Bを、MACアドレステーブル420に予め学習されているMACエントリ421Bと、アクセスリストテーブル450Aに登録されているUC出力用エントリ451Aに従って、転送処理する(S404)。
送信先のフロー処理装置400は、MACアドレステーブル420におけるMAC移動が生じたことに応じて、フレーム600Bを、フレーム処理部460に通知する。フレーム処理部460は、フレーム600Bを、MAC重複処理部470に通知する(S405)。
MAC重複処理部470は、フレーム600Bに含まれる情報(例えば、ヘッダ情報)に基づき、MAC重複テーブル490に、MAC重複エントリ491Aを登録する(S406)。MAC重複エントリ491Aは、“OVID:N1、IVID:B1、送信先MACアドレス:M1”をキーとして、“ポート410B”を出力ポートとするエントリである。
MAC重複処理部470は、MAC重複テーブル490において、“OVID:N1、送信先MACアドレス:M1”が同一だが、“IVID”が異なるエントリが複数存在することにより、MAC重複(MAC移動)が発生していると判断する(S407)。
MAC重複処理部470は、ハードウェア処理部480に対して、フレーム変換用テーブル430に“エージング用エントリ431Aと431B”を登録することを指示する。また、MAC重複処理部470は、ハードウェア処理部480に対して、アクセスリストテーブル450Aに“MAC重複UC出力用エントリ453Aと453B”の登録を指示する(S408)。
上記の動作により、UC出力用エントリ451AとFlooding出力用エントリ452Aよりも高優先であるMAC重複UC出力用エントリ453が登録される。よって、フロー処理装置400は、フレーム600Aなどの送信先MACアドレスがM1であるフレーム600を、ハードウェア上のMACエントリ421Aの有無に関わらず、MAC重複UC出力用エントリ453にヒット(HIT)する。従って、フロー処理装置400は、送信先MACアドレスがM1であるフレーム600を、正しい送信先のポート410に出力することが可能となる。
MAC重複処理部470は、ハードウェア処理部480に対して、MACエントリ421Aの削除を指示する(S409)。また、MAC重複処理部470は、アクセスリストテーブル450Bに、監視用エントリ454Aの登録を指示する(S409)。
図12は、図9の状態において、ポート410Cからフレーム600Cが入力した後に、さらにポート410Bからフレーム600Bが入力した場合のフロー処理装置400の構成例を示す図である。
MACアドレステーブル420は、フレーム600Cの入力により、MACエントリ421Aを学習する。その後、MACアドレステーブル420において、フレーム600Bの入力により、MAC移動(MAC重複)が発生する。したがって、フレーム処理部460は、MAC移動(MAC重複)が発生したことに応じて、フレーム600Bの通知を受ける。
MAC重複処理部470は、フレーム処理部460からの通知を受けたことに応じて、MAC重複テーブル490に、MAC重複エントリ491Aを登録する。
MAC重複処理部470は、ハードウェア処理部480を介して、フレーム変換用テーブル430に、エージング用エントリ431Aと431Bとを登録する。また、MAC重複処理部470は、ハードウェア処理部480を介して、MAC重複UC出力用エントリ453Aと453Bとを登録する。
エージング用エントリ431AとMAC重複UC出力用エントリ453Aは、MAC重複エントリ491Aに対応するハードウェアエントリであり、MAC重複エントリ491Aの“キー”と“アクション”を基に設定される。同様に、エージング用エントリ431BとMAC重複UC出力用エントリ453Bは、MAC重複エントリ491Bに対応するハードウェアエントリであり、MAC重複エントリ491Bの“キー”と“アクション”を基に設定される。フロー処理装置400のハードウェア構成においては、エージング用エントリ431とMAC重複UC出力用エントリ453が、InnerVLAN単位のMACフォワーディングの役割として動作する。
図12に例示するフロー処理装置400は、フレーム600Aを受信すると、MACアドレステーブル420にはヒット(HIT)するMACエントリ421は存在しない。しかし、フロー処理装置400は、UC出力用エントリ451AやMAC重複UC出力用エントリ453Aに従って、正しい送信先であるポート410Bに出力される。
ここで、図12のパターンとは逆に、フレーム600Cに対応するMAC重複エントリ491Bが存在する状態で、再びフレーム600CによるMAC移動が発生し、ソフトウェアにフレーム600Cが通知される場合も発生し得る。この場合は、MAC重複エントリ491Bに対応するエージング用エントリ431Bと、MAC重複UC出力用エントリ453Bと、監視用エントリ454Aとが登録される。その後、フレーム600Bに対するエントリ登録は、監視用エントリ454Aによりフレーム600Bがソフトウェアに通知された契機で実施される。この場合、MAC重複エントリ491Bだけが登録されているため、MAC重複が発生しているのか、発生していないのかは不明である。そのため、一定時間経過後もMAC重複エントリ491Bだけが登録されている場合は、MAC重複解消と判断し、エージング用エントリ431Bと、MAC重複UC出力用エントリ453Bと、監視用エントリ454Aとを削除する必要がある。
図13は、図12の状態で、フロー処理装置400が、ポート410Dからフレーム600Dを受信した場合の動作例を示す図である。
フロー処理装置400は、ポート410Dから、“OVID:N1、IVID:B3、送信先MACアドレス:M1、送信元MACアドレス:M4”のフレーム600Dを受信する(S501)。
フロー処理装置400において、フレーム600Dは、VLANテーブル440のVLANエントリ441Aにヒット(HIT)することにより、MACアドレステーブル420の処理に進む(S502)。
フロー処理装置400は、MACアドレステーブル420に、フレーム600Dに対応する“OVID:N1、送信先MACアドレス:M1”をキーとするエントリがない。そのため、フロー処理装置400は、キーが“OVID:N1、送信先MACアドレス:M1”で“ポート410D”が出力ポートであるMACエントリ421Aを登録する(S503)。
フロー処理装置400において、フレーム600Dの受信に応じてMACエントリ421Aが登録された直後において、“OVID:N1、IVID:B3、送信先MACアドレス:M1”のフレーム600Dは、次のとおりである。フレーム600Dは、MACアドレステーブル420のMACエントリ421にヒット(HIT)し、MAC重複UC出力用エントリ453はキーに一致しないためヒット(HIT)せず、UC出力用エントリ451Aにヒット(HIT)する。そのため、フレーム600Dは、正しい送信先(ポート410D)に送信できるようになっている。
フロー処理装置400は、フレーム600Dを、MACアドレステーブル420に予め登録されているMACエントリ421Dと、送信先のアクセスリストテーブル450AのUC出力用エントリ451Aに従い、転送処理を実行する(S504)。
フロー処理装置400は、監視用エントリ454Aのアクションにより、フレーム600Dをフレーム処理部460に送信する。フレーム処理部460は、フレーム600Dを、MAC重複処理部470に通知する(S505)。
MAC重複処理部470は、フレーム600Dに含まれる情報(ヘッダ情報など)に基づき、MAC重複テーブル490にMAC重複エントリ491Cを登録する。ただし、MAC重複処理部470は、“OVID:N1、IVID:B3、送信先MACアドレス:M1”をキー、出力ポートを“ポート410D”として、MAC重複テーブル490にMAC重複エントリ491Cを登録する(S506)。
MAC重複処理部470は、ハードウェア処理部480に対して、エージング用エントリ431Cと、MAC重複UC出力用エントリ453Cの登録を指示する(S507)。フロー処理装置400は、当該MAC重複UC出力用エントリ453Cが登録されることにより、“OVID:N1,IVID:B3、送信MACアドレス:M1”のフレーム600Dも、正しい出力のポート410Dに送信することが可能となる。
MAC重複処理部470は、ハードウェア処理部480に、MACエントリ421Aの削除を指示する(S508)。ハードウェア処理部480が、MACエントリ421Aを削除する指示を行う。そのため、“OVID:N1、送信元MACアドレス:M1”を含む他のフレーム600を受信することによって再度重複が発生した場合も、MACエントリ421Aが削除され、UC転送を行うことが可能となる。なお、再度の重複が発生した場合のフロー処理装置400の処理は、図11に例示する動作例と同様となる。
図14は、図12の状態において、ポート410Dからフレーム600Dが入力したときの、フロー処理装置400の構成例を示す図である。
フロー処理装置400は、フレーム600Dの受信により、MACアドレステーブル420ではMACエントリ421AをMAC学習する。また、フロー処理装置400は、アクセスリストテーブル450では、UC出力用エントリ451A及び監視用エントリ454Aの両方にヒット(HIT)する。
監視用エントリ454Aにヒット(HIT)することで、フレーム600Dは、フレーム処理部460に通知される。
MAC重複処理部470は、MAC重複エントリ491Cを登録し、エージング用エントリ431C及びMAC重複UC出力用エントリ453Cを、ハードウェア処理部480を介して登録する。
また、ハードウェア処理部480が、MACエントリ421Aを削除する指示を行い、当該MACエントリ421Aは削除される。
図15は、図14の状態から、フレーム600Dの入力が停止し、ハードウェア処理部480がエージング用エントリ431Cのエージアウトを検出したときのフロー処理装置400の動作例を示すフローチャートである。
ハードウェア処理部480は、フロー処理装置400におけるフレーム600Dの受信が止まることにより、エージング用エントリ431Cのエージアウトを検出する(S601)。
ハードウェア処理部480は、当該エージアウトを、MAC重複処理部470に通知する(S602)。
ハードウェア処理部480は、MAC重複テーブル490のMAC重複エントリ491Cを削除する(S603)。
MAC重複処理部470は、MAC重複テーブル490に異なるIVIDのエントリが複数存在することにより、MAC重複が継続していると判断する(S604)。
MAC重複処理部470は、ハードウェア処理部480に対して、エージング用エントリ431CとMAC重複UC出力用エントリ453Cの削除を指示する。
図16は、図14の状態において、フロー処理装置400に対するフレーム600Dの受信が停止し、ハードウェア処理部480がエージング用エントリ431Cのエージアウトを検出した場合の、フロー処理装置400の構成例を示す図である。
MAC重複処理部470は、不要となったMAC重複エントリ491Cを削除し、エージング用エントリ431CとMAC重複UC出力用エントリ453Cを、ハードウェア処理部480を介して削除する。
図17は、図16の状態から、フロー処理装置400におけるフレーム600Cの受信が停止し、ハードウェア処理部480がエージング用エントリ431Bのエージアウトを検出した場合の動作例を示すフローチャートである。
ハードウェア処理部480は、フロー処理装置400におけるフレーム600Cの受信が停止した場合、ハードウェア処理部480は、エージング用エントリ431Bのエージアウトを検出する(S701)。
ハードウェア処理部480は、エージアウトの検出を、MAC重複処理部470に通知する(S702)。
ハードウェア処理部480は、MAC重複テーブル490のMAC重複エントリ491Bを削除する(S703)。
MAC重複処理部470は、MAC重複テーブル490に異なるIVIDのエントリが複数存在しないため、MAC重複が解消したと判断する(S704)。
MAC重複処理部470は、MAC重複テーブル490のMAC重複エントリ491Aを削除する。
MAC重複処理部470は、ハードウェア処理部480に、エージング用エントリ431A及び431Bと、MAC重複UC出力用エントリ453A及び453Bの削除を指示する。MAC重複処理部470が、上記の削除を指示することにより、フロー処理装置400は、MAC重複のハードウェアエントリを使用しない通常状態でのMACフォワーディングの処理に戻ることができる。
図18は、図16の状態において、フロー処理装置400におけるフレーム600Cの受信が停止し、ハードウェア処理部480がエージング用エントリ431Bのエージアウトを検出した場合の、フロー処理装置400の構成例を示す図である。
MAC重複処理部470は、MAC重複が解消されたと判断し、MAC重複エントリ491A及び491Bを削除する。そして、MAC重複処理部470は、エージング用エントリ431A及び431B、MAC重複UC出力用エントリ453A及び453B、監視用エントリ454Aを、ハードウェア処理部480を介して削除する。
上記のとおり、フロー処理装置400は、MAC重複テーブル490を備え、重複するMACが発生したことに応じて、“IVID”を加味した転送ルールを設定する。そのため、フロー処理装置400は、MAC重複が発生した場合であっても、フレーム600を正しい送信先に転送することができる。
<第3の実施形態>
本発明の第3の実施形態は、“OVID、IVID、MACアドレス”のいずれもが同一の異なるフレーム600が、異なるポート410から入力されたことによってMAC移動が発生した場合におけるフロー処理装置400の処理に関する実施形態である。なお、第3の実施形態の技術は、第1の実施形態、第2の実施形態、及び、後述の実施形態のいずれにも適用可能である。
第3の実施形態の通信システムの構成例は、図4に例示する第2の実施形態の通信システムの構成例と同様であるため、詳細な説明は省略される。また、第3の実施形態のフロー処理装置400の構成例は、図5に例示する第2の実施形態のフロー処理装置400の構成例と同様であるため、詳細な説明は省略される。
フロー処理装置400は、図7の処理完了後の状態から、フレーム600Cがポート410Cに入力することにより、MACエントリ421Aが作成される。その状態において、フレーム600Cが図示しないポート410Eから入力すると、MACアドレステーブル420に存在するMACエントリ421Aのアクションで指定されている“ポート410C”とはポート410が異なるので、MAC移動が発生する。そのため、フレーム600Cが、再度、MAC重複処理部470に通知される。MAC重複処理部470は、フレーム600Cに含まれる入力のポート410に関する情報に基づいて、MAC重複エントリ491Bのポートを、“ポート410C”から“ポート410E”に更新する。その後のフロー処理装置400の動作例は、第2の実施形態のフロー処理装置400の動作例と同様である。
また、フロー処理装置400は、図11の処理完了後の状態から、フレーム600Cがポート410Cではなくポート410Eから入力すると、次のように動作する。フレーム600Cに対応するエージング用エントリ431Bのキーに含まれるエントリ登録時の入力ポートは410Cであり、当該フレーム600Cは当該エージング用エントリ431Bにヒット(HIT)しない。そのため、フロー処理装置400は、MACアドレステーブル420において、MAC学習が実行され、MACエントリ421Aが登録される。
また、フレーム600Cは監視用エントリ454Aにヒット(HIT)し、MAC重複処理部470に、当該フレーム600Cが通知される。MAC重複処理部470は、フレーム600Cに含まれる入力ポートに関する情報を基に、MAC重複エントリ491Bに含まれるポート情報を、“ポート410C”から“ポート410E”に更新する。MAC重複エントリ491Bの更新に応じて、MAC重複処理部470は、ハードウェア処理部480にエージング用エントリ431Bの削除/追加(キーのポート情報を更新するため、削除/追加となる)する。また、MAC重複処理部470は、MAC重複UC出力用エントリ453Bのアクションのポート410を更新する。
なお、上記の処理は、同一の“OVID、IVID、MACアドレス”によってMACフラッピングが発生し、ソフトウェアに対するフレーム600の通知が頻発する。そこで、フロー処理装置400のCPUの負荷軽減のために、エントリに保護時間を設けて、保護時間内のエントリ更新は実施しないように構成することが望ましい。
上記のとおり、“OVID、IVID、MACアドレス”のいずれもが同一の異なるフレーム600が、異なるポート410から入力されたことによってMAC移動が発生した場合、次のようになる。すなわち、MAC重複処理部470は、MAC重複エントリ491のポート410、又は、MAC重複UC出力用エントリ453Bのアクションのポート410を更新する。そのため、“OVID、IVID、MACアドレス”のいずれもが同一の異なるフレーム600が、異なるポート410から入力されたことによってMAC移動が発生した場合であっても、フレーム600の重複の発生による誤転送を防止することができる。
<第4の実施形態>
本発明の第4の実施形態は、アクセスリストテーブル450のエントリ数の増加を抑制する実施形態である。なお、第4の実施形態の技術は、第1の実施形態、第2の実施形態、及び、第3の実施形態のいずれにも適用可能である。
第4の実施形態の通信システムの構成例は、図4に例示する第2の実施形態の通信システムの構成例と同様であるため、詳細な説明は省略される。また、第4の実施形態のフロー処理装置400の構成例は、図5に例示する第2の実施形態のフロー処理装置400の構成例と同様であるため、詳細な説明は省略される。
なお、以下で説明に用いるVRRP(Virtual Router Redundancy Protocol)は、デフォルトゲートウェイを冗長化するためのプロトコルである。
アクセスリストテーブル450は、MACアドレステーブル420に比べ、登録できるエントリ数が少ないことが一般的である。この場合に、例えば、VRRPルータをネットワークに接続し、ルータ間でアドバタイズのためのフレーム600(MACアドレスが同一)を全VLANで交換すると、テーブルのリソースを多く消費してしまう。アクセスリストテーブル450は、MACアドレステーブル420に比べて、登録できるエントリ数が少ない場合がある。この場合に、例えば、VRRPルータをネットワークに接続し、当該ルータ間でアドバタイズに用いられるフレーム600(MACアドレスが同一となる)を全てのVLANで交換すると、アクセスリストテーブル450のリソースを多く消費してしまう。そこで、第4の実施形態のフロー処理装置400は、ネットワーク構成などにおいて予め重複するMACアドレスが決まっている場合に、アクセスリストテーブル450のエントリリソースの枯渇を回避する。
第4の実施形態のフロー処理装置400は、コンフィグによって、アクセスリストテーブル450に静的なMAC重複エントリ491を登録できるようにする。
フロー処理装置400は、コンフィグによって、アクセスリストテーブル450の静的なMAC重複エントリ491に対して、MACアドレスとMACアドレスマスクをパラメータとして入力する。
MAC重複処理部470は、コンフィグによる静的なMAC重複エントリ491の追加に応じて、フレーム処理部460を介して、MAC学習キャンセル用エントリをフレーム変換用テーブル430に登録する。また、MAC重複処理部470は、コンフィグによって設定されたMACアドレス/マスクに含まれるMACエントリ421を、MACアドレステーブル420から削除する。
MAC学習キャンセル用エントリは、キーが“送信元MACアドレスのMACアドレスマスク指定”であり、アクションが“MAC学習キャンセル”である。フロー処理装置400は、MAC学習キャンセル用エントリにより、入力されたフレーム600の送信元MACアドレスが、当該MAC学習キャンセル用エントリのキーの条件に含まれていれば、MACアドレステーブル420においてMAC学習が行われなくなる。すなわち、MAC学習キャンセル用エントリの“MACアドレス/マスク”に含まれるMACアドレスを送信先とするフレーム600は、MACエントリ421が存在しないため、Flooding動作となる。
MAC学習キャンセル用エントリは、動的に追加されたエージング用エントリ431及びMAC重複UC出力用エントリ453と競合する。そのため、MAC学習キャンセル用エントリは、静的に設定されたMAC重複エントリ491を優先し、MACアドレス/マスクに含まれる条件を持つエージング用エントリ431及びMAC重複UC出力用エントリ453は削除する必要がある。
なお、上記のとおり、静的に設定されたMAC重複エントリ491を使用すると、Flooding動作となるため、通信帯域を考慮すると最低限のコンフィグとすることが望ましい。
上記のとおり、静的に設定されたMAC重複エントリ491を使用することにより、アクセスリストテーブル450のエントリ数の増加を抑制することが可能となる。
以上、本発明の実施形態を説明したが、本発明は、上記したそれぞれの実施形態に限定されるものではない。本発明は、各実施形態の変形・置換・調整に基づいて実施できる。また、本発明は、各実施形態を任意に組み合わせて実施することもできる。即ち、本発明は、本明細書の全ての開示内容、技術的思想に従って実現できる各種変形、修正を含む。また、本発明は、SDN(Software−Defined Network)の技術分野にも適用可能である。
この出願は、2015年10月30日に出願された日本出願特願2015−213566を基礎とする優先権を主張し、その開示の全てをここに取り込む。
100 フロー制御装置
200 エッジノード
300 端末
400 フロー処理装置
401 制御部
410 ポート
420 MACアドレステーブル
421 MACエントリ
430 フレーム変換用テーブル
431 エージング用エントリ
440 VLANテーブル
441 VLANエントリ
450 アクセスリストテーブル
451 UC出力用エントリ
452 Flooding出力用エントリ
453 MAC重複UC出力用エントリ
454 監視用エントリ
460 フレーム処理部
470 MAC重複処理部
480 ハードウェア処理部
490 MAC重複テーブル
491 MAC重複エントリ
500 物理ネットワーク
600 フレーム

Claims (10)

  1. MACエントリが登録されたMACアドレステーブルと、
    受信したフレームに基づいて前記MACエントリの送信先情報が更新されたことに応じて、前記フレームに関連する情報を含む重複エントリを登録するMAC重複テーブルと、
    前記MAC重複テーブルに互いに関連する複数の前記重複エントリが登録されたことに応じて、複数の前記重複エントリに関連する前記フレームを転送するための転送用のエントリを登録するアクセスリストテーブルと、を備え、
    複数の前記重複エントリに関連する前記フレームを、転送用の前記エントリに従って転送する
    ことを特徴とするフロー処理装置。
  2. 前記MAC重複テーブルに互いに関連する複数の前記重複エントリが登録されたことに応じて、前記MACアドレステーブルから、複数の前記重複エントリに関連する前記フレームに対応する前記MACエントリを削除する制御手段をさらに備える
    ことを特徴とする請求項1に記載のフロー処理装置。
  3. 前記MAC重複テーブルに、Outer VLAN ID及びMACアドレスが同一である複数の前記フレームの各々に対応する前記重複エントリが登録されたことに応じて、アクセスリストテーブルに対して複数の前記フレームの各々を転送するための転送用の前記エントリを登録する
    ことを特徴とする請求項1又は2に記載のフロー処理装置。
  4. 前記MAC重複テーブルに互いに関連する複数の前記重複エントリが登録されたことに応じて、アクセスリストテーブルに対してOuter VLAN ID、Inter VLAN ID及びMACアドレスをキーとする転送用の前記エントリを登録する
    ことを特徴とする請求項1乃至3のいずれか1項に記載のフロー処理装置。
  5. 受信した前記フレームに基づいて前記MACエントリに含まれる送信先ポートに関する情報が更新されたことに応じて、前記MAC重複テーブルに対して前記フレームに関連する情報を含む前記重複エントリを登録する
    ことを特徴とする請求項1乃至4のいずれか1項に記載のフロー処理装置。
  6. OVID及び送信元MACアドレスが同一の異なる前記フレームが、異なるポートから入力されたことに応じて、前記MACアドレステーブルにおける前記MACエントリの送信先情報を更新する
    ことを特徴とする請求項1乃至5のいずれか1項に記載のフロー処理装置。
  7. 転送用の前記エントリが登録された前記フレームに対して、前記MACアドレステーブルに含まれる前記MACエントリを用いた転送をキャンセルするアクションを含むエージング用エントリを登録するフレーム変換用テーブルをさらに含む
    ことを特徴とする請求項1乃至6のいずれか1項に記載のフロー処理装置。
  8. 制御装置からの指示に基づいてフレームを転送するノードと、
    前記ノードから受信した前記フレームを、MACエントリが登録されたMACアドレステーブルに基づいて転送するフロー処理装置と、を含み、
    前記フロー処理装置は、
    受信した前記フレームに基づいて前記MACエントリの送信先情報が更新されたことに応じて、前記フレームに関連する情報を含む重複エントリを登録するMAC重複テーブルと、
    前記MAC重複テーブルに互いに関連する複数の重複エントリが登録されたことに応じて、前記複数の重複エントリに関連する前記フレームを転送するための転送用のエントリを登録するアクセスリストテーブルと、を備え、
    前記複数の重複エントリに関連する前記フレームを、転送用の前記エントリに従って転送する
    ことを特徴とする通信システム。
  9. MACエントリを登録し、
    受信したフレームに基づいて前記MACエントリの送信先情報が更新されたことに応じて、前記フレームに関連する情報を含む重複エントリを登録し、
    互いに関連する複数の前記重複エントリが登録されたことに応じて、複数の前記重複エントリに関連する前記フレームを転送するための転送用のエントリを登録し、
    複数の前記重複エントリに関連する前記フレームを、転送用の前記エントリに従って転送する、
    ことを特徴とするフロー処理方法。
  10. 前記互いに関連する複数の前記重複エントリが登録されたことに応じて、複数の前記重複エントリに関連する前記フレームに対応する前記MACエントリを削除する
    ことを特徴とする請求項9に記載のフロー処理方法。
JP2017547608A 2015-10-30 2016-10-19 フロー処理装置、通信システム及びフロー処理方法 Active JP6460256B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015213566 2015-10-30
JP2015213566 2015-10-30
PCT/JP2016/004629 WO2017073033A1 (ja) 2015-10-30 2016-10-19 フロー処理装置、通信システム及びフロー処理方法

Publications (2)

Publication Number Publication Date
JPWO2017073033A1 JPWO2017073033A1 (ja) 2018-07-26
JP6460256B2 true JP6460256B2 (ja) 2019-01-30

Family

ID=58631426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017547608A Active JP6460256B2 (ja) 2015-10-30 2016-10-19 フロー処理装置、通信システム及びフロー処理方法

Country Status (2)

Country Link
JP (1) JP6460256B2 (ja)
WO (1) WO2017073033A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7268741B2 (ja) * 2019-08-02 2023-05-08 日本電信電話株式会社 通信システム、通信方法及び通信プログラム
JP7251872B2 (ja) * 2020-12-24 2023-04-04 Necプラットフォームズ株式会社 通信制御装置、システム、方法、及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5443745B2 (ja) * 2008-12-01 2014-03-19 富士通株式会社 スイッチ
JP6015522B2 (ja) * 2013-03-28 2016-10-26 富士通株式会社 仮想マシン管理装置および仮想マシン管理方法

Also Published As

Publication number Publication date
WO2017073033A1 (ja) 2017-05-04
JPWO2017073033A1 (ja) 2018-07-26

Similar Documents

Publication Publication Date Title
EP3122004B1 (en) Traffic switching method, device, and system
US20190260693A1 (en) Virtual network
JP6160446B2 (ja) 情報処理装置、情報処理システム及び情報処理方法
JP5776600B2 (ja) データ中継装置、データ中継プログラムおよびデータ中継方法
US9634887B2 (en) System, method and computer-readable medium for using a plurality of virtual machines
JP5477378B2 (ja) 通信フロー制御システム、通信フロー制御方法及び通信フロー処理プログラム
JP2011070549A (ja) コンピュータシステム、及び仮想マシンのマイグレーション方法
JP2011015287A (ja) ネットワーク中継装置、その制御方法およびコンピュータプログラム
US20150229560A1 (en) Method, switch and system for updating route
JP6460256B2 (ja) フロー処理装置、通信システム及びフロー処理方法
JP6299745B2 (ja) 通信システム、制御装置、通信方法及びプログラム
JP6566124B2 (ja) 通信システム、フロー制御装置、フロー処理装置及び制御方法
JP5747997B2 (ja) 制御装置、通信システム、仮想ネットワークの管理方法およびプログラム
JP6191191B2 (ja) スイッチ装置及びスイッチ装置の制御方法
JPWO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
JP6000501B1 (ja) 制御装置、制御プログラムおよび機器制御システム
WO2016068238A1 (ja) ネットワークの制御システム、制御装置、ネットワーク情報の管理方法及びプログラム
JP2015525981A (ja) 通信方法、情報処理装置、通信システム、プログラム、ノードおよび通信端末
CN107409088A (zh) 一种数据包转发方法和网络设备
CN106506378A (zh) Mac地址表的更新方法和装置
JP2017130789A (ja) パケット転送装置、パケット転送方法、および、プログラム
JP2017022579A (ja) 通信システム、通信ノード、および通信システムにおける代替処理方法
CN117082015A (zh) 设备隔离方法、装置、交换设备和存储介质
JP2014158084A (ja) パケット中継装置及びパケット中継方法
JP2015128213A (ja) 通信ノード、制御装置、通信システム、通信方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180402

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181217

R150 Certificate of patent or registration of utility model

Ref document number: 6460256

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150