JP2016092756A - 制御装置、通信システム、ループ抑止方法及びプログラム - Google Patents

制御装置、通信システム、ループ抑止方法及びプログラム Download PDF

Info

Publication number
JP2016092756A
JP2016092756A JP2014228678A JP2014228678A JP2016092756A JP 2016092756 A JP2016092756 A JP 2016092756A JP 2014228678 A JP2014228678 A JP 2014228678A JP 2014228678 A JP2014228678 A JP 2014228678A JP 2016092756 A JP2016092756 A JP 2016092756A
Authority
JP
Japan
Prior art keywords
packet
network
flowed
external network
recording
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014228678A
Other languages
English (en)
Inventor
真実雄 外園
Mamio Sotozono
真実雄 外園
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
Priority to JP2014228678A priority Critical patent/JP2016092756A/ja
Publication of JP2016092756A publication Critical patent/JP2016092756A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】集中制御型のネットワークと接続する外部ネットワークに余計な負荷を掛けずに、外部ネットワーク側のループの発生を検出する。【解決手段】制御装置は、制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴を記録するパケット記録部と、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴と前記パケット記録部に記録されたパケットの特徴とを照合して、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが再び制御対象のネットワークに流入したか否かを判定する判定部と、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが、前記外部ネットワークを経由して再び流入したパケットであると判定した場合、所定のループ抑止措置を実施するループ抑止部と、を備える。【選択図】図1

Description

本発明は、制御装置、通信システム、ループ抑止方法及びプログラムに関し、特に、外部ネットワークが接続されているネットワークを制御対象とする制御装置、通信システム、ループ抑止方法及びプログラムに関する。
特許文献1に、複数の通信装置の振る舞いを制御することで通信を実現する制御装置を用いて仮想ネットワークを構成する発明が開示されている。非特許文献1、2は、特許文献1においても触れられているオープンフローのホワイトペーパーと、スペックである。
オープンフローに代表される集中制御型のネットワークでは、制御装置は、配下の通信装置からの通知等を元に、新規通信を検出する。制御装置は、新規通信を許可する場合、通信元から通信先に到る経路上の通信装置等の関連する通信装置に対し、パケットの転送先等を指示する。以降、前記指示を受けた通信装置は、制御装置からの指示に従い、パケットの転送等を行う(特許文献1の段落0004参照)。
国際公開第2011/043416号
Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成26(2014)年10月22日検索]、インターネット〈URL: http://archive.openflow.org/documents/openflow-wp-latest.pdf〉 "OpenFlow Switch Specification" Version 1.1.0 Implemented (Wire Protocol 0x02)、[online]、[平成26(2014)年10月22日検索]、インターネット〈URL: http://archive.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
以下の分析は、本発明によって与えられたものである。上記したオープンフローに代表される集中制御型のネットワークでは、制御装置がすべての通信を管理することを建前としている。従って、ネットワーク内のフレーム/パケット(非特許文献1、2の表現に合わせ「パケット」で統一する。)のループを検出する方法は、様々に検討可能である。
しかしながら、集中制御型のネットワークの制御装置といえども、ネットワーク外部については情報を収集することができない。このため、ある通信装置から外部ネットワークに送出したパケットが当該外部ネットワークを経由してループして戻ってきたものだとしても、当該パケットの入力ポートが異なる等すれば、新規通信発生として取り扱ってしまう可能性がある。
この種のループを検出するには、ある通信装置から外部ネットワークに向けて、ループ検出用のパケットを送信させて、そのパケットが制御対象のネットワークに戻ってくるか否かにより判断する方法が考えられる。しかしながら、この方法では、外部ネットワークに余計な負荷をかけてしまうという問題点がある。
本発明は、集中制御型のネットワークと接続する外部ネットワークに余計な負荷を掛けずに、外部ネットワーク側のループの発生を検出し、対策を講ずる方法の豊富化に貢献できる制御装置、通信システム、ループ抑止方法及びプログラムを提供することを目的とする。
第1の視点によれば、制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴を記録するパケット記録部と、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴と前記パケット記録部に記録されたパケットの特徴とを照合して、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが再び制御対象のネットワークに流入したか否かを判定する判定部と、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが、前記外部ネットワークを経由して再び流入したパケットであると判定した場合、所定のループ抑止措置を実施するループ抑止部と、を備えた制御装置が提供される。
第2の視点によれば、上記した制御装置と、前記制御装置に対する受信パケットに関する情報の送信と前記制御装置からの指示に従ったパケットの処理とを行う通信装置群とを含む通信システムが提供される。
第3の視点によれば、制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴を記録するステップと、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴と前記記録したパケットの特徴とを照合して、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが再び制御対象のネットワークに流入したか否かを判定するステップと、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが、前記外部ネットワークを経由して再び流入したパケットであると判定した場合、所定のループ抑止措置を実施するステップと、を含むループ抑止方法が提供される。本方法は、外部ネットワークが接続されているネットワークを制御する制御装置という、特定の機械に結びつけられている。
第4の視点によれば、制御対象のネットワークを制御する制御装置を構成するコンピュータに、制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴を記録する処理と、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴と前記記録したパケットの特徴とを照合して、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが再び制御対象のネットワークに流入したか否かを判定する処理と、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが、前記外部ネットワークを経由して再び流入したパケットであると判定した場合、所定のループ抑止措置を実施する処理と、を実行させるコンピュータプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な(非トランジエントな)記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
本発明によれば、集中制御型のネットワークと接続する外部ネットワークに余計な負荷を掛けずに、外部ネットワーク側のループの発生を検出し、対策を講ずる方法の豊富化に貢献することが可能となる。
本発明の一実施形態の構成を示す図である。 本発明の第1の実施形態の通信システムの構成を示す図である。 本発明の第1の実施形態のオープンフローコントローラ(OFC)の構成を示す図である。 本発明の第1の実施形態のオープンフローコントローラ(OFC)のパケット記録部に記録される情報の一例を示す図である。 本発明の第1の実施形態のオープンフローコントローラ(OFC)のパケット記録部に保持される情報を説明するための図である。 本発明の第1の実施形態のオープンフローコントローラ(OFC)の動作を説明するための流れ図である。 本発明の第1の実施形態のオープンフロースイッチ(OFS)が新規パケットを受信した際の動作を説明するための図である。 本発明の第1の実施形態のオープンフロースイッチ(OFS)から新規パケットの受信通知を受けたオープンフローコントローラ(OFC)の動作を説明するための図である。 本発明の第1の実施形態のオープンフローコントローラ(OFC)からパケット送出指示を受けたオープンフロースイッチ(OFS)の動作を説明するための図である。 本発明の第1の実施形態のオープンフロースイッチ(OFS)がループしたパケットを受信した際の動作を説明するための図である。 本発明の第1の実施形態のオープンフロースイッチ(OFS)からループしたパケットの受信通知を受けたオープンフローコントローラ(OFC)の動作を説明するための図である。 本発明の第2の実施形態のオープンフローコントローラ(OFC)のパケット記録部に保持される情報を説明するための図である。 本発明の第3の実施形態のオープンフローコントローラ(OFC)の構成を示す図である。
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
本発明は、その一実施形態において図1に示すように、パケット記録部120と、判定部130と、ループ抑止部140と、を備えた制御装置100にて実現できる。
パケット記録部120は、制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴を記録する。パケット記録部120が、制御対象のネットワークに流入した外部ネットワーク宛てのパケットを受け取る仕組みとしては、図1に示すように、ネットワークに配置された第1の通信装置200Aから受信パケットに関する通知を受け取る仕組みを採用できる。
判定部130は、前記記録後に制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴と前記パケット記録部120に記録されたパケットの特徴とを照合して、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが再び制御対象のネットワークに流入したか否かを判定する。
ループ抑止部140は、前記判定部130において、前記記録後に受信した外部ネットワーク宛てのパケットが、前記外部ネットワークを経由して再び流入したパケットであると判定された場合、所定のループ抑止措置を実施する。
以上のように本発明によれば、外部ネットワークへ送出したパケットが外部ネットワークを経由して再び流入したことを検出し、以降流入するパケットの破棄等の必要な措置を講ずることが可能となる。また、前記所定のループ抑止措置としては、パケットの破棄に限られない。例えば、送信元となっている端末のユーザやループが生じているネットワークの管理者等に、ループが発生していることを通知してもよい。また、送信元を悪意のあるユーザであると見做して、通信装置との接続を切断したり、通信装置へのアクセスを禁止すること等も考えられる。
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図2は、本発明の第1の実施形態の通信システムの構成を示す図である。図2を参照すると、オープンフロースイッチ(以下、「OFS」)20A、20Bを介して、オープンフローネットワーク40と、外部ネットワークとが接続された構成が示されている。
オープンフローコントローラ(以下「OFC」)10は、上記した制御装置に相当し、オープンフローチャネル(オープンフロー制御用のチャネル)30A、30Bを介して、OFS20AやOFS20Bを制御する装置である。なお、図2の例では、2台のOFS20A、20Bのみが示されているが、OFSの数に制限はない。OFC10は、オープンフローネットワーク40に配置されたOFSを制御することで、オープンフローネットワーク40を介して通信を実現する。
OFS20A、20Bは、上記した第1、第2の通信装置に相当し、OFC10からの指示に従って、受信パケットの転送や指定パケットの送出を行う機器である。具体的には、OFSは、パケットを受信すると、OFC10から設定されるフローエントの中から受信パケットに適合するマッチ条件を持つフローエントリを検索し、そのフローエントリに従って処理(他のOFSやOFC10へのパケット転送、ヘッダ書き換え、パケット破棄等)を行う。
また、以下の説明では、図2に示すように、少なくともOFS20Aのポート21AとOFS20Bのポート21Bが、外部ネットワークと接続しているものとする。本実施形態では、ポート21A又はポート21Bのいずれかから外部ネットワークへ送出されたパケットが、オープンフローネットワーク40に戻ってくることをループとして検出する。
外部ネットワークは図示した1つだけでなくともよく、1つ以上のOFSが他の外部ネットワークと接続されて、当該他の外部ネットワークへ送出したパケットがオープンフローネットワーク40に戻ってくることをループとして検出してもよい。また、外部ネットワークが、OFS20A、20B含むOFSと接続する別の外部ネットワークと接続されていてもよい。この場合も送出したパケットがオープンフローネットワーク40に戻ってくるタイプのループが発生しうる。
図3は、本実施形態のOFC10の構成を示す図である。図3を参照すると、要求処理部(OFC機能部)11と、パケット記録部12と、判定部13と、ループ抑止部14とを備えた構成が示されている。
要求処理部(OFC機能部)11は、非特許文献1、2のオープンフローコントローラに相当するOFSを制御する手段である。具体的には、要求処理部(OFC機能部)11は、あるOFSから、受信パケットに関する情報を含んだフローエントリの設定要求(Packet−Inメッセージ)を受けると、当該受信パケットの転送経路を計算する。前記転送経路の計算が完了すると、要求処理部(OFC機能部)11は、転送経路上のOFSに設定するフローエントリを作成して、前記転送経路上のOFSに前記作成したフローエントリを設定する。さらに、要求処理部(OFC機能部)11は、OFSに対し、フローエントリの設定要求(Packet−Inメッセージ)の送信契機となったパケットの出力を指示する。なお、パケットの出力を指示するOFSは、前記転送経路の終点に位置するOFSであってもよいし、その他前記転送経路上のOFSであってもよい(例えば、フローエントリの設定要求(Packet−Inメッセージ)の送信元のOFSに、バッファした受信パケットの出力を指示してもよい)。なお、パケットの出力指示には、非特許文献2に規定されているPacket−Outメッセージを用いることができる。
なお、OFSがOFC10にフローエントリの設定要求(Packet−Inメッセージ)を送信する仕組みは、非特許文献1、2と同様の手法を採ることができる。具体的には、要求処理部(OFC機能部)11が予めOFSに、未知のパケット受信時にOFC10にフローエントリの設定要求(Packet−Inメッセージ)を送信させるフローエントリを設定したり、OFSの未知パケット受信時にOFC10にフローエントリの設定要求(Packet−Inメッセージ)を行うことをデフォルト動作として規定しておけばよい。
また、要求処理部(OFC機能部)11は、OFSから、フローエントリの設定要求(Packet−Inメッセージ)を受信した場合、フローエントリの設定要求(Packet−Inメッセージ)に含まれる情報をパケット記録部12及び判定部13に渡す。
パケット記録部12は、要求処理部(OFC機能部)11から受け取ったフローエントリの設定要求(Packet−Inメッセージ)に基づいて、オープンフローネットワーク40に流入したパケットの特徴を所定期間分乃至所定回数分記録(キャッシュ)する。
図4、図5は、パケット記録部12に記録される情報の一例を示す図である。図4の例では、受信パケットの宛先MACアドレス、送信元MACアドレス及び(イーサネット(登録商標))タイプフィールドの情報(イーサネットヘッダに相当)が記録対象となっている。以下の説明では、図5に示すように、パケットヘッダから抽出された情報がパケット記録部12に記録されて、以降の受信パケットとの照合対象として使用されるものとして説明する。
また、図5の例では、各エントリに記録時刻(キャッシュ時刻)が付与されている。同一特徴のパケットを受信した場合であっても、相当の期間が経過している場合には、ループの発生ではなく、同一機器や同一のユーザ間で再び通信が発生したとみなすべきである。一方、相当期間が経過していない場合には、ループの発生が疑われる。本実施形態では、パケット記録部12に記録される各エントリに記録時刻(キャッシュ時刻)を、同一特徴のパケットを受信した際のループ判定に使用する。
判定部13は、要求処理部(OFC機能部)11からフローエントリの設定要求(Packet−Inメッセージ)に含まれる情報を受け取ると、パケット記録部12を参照し、フローエントリの設定要求(Packet−Inメッセージ)に含まれる情報に適合するエントリがあるか否かを確認する。前記確認の結果、フローエントリの設定要求(Packet−Inメッセージ)に含まれる情報に適合するエントリが存在した場合、判定部13は、フローエントリの設定要求(Packet−Inメッセージ)の受信時刻と前記エントリの記録時刻(キャッシュ時刻)との差が所定の時間内であるか否かを確認する。フローエントリの設定要求(Packet−Inメッセージ)の受信時刻と前記エントリの記録時刻(キャッシュ時刻)との差が所定の時間内である場合、判定部13は、外部ネットワークを経由して届いたループパケットであると判定し、ループ抑止部14に、フローエントリの設定要求(Packet−Inメッセージ)に含まれる情報を渡す。
ループ抑止部14は、判定部13からフローエントリの設定要求(Packet−Inメッセージ)に含まれる情報を受け取ると、フローエントリの設定要求(Packet−Inメッセージ)の受信契機となったパケットの破棄を指示するフローエントリを作成し、要求処理部(OFC機能部)11に該当するOFSへの設定と、同一フローエントリの設定要求(Packet−Inメッセージ)の破棄を要請する。
なお、図1、2に示した制御装置100乃至OFC10の各部(処理手段)は、これらの装置を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。また、図1、2はあくまで制御装置100乃至OFC10の機能を、機能ブロックにより表したものに過ぎない。例えば、要求処理部11、パケット記録部12、判定部13及びループ抑止部14のいずれか2以上を統合した構成とすることも可能であり、例えば、パケット記録部12が判定処理を行ってもよいし、要求処理部11や判定部13がループ抑止処理を行ってもよい。
続いて、本実施形態の動作について図面を参照して詳細に説明する。図6は、本実施形態のOFCの動作を説明するための流れ図である。以下、OFS20Aがあるパケットを受信した後、そのパケットがOFS20B及び外部ネットワークを経由して再びOFS20Aにて受信された例を挙げて説明する。
まずOFS20Aがポート21Aで新規通信に属するパケットを受信したものとする。図6、図7に示すように、OFS20Aは、当該パケット又は当該パケットから抽出した情報を用いて、フローエントリの設定要求(Packet−Inメッセージ)を生成し、OFC10に送信する(図7のステップS11)。
OFC10は、OFS20Aからフローエントリの設定要求(Packet−Inメッセージ)を受信すると(図6のステップS11)、パケット記録部12を参照し、フローエントリの設定要求(Packet−Inメッセージ)に含まれる情報に適合するエントリがあるか否かを確認する(ステップS21)。ここでは、パケット記録部12に該当するエントリは存在しない(ステップS21のNo)。このため、OFC10は、フローエントリの設定要求(Packet−Inメッセージ)に含まれる情報から、図4に示す情報を抽出し、フローエントリの設定要求(Packet−Inメッセージ)の受信時刻とともにパケット記録部12に登録する(ステップS12)。
その後、OFC10は、図8に示すように、フローエントリの設定要求(Packet−Inメッセージ)に基づいて、OFS20Aが受信したパケットの経路計算、フローエントリの作成、設定を行う。ここでは、OFS20AからOFS20Bを経由し、エッジOFSであるOFS20Bのポート21Bから出力する経路が計算されたものとする。本実施形態のOFC10は、前記フローエントリの設定とは別に、OFS20Bに対し、OFS20Aが受信したパケットをポート21Bから送出するよう指示する(ステップS13)。これにより、OFS20Aが受信したパケットの宛先への転送が行われる。
OFS20Bは、図9に示すように、前記OFC10からの指示に従い、ポート21Bから外部ネットワークに向けてパケットを送出する。以上のように、初めてオープンフローネットワーク40に入力したパケットの特徴が、パケット記録部12に記録(キャッシュ)される。なお、パケット記録部12に記録(キャッシュ)への記録対象とするパケットは、オープンフローネットワーク40を通過するパケット(外部ネットワーク宛てのパケット)に限定しても良い(例えば、OFS20B経由で外部ネットワークに送出され、外部ネットワークの接続端末やサーバを宛先とするパケット等)。
ここで、図10に示すように、OFS20Bが送出したパケットがループして、再び、OFS20Aにて受信されたものとする。OFS20Aは、ループしたパケットに対応するフローエントリを検索するが、上記ステップS13で設定されたフローエントリのマッチ条件とマッチしない場合(例えば、マッチ条件に含まれる入力ポートが異なる場合)、OFC10に対して、再びフローエントリの設定要求(Packet−Inメッセージ)を行う。その他、上記ステップS13で設定されたフローエントリにおいて、OFC10への転送が指示されているようなパケットの場合も、OFS20Aは、ループしたパケットの受信を契機に、OFC10にフローエントリの設定要求(Packet−Inメッセージ)を行う(図10のステップS11−2)。
OFC10は、OFS20Aからフローエントリの設定要求(Packet−Inメッセージ)を受信すると(ステップS11)、パケット記録部12を参照し、フローエントリの設定要求(Packet−Inメッセージ)に含まれる情報に適合するエントリがあるか否かを確認する(ステップS21)。ここでは、パケット記録部12に該当するエントリは存在するため、OFC10は、フローエントリの設定要求(Packet−Inメッセージ)の受信時刻と、パケット記録部12に登録されているエントリの記録時刻(キャッシュ時刻)との差を計算する(ステップS22)。前記計算の結果、フローエントリの設定要求(Packet−Inメッセージ)の受信時刻と、パケット記録部12に登録されているエントリの記録時刻(キャッシュ時刻)との差が所定の閾値T未満である場合、ループしたパケットであると判定する(ステップS22のYes)。一方、フローエントリの設定要求(Packet−Inメッセージ)の受信時刻と、パケット記録部12に記録されているエントリの記録時刻(キャッシュ時刻)との差が所定の閾値T以上の場合、ステップS12に進み、パケット記録部12の該当エントリの再記録又は記録時刻(キャッシュ時刻)の更新が行われる。
前記閾値Tは、例えば、1秒未満とすることができる。例えば、OFS20Aに接続する機器からARP Requestメッセージを送信し、OFS20Bを介して転送が行われたが、外部ネットワーク上に該当ノードが存在せずにARP Replyメッセージが返信されない場合がある。この場合、OFS20Aは、1秒間隔で数フレームのARP Requestメッセージの送信をリトライすると、同一メッセージが1秒間隔で送信されることになる。これをループ発生と判断しないためには、前記閾値Tとして1秒を設定することができる。もちろん、前記閾値は1秒に限られるものではなく、想定される通信内容に応じて決定される。また例えば、ARP Requestメッセージについては1秒とし、その他パケットについては数秒とする等、パケット種別に応じて閾値を変更してもよい。
フローエントリの設定要求(Packet−Inメッセージ)にかかるパケットが、ループしたパケットであると判定した場合、OFC10は、図11に示すように、今後の同一パケットの受信を回避するために、OFSに対して該当パケットの破棄を指示するループ抑止用のフローエントリを設定する(ステップS23)。このループ抑止用のフローエントリの設定先としては、OFS20Aのほか、いくつかのパターンが考えられる。例えば、OFS20Aの特定のポートのみからループパケットが入力している場合は、OFS20Aに対して、当該ポートから入力する該当パケットを破棄するフローエントリを設定すればよい。さらに、OFS20A以外にも、外部ネットワークとの接続点となるOFSがあり、ループパケットが流入する可能性がある場合には、これらのOFSにも該当パケットの破棄を指示するフローエントリを設定することができる。
また、前記ループ抑止用のフローエントリには、有効期限(タイムアウト値)を設定し、所定時間が経過すると、OFSが削除するようにすることが望ましい(非特許文献2のアイドルタイムアウトやハードタイムアウトによるフローエントリの削除)。このようにすることで、外部ネットワークの異常終了後の正常な通信まで破棄されてしまう事態を抑止することができる。
前記ループ抑止用のフローエントリの設定指示後、OFC10は、同一パケットの受信を契機とするフローエントリの設定要求(Packet−Inメッセージ)を破棄する。このように処理を停止することにより、OFS20Aでループ抑止用のフローエントリの登録が完了するまでの間のフローエントリの設定要求(Packet−Inメッセージ)の受信による、OFS20Bへのパケットの送信指示の発行とさらなるループの発生を抑止することが可能となる。
以上のように、本実施形態によれば、オープンフローネットワーク40を通過したパケットが再びオープンフローネットワーク40に戻ってきたようなタイプのループの発生を検出し、必要なループ抑止措置を採ることが可能となる。
また、上記した説明からも明らかなとおり、本実施形態は、外部ネットワークに余計な負荷をかけずに、ループ検出を行うことを可能とする。その理由は、ループ検出用のパケット等を送出せずに、ユーザパケットを利用して、ループ検出をなしうる構成を採用したことにある。
[第2の実施形態]
上記した実施形態では、オープンフローネットワーク40については詳説しなかったが、OFC10がオープンフローネットワーク40を論理分割(スライス)して複数の仮想ネットワークを提供しているような場合には、以下のように変形して実施することができる。
例えば、OFC10が複数の仮想ネットワークを提供している場合、初回のフローエントリの設定要求(Packet−Inメッセージ)を受けて、OFC10がOFS20Bに対しパケットを送出した場合を考える。この場合、OFS20Bから送出されたパケットが、次回に同じ仮想ネットワークに入力した場合のみループ発生として扱い、異なる仮想ネットワークに入力した場合はループ発生として扱わないこともできる。
このようにすることで、仮想ネットワーク毎にループの発生を検出し、必要なループ抑止装置を講ずることが可能となる。なお、OFC10が同一仮想ネットワークのループパケットであるか否かを判定する仕組みとしては、図5に例示したテーブルを仮想ネットワーク毎に複数設けたり、図12に示すように、図5に例示したテーブルに仮想ネットワークを識別するため識別情報のフィールドを追加すればよい。例えば、図12に示すように、仮想ネットワークの識別情報フィールドを設け、照合対象に仮想ネットワークの識別情報(仮想NW_ID)を加えることで、仮想ネットワーク毎のループ発生有無の判断が可能となる。
[第3の実施形態]
上記した実施形態では、イーサネットヘッダを用いてループパケットであるか否かを判断するものとして説明したが、その他ヘッダ情報を用いて判断するよう構成することも可能である。さらに、比較対象のデータサイズが大きい場合には、図13に示すように、パケット記録部12と、判定部13とにそれぞれ比較対象のデータのハッシュ値を計算するハッシュ計算部12a、13aを設けて、ハッシュ値による照合を行うようにすることもできる。このようにすることで、照合処理の速度低下を抑止することが可能となる。
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点による制御装置参照)
[第2の形態]
第1の形態の制御装置において、
前記ループ抑止部は、前記所定のループ抑止措置として、前記外部ネットワークを経由したパケットの流入点となる通信装置に対し、同一の特徴を持つ受信パケットの破棄を指示する制御装置。
[第3の形態]
第1又は第2の形態の制御装置において、
前記ループ抑止部は、前記所定のループ抑止措置として、前記外部ネットワークを経由したパケットの流入点となる通信装置からの転送パケットを破棄する制御装置。
[第4の形態]
第1から第3いずれか一の形態の制御装置において、
前記パケット記録部は、前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴とともに当該パケットを受信した時間情報を記録し、
前記判定部は、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴と前記パケット記録部に記録されたパケットの特徴とが一致するか否かと、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットを受信した時間と前記パケット記録部に記録された時間との差が所定の閾値未満である場合に、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが、前記外部ネットワークを経由して再び流入したパケットであると判定する
制御装置。
[第5の形態]
第1から第4いずれか一の形態の制御装置において、
前記パケット記録部は、前記パケットの特徴として、前記制御対象のネットワークに流入したパケットのパケットヘッダから求めたハッシュ値を記録し、
前記判定部は、前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットのパケットヘッダから求めたハッシュ値と、前記パケット記録部に記録されたハッシュ値とを用いて、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが、前記外部ネットワークを経由して再び流入したパケットであるか否かを判定する制御装置。
[第6の形態]
第1から第5いずれか一の形態の制御装置において、
前記パケット記録部は、前記制御対象のネットワークを用いて構成された仮想ネットワーク毎に、前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴を記録できるよう構成され、
前記判定部は、前記仮想ネットワーク毎に、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが、前記外部ネットワークを経由して再び流入したパケットであるか否かを判定する制御装置。
[第7の形態]
第1から第6いずれか一の形態の制御装置において、
さらに、前記制御対象のネットワーク上に配置された通信装置からの要求を処理する要求処理部を備え、
前記要求処理部を介して、前記通信装置から、前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットに関する情報を受け取る制御装置。
[第8の形態]
(上記第2の視点による通信システム参照)
[第9の形態]
(上記第3の視点によるループ抑止方法参照)
[第10の形態]
(上記第4の視点によるコンピュータプログラム参照)
なお、上記第8〜第10の形態は、第1の形態と同様に、第2〜第7の形態に展開することが可能である。
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
10 オープンフローコントローラ(OFC)
11 要求処理部(OFC機能部)
12 パケット記録部
12a、13a ハッシュ計算部
13 判定部
14 ループ抑止部
20A、20B オープンフロースイッチ(OFS)
21A、21B ポート
30A、30B オープンフローチャネル
40 オープンフローネットワーク
100 制御装置
120 パケット記録部
130 判定部
140 ループ抑止部
200A、200B 通信装置

Claims (10)

  1. 制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴を記録するパケット記録部と、
    前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴と前記パケット記録部に記録されたパケットの特徴とを照合して、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが再び制御対象のネットワークに流入したか否かを判定する判定部と、
    前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが、前記外部ネットワークを経由して再び流入したパケットであると判定した場合、所定のループ抑止措置を実施するループ抑止部と、
    を備えた制御装置。
  2. 前記ループ抑止部は、前記所定のループ抑止措置として、前記外部ネットワークを経由したパケットの流入点となる通信装置に対し、同一の特徴を持つ受信パケットの破棄を指示する請求項1の制御装置。
  3. 前記ループ抑止部は、前記所定のループ抑止措置として、前記外部ネットワークを経由したパケットの流入点となる通信装置からの転送パケットを破棄する請求項1又は2の制御装置。
  4. 前記パケット記録部は、前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴とともに当該パケットを受信した時間情報を記録し、
    前記判定部は、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴と前記パケット記録部に記録されたパケットの特徴とが一致するか否かと、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットを受信した時間と前記パケット記録部に記録された時間との差が所定の閾値未満である場合に、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが、前記外部ネットワークを経由して再び流入したパケットであると判定する請求項1から3いずれか一の制御装置。
  5. 前記パケット記録部は、前記パケットの特徴として、前記制御対象のネットワークに流入したパケットのパケットヘッダから求めたハッシュ値を記録し、
    前記判定部は、前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットのパケットヘッダから求めたハッシュ値と、前記パケット記録部に記録されたハッシュ値とを用いて、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが、前記外部ネットワークを経由して再び流入したパケットであるか否かを判定する請求項1から4いずれか一の制御装置。
  6. 前記パケット記録部は、前記制御対象のネットワークを用いて構成された仮想ネットワーク毎に、前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴を記録できるよう構成され、
    前記判定部は、前記仮想ネットワーク毎に、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが、前記外部ネットワークを経由して再び流入したパケットであるか否かを判定する請求項1から5いずれか一の制御装置。
  7. さらに、前記制御対象のネットワーク上に配置された通信装置からの要求を処理する要求処理部を備え、
    前記要求処理部を介して、前記通信装置から、前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットに関する情報を受け取る請求項1から6いずれか一の制御装置。
  8. 制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴を記録するパケット記録部と、
    前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴と前記パケット記録部に記録されたパケットの特徴とを照合して、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが再び制御対象のネットワークに流入したか否かを判定する判定部と、
    前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが、前記外部ネットワークを経由して再び流入したパケットであると判定した場合、所定のループ抑止措置を実施するループ抑止部と、
    を備えた制御装置と、
    前記制御装置に対する受信パケットに関する情報の送信と、前記制御装置からの指示に従ったパケットの処理とを行う通信装置群と、
    を含む通信システム。
  9. 制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴を記録するステップと、
    前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴と前記記録したパケットの特徴とを照合して、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが再び制御対象のネットワークに流入したか否かを判定するステップと、
    前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが、前記外部ネットワークを経由して再び流入したパケットであると判定した場合、所定のループ抑止措置を実施するステップと、
    を含むループ抑止方法。
  10. 制御対象のネットワークを制御する制御装置を構成するコンピュータに、
    制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴を記録する処理と、
    前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットの特徴と前記記録したパケットの特徴とを照合して、前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが再び制御対象のネットワークに流入したか否かを判定する処理と、
    前記記録後に前記制御対象のネットワークに流入した外部ネットワーク宛てのパケットが、前記外部ネットワークを経由して再び流入したパケットであると判定した場合、所定のループ抑止措置を実施する処理と、
    を実行させるコンピュータプログラム。
JP2014228678A 2014-11-11 2014-11-11 制御装置、通信システム、ループ抑止方法及びプログラム Pending JP2016092756A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014228678A JP2016092756A (ja) 2014-11-11 2014-11-11 制御装置、通信システム、ループ抑止方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014228678A JP2016092756A (ja) 2014-11-11 2014-11-11 制御装置、通信システム、ループ抑止方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2016092756A true JP2016092756A (ja) 2016-05-23

Family

ID=56018838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014228678A Pending JP2016092756A (ja) 2014-11-11 2014-11-11 制御装置、通信システム、ループ抑止方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2016092756A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7479489B2 (ja) 2020-02-21 2024-05-08 華為技術有限公司 パケット送信方法、デバイス、およびシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7479489B2 (ja) 2020-02-21 2024-05-08 華為技術有限公司 パケット送信方法、デバイス、およびシステム

Similar Documents

Publication Publication Date Title
US11134012B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
JP5880560B2 (ja) 通信システム、転送ノード、受信パケット処理方法およびプログラム
US9407503B2 (en) Control apparatus, communication system, communication method, and program
US20130282867A1 (en) Information system, control apparatus, method of providing virtual network, and program
EP3366020B1 (en) Sdn controller assisted intrusion prevention systems
JP5720340B2 (ja) 制御サーバ、通信システム、制御方法およびプログラム
US20130275620A1 (en) Communication system, control apparatus, communication method, and program
JP5534033B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
JPWO2014129624A1 (ja) 制御装置、通信システム、経路切替方法及びプログラム
JP5870995B2 (ja) 通信システム、制御装置、計算機、ノードの制御方法およびプログラム
JPWO2014175423A1 (ja) 通信ノード、通信システム、パケット処理方法及びプログラム
JPWO2014069502A1 (ja) 通信システム、経路情報交換装置、通信ノード、経路情報の転送方法及びプログラム
JP6440191B2 (ja) スイッチ装置、vlan設定管理方法及びプログラム
JP2017050708A (ja) 通信システム、制御装置、スイッチ、通信方法及びプログラム
JP2016092756A (ja) 制御装置、通信システム、ループ抑止方法及びプログラム
WO2015045275A1 (ja) 制御装置、ネットワークシステム、パケット転送制御方法、制御装置用プログラム
KR101707073B1 (ko) Sdn 기반의 에러 탐색 네트워크 시스템
WO2014119602A1 (ja) 制御装置、スイッチ、通信システム、スイッチの制御方法及びプログラム
JP6441721B2 (ja) 制御装置、制御方法及びプログラム
JP6175766B2 (ja) 通信ノード、制御装置、通信システム、エントリ集約方法及びプログラム
WO2014027687A1 (ja) 通信システム、制御情報記録装置、制御装置、制御情報の記録方法及びプログラム
JP2019024272A (ja) 制御装置、制御方法及びプログラム
JPWO2015166979A1 (ja) 通信装置、制御装置、通信システム、受信パケットの処理方法、通信装置の制御方法及びプログラム