JPWO2015079615A1 - 通信システム、通信方法、ネットワーク情報結合装置、処理規則変換方法および処理規則変換プログラム - Google Patents

通信システム、通信方法、ネットワーク情報結合装置、処理規則変換方法および処理規則変換プログラム Download PDF

Info

Publication number
JPWO2015079615A1
JPWO2015079615A1 JP2015550541A JP2015550541A JPWO2015079615A1 JP WO2015079615 A1 JPWO2015079615 A1 JP WO2015079615A1 JP 2015550541 A JP2015550541 A JP 2015550541A JP 2015550541 A JP2015550541 A JP 2015550541A JP WO2015079615 A1 JPWO2015079615 A1 JP WO2015079615A1
Authority
JP
Japan
Prior art keywords
packet
packet processing
processing rule
flow
domain
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
JP2015550541A
Other languages
English (en)
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 JPWO2015079615A1 publication Critical patent/JPWO2015079615A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

接続された1台以上の通信ノードに対してパケット処理規則を設定することにより、その通信ノードによるパケット転送を制御する複数の制御装置81と、制御装置81が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置および複数の制御装置81に接続されるネットワーク情報結合装置82とを備え、ネットワーク情報結合装置82が、計算装置が計算したパケット処理規則を、各制御装置81が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換部83を含む。

Description

本発明は、制御装置からの指示に従ってパケット通信を行う装置を含む通信システム、通信方法、およびそれらに用いられるネットワーク情報結合装置、処理規則変換方法および処理規則変換プログラムに関する。
近年、オープンフロー(OpenFlow)という技術が提案されている(非特許文献1、非特許文献2参照)。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行う技術である。
転送ノードとして機能するオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するルール(FlowKey;マッチングキー)と、処理内容を定義したアクション(Action)と、フロー統計情報(Stats)との組が定義される。
図18に、非特許文献2で定義されているアクション名とアクションの内容の一部を例示する。OUTPUTは、パケットを指定ポート(インターフェース)に出力するアクションである。SET_VLAN_VIDからSET_TP_DSTは、パケットヘッダのフィールドを修正するアクションである。
例えば、オープンフロースイッチは、最初のパケット(first packet)を受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルール(FlowKey)を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容を実施する。
一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送し、受信パケットの送信元および送信先に基づいたパケットの経路の決定を依頼する。そして、オープンフロースイッチは、これを実現するフローエントリをオープンフローコントローラから受け取ってフローテーブルを更新する。
また、前述のようにオープンフロースイッチは、オープンフローコントローラからのフローエントリ設定によってパケットの処理方法を決定する。特に指定されたインターフェースへパケットを出力するOUTPUTが処理方法として多用されるが、このとき指定されるポートは、物理的なインターフェースに限られない。
このようにオープンフローでは、トラフィックの制御をマッチ条件によって規定される処理規則の集合として定義することで、オープンフローコントローラによりオープンフロースイッチを制御する。
また、特許文献1には、上記のオープンフローによって制御されるネットワークにおいて、オープンフローネットワークを階層化することにより、オープンフローコントローラの制御負荷を削減する通信システムが記載されている。特許文献1に記載された通信システムは、一つ以上のオープンフローネットワークが存在することを前提としている。そして、特許文献1に記載された通信システムは、物理的なオープンフローネットワークを制御する各オープンフローコントローラ(以下、下位コントローラと記す。)をさらに制御する上位のオープンフローコントローラ(以下、上位コントローラと記す。)を備えている。
具体的には、特許文献1に記載された通信システムでは、各下位コントローラが、自身が制御するネットワークを一つの仮想的なスイッチとして上位コントローラに通知し、上位コントローラからのフロー制御を受け取ることによってネットワークの階層化を実現している。このようにして、特許文献1に記載された通信システムでは、複数のオープンフローネットワークを一つのネットワークとして制御する。
また、非特許文献3には、MPLS(Multi Protocol Label Switching)ネットワークにおいて、ネットワーク制御の一部を外部装置が集中して行う方法が記載されている。具体的には、非特許文献3には、MPLSネットワークにおいて、トラフィックを転送する経路の計算をPCE(Path Computation Element:パス計算エレメント)によって集中的に行う構成が記載されている。
PCEは、MPLSルータからの情報や、OSPF(Open Shortest Path First)などのルーティングプロトコルを基に、ネットワークトポロジを収集し、経路計算に用いる。PCEは、MPLSルータからの経路計算要求によって指定されたルータ間の経路を、要求された制約に基づいて計算し、MPLSルータに返答する。
このように、PCEを用いてネットワークにおける経路計算を集中的に行うことで、既存のIPネットワークにおける分散型の経路制御で課題となりうる制御の一貫性損失や、経路の収束時間の増大などを回避する。
また、特許文献2には、MPLSネットワークにおいて、複数のネットワークをまたいだエンドツーエンドの経路を計算するために、階層的にPCE(パス計算エレメント)を配備する方法や、PCEを制御する方法が記載されている。また、特許文献2には、複数のドメインからなる大規模MPLSネットワークにおいて、経路の計算を効率よく行う方法が記載されている。
具体的には、特許文献2に記載された方法では、階層的にドメインを定義し、各階層のドメインにPCE(パス計算エレメント)を配置する。下位のPCEは、上位のPCEに対して、ドメインレベルの接続関係情報を提供し、上位PCEは、自身の制御する複数のドメイン間の経路を計算する。経路計算は階層毎に行われ、上位のPCEが下位ドメインの入力ノードと出力ノードを決定し、計算タスクを下位ドメインに依頼することで経路計算を並列に実行させる。このように、特許文献2では、複数ドメインからなるネットワークにおいて、複数のドメインをまたがって統一的に経路を計算する方法を示している。
特表2013−522934号公報 特表2011−509014号公報
Nick McKeown他7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成22年2月26日検索]、インターネット〈URL:http://www.openflowswitch.org/documents/openflow-wp-latest.pdf〉 "OpenFlow Switch Specification Version 1.0.0. (Wire Protocol 0x01) "、[online]、[平成25年9月17日検索] 、インターネット〈URL:https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.0.0.pdf〉 "RFC 4655(A Path Computation Element (PCE)-Based Architecture)" 、[online]、[平成25年9月13日検索]、インターネット〈URL:http://datatracker.ietf.org/doc/rfc4655/〉
上述した通り、オープンフローやMPLSネットワークにおけるPCEによって、ネットワーク全体の制御を集中的に行うことができる。しかし、ネットワークを構築する環境によっては、複数のドメインを構成し、そのドメインを相互接続することで一つのネットワークを構築する必要がある。
例えば、ネットワークに参加するユーザの拠点が地理的に分散している場合、拠点間の通信遅延や管理者の違いなどを考慮し、各拠点に制御装置を配して、各制御装置が制御する範囲をそれぞれ一つの管理ドメインとすることが望ましい。
また、ネットワークを制御するコントローラ(例えば、オープンフローの場合はオープンフローコントローラ、MPLSネットワークの場合はPCE)の性能は有限である。そのため、単一のコントローラではすべての装置を収容できないことも考えられる。また、コントローラと装置間の制御チャネルのレイテンシやスループットの性能によって収容可能な装置数が制限されることも考えられる。
このような状況では、上述のように複数のドメインを相互接続し、大規模なネットワークを構成する必要がある。この場合、異なる管理ドメインをまたがってトラフィックを矛盾なく統一的に制御する方法が必要になる。
特許文献1に記載された通信システムを用いることで、複数のドメインをそれぞれ単一の仮想的なスイッチとして扱うことができ、複数のネットワークドメインを上位コントローラの制御下とすることができる。しかし、特許文献1に記載された通信システムは、下位コントローラがドメイン内部の情報、すなわちトポロジ情報やトラフィック統計情報などを隠蔽し、一つの仮想的なスイッチとして上位コントローラへ通知する。そのため、ドメイン内部の状態把握や経路制御は、下位コントローラが行うことになる。
そのため、特許文献1に記載された通信システムによりドメインをまたがって細粒度フロー制御を行うには、ドメイン間の制御とドメイン内の制御を矛盾なく結合する必要がある。特許文献1に記載された通信システムを用いた場合には、それぞれのコントローラの制御ロジックが複雑になる可能性があるため、より開発コストを低減させる方法が望まれる。
また、特許文献1に記載された通信システムでは、上位コントローラがドメイン間の接続関係を把握していないため、複数のドメインをまたがって統一されたトラフィック制御を行うことは難しい。そのため、複数のドメインをまたがって統一されたトラフィック制御を行う方法も望まれる。
一方、特許文献2に記載された方法では、各MPLSドメインにPCEを配置し、それらドメイン間のPCEを統括する上位のPCEを配備することで、複数のMPLSドメインにまたがる経路の計算を集中して行うことができる。
しかし、特許文献2に記載された方法では、経路の計算のみが集中して行われ、ドメイン間の接続関係の把握やトラフィック制御の設定などは、複数のMPLSルータによる分散システムとして実現される。そのため、複数のドメインをまたがって統一されたトラフィック制御を実現する場合、各ドメインに含まれる機器に対し、オペレータが様々な設定を行わなければならない。さらに、オペレーションミスの発生を低減させるために、各設定がネットワーク全体で矛盾していないか検証する必要があることを考慮すると、運用コストが高くなってしまうという問題がある。
そこで、本発明は、複数のネットワークドメインを統合したネットワークのトラフィックを制御する際、その制御に要するコストを低減させながら、矛盾なくトラフィック制御を行うことができる通信システム、通信方法、およびそれらに用いられるネットワーク情報結合装置、処理規則変換方法および処理規則変換プログラムを提供することを目的とする。
本発明による通信システムは、接続された1台以上の通信ノードに対してパケット処理規則を設定することにより通信ノードによるパケット転送を制御する複数の制御装置と、制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置および複数の制御装置に接続されるネットワーク情報結合装置とを備え、ネットワーク情報結合装置が、計算装置が計算したパケット処理規則を、各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換部を含み、各制御装置が、制御する通信ノードに対して、変換された分解パケット処理規則を設定することを特徴とする。
本発明によるネットワーク情報結合装置は、接続された1台以上の通信ノードに対してパケット処理規則を設定することにより通信ノードによるパケット転送を制御する複数の制御装置と、その制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるネットワーク情報結合装置であって、計算装置が計算したパケット処理規則を、各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換部を含むことを特徴とする。
本発明による通信方法は、接続された1台以上の通信ノードに対してパケット処理規則を設定することにより通信ノードによるパケット転送を制御する複数の制御装置と、その制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるネットワーク情報結合装置が、計算装置が計算したパケット処理規則を、各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換し、制御装置が、制御する通信ノードに対して、変換された分解パケット処理規則を設定することを特徴とする。
本発明による処理規則変換方法は、接続された1台以上の通信ノードに対してパケット処理規則を設定することにより、その通信ノードによるパケット転送を制御する複数の制御装置と、その制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるネットワーク情報結合装置が、計算装置が計算したパケット処理規則を、各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換することを特徴とする。
本発明による処理規則変換プログラムは、接続された1台以上の通信ノードに対してパケット処理規則を設定することにより通信ノードによるパケット転送を制御する複数の制御装置と、その制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるコンピュータに適用される処理規則変換プログラムであって、コンピュータに、計算装置が計算したパケット処理規則を、各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換処理を実行させることを特徴とする。
本発明によれば、複数のネットワークドメインを統合したネットワークのトラフィックを制御する際、その制御に要するコストを低減させながら、矛盾なくトラフィック制御を行うことができる。
本発明による通信システムの一実施形態を示すブロック図である。 第1の実施形態におけるネットワーク結合装置10の構成例を示すブロック図である。 図1に例示する構成例における処理の流れを示す説明図である。 トポロジの例を示す説明図である。 リンク情報の例を示す説明図である。 ドメイン間トポロジの例を示す説明図である。 ドメイン間フローの例を示す説明図である。 分割されたフローの例を示す説明図である。 第2の実施形態におけるネットワーク結合装置10の構成例を示すブロック図である。 探索パケットの例を示す説明図である。 リンクを探索する処理の例を示す説明図である。 ドメイン間フローの他の例を示す説明図である。 図12に例示するドメイン間フローを分解した例を示す説明図である。 図13に例示するフローを変更したフローの例を示す説明図である。 ドメイン間フローを分解した他の例を示す説明図である。 本発明による通信システムの概要を示すブロック図である。 本発明によるネットワーク情報結合装置の概要を示すブロック図である。 OpenFlowで定義されているアクション名とアクションの内容を示す説明図である。
以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図1は、本発明による通信システムの一実施形態を示すブロック図である。図1に例示する通信システムは、ネットワーク結合装置10と、制御装置21〜22と、ノード31〜36と、フロー計算装置50とを備えている。また、ノード31、ノード32、ノード35、ノード36には、それぞれ、端末41、端末42、端末43、端末44がそれぞれ接続されている。
以下の説明では、制御装置21、制御装置22を、それぞれ制御装置#1、制御装置#2と記し、ノード31、ノード32、ノード33、ノード34、ノード35、ノード36を、それぞれノード#1、ノード#2、ノード#3、ノード#4、ノード#5、ノード#6と記し、端末41、端末42、端末43、端末44を、それぞれ、端末#1、端末#2、端末#3、端末#4と記すことがある。
また、本実施形態では、制御装置21とノード31〜33とを含むドメインをドメイン#1とし、制御装置22とノード34〜36を含むドメインをドメイン#2とする。ドメインとは、複数の装置を含むネットワークの管理上の領域を表わす。本実施形態では、制御装置および各制御装置が制御する複数のノードを含むネットワークの管理上の領域をドメインと記す。
制御装置21は、ノード31〜33と制御用の通信チャネルで接続され、制御装置22は、ノード34〜36と制御用の通信チャネルで接続される。図1において、制御装置とノードとを接続する制御用の通信チャネルは、破線で示されている。各制御装置は、接続されたノードに対してパケットを処理するための規則を設定することにより、各ノードによるパケット転送を制御する。以下の説明では、ノードがパケットを転送するために用いるパケットの識別情報およびその動作(転送経路や、終端時処理方法など)を含むパケット処理規則のことを、単にフローと記す。
ノード33とノード34はリンクによってドメインをまたいで接続される。また、ノード31、ノード32、ノード35、ノード36は、それぞれ端末41、端末42、端末43、端末44に接続される。
また、制御装置21と制御装置22は、それぞれネットワーク結合装置10に制御用の通信チャネルで接続され、ネットワーク結合装置10は、さらにフロー計算装置50に制御用の通信チャネルで接続される。図1において、各制御装置とネットワーク結合装置10とを接続する制御用の通信チャネル、および、ネットワーク結合装置10とフロー計算装置50とを接続する制御用の通信チャネルは、破線で示されている。
なお、図1に示す構成は一例であり、ノード数や制御装置の数は、図1に例示する数に限定されない。各ドメインに属するノード数は、1台または2台であってもよく、4台以上であってもよい。また、制御装置の数も、2台に限定されず、3台以上であってもよい。さらに、ドメインの数も、2つに限定されず、3つ以上であってもよい。
次に、本実施形態の動作概要を説明する。制御装置21は、自身が制御するドメイン#1内部におけるノード31、ノード32、ノード33の間の接続関係をトポロジ情報として収集および記憶している。以下、トポロジ情報のことを、単にトポロジと記すことがある。また、制御装置22は、自身が制御するドメイン#2内部におけるノード34、ノード35、ノード36の間の接続関係をトポロジ情報として収集および記憶している。
制御装置21と制御装置22は、それぞれドメイン#1とドメイン#2内部のトポロジに変化が生じるとネットワーク結合装置10にトポロジを通知する。ネットワーク結合装置10は、通知されたドメイン#1とドメイン#2のトポロジ情報をドメイン間の接続を担うリンクで結合し、一つのネットワークトポロジとしてフロー計算装置50へ通知する。
図1に示す例では、ネットワーク結合装置10は、ドメイン#1におけるトポロジとドメイン#2におけるトポロジを、ノード#3とノード#4を結ぶリンクで結合し、フロー計算装置50へ通知する。この動作によって、フロー計算装置50に対して、ドメインをまたがるトポロジが提供される。
また、制御装置21および制御装置22は、ノードが新規トラフィックを検知した場合、ノードからフロー設定を要求される。制御装置21および制御装置22は、ネットワーク結合装置10へフロー設定要求を通知し、ネットワーク結合装置10は、さらにフロー計算装置50へフロー設定要求を通知する。
フロー計算装置50は、このフロー設定要求に応じて、または、トポロジ変動やユーザからの指示、新規ホストの登録等の状況変化に応じて、フロー制御を行うために、そのフローに分類するパケットの識別条件とパケットの転送に使用する経路とを計算する。具体的には、フロー計算装置50は、ドメイン(ドメイン#1、ドメイン#2)をまたいだパケット処理規則(フロー)を計算する。以下、ドメインをまたいだフローのことを、ドメイン間フローと記す。
フロー計算装置50は、この識別条件と、パケットの転送に使用する経路とを基に、ノード31〜36に設定すべきパケット処理規則の集合を作成し、その集合をフロー設定指示としてネットワーク結合装置10へ通知する。
ネットワーク結合装置10は、フロー設定指示を受け取った場合、そのフロー設定指示を、ドメイン#1とドメイン#2の境界で分解するため、ノード31〜33へ設定すべきパケット処理規則と、ノード34〜36へ設定すべきパケット処理規則とに変換する。
さらに、ネットワーク結合装置10は、変換されたノード31〜33へのパケット処理規則をドメイン#1へのフロー設定指示として制御装置21へ通知する。同様に、ネットワーク結合装置10は、変換されたノード34〜36へのパケット処理規則をドメイン#2へのフロー設定指示として制御装置22へ通知する。
フロー設定指示を受け取った制御装置21および制御装置22は、フロー設定指示内のパケット処理規則をそれぞれ制御するノードに設定する。この動作によって、フロー計算装置50が計算したドメインをまたがるフロー設定が物理ネットワークに設定され、パケットの転送が可能になる。
次に、本実施形態のネットワーク結合装置10の動作を説明する。図2は、第1の実施形態におけるネットワーク結合装置10の構成例を示すブロック図である。本実施形態のネットワーク結合装置10は、トポロジ結合部110と、境界探索部120と、フロー分解部130と、制御メッセージ処理部140と、マネジメントネットワーク通信部150とを含む。
トポロジ結合部110と、境界探索部120と、フロー分解部130とは、プログラム(処理規則変換プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、ネットワーク結合装置10の記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、トポロジ結合部110、境界探索部120およびフロー分解部130として動作してもよい。また、トポロジ結合部110と、境界探索部120と、フロー分解部130とは、それぞれが専用のハードウェアで実現されていてもよい。
マネジメントネットワーク通信部150は、制御装置21〜22およびフロー計算装置50との通信を行う。
制御メッセージ処理部140は、制御装置からのメッセージおよび制御装置へのメッセージを適切な制御機能に受け渡す。
トポロジ結合部110は、複数のドメインのトポロジを結合する。具体的には、トポロジ結合部110は、制御装置21〜22から受信した各ドメインのトポロジを結合して、複数のドメインをまたがるネットワークのトポロジ(以下、ドメイン間トポロジと記す。)を生成する。
また、トポロジ結合部110は、オブジェクトID管理データベース111(以下、オブジェクトID管理DB111と記す。)を有する。オブジェクトID管理DB111は、各ドメインの制御装置から受け取ったトポロジ情報(以下、ローカルトポロジ情報と記すこともある。)と、ネットワーク全体を制御するフロー計算装置50へ通知したトポロジ情報(以下、グローバルトポロジ情報と記すこともある。)との間で、トポロジ情報を構成する各オブジェクトの識別情報(ID)の対応関係を保持する。
本実施形態では、トポロジ結合部110がオブジェクトID管理DB111を有する場合について説明する。ただし、ネットワーク全体でトポロジオブジェクトのIDがユニークであり、各ドメインの制御装置が決定したオブジェクトIDを上位の制御装置が変更せずに使用する場合、トポロジ結合部110は、オブジェクトID管理DB111を備えていなくてもよい。また、トポロジ結合部110は、結合前の各ドメインのトポロジ情報と、結合後のトポロジ情報をキャッシュ(図示せず)に記憶しておいてもよい。
境界探索部120は、ドメイン間を物理的に結合しているリンクを探索する。
また、境界探索部120は、ドメイン間リンクデータベース121(以下、ドメイン間リンクDB121と記す。)を有する。ドメイン間リンクDB121は、ドメイン間のリンクを示す情報を保持する。
フロー分解部130は、フロー計算装置50から送信されたドメイン間のフローをドメインごとのフローへ分解する。すなわち、フロー分解部130は、フロー計算装置50が計算したドメイン間フローを、各制御装置が制御する通信ノードに設定すべきフローにそれぞれ変換する。
また、フロー分解部130は、フローデータベース131(以下、フローDB131と記す。)を有する。フローDB131は、分解前のフロー情報と分解後のフロー情報、及びそれら対応関係を保持する。
図3は、図1に例示する構成例において、ネットワークのトポロジが結合される処理の流れ、および、ドメイン間のフローが分解される処理の流れを示す説明図である。まず、各ドメインのトポロジを結合する処理を説明する。
トポロジ結合処理は、図3に例示する白抜き矢印の流れで行われる。具体的には、制御装置21および制御装置22は、ネットワーク結合装置10に各ドメインのトポロジ情報を送信し、ネットワーク結合装置10は、各ドメインのトポロジ情報を結合したトポロジ情報をフロー計算装置50へ送信する。
制御装置21及び制御装置22は、それぞれ自身と制御チャネルを通して接続されているノード(すなわち、制御装置21はノード31〜33、制御装置22は、ノード34〜36)を制御しており、ノード間のトポロジを監視している。
図4は、トポロジの例を示す説明図である。図1に例示する構成例の場合、制御装置21は、図4(a)に例示するトポロジを把握しており、制御装置22は、図4(b)に例示するトポロジを把握している。
制御装置21および制御装置22は、自身が制御するドメインにおけるトポロジに変化が生じた際、ネットワーク結合装置10にトポロジを通知する。この通知や、ドメイン間リンクDBの変化を契機として、ネットワーク結合装置10(具体的には、トポロジ結合部110)は、ドメインごとのトポロジを結合する処理を行う。
ネットワーク結合装置10に含まれるドメイン間リンクDB121は、各ドメインを物理的に接続しているリンク情報を保持する。なお、このリンク情報は、ドメイン間の境界における接続関係を示していることから、境界リンク情報と言うこともできる。ドメイン間リンクDB121は、例えばオペレータによってマネジメントネットワーク通信部150を通して動的に設定されるリンク情報を保持してもよいし、設定ファイルなどに保存されたリンク情報を、ネットワーク結合装置10の起動時やプログラムの起動時などに読み込んで保持してもよい。
また、ネットワーク結合装置10(例えば、トポロジ結合部110)が、各ポートに流入するパケットを監視して、端末に接続されているポートをリンク情報から除外してもよい。
図5は、ドメイン間リンクDB121が保持するリンク情報の例を示す説明図である。図5に示す例では、ドメイン#1とドメイン#2は、ノード#3のポート7(p7)とノード#4のポート8(p8)とを結ぶリンクで接続されていることを示す。
ネットワーク結合装置10(より具体的には、境界探索部120)は、このドメイン間リンクDB121からドメイン#1とドメイン#2を接続しているリンクを検索および取得し、トポロジの結合点として用いる。
具体的には、境界探索部120は、ドメイン間リンクの接続元ポートと接続先ポートを、それぞれのドメインのトポロジから検索する。そして、トポロジ結合部110は、ドメイン間リンクを双方のトポロジ情報に追加して、一つのトポロジデータに結合することで、ドメイン間トポロジを作成する。
ネットワーク結合装置10(より具体的には、トポロジ結合部110)は、この処理によって作成したドメイン間トポロジをフロー計算装置50へ通知し、フロー計算装置50がドメイン間をまたがった転送経路の計算を行うことを可能とする。
図6は、ドメイン間トポロジの例を示す説明図である。図1に例示する構成例の場合、トポロジ結合部110は、図6に例示する破線で示したリンクを示す情報を含むドメイン間トポロジを生成する。
なお、ドメイン間のリンク情報が存在しない場合、トポロジ結合部110は、ドメイン間のリンク情報を追加せずに、各ドメインのトポロジ情報をフロー計算装置50へ通知すればよい。
次に、フローの分解処理を説明する。フロー分解処理は、図3に例示する黒矢印の流れで行われる。具体的には、フロー計算装置50は、設定するフローをネットワーク結合装置10に送信し、ネットワーク結合装置10は、そのフローを分解して制御装置21および制御装置22に送信する。制御装置21および制御装置22は、制御する各ノードに受信した内容を設定する。以下、各装置の処理を説明する。
まず、フロー設定指示が、フロー計算装置50によって行われる。フロー計算装置50は、ノードからのフロー設定要求をトリガとして受動的にフロー設定指示を行ってもよく、トポロジ情報の変化やトラフィックの状態、外部システムやオペレータからの指示に応じてフロー設定指示を行ってもよい。
ここでは、図1に示す構成例において、端末42から端末43宛にパケットを転送するためのフローをノードに設定するものとする。図7は、フロー計算装置50が作成するドメイン間フローの例を示す説明図である。
図7に例示するパケット識別条件は、このフローに従って処理されるべきトラフィックの識別に用いられる。図7に示す例では、端末42に接続されたノード#2のポート4(p4)が入力ポートとして指定され、さらに端末42のMACアドレスに0x0が指定され、端末43のMACアドレスに0x1が指定されている。さらに、図7に示す例では、送信元のIPアドレスに任意の値が指定され、宛先となる端末43のIPアドレスに192.168.0.1が指定されている。
また、図7に例示する転送経路は、パケットが転送されるべき経路を示しており、ここでは、ノード32、ノード33、ノード34、ノード35の順にパケットを転送することが指定されている。また、図7に例示する終端時処理方法は、終端において実行されるべきパケットの処理内容を示しており、ここでは、端末43へパケットを出力することが指定されている。
なお、終端時処理方法は、図7に例示する内容に限定されない。終端時処理方法には、例えば、パケットヘッダの変更や、パケットのコピー、パケットの廃棄など、ノードが対応している任意の処理を指定可能である。
また、図7に示す例では、パケット識別条件、転送経路、終端時処理規則の組でフローを表現している。他にも、オープンフローにおけるフローエントリの表現にあわせて、各ノードにおけるパケット識別条件とパケット処理の組でフローが表現されてもよい。この場合、図7に例示するフローは、転送経路に含まれるノード32、ノード33、ノード34およびノード35における、それぞれのフローエントリとして表現される。ただし、パケット識別条件の入力ポート部分は、それぞれ転送経路におけるひとつ前のノードと接続されているポートに変更され、パケット処理には、転送経路における次のノードと接続されているポートへの出力が指定される。
このフロー設定指示がフロー計算装置50からネットワーク結合装置10へ通知されると、ネットワーク結合装置10(より具体的には、フロー分解部130)は、ドメイン間リンクDB121が保持しているドメイン間のリンク情報を用いて、受信したフローをドメインごとのフローへ分解する。
図1に示す構成例の場合、フロー分解部130は、ドメイン#1とドメイン#2の間のリンクをドメイン間リンクDB121より検索し、ノード33とノード34の間のリンクを取得する。このドメイン間のリンク情報をもとに、フロー分解部130は、フロー設定指示に含まれる転送経路を二つの経路に分割する。
具体的には、図1に示す構成例の場合、フロー分解部130は、ノード#2からノード#3への経路と、ノード#4からノード#5への経路を作成する。この経路に対して、それぞれパケット識別条件と、終端時処理方法を加えることで、二つのフローへの分解処理が行われる。
ドメイン#1におけるフローのパケット識別条件には、分解前のフローにおけるパケット識別条件がそのまま用いられればよい。ただし、終端時処理方法には、ドメイン#1に端末43は接続されておらず、ドメイン#2へトラフィックを受け渡す処理を指定する必要がある。そこで、フロー分解部130は、この例の場合、終端時処理方法にノード#4への出力を指定する。
一方、ドメイン#2におけるフローのパケット識別条件には、分解前のフローにおけるパケット識別条件を大部分利用できるが、入力ポートのみ変更する必要がある。ドメイン#2における入力ポートは、ドメイン#1とドメイン#2の結合点であるポート8(p8)である。そのため、フロー分解部130は、入力ポートにポート8(p8)を指定する。終端時処理方法には、分解前のフローで指定された終端時処理方法を使用できる。
なお、結合後のトポロジと結合前のトポロジとの間でIDの変更が発生している場合、フロー分解部130は、トポロジ結合部110に問い合わせることでオブジェクトID管理DB111に保持される結合前のトポロジにおけるIDを取得する。そして、フロー分解部130は、パケット識別条件や転送経路、終端時処理方法に指定されているノードIDやポートIDの変更を行う。
この処理によってドメイン間フローが、ドメイン#1とドメイン#2に設定すべき二つのフローへ分割される。図8は、ドメイン間フローを分解した例を示す説明図である。図7に例示するドメイン間フローと比較すると、ドメイン#1に設定されるフロー(分解済フロー:図8(a)参照)は、転送経路および終端時処理方法がドメイン間フローと異なる。また、ドメイン#2に設定されるフロー(分解済フロー:図8(b)参照)は、パケット識別条件における入力ポートと転送経路とがドメイン間フローと異なる。
ネットワーク結合装置10は、分解したフローを設定する指示をそれぞれの制御装置へ送信し、各制御装置がノードへフローを設定することでフロー設定が完了する。
このように、フロー分解部130は、パケットの転送元ドメイン(ここでは、ドメイン#1)内のノードに設定するフローのうち、パケット識別条件にドメイン間フローのパケット識別条件と同一の内容を設定し、処理内容に、ドメイン内のノードのみを転送させる経路および自ドメインの境界から他ドメインのノードへ転送させる処理に変更した内容を設定する。さらに、フロー分解部130は、パケットの転送先ドメイン(ここでは、ドメイン#2)内のノードに設定するフローのうち、パケット識別条件に入力元を示す内容以外ドメイン間フローのパケット識別条件と同一の内容を設定し、処理内容に、ドメイン内のノードのみを転送させる経路を設定する。
以上のように、本実施形態によれば、フロー分解部130が、フロー計算装置50によって計算されたドメイン間フローを、各制御装置が制御するノードに設定すべきフローにそれぞれ変換し、各制御装置が、制御するノードに対して、変換されたフローを設定する。よって、複数のネットワークドメインを統合したネットワークのトラフィックを制御する際、その制御に要するコストを低減させながら、矛盾なくトラフィック制御を行うことができる。すなわち、複数のドメインをまたがったネットワークでも、統一的に制御することが可能になる。
実施形態2.
次に、本発明の第2の実施形態を説明する。本実施形態における通信システムの構成は、図1に例示する構成と同様とする。図9は、第2の実施形態におけるネットワーク結合装置10の構成例を示すブロック図である。なお、第1の実施形態と同様の構成については、図1と同一の符号を付し、説明を適宜省略する。
本実施形態のネットワーク結合装置10は、第1の実施形態におけるネットワーク結合装置10と同様、トポロジ結合部110と、境界探索部120と、フロー分解部130と、制御メッセージ処理部140と、マネジメントネットワーク通信部150とを含む。また、トポロジ結合部110は、第1の実施形態と同様に、オブジェクトID管理DB111を有する。
本実施形態の境界探索部120は、ドメイン間リンクDB121と、境界候補データベース122(以下、境界候補DB122と記す。)とを有する。境界候補DB122は、ドメイン間のリンクの探索候補となるポートの一覧を保持する。
フロー分解部130は、フローDB131を有する。さらに、ネットワーク結合装置10は、フロー分解部130と協働するフロー検証部132と、フロー変更部133とを含む。
なお、フロー検証部132と、フロー変更部133とは、プログラム(処理規則変換プログラム)に従って動作するコンピュータのCPUによって実現される。フロー検証部132と、フロー変更部133とは、それぞれが専用のハードウェアで実現されていてもよい。
フロー検証部132は、分解後のフローと、各ドメインに設定済みのフローが競合しないか判定する。フローが競合するとは、パケット識別条件が一致するフローにおいて、パケットの処理内容が異なっていることを言う。
フロー変更部133は、フロー検証部132によって識別条件の競合が発生すると判定されたフローの内容を変更する。フロー変更部133の処理については、後述される。
なお、本実施形態においても、ネットワーク全体でトポロジオブジェクトのIDがユニークであり、各ドメインの制御装置が決定したオブジェクトIDを上位の制御装置が変更せずに使用する場合、トポロジ結合部110は、オブジェクトID管理DB111を備えていなくてもよい。また、トポロジ結合部110は、結合前の各ドメインのトポロジ情報と、結合後のトポロジ情報をキャッシュ(図示せず)に記憶しておいてもよい。
次に、本実施形態のトポロジ結合処理を説明する。本実施形態では、ネットワーク結合装置10(具体的には、境界探索部120)が、定期的にドメイン間のリンクを探索し、ドメイン間のリンク情報をドメイン間リンクDB121に記憶する。そして、境界探索部120は、ドメイン間のリンクの探索候補となるポートの一覧を境界候補DB122から取得する。
境界候補DB122は、例えば、オペレータによる設定によって、探索候補のポートを保持してもよい。また、境界候補DB122は、ネットワーク結合装置10やプログラムの起動時に、設定ファイルから読み込んだ探索候補のポートを保持してもよい。
他にも、境界探索部120は、各ドメインの制御装置から取得したトポロジ情報をもとに、ノード(例えば、スイッチ)間のリンクを持たず、かつ、何らかの装置と論理的または物理的に結線されている(すなわちリンクアップしている)ポートの全てを、境界候補のポートとして境界候補DB122に記憶してもよい。また、境界探索部120は、スイッチ間のリンクを持たない全てのポートへのパケット入力を監視することで、境界候補を絞り込んでもよい。
具体的には、境界探索部120は、この境界候補のポートから、ドメイン間リンク探索用のパケットを送信することによって、ドメイン間リンクの発見と導通確認を行う。ドメイン間リンクの探索には、例えばLLDP(Link Layer Discovery Protocol)などが使用される。
ネットワーク結合装置10(具体的には、境界探索部120)は、パケットを送出する境界候補のポートを備えるノードID、そのポートのID、及びそのポートが属するドメインのIDを、探索用のパケットに含める。そして、境界探索部120は、各ドメインの制御装置に対して、境界候補のポートからその探索用のパケットを送出することを指示する。
例えば、図1に示す構成例において、ドメイン#1からドメイン#2への片方向リンクを探索するとする。この場合、ネットワーク結合装置10(具体的には、境界探索部120)は、制御装置21に対してポート7(p7)から、「ドメインID=ドメイン#1、ノードID=ノード#3、ポートID=ポートp7」という情報を埋め込んだ探索パケットを送出するよう指示する。
この探索パケットには、制御装置#1や制御装置#2がドメイン内のトポロジを探索するために用いる探索パケットと同種のプロトコルが用いられてもよい。ただし、各ドメインの制御装置は、ドメイン内探索用のパケットと、ドメイン間リンク探索パケットを識別する必要がある。
そこで、本実施形態では、制御装置は、探索パケットに含まれているドメインIDを識別に利用する。具体的には、制御装置は、パケットにドメインIDが含まれている場合、そのパケットがドメイン間リンクの探索パケットであると判定する。
図10は、探索パケットの例を示す説明図である。図10では、パケットの一部(Optional TLV(Type Length Value ))にドメインIDを含めた例を示している。
図11は、リンクを探索する処理の例を示す説明図である。制御装置21によってポートp7から送出された探索パケットは、対向側のドメイン#2のノード34へ到着する。ノード34は、未知のパケットとして、探索パケットとそれを受信したポートID(ここでは、ポートp8)を制御チャネルを介して制御装置22へ送信する。
具体的には、図11に例示する黒矢印の流れに沿って処理される。まず、ネットワーク結合装置10が、制御装置#1へ探索パケットを送信する(ステップS1)。制御装置#1は、ポートp7から探索パケットを送信するようノード#3へ指示する(ステップS2)。ノード#3は、ポートp7から探索パケットを送信する(ステップS3)。ノード#4は、探索パケットを受信したことを制御装置#2に通知する(ステップS4)。制御装置#2は、ネットワーク結合装置10に探索パケットを受信したことを通知する(ステップS5)。
すなわち、探索パケットを受信した制御装置22は、受信したパケットにドメインIDが含まれるため、ドメイン間リンクの探索パケットであると判断する。そして、制御装置22は、パケットを受信したノードID、ポートID、ドメインIDを含むパケット受信情報とともに、探索パケットをネットワーク結合装置10へ送信する。図1に示す構成例の場合、パケット受信情報には、ノード#4、ポートp8およびドメイン#2が含まれる。
ネットワーク結合装置10がこの探索パケットを受け取ると、境界探索部120は、探索パケットとパケット受信情報を検証して、ドメイン間リンクを判定する。具体的には、境界探索部120は、パケット受信情報に含まれているノードID、ポートID、ドメインIDのそれぞれをトポロジ結合部110へ問い合わせ、オブジェクトID管理DB111から、結合後のトポロジ情報におけるノードIDとポートIDを取得する。そして、境界探索部120は、取得した情報で、パケット受信情報の各IDを更新する。
なお、問い合わせの時点で、結合後のトポロジに含まれるIDが作成されていない場合、境界探索部120は、ここでIDを作成すればよい。図1に示す構成例の場合、結合後のトポロジと結合前のトポロジで同じIDを用いているため、IDの変更は発生しない。
次に、境界探索部120は、探索パケットに含まれているドメインID、ノードID、ポートIDを取得し、これをパケットの送信元情報として用いる。境界探索部120は、このパケットの送信元情報をドメイン間リンクの接続元とし、オブジェクトIDの変換が行われたパケット受信情報をドメイン間リンクの接続先とするドメイン間のリンク情報を作成する。境界探索部120は、作成したリンク情報を、ドメイン間リンクDB121に追加する。
図1に示す構成例の場合、リンク情報は、接続元ノードID=#3、ポートID=p7、接続先ノードID=#4、ポートID=p8となる。
このように、ネットワーク結合装置10(より具体的には、境界探索部120)が、境界候補DB122に保持されている全てのポートに対してこの処理を定期的に行うことにより、ドメイン間リンクを検知する。
なお、トポロジの結合処理の内容は、第1の実施形態と同様である。
次に、本実施形態のフロー設定処理を説明する。図12は、ドメイン間フローの他の例を示す説明図である。フロー設定処理の説明において、フロー計算装置50が、図12に例示する2種類のフローを計算したとする。そして、フロー1がノードに設定された後に、フロー2の設定指示が行われたとする。
図12に例示する2種類のフローのパケット識別条件は、入力ポートの内容以外同一である。入力ポートの情報は、ノードが異なれば変更される情報である。例えば、この2種類のフローがノード34に設定される場合、ネットワーク結合装置10により分割されたフローをそのまま使用すると、いずれもポートp8が入力ポートになってしまう。すなわち、パケット識別条件が同一の2種類のフローが、物理ネットワークに混合されてしまう。
一般に、ドメイン内において上述するようなフローの混合が発生した場合、各ドメインの制御装置が、各ノードに設定するフローエントリへ上述するフローを変換する際に混合を回避することが可能である。例えば、ドメイン内でパケットを転送するときにフローの混合が発生する場合、その1つ前のノードにおいて一時的にパケットのヘッダを書き換えるなどの方法が考えられる。しかし、上述する例では、ノード34は、ドメインの境界であるため、ドメインの制御装置単独では、このような方法は使用できず、フローの混合が発生してしまう。
そこで、本実施形態のネットワーク結合装置10は、このドメイン境界におけるフローの混合を回避するため、フローを分解する際に、設定済みのフローとの混合が発生するかどうかを判定し、混合が発生する場合には、フローを変更する処理を行う。
具体的には、フロー計算装置50がネットワーク結合装置10にフローの設定指示を行うと、第1の実施形態と同様、ネットワーク結合装置10のフロー分解部130がドメイン間のフローを分解する。
図13は、図12に例示するドメイン間フローを分解した例を示す説明図である。図1に示す構成例では、フロー分解部130は、図13に例示するように、ドメイン間フローを、ドメイン#1のフロー(図13(a)参照。)とドメイン#2のフロー(図13(b)参照。)に分解する。図13(b)に示すように、ドメイン#2におけるフロー1とフロー2は、パケット識別条件が同一のため、フローの混合(競合)が発生している。
そこで、本実施形態では、上述するようなドメイン境界におけるフローの混合を回避するため、フロー検証部132が、設定済みのフローと新規に分解したフローとの競合が発生しないか検証する。
フロー検証部132は、フローDB131に保持されている設定済みのフロー情報を取得する。このフロー情報は、ドメイン間フロー情報と、ドメイン毎に分解されたフロー情報との組で提供される。
フロー検証部132は、各ドメインの境界において、図13(b)に例示するような混合が発生しているかを判定する。混合が発生している場合、フロー検証部132は、新規に設定予定のフロー(ここでは、フロー2)の混合を回避する処理をフロー変更部133に依頼する。
フロー変更部133は、フローの修正依頼を受信すると、ドメイン#2のトラフィック流入口となる境界ノードにおいて、既に設定済みのフローで使用されていないパケット識別条件を計算し、ドメイン#2におけるフロー2のパケット識別条件とする。すなわち、フロー変更部133は、ドメイン間フローのパケット識別条件を、ドメイン#1内の通信ノードに設定するフローのパケット識別条件に使用し、ドメイン#2内のノードに設定するフローのパケット識別条件を、すでにノードに対して設定されたフローのパケット識別条件と異なる内容に変更する。
ただし、このままでは、ドメイン#1から出力されるパケットのヘッダとドメイン#2におけるフロー#2の識別条件が異なってしまう。そこで、フロー変更部133は、ドメイン#1のフロー2における終端時処理方法を、ドメイン#2のフロー2のパケット識別条件と一致するように変更する。
図14は、図13に例示するフローを変更したフローの例を示す説明図である。図14に示す例では、フロー変更部133は、ドメイン#1におけるフロー2の終端処理方法において、パケットヘッダの送信先IPアドレスフィールドの値を1.9.2.1に変更する。さらに、フロー変更部133は、ドメイン#2におけるフロー2のパケット識別条件のうち、送信先IPアドレスを1.9.2.1とする。
このように、フロー変更部133が、フローが競合する場合に、分解済フローのパケット識別条件を、すでにノードに対して設定されているフローのパケット識別条件とは異なる内容に変更することで、ドメイン#2の受信側境界におけるパケット識別条件の混合(競合)を回避している。
具体的には、フロー変更部133は、フローが競合する場合に、パケットの転送先ドメイン(ここでは、ドメイン#2)内のノードに設定するフローのうち、パケット識別条件の少なくとも一部を、すでにノードに対して設定されたパケット処理規則のパケット識別条件と異なる条件に変更する。あわせて、フロー変更部133は、パケットの転送元ドメイン(ここでは、ドメイン#1)内のノードに設定するフローのうち、転送されるパケットのヘッダ情報が変更した条件に一致するように、そのヘッダ情報を変更する処理を、処理規則の処理内容に追加する。このようにすることで、転送先のドメインの受信側境界における競合が回避される。
さらに、図14に示す例では、ドメイン#2の終端となるノード#5においてパケットのヘッダを元に戻すため、フロー変更部133が、ドメイン#2におけるフロー2の終端時処理方法に、パケットヘッダの送信先IPアドレスフィールドの値を192.168.0.1とする処理を指定している。
この処理は、パケットヘッダが変更されたパケットを端末43が正常に受け取れない場合に備えて指定された処理である。そのため、端末43が、パケットヘッダが変更されたパケットを正常に受信できる場合、フロー変更部133は、このような処理を指定する必要はない。
本実施形態では、パケット識別情報の混合を回避するため、フロー変更部133が、パケットヘッダの特定のフィールドの値を変更する処理を説明した。ただし、パケット識別情報の混合を回避する方法は、パケットヘッダの特定のフィールドの値を変更する方法に限定されず、ノードが対応している任意の方法を用いることができる。フロー変更部133は、例えば、MPLSヘッダやVLANタグの挿入など、特定の値をパケットヘッダに挿入して、パケット識別情報の混合を回避してもよい。
以上のように、本実施形態によれば、フロー変更部133が、変換されたフローのパケット識別条件を、すでにノードに対して設定されたフローのパケット識別条件と異なる内容に変更する。よって、第1の実施形態の効果に加え、フローが競合することを抑止できる。さらに、本実施形態によれば、フロー計算装置50に複雑なフロー管理アルゴリズムを搭載する必要がなくなるため、フロー計算装置50自体の開発コストも低減できる。
また、本実施形態のネットワーク結合装置10では、境界探索部120がドメイン間リンクを自動で探索する。これによって、オペレータがノードに対して情報を設定するコストを削減できる。
次に、本実施形態の変形例を説明する。上記実施形態では、既存のフローとの混合を回避するために、フロー変更部133が、ドメイン#1のフローにおける終端時処理方法にパケットヘッダの変更を指定し、ドメイン#2のフローのパケット識別条件をドメイン#1の終端時処理方法に合致するように変更した。
本変形例では、ドメイン#1のフローにおける終端時処理方法にパケットヘッダの変更処理を指定し、ドメイン#2のフローにおけるパケット識別条件を変更しないように、フローを分解する方法を説明する。
本変形例においても、設定するフローはフロー計算装置50によって計算され、ネットワーク結合装置10に通知される。この際、フロー分解部130は、上述する方法と同様の方法を用いて、ドメイン間フローを各ドメインのフローへ分解する。その後、フロー検証部132が、分解したフローを検証して、混同の有無を判定する。
本変形例では、分解したフローをフロー検証部132が判定した結果、既存のフローとの混合が発生しない場合、フロー変更部133が、ドメイン#1のフローにおける終端時処理方法のみ変更する処理を行う。このとき、フロー変更部133は、ドメイン#2におけるフローのパケット識別条件を逸脱しない範囲で、終端時処理方法の内容を指定する。
図15は、ドメイン間フローを分解した他の例を示す説明図である。フロー分解部130は、図15(a)に例示するフローを、図15(b)および図15(c)に例示するフローに分解する。図15(b)に例示するドメイン#1におけるフローと、図15(c)に例示するドメイン#2におけるフローとを比較すると、入力ポートを除けば、分解前のドメイン間フローと同一のパケット識別条件が使用されている。
一方、ドメイン#1におけるフローの終端時処理方法には、分解前のフローと異なり、パケットヘッダの送信先MACアドレスと、宛先MACアドレスを書き換える処理が指示されている。
そのため、ドメイン#1のフローに基づいて転送されたパケットは、ドメイン#1から出力される際にパケットヘッダの値が変更される。ただし、変更対象とされた送信元MACアドレスと宛先MACアドレスには、ドメイン#2におけるフローのパケット識別条件では任意の値が指定されている。すなわち、フロー変更部133が、ドメイン#2におけるフローのパケット識別条件を逸脱しない範囲で、終端時処理方法の内容を指定しているといえる。
このようにして分解されたドメイン毎のフローは、上述する実施形態と同様、各ドメインの制御装置へ通知され、ネットワーク上の各ノードへ設定される。
以上のように、本変形例では、フロー変更部133が、ドメイン境界において次のドメインにパケットを転送する際に行われる処理方法を、次のドメインで使用されるパケット識別条件から逸脱しない範囲で変更する。このような処理をすることで、分解前のフローが指定した通りのトラフィック制御が可能となる。
例えば、制御装置で制御されていない多種のネットワーク機器(例えば、スイッチングハブやルータなど)が介在している環境においては、ドメイン間のリンクで利用可能なパケットの形式が限定されている可能性がある。本変形例によれば、そのような場合においても、ネットワーク結合装置10がフローを分解する際に、ドメイン間リンクで利用可能なパケット形式に変換できるため、分解前のフローが指定した通りのトラフィック制御が可能となる。
次に、本発明の概要を説明する。図16は、本発明による通信システムの概要を示すブロック図である。本発明による通信システムは、接続された1台以上の通信ノード(例えば、ノード31〜33、ノード34〜36)に対してパケット処理規則(例えば、フロー)を設定することにより、その通信ノードによるパケット転送を制御する複数の制御装置81(例えば、制御装置21、制御装置22)と、制御装置81が制御する通信ノードを含む範囲を示すドメイン(例えば、ドメイン#1、ドメイン#2)をまたいだパケット処理規則を計算する計算装置(例えば、フロー計算装置50)および複数の制御装置81に接続されるネットワーク情報結合装置82(例えば、ネットワーク結合装置10)とを備えている。
ネットワーク情報結合装置82は、計算装置が計算したパケット処理規則(例えば、ドメイン間フロー)を、各制御装置81が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則(例えば、分解済フロー)にそれぞれ変換するパケット処理規則変換部83(例えば、フロー分解部130)を含む。そして、各制御装置81は、制御する通信ノードに対して、変換された分解パケット処理規則を設定する。
そのような構成により、複数のネットワークドメインを統合したネットワークのトラフィックを制御する際、その制御に要するコストを低減させながら、矛盾なくトラフィック制御を行うことができる。
また、ネットワーク情報結合装置82は、ドメイン間の接続関係を示す境界リンク情報(例えば、ドメイン間のリンク情報)を記憶する境界リンク情報記憶部(例えば、ドメイン間リンクDB121)を含んでいてもよい。そして、パケット処理規則変換部83は、境界リンク情報に基づいて、計算装置が計算したパケット処理規則を分解パケット処理規則にそれぞれ変換してもよい。
具体的には、パケット処理規則には、パケットのヘッダ情報と照合するためのパケット識別条件と、そのパケット識別条件に一致するヘッダ情報を有するパケットの処理内容(例えば、転送経路、終端時処理方法)とが対応づけられる。制御装置81は、パケット処理規則から変換された分解パケット処理規則に基づいて受信したパケットを処理させるように、通信ノードを制御する。
このとき、パケット処理規則変換部83は、分解パケット処理規則のパケット識別条件に、計算装置が計算したパケット処理規則のパケット識別条件の少なくとも一部(例えば、入力ポート以外のパケット識別条件)を使用してもよい。
また、ネットワーク情報結合装置は、変換された分解パケット処理規則のパケット識別条件を、すでに通信ノードに対して設定されたパケット処理規則のパケット識別条件と異なる内容に変更するパケット処理規則修正部(例えば、フロー変更部133)を含んでいてもよい。
具体的には、パケット処理規則修正部は、計算装置が計算したパケット処理規則(ドメイン間フロー)のパケット識別条件を、パケットの転送元ドメイン(例えば、ドメイン#1)内の通信ノードに設定する分解パケット処理規則のパケット識別条件に使用し、パケットの転送先ドメイン(例えば、ドメイン#2)内の通信ノードに設定する分解パケット処理規則のパケット識別条件を、すでに通信ノードに対して設定されたパケット処理規則のパケット識別条件と異なる内容に変更してもよい。
また、パケット処理規則修正部は、パケットの転送先ドメイン(例えば、ドメイン#2)内の通信ノードに設定するパケット処理規則のうち、パケット識別条件の少なくとも一部を、すでに通信ノードに対して設定されたパケット処理規則のパケット識別条件と異なる条件に変更し、パケットの転送元ドメイン(例えば、ドメイン#1)内のノードに設定するパケット処理規則のうち、転送されるパケットのヘッダ情報が上記変更した条件に一致するように、そのヘッダ情報を変更する処理を処理規則の処理内容に追加してもよい。
このようにすることで、競合するパケット処理規則が発生することを防止できる。
また、ネットワーク情報結合装置82は、パケット処理規則変換部83によって変換された分解パケット処理規則が、すでに通信ノードに対して設定された分解パケット処理規則(例えば、フローDB131に記憶されたフロー)と競合するか検証するパケット処理規則検証部(例えば、フロー検証部132)を含んでいてもよい。そして、パケット処理規則変換部83は、分解パケット処理規則が競合する場合に、パケット処理規則を変更してもよい。
また、図17は、本発明によるネットワーク情報結合装置の概要を示すブロック図である。なお、図17に例示するネットワーク情報結合装置の内容は、図16に例示するネットワーク情報結合装置82と同様である。
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2013年11月27日に出願された日本特許出願2013−244585を基礎とする優先権を主張し、その開示の全てをここに取り込む。
10 ネットワーク結合装置
21,22 制御装置
31〜36 ノード
41〜44 端末
50 フロー計算装置
110 トポロジ結合部
111 オブジェクトID管理DB
120 境界探索部
121 ドメイン間リンクDB
122 境界候補DB
130 フロー分解部
131 フローDB
132 フロー検証部
133 フロー変更部
140 制御メッセージ処理部
150 マネジメントネットワーク通信部

Claims (16)

  1. 接続された1台以上の通信ノードに対してパケット処理規則を設定することにより当該通信ノードによるパケット転送を制御する複数の制御装置と、
    前記制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置および前記複数の制御装置に接続されるネットワーク情報結合装置とを備え、
    前記ネットワーク情報結合装置は、
    前記計算装置が計算したパケット処理規則を、前記各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換部を含み、
    前記各制御装置は、制御する通信ノードに対して、変換された分解パケット処理規則を設定する
    ことを特徴とする通信システム。
  2. ネットワーク情報結合装置は、
    ドメイン間の接続関係を示す境界リンク情報を記憶する境界リンク情報記憶部を含み、
    パケット処理規則変換部は、前記境界リンク情報に基づいて、計算装置が計算したパケット処理規則を分解パケット処理規則にそれぞれ変換する
    請求項1記載の通信システム。
  3. パケット処理規則には、パケットのヘッダ情報と照合するためのパケット識別条件と、当該パケット識別条件に一致するヘッダ情報を有するパケットの処理内容とが対応づけられ、
    制御装置は、前記パケット処理規則から変換された分解パケット処理規則に基づいて受信したパケットを処理させるように、通信ノードを制御する
    請求項1または請求項2記載の通信システム。
  4. パケット処理規則変換部は、分解パケット処理規則のパケット識別条件に、計算装置が計算したパケット処理規則のパケット識別条件の少なくとも一部を使用する
    請求項3記載の通信システム。
  5. ネットワーク情報結合装置は、
    変換された分解パケット処理規則のパケット識別条件を、すでに通信ノードに対して設定されたパケット処理規則のパケット識別条件と異なる内容に変更するパケット処理規則修正部を含む
    請求項3または請求項4記載の通信システム。
  6. ネットワーク情報結合装置は、計算装置が計算したパケット処理規則のパケット識別条件を、パケットの転送元ドメイン内の通信ノードに設定する分解パケット処理規則のパケット識別条件に使用し、パケットの転送先ドメイン内の通信ノードに設定する分解パケット処理規則のパケット識別条件を、すでに通信ノードに対して設定されたパケット処理規則のパケット識別条件と異なる内容に変更するパケット処理規則修正部を含む
    請求項3または請求項4記載の通信システム。
  7. ネットワーク情報結合装置は、パケットの転送先ドメイン内の通信ノードに設定するパケット処理規則のうち、パケット識別条件の少なくとも一部を、すでに通信ノードに対して設定されたパケット処理規則のパケット識別条件と異なる条件に変更し、パケットの転送元ドメイン内のノードに設定するパケット処理規則のうち、転送されるパケットのヘッダ情報が前記変更した条件に一致するように、当該ヘッダ情報を変更する処理を処理規則の処理内容に追加するパケット処理規則修正部を含む
    請求項3または請求項4記載の通信システム。
  8. ネットワーク情報結合装置は、
    パケット処理規則変換部によって変換された分解パケット処理規則が、すでに通信ノードに対して設定されたパケット処理規則と競合するか検証するパケット処理規則検証部を含み、
    パケット処理規則修正部は、分解パケット処理規則が競合する場合に、パケット処理規則を変更する
    請求項5から請求項7のうちのいずれか1項に記載の通信システム。
  9. 接続された1台以上の通信ノードに対してパケット処理規則を設定することにより当該通信ノードによるパケット転送を制御する複数の制御装置と、当該制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるネットワーク情報結合装置であって、
    前記ネットワーク情報結合装置は、前記計算装置が計算したパケット処理規則を、前記各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換部を含む
    ことを特徴とするネットワーク情報結合装置。
  10. ドメイン間の接続関係を示す境界リンク情報を記憶する境界リンク情報記憶部を含み、
    パケット処理規則変換部は、前記境界リンク情報に基づいて、計算装置が計算したパケット処理規則を分解パケット処理規則にそれぞれ変換する
    請求項9記載のネットワーク情報結合装置。
  11. 接続された1台以上の通信ノードに対してパケット処理規則を設定することにより当該通信ノードによるパケット転送を制御する複数の制御装置と、当該制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるネットワーク情報結合装置が、前記計算装置が計算したパケット処理規則を、前記各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換し、
    前記制御装置が、制御する通信ノードに対して、変換された分解パケット処理規則を設定する
    ことを特徴とする通信方法。
  12. ネットワーク情報結合装置が、ドメイン間の接続関係を示す境界リンク情報に基づいて、計算装置が計算したパケット処理規則を分解パケット処理規則にそれぞれ変換する
    請求項11記載の通信方法。
  13. 接続された1台以上の通信ノードに対してパケット処理規則を設定することにより当該通信ノードによるパケット転送を制御する複数の制御装置と、当該制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるネットワーク情報結合装置が、前記計算装置が計算したパケット処理規則を、前記各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換する
    ことを特徴とする処理規則変換方法。
  14. ドメイン間の接続関係を示す境界リンク情報に基づいて、計算装置が計算したパケット処理規則を分解パケット処理規則にそれぞれ変換する
    請求項13記載の処理規則変換方法。
  15. 接続された1台以上の通信ノードに対してパケット処理規則を設定することにより当該通信ノードによるパケット転送を制御する複数の制御装置と、当該制御装置が制御する通信ノードを含む範囲を示すドメインをまたいだパケット処理規則を計算する計算装置とに接続されるコンピュータに適用される処理規則変換プログラムであって、
    前記コンピュータに、
    前記計算装置が計算したパケット処理規則を、前記各制御装置が制御する通信ノードに設定すべきパケット処理規則である分解パケット処理規則にそれぞれ変換するパケット処理規則変換処理
    を実行させるための処理規則変換プログラム。
  16. コンピュータに、
    パケット処理規則変換処理で、ドメイン間の接続関係を示す境界リンク情報に基づいて、計算装置が計算したパケット処理規則を分解パケット処理規則にそれぞれ変換させる
    請求項15記載の処理規則変換プログラム。
JP2015550541A 2013-11-27 2014-10-16 通信システム、通信方法、ネットワーク情報結合装置、処理規則変換方法および処理規則変換プログラム Pending JPWO2015079615A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013244585 2013-11-27
JP2013244585 2013-11-27
PCT/JP2014/005261 WO2015079615A1 (ja) 2013-11-27 2014-10-16 通信システム、通信方法、ネットワーク情報結合装置、処理規則変換方法および処理規則変換プログラム

Publications (1)

Publication Number Publication Date
JPWO2015079615A1 true JPWO2015079615A1 (ja) 2017-03-16

Family

ID=53198594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015550541A Pending JPWO2015079615A1 (ja) 2013-11-27 2014-10-16 通信システム、通信方法、ネットワーク情報結合装置、処理規則変換方法および処理規則変換プログラム

Country Status (3)

Country Link
US (1) US20160301595A1 (ja)
JP (1) JPWO2015079615A1 (ja)
WO (1) WO2015079615A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015173759A1 (en) * 2014-05-13 2015-11-19 Telefonaktiebolaget L M Ericsson (Publ) Virtual flow network in a cloud environment
FR3029050B1 (fr) * 2014-11-20 2017-01-13 Bull Sas Procede d'affectation d'une adresse reseau a un equipement terminal du reseau, reseau, equipement de connexion, serveur d'adressage et equipement terminal associes
WO2017053301A1 (en) 2015-09-23 2017-03-30 Google Inc. Distributed software defined wireless packet core system
WO2017199704A1 (ja) * 2016-05-17 2017-11-23 日本電信電話株式会社 経路計算制御装置及び経路計算制御方法
US11394605B2 (en) 2019-07-11 2022-07-19 Mitsubishi Electric Corporation Communication system, communication apparatus, and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102959908B (zh) * 2010-11-22 2016-04-20 日本电气株式会社 用于控制分组流的转发路径的通信系统、通信设备、控制器和方法以及程序
EP2675119B1 (en) * 2011-02-07 2019-03-27 Nec Corporation Communication system, control device, communication node, and communication method
CN102238443B (zh) * 2011-06-01 2013-11-20 电子科技大学 一种满足波长连续性约束条件的跨域路径建路方法
EP2834942B1 (en) * 2012-04-05 2020-02-12 Telefonaktiebolaget LM Ericsson (publ) Apparatus and method for computing end-to-end paths through a network comprising a plurality of network domains

Also Published As

Publication number Publication date
WO2015079615A1 (ja) 2015-06-04
US20160301595A1 (en) 2016-10-13

Similar Documents

Publication Publication Date Title
WO2011118585A1 (ja) 情報システム、制御装置、仮想ネットワークの管理方法およびプログラム
JP5674107B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
JP5440691B2 (ja) パケット転送システム、制御装置、転送装置、処理規則の作成方法およびプログラム
EP2985960A1 (en) Network topology discovery method and system
US20110317701A1 (en) Communication system, control device, processing rule setting method, packet transmission method, and program
WO2012133060A1 (ja) ネットワークシステム、及びvlanタグ情報取得方法
US9491000B2 (en) Data transport system, transmission method, and transport apparatus
JP2014131347A (ja) 情報システム、制御サーバ、仮想ネットワーク管理方法およびプログラム
WO2015079615A1 (ja) 通信システム、通信方法、ネットワーク情報結合装置、処理規則変換方法および処理規則変換プログラム
JP6323547B2 (ja) 通信システム、制御装置、通信制御方法、および、プログラム
WO2015079616A1 (ja) 通信システム、通信方法、ネットワーク情報結合装置およびネットワーク情報結合プログラム
JPWO2012050071A1 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
EP2797261B1 (en) A method and a device for optimizing a configuration system of a network element of a software-defined network
WO2011118574A1 (ja) 通信システム、制御装置、遅延測定方法およびプログラム
Huang et al. Automatical end to end topology discovery and flow viewer on SDN
JPWO2014104277A1 (ja) 制御装置、通信システム、通信ノードの制御方法及びプログラム
JPWO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
WO2014157609A1 (ja) 制御装置、通信システム、通信ノードの制御方法及びプログラム
WO2015093478A1 (ja) ネットワークシステム、制御装置、制御方法およびプログラム
JP5854488B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
JP2015525984A (ja) 通信システム、制御装置、通信方法及びプログラム
JP6565914B2 (ja) 通信制御装置、通信システム、通信制御方法および通信制御用プログラム
JP6264469B2 (ja) 制御装置、通信システム及び中継装置の制御方法
WO2014123194A1 (ja) 通信システム、制御装置、通信制御方法およびプログラム
WO2015118811A1 (ja) 通信システム、パケット転送装置、パケット転送方法およびパケット転送用プログラム