JP2016046755A - 通信装置、通信システム、通信制御プログラム、及び通信制御方法 - Google Patents
通信装置、通信システム、通信制御プログラム、及び通信制御方法 Download PDFInfo
- Publication number
- JP2016046755A JP2016046755A JP2014171363A JP2014171363A JP2016046755A JP 2016046755 A JP2016046755 A JP 2016046755A JP 2014171363 A JP2014171363 A JP 2014171363A JP 2014171363 A JP2014171363 A JP 2014171363A JP 2016046755 A JP2016046755 A JP 2016046755A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- test packet
- router
- routing table
- communication
- 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.)
- Withdrawn
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】自律制御以外の制御に基づく経路で転送されるパケットが自律制御に基づき転送されるときの経路を容易に把握可能とする。【解決手段】自律制御により転送先を更新する対象の第1のルーティングテーブルT1と、自律制御による転送先を更新する対象でない第2のルーティングテーブルT2と、を記憶した記憶部6と、第2のルーティングテーブルT2を用いた転送処理を行うモードが設定された状態において受信したパケットのうち、所定の識別情報を含む一部のパケットについて、第1のルーティングテーブルT1を用いた転送処理を実行する転送処理部と、を備える通信装置である。【選択図】図15
Description
本発明は、通信装置、通信システム、通信制御プログラム、及び通信制御方法に関する。
パケットを転送する既存のネットワークでは、ルータやL3スイッチのような中継装置が、経路制御プロトコル(ルーティングプロトコルとも呼ばれる)に従って中継装置間で情報を交換する。各中継装置は、情報の交換を通じて自装置が受信するパケットの転送先の情報を格納したルーティングテーブルを作成する。パケットの転送は、ルーティングテーブルに格納された転送先情報に従って行われる。経路制御プロトコルとしては、例えば、Border Gateway Protocol(BGP),Routing Information Protocol(RIP),Open Shortest Path First(OSPF)、Enhanced Interior Gateway Routing Protocol (EIGRP)などがある。このような、経路制御プロトコルに従って、中継装置間で情報を交換し、パケットの転送先を必要に応じて更新するネットワークの制御方式は、分散(自律)制御方式(制御方法)と呼ぶことができる。以下、分散(自律)制御方式は、自律制御方式と表記する。
近年、ネットワークの分野では、Software Defined Networking(SDN)が注目され
ている。SDNは、ソフトウェアでネットワーク全体の挙動を制御する技術である。SDNネットワークでは、例えば、パケット転送機能を備える複数の中継装置と、経路制御を司る制御装置とが備えられる。制御装置は、ネットワークを流れるパケットの転送経路計算を行い、計算により得られた経路上にある各中継装置に対し、パケットの転送先情報を伝える。各中継装置は、パケットを受信したときに、転送先情報に従ってパケットを転送する。このように、SDNでは、パケットの経路制御が、制御装置にて一元的に(集中して)実行される。SDNネットワークで採用される方式は、上記した自律制御方式に対して、集中制御方式(集中制御方法)と呼ぶことができる。
ている。SDNは、ソフトウェアでネットワーク全体の挙動を制御する技術である。SDNネットワークでは、例えば、パケット転送機能を備える複数の中継装置と、経路制御を司る制御装置とが備えられる。制御装置は、ネットワークを流れるパケットの転送経路計算を行い、計算により得られた経路上にある各中継装置に対し、パケットの転送先情報を伝える。各中継装置は、パケットを受信したときに、転送先情報に従ってパケットを転送する。このように、SDNでは、パケットの経路制御が、制御装置にて一元的に(集中して)実行される。SDNネットワークで採用される方式は、上記した自律制御方式に対して、集中制御方式(集中制御方法)と呼ぶことができる。
上記した自律制御方式のネットワークと、SDNネットワークとが併用されたネットワークが考えられる。この場合、当該ネットワークを形成する中継装置は、自律制御方式に基づく経路に従いパケットを転送する第1のモードと、SDN方式(集中制御方式)に基づく経路に従いパケットを転送する第2のモードとで動作可能に形成される。また、運用としては、以下の運用が考えられる。例えば、通常時では、各中継装置は、第2のモードでパケットを転送する。これに対し、災害などの諸事情で制御装置と中継装置との回線断(リンク障害)や制御装置の障害(装置障害)などが生じ、制御装置による集中制御の継続ができない又は困難となった場合には、第1のモードでパケットを転送する。
自律制御方式に基づく経路は、経路制御プロトコルに従って中継装置間で自律的に決定される。このため、自律制御方式によって決定されるパケットの経路は、集中制御方式で決定されるパケットの経路と必ずしも一致しない。このため、集中制御方式による経路を解析しても、自律制御方式による経路を把握することはできない。
また、集中制御方式でパケットが転送されている状態において、当該パケットに対して自律制御方式が適用先の経路をネットワーク管理者が知ることは困難であった。なぜなら、自律制御方式での経路を把握するための作業として、ネットワーク管理者が各中継装置からパケット転送用のテーブルの格納内容を定期的に収集し、格納内容を編集することが行われる。このような作業は、非常に煩雑な作業であった。
このため、ネットワーク管理者は、自律制御方式での経路を把握するために、集中制御方式が自律制御方式に切り替わった後に、tracerouteのような経路調査用のコマンドを利用し、ネットワーク状態の調査・分析を行うことが考えられる。しかし、このような切り替え後の調査において、自律制御方式による経路がトラフィック量が多い経路や、輻輳が生じている経路であることが判明することが起こり得る。このように、切り替え後の調査では、自律制御方式による経路に関してトラフィック量の緩和や輻輳解消のような対策を採るまでのタイミングが遅くなる虞があった。
実施形態は、自律制御以外の制御に基づく経路で転送されるパケットが自律制御に基づき転送されるときの経路を容易に把握可能とする技術を提供することを目的とする。
実施形態の一つの態様は、自律制御により転送先を更新する対象の第1のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第2のルーティングテーブルと、を記憶した記憶部と、
前記第2のルーティングテーブルを用いた転送処理を行うモードが設定された状態において受信したパケットのうち、所定の識別情報を含む一部のパケットについて、前記第1のルーティングテーブルを用いた転送処理を実行する転送処理部と、
を備える通信装置である。
前記第2のルーティングテーブルを用いた転送処理を行うモードが設定された状態において受信したパケットのうち、所定の識別情報を含む一部のパケットについて、前記第1のルーティングテーブルを用いた転送処理を実行する転送処理部と、
を備える通信装置である。
実施形態によれば、自律制御以外の制御に基づく経路で転送されるパケットが自律制御に基づき転送されるときの経路を容易に把握することが可能となる。
以下、図面を参照して本発明の実施形態について説明する。実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
<通信制御システム(ネットワークシステム)の構成例>
図1は、実施形態に係るネットワークシステム(通信システム)の構成例を示す図である。ネットワークシステムは、複数のルータR(図1の例ではルータR1〜R5)を含むパケットネットワークNと、ルータRを制御するSDNコントローラC(以下「コントローラC」と表記)とを備えている。各ルータRは、通信回線(破線で図1に図示)を介して、コントローラCに接続されている。以下の説明において、ルータR1〜R5を区別する必要のない場合には、「ルータR」と表記する。
図1は、実施形態に係るネットワークシステム(通信システム)の構成例を示す図である。ネットワークシステムは、複数のルータR(図1の例ではルータR1〜R5)を含むパケットネットワークNと、ルータRを制御するSDNコントローラC(以下「コントローラC」と表記)とを備えている。各ルータRは、通信回線(破線で図1に図示)を介して、コントローラCに接続されている。以下の説明において、ルータR1〜R5を区別する必要のない場合には、「ルータR」と表記する。
ルータR1は、ルータR2及びルータR5に通信回線を介して接続されている。ルータR2は、ルータR1,ルータR5,ルータR3及びルータR4に通信回線を介して接続されている。ルータR3は、ルータR2とルータR4と通信回線を介して接続されている。ルータR4は、ルータR5,ルータR2及びルータR3と通信回線を介して接続されている。ルータR5は、ルータR1,ルータR2及びルータR4に接続されている。
但し、ルータの代わりに、レイヤ3スイッチ、或いはパケットの転送機能を有するネットワーク機器を適用することができる。ルータ,レイヤ3スイッチは、ネットワーク機器の一例であり、ネットワーク機器は、「通信装置」の一例である。通信装置は、中継装置及び端末装置を含むことができる。また、コントローラCは、「管理装置」或いは「制御装置」の一例である。
各ルータRは、端末装置を収容することができる。端末装置の例として、図1には、パーソナルコンピュータ(PC)A及びBが例示されている。パーソナルコンピュータA(以下「PC−A」と表記)は、ルータR1と通信回線を介して接続されている。パーソナルコンピュータ(PC)B(以下「PC−B」と表記)は、ルータR3と通信回線を介して接続されている。但し、PCは、端末装置又は通信端末の一例であり、端末装置又は通信端末は、タブレット端末,スマートフォン,フィーチャーフォンのような様々な端末装置を含む。
各ルータRは、2種類の経路制御方式(経路制御方法)に従ってパケットを転送することができる。経路制御方式の一つは、各ルータRが所定の経路制御プロトコルを用いて自律的に決定した転送経路で受信パケットを転送する自律制御方式(自律制御方法)である。経路制御プロトコルは、例えば、BGP,RIP,OSPF,及びEIGRPの中から1つを選択することができる。但し、経路制御プロトコルの種別は上記例示に限定されない。本実施形態では、一例として、RIPが適用される。
経路制御方式のもう一つは、各ルータRがコントローラCで決定(計算又は生成)された経路に従って受信パケットを転送する集中制御方式(集中制御方法)である。集中制御方式は、SDNの仕組みに従って経路が決定されるので、SDN方式とも呼ぶ。このよう
に、ルータR1〜R5のそれぞれは、自律制御方式と集中制御方式との併用によってパケットを転送することができる。
に、ルータR1〜R5のそれぞれは、自律制御方式と集中制御方式との併用によってパケットを転送することができる。
本実施形態では、集中制御方式に基づくパケット転送が自律制御方式に基づくパケット転送よりも優先的に使用される運用形態について説明する。すなわち、通常時では、集中制御方式に従ってパケットが転送される。ルータR1〜R5のそれぞれは、コントローラCとの通信に係る障害の検出機能を有している。障害は、例えば、コントローラCとルータRとの間の通信回線(リンク)の障害(リンク障害),コントローラCとして動作する情報処理装置の障害(装置障害)の少なくとも1つを含む。ルータR1〜R5のそれぞれは、障害を検出した場合に、経路制御方式を自律制御方式に切り替えて、自律的に求めたパケットの転送先へ受信パケットを転送することができる。
換言すれば、ルータR1〜R5のそれぞれは、集中制御方式に基づく経路でパケットを転送する第1のモードと、自律制御方式に基づく経路でパケットを転送する第2のモードとの双方で動作することができる。そして、ルータR1〜R5のそれぞれは、通常時において第1のモードで動作し、障害時に第2のモードで動作する。例えば、各ルータRは、第2のモードでの動作のために、コントローラCとの間で通信用のセッション(コネクション)を確立する。セッション(コネクション)は、例えば、Transmission Control Protocol(TCP)セッションである。各ルータRは、セッションの状態を監視し、セッシ
ョンが切断状態となり、再確立できないときに、障害の発生を検知する。但し、障害検出の手法は、上記に限定されず、既存のあらゆる技術を適用可能である。
ョンが切断状態となり、再確立できないときに、障害の発生を検知する。但し、障害検出の手法は、上記に限定されず、既存のあらゆる技術を適用可能である。
また、本実施形態では、上記したリンク障害やコントローラCの装置障害などを受けて、ルータR1〜R5が一斉に集中制御動作から自律制御動作へ切り替えられることが想定されている。但し、コントローラCから切り離された各ルータRが個別に自律制御動作への切り替えを行うようにしても良い。また、コントローラCとは別個に、各ルータRとコントローラCとの接続状態を監視する監視装置(監視サーバ:図示せず)を設けても良い。監視装置は、例えば、ルータRの少なくとも1つがコントローラCから切断されたときに、対象のルータRの動作を自律制御動作へ切り替えるトリガを対象の各ルータRに送信する。
図1に示す例では、PC−AからPC−Bへ送信されるパケットは、集中制御方式においてコントローラCで決定された経路(R1→R5→R4→R3)で転送される。PC−BからPC−Aへ送信されるパケットは、例えば、上記した経路と逆の経路を辿る。
ネットワーク管理者は、障害時に備え、PC−AからPC−Bへのパケット転送経路、すなわち、ルータR1からルータR3までの経路が、自律制御下ではどのような経路になるかを把握したい。しかし、ルータR1〜R5にアクセスして、ルーティングテーブルの内容を収集し、当該内容をマージして経路を求める作業は煩雑である。以下の実施形態の説明においては、障害時(自律制御動作時)における経路の把握を容易にするルータR,ネットワークシステムの構成及び動作について説明する。
<ルータの構成>
図2は、図1に示したルータRの構成例を示す。図2には、ルータRとして動作可能な情報処理装置(コンピュータ)のハードウェア構成が示されている。情報処理装置(ルータR)は、CPU1と、CPU1にそれぞれ接続されたスイッチ(SW)2,Read Only Memory(ROM)3,フラッシュメモリ4,Random Access Memory(RAM)5及びテーブル6とを含む。さらに、ルータRは、SW2に接続されたインタフェース(IF)7とを備えている。SW2とテーブル6とは接続されている。
図2は、図1に示したルータRの構成例を示す。図2には、ルータRとして動作可能な情報処理装置(コンピュータ)のハードウェア構成が示されている。情報処理装置(ルータR)は、CPU1と、CPU1にそれぞれ接続されたスイッチ(SW)2,Read Only Memory(ROM)3,フラッシュメモリ4,Random Access Memory(RAM)5及びテーブル6とを含む。さらに、ルータRは、SW2に接続されたインタフェース(IF)7とを備えている。SW2とテーブル6とは接続されている。
ROM3は、情報処理装置の起動初期に使用するプログラムが書き込まれているメモリである。フラッシュメモリ4は、情報処理装置がルータRとして動作するためのプログラム及び設定情報が書き込まれている不揮発メモリ(記録媒体)である。RAM5は、主にCPU1がアクセスするメモリ(記録媒体)である。RAM5は、情報処理装置の起動後にフラッシュメモリ4からのルータプログラム及び設定情報が複写(ロード)され、CPU1のルータプログラムの実行に使用される。また、RAM5は、CPU1の作業領域(ワークエリア)として使用される。テーブル6は、パケットを転送する経路情報が書き込まれるメモリである。ROM3,フラッシュメモリ4,RAM5,テーブル6のそれぞれは、「コンピュータ読み取り可能な記録媒体」、「記憶部」の一例である。但し、記憶媒体の種別は、上記例示に限定されない。
CPU1は、「プロセッサ」の一例である。プロセッサは汎用又は専用のプロセッサを適用し得る。プロセッサは、Digital Signal Processor(DSP)を含む。CPU1は、ルータプログラムの実行により、情報処理装置をルータRとして動作させる。ルータRは、全体として、予め設定情報に記載されている動作モード(集中制御(SDN)動作/自律制御動作/混合動作)に従って動作する。
集中制御(SDN)動作は、これまでに説明した集中制御方式に従った動作を行う動作モードであり、上述した第2のモードに相当する。ルータRが「SDNスイッチ」として動作する。集中制御動作では、ルータRは、コントローラCで設定された動作情報に従って動作する。例えば、ルータRは、コントローラCから動作情報の一例として、ルーティング情報(経路情報)を受信し、テーブル6に記憶する。ルータRは、IF7で受信されたパケットをコントローラCから得たルーティング情報(経路情報)に従って転送する。
自律制御動作は、自律制御方式に従った動作を行う動作モードであり、上述した第1のモードに相当する。すなわち、ルータRが経路制御プロトコルに従って自律的にルーティングテーブルを作成し、当該ルーティングテーブルに従ってパケットを転送する。自律制御動作は、例えば、ルータRの起動時に設定された動作情報(コンフィグ情報と呼ばれる)に従って行われる。混合動作は、集中制御動作と自律制御動作とを混合して行う動作モードである。
CPU1は、RAM5にロードされたプログラムに従って動作し、スイッチ2へコマンドを発行したり、コントローラCから受信されたルーティング情報をテーブル6に書き込んだりする処理を行う。また、CPU1は、自律制御動作において、経路制御プロトコルに従ってルーティングテーブルのデータを生成し、テーブル6に書き込む動作を行う。
テーブル6は、自律制御動作用のルーティングテーブル(自律制御ルーティングテーブル)と、集中制御動作用のルーティングテーブル(集中制御ルーティングテーブル)とを記憶する。図3は、自律制御ルーティングテーブル(「テーブルT1」とも称する)のデータ構造例を示す図である。図4は、集中制御(SDN)ルーティングテーブル(「テーブルT2」とも称する)のデータ構造例を示す図である。
図3及び図4に示す例では、テーブルT1、テーブルT2の双方とも、プロトコル種別と、宛先Internet Protocol(IP)アドレス(宛先IP)と、ネクストホップルータの
IPアドレス(ネクストホップIP)とを含む1以上のエントリを記憶する。なお、図3及び図4の例では、エントリは宛先IP毎に登録されている。もっとも、宛先IPは、宛先IPの一部(プリフィクス)であっても良い。
IPアドレス(ネクストホップIP)とを含む1以上のエントリを記憶する。なお、図3及び図4の例では、エントリは宛先IP毎に登録されている。もっとも、宛先IPは、宛先IPの一部(プリフィクス)であっても良い。
図3の例では、プロトコル種別として「RIP」が例示されている。図4の例では、プロトコル種別として、SDNプロトコルを実行するアプリケーションの識別情報(“AP
L”)が格納されている。
L”)が格納されている。
テーブルT1の格納内容は、例えば、定期的に実行される経路制御プロトコルに従った隣接ルータとの経路情報交換を通じて更新される。テーブルT1の更新は、上記した障害に備えて、ルータRが集中制御動作を行っている場合でも行われる。テーブルT2の格納内容は、コントローラCから適宜のタイミングで受信されるルーティング情報に従ってCPU1により更新される。
自律制御ルーティングテーブル(テーブルT1)は、「自律制御により転送先を更新する対象の第1のルーティングテーブル」の一例であり、集中制御ルーティングテーブル(テーブルT2)は、「自律制御により転送先を更新する対象でない第2のルーティングテーブル」の一例である。
なお、本実施形態では、図3及び図4に示すように、テーブルT1とテーブルT2とは独立したテーブルとして形成されている。但し、テーブルT1及びテーブルT2は、一つのテーブルに、自律制御動作用のエントリの格納領域と、集中制御動作用のエントリの格納領域とが区画され、エントリが対応する格納領域に格納される形態であっても良い。或いは、一つのテーブルに、自律制御動作用のエントリと、集中制御動作用のエントリとが混在して(ランダムに)格納される形態であっても良い。この場合、例えば、各エントリには、自律制御動作と集中制御動作とを区別するための識別子が含まれ、識別子の参照によって、エントリが自律制御動作用か集中制御動作用かが区別される。
スイッチ2は、IF7で受信されるパケットを受信し、テーブル6を参照してネクストホップアドレス(ネクストホップIP)を取得し、ネクストホップアドレスに対応する出力ポートへ向けてパケットをIFへ転送する。このとき、動作モードが自律制御動作に設定されていれば、スイッチ2はテーブルT1を参照し、動作モードが集中制御動作に設定されていれば、スイッチ2はテーブルT2を参照する。なお、混合動作であれば、スイッチ2は、例えば、CPU1からの指示(コマンド)に従って、参照するテーブルをテーブルT1及びテーブルT2から選択する。
また、スイッチ2は、受信されたパケットの解析を行い、受信パケットがコントローラCから受信された情報(ルーティング情報,制御情報を含む動作情報など)を含む場合や、受信パケットの宛先IPがテーブル6に記憶されていない場合には、受信パケットをCPU1に引き渡す。
さらに、本実施形態では、ルータRは、テストパケット(後述)を受信する。IF7でテストパケットが受信された場合には、スイッチ2は、テストパケットをCPU1に引き渡し、CPU1は、テストパケットに対する処理を行う。そして、CPU1は、処理後のパケットをスイッチ2に渡す。
IF7は、パケットの送受信処理を行う通信インタフェース回路である。IF7は、パケットを送受信するための複数のポートを有している。なお、CPU1とスイッチ2との組み合わせは、「転送処理部」の一例である。CPU1とスイッチ2との組み合わせに代えて、両者の動作を行うことができるネットワークプロセッサ(NPU)が適用されても良い。NPUは、「転送処理部」の一例である。
<テストパケット>
図5は、本実施形態にてテストパケットとして使用されるIPパケットのフォーマットを示す図であり、図6は、オプション部のフォーマットを示す図である。
図5は、本実施形態にてテストパケットとして使用されるIPパケットのフォーマットを示す図であり、図6は、オプション部のフォーマットを示す図である。
IPパケットは、ヘッダ部とデータ部分(データ部ともいう)とを含む。ヘッダ部は、バージョン,ヘッダ長,サービスタイプ(ToS),データグラム長,TTL(Time To Live),プロトコル番号,ヘッダ・チェックサム,送信元IPアドレス,宛先IPアドレス,パケット種別(オプション部)の各情報要素を格納するフィールドを有する。オプション部は、32ビット単位で可変長の領域であり、最小値は0(なし)である。オプション部の後ろにデータ部分(ペイロード)が続く。宛先IPアドレスは、「宛先アドレス」の一例であり、送信元IPアドレスは、「送信元アドレス」の一例である。
テストパケットのIPパケットは、オプション部にルータRで認識可能な特定のコードを設定することによって生成される。図6に示すように、オプション部は、オプション・タイプ,オプション長,オプション・データをそれぞれ格納するフィールド(領域)を有する。オプション・タイプのフィールドは、さらに、コピーフラグ,オプション・クラス,オプション番号をそれぞれ格納するフィールドに細分化される。オプション番号“0”〜“24”の用途或いは役割(定義)は、Request for Comments(RFC)等の仕様において既に規定されている。このため、規定されていない(未定義の、空き状態の)オプション番号が特定のコード(特定コード)として使用される。例えば、未定義のオプション番号“30”が、特定のコードとして使用される。
特定のコードは、「所定の識別情報」の一例である。なお、オプション番号“30”は例示であり、オプション番号“30”以外の未定義のオプション番号が適用されても良い。また、テストパケットの識別子は、オプション番号に限定されない。例えば、ルータRで認識され得る限りにおいて、識別子がデータ部分に格納されるようにしても良い。
テストパケットのデータ部分には、テストパケットの送信元のルータR、及びテストパケットを中継する各ルータRにおいて、ルータRのルータIDと、テストパケットの宛先IPアドレスに対応するテーブルT1上のネクストホップアドレスとの組み合わせが追加される。ルータIDにより、テストパケットの送信元のルータRと、テストパケットを中継するルータRとを特定することができる。また、ルータIDと組をなすネクストホップアドレスにより、各ルータRからのテストパケットの転送先を特定することができる。
このとき、ルータID及びネクストホップアドレスは、テストパケットの受信順でデータ部に格納される。これによって、テストパケットの受信順を示す別個のデータがなくとも、テストパケットの受信順を把握することができる。但し、ルータID及びネクストホップアドレスの格納順序をランダムとし、さらに受信順を示すデータをテストパケットに含めるようにしても良い。
<コントローラの構成例>
図7は、上述したコントローラCとして動作可能な情報処理装置(コンピュータ)10のハードウェア構成例を示す図である。情報処理装置10は、例えば、パーソナルコンピュータ(PC),ワークステーション(WS),サーバマシンのような専用又は汎用のコンピュータを適用することができる。但し、情報処理装置10の種類は、上記の例示に制限されない。
図7は、上述したコントローラCとして動作可能な情報処理装置(コンピュータ)10のハードウェア構成例を示す図である。情報処理装置10は、例えば、パーソナルコンピュータ(PC),ワークステーション(WS),サーバマシンのような専用又は汎用のコンピュータを適用することができる。但し、情報処理装置10の種類は、上記の例示に制限されない。
図5において、情報処理装置10は、バスBを介して相互に接続されたCPU11と、RAM12と、ROM13とを備えている。また、情報処理装置10は、バスBに接続されたハードディスクドライブ(HDD)14と、ネットワークインタフェース(NWI/F)15とを備えている。さらに、情報処理装置10は、バスBに接続された入力インタフェース(入力I/F)16と、出力インタフェース(出力I/F)17とを備えている。
RAM12は、CPU11の作業領域として使用される。ROM13及びHDD14のそれぞれは、プログラムやプログラムの実行に際して使用されるデータを記憶する。プログラムは、その実行によって情報処理装置10をコントローラCとして動作させるアプリケーションプログラムを含む。RAM12及びHDD14は、プログラムの実行結果として生成されたデータを記憶することもできる。HDD14の代わりに、又はHDD14に加えて、Solid State Drive(SSD)が設けられていても良い。RAM12,ROM1
3,HDD14などは、「記憶部」、「コンピュータ読み取り可能な記憶媒体」,「メモリ」,或いは「記憶装置」の一例である。
3,HDD14などは、「記憶部」、「コンピュータ読み取り可能な記憶媒体」,「メモリ」,或いは「記憶装置」の一例である。
入力I/F16には、入力装置18が接続される。入力装置18は、例えば、ボタン、キー,ポインティングデバイス(マウスなど),タッチパネルの少なくとも1つを含む。入力装置18は、情報やデータの入力に使用される。
出力I/F17には、表示装置(ディスプレイ装置)19が接続される。表示装置19は、各種の情報を表示する。NWI/F15は、通信機能を司るインタフェース回路を含み、スイッチ2(クライアント)などとネットワークを介して接続される。NWI/F15は、例えば、LANカードのようなネットワークインタフェースカードを適用することができる。NWI/F15は、「送信装置」、「受信装置」、「通信装置」の一例である。
CPU11は、ROM13やHDD14に記憶されたプログラムをRAM12にロードして実行する。これによって、情報処理装置10は、コントローラCとして動作する。CPU11は、「プロセッサ」或いは「制御装置」の一例である。
プログラムの実行によって、CPU11は、コントローラCが実行する様々な処理を行う。CPU11は、例えば、SDNコントローラとして、集中制御動作でルータRが用いるルーティング情報をルータRに送信する処理を行う。ルーティング情報の作成契機としては、入力装置18からルーティング情報の作成指示が入力されたとき、或いはルータRからルーティング情報の提供要求を受信した場合がある。また、CPU11は、例えば、入力装置18から入力されるテストパケットの送信要求の入力に応じて、テストパケット送信指示を作成し、所定のルータRへ送信する処理を行う。
さらに、CPU11は、ルータRからテストパケット終端通知(後述)を受信した場合に、経路情報に基づく自律制御動作時のパケット転送経路が図示されたネットワークのトポロジマップの画像データを生成し、出力I/F17を介して表示装置19に表示する処理を行う。ROM13又はHDD14に記憶されるプログラムは、このようなトポロジマップ及び経路表示に係るアプリケーションプログラムも含んでいる。
図8は、テストパケット送信指示のフォーマット例を示す図である。テストパケット送信指示は、例えば、IPパケットを利用してコントローラC(情報処理装置10)から所望のルータRへ送信される。図8に示すように、IPヘッダに後続するデータ部分に、コマンド(テストパケットの送信指示を示す)と、テストパケットの送信元IPアドレスと、宛先IPアドレスとが設定される。一例として、コマンドは、データ部分の第1フィールド(1フィールド=32ビット)に設定され、送信元IPアドレスはデータ部分の第2フィールドに設定され、宛先IPアドレスはデータ部分の第3フィールドに設定される。但し、コマンド,送信元IPアドレス,宛先IPアドレスの格納位置は、ルータRで認識できる限り、格納位置や格納順序を変更可能である。宛先IPアドレスの後には、固定データが格納される。固定データの内容は任意である。固定データはなくても良い。
図9は、テストパケット終端通知のフォーマット例を示す図である。テストパケット終
端通知は、例えば、IPパケットを利用して、テストパケットの宛先、すなわち宛先IPを有するルータRからコントローラC宛てに送信される。テストパケット終端通知は、コントローラCに対し、テストパケットが通過した自律制御により得られた経路(転送先)を示す情報を知らせるための通知である。テストパケット終端通知は、「通知」の一例であり、コントローラCは、テストパケット終端通知が送信される「自律制御に基づく経路を管理する管理装置」、「所定の宛先」の一例である。
端通知は、例えば、IPパケットを利用して、テストパケットの宛先、すなわち宛先IPを有するルータRからコントローラC宛てに送信される。テストパケット終端通知は、コントローラCに対し、テストパケットが通過した自律制御により得られた経路(転送先)を示す情報を知らせるための通知である。テストパケット終端通知は、「通知」の一例であり、コントローラCは、テストパケット終端通知が送信される「自律制御に基づく経路を管理する管理装置」、「所定の宛先」の一例である。
テストパケット終端通知は、IPパケットのデータ部分に格納された、コマンド(テストパケットの送信指示)と、テストパケットの送信元IPアドレス及び宛先IPアドレスを含む。コントローラCにおけるテストパケット送信指示とテストパケット終端通知との照合のためである。換言すれば、コマンド,送信元IPアドレス及び宛先IPアドレスは、テストパケット送信指示との照合用情報ということができる。
テストパケット終端通知は、データ部分の宛先IPアドレスに続いて、テストパケットの経路の始点(開始点)から終端点の直前までに位置する各ルータRによって追加される情報をさらに含む。テストパケットの始点と終端点の直前までの間には、1以上の中継点に該当するルータRが存在することがある。或いは、始点に該当するルータRが終端点の直前のルータRに該当する場合もあり得る。
追加される情報(追加情報)は、各ルータRのルータIDと、各ルータRのテーブルT1(自律制御ルーティングテーブル)から得られたテストパケットのネクストホップアドレスとを含む。ルータIDは、「通信装置の識別子」の一例である。ネクストホップアドレスは、「テストパケットの転送先を示す情報」の一例である。なお、テストパケット終端通知は、宛先で受信されたテストパケットの加工により生成されても良く、テストパケットに含まれた内容に基づいて新規に生成されても良い。
<ルータRにおける処理>
図10は、ルータRがコントローラCからテストパケット送信指示(を含むIPパケット:(図8))を受信したときにおける処理(テストパケット送信指示受信処理)の例を示すフローチャートである。テストパケットは、ルータR1〜R5が集中制御動作モード(第2のモード)で動作している状態において、コントローラCから所定のルータRへ送信される。ここでの所定のルータRは、或る2点間における自律制御に基づく経路を把握したいときの始点に相当するルータRである。
図10は、ルータRがコントローラCからテストパケット送信指示(を含むIPパケット:(図8))を受信したときにおける処理(テストパケット送信指示受信処理)の例を示すフローチャートである。テストパケットは、ルータR1〜R5が集中制御動作モード(第2のモード)で動作している状態において、コントローラCから所定のルータRへ送信される。ここでの所定のルータRは、或る2点間における自律制御に基づく経路を把握したいときの始点に相当するルータRである。
始点に相当するルータRにおいて、テストパケット送信指示を含むIPパケットは、IF7で受信され、スイッチ2に渡される。スイッチ2は、IPパケットのデータ部分に格納されたコマンド(テストパケットの送信指示)を発見すると、IPパケットをCPU1に渡す。これによって、CPU1は、図10に示す処理を開始する。
図10の01及び02の各処理では、CPU1は、テストパケットを生成する。すなわち、テストパケットのヘッダに設定する送信元IPアドレス及び宛先IPアドレスとして、テストパケット送信指示中の送信元IPアドレス及び宛先IPアドレスを設定する。
次の03では、CPU1は、テストパケットのオプション部に対する設定を行う。すなわち、コピーフラグ、オプション・クラス,オプション番号,オプション長,オプション・データの設定を行う。このとき、CPU1は、オプション番号として、テストパケットであることを示すオプション番号(例えば“30”)を設定する。オプション・データ(オプション部の3〜4バイトの部分)は、例えば、“0(なし)”に設定される。
次の04では、CPU1は、オプション部の所定位置(例えば、5〜8バイト目)に、
自装置(ルータR)のルータIDを設定する。自装置のルータIDは、予め各ルータRの記憶媒体(ROM3,フラッシュメモリ4,RAM5の少なくとも1つ)に記憶されている。
自装置(ルータR)のルータIDを設定する。自装置のルータIDは、予め各ルータRの記憶媒体(ROM3,フラッシュメモリ4,RAM5の少なくとも1つ)に記憶されている。
次の05では、CPU1は、自律制御ルーティングテーブル(テーブルT1)にアクセスし、02の処理で設定した宛先IPアドレスに対応するネクストホップアドレスを得る。さらに、CPU1は、オプション部の所定位置(例えば、9〜12バイト目)に、得られたネクストホップアドレスを格納(設定)する。このとき、ルータID及びネクストホップアドレスの追加に伴い、オプション長が更新されるとともに、ヘッダ長が更新される。そして、CPU1は、06の処理において、パケットの組立処理を行い、テストパケットを生成する(完成させる)。
その後、パケットの送出処理(07)が行われる。07の処理では、CPU1は、例えば、テストパケットと、テーブルT1を参照する旨の指示(コマンド)とを、スイッチ2に送る。スイッチ2は、指示(コマンド)に従い、テーブルT1からテストパケットの宛先IPアドレスに対応するネクストホップアドレスを得る(第1の方法)。スイッチ2は、ネクストホップアドレスに対応する出力ポートへ向けてテストパケットをIF7へ転送し、IF7は、該当出力ポートからテストパケットを送出する。これによって、テストパケットは、自律制御による経路上にある次のルータRへ転送される。
なお、07の処理は、上記に代えて次のようにすることができる(第2の方法)。第2の方法では、CPU1は、スイッチ2へテストパケットと、04の処理で得られたネクストホップアドレスとをスイッチ2へ送る。スイッチ2は、ネクストホップアドレスに対応する出力ポートへ向けてテストパケットをIF7へ送る。IF7は、ネクストホップアドレスに対応する出力ポートからテストパケットを送出する。第2の方法では、スイッチ2によるテーブルT1の検索が省略される。
或いは、07の処理は、以下のように行われても良い(第3の方法)。第3の方法では、スイッチ2は、パケットの入力方向(IF側、CPU側)とオプション番号とを参照するように形成される。パケットの入力方向がIF側であり、且つパケットが特定コード(オプション番号“30”)を含む場合には、スイッチ2は、パケットをCPU1に渡す。パケットの入力方向がCPU側であり、且つパケットが特定コード(オプション番号“30”)を含む場合には、スイッチ2は、テーブルT2を参照し、テーブルT2から宛先IPアドレスに対応するネクストホップアドレスを得る。第3の方法では、CPU1からスイッチ2に対するコマンド発行ないしネクストホップアドレスの通知が不要となる。
なお、テストパケットは、テストパケット送信指示のIPパケットを加工する(必要な情報の書き換えを行う)ことで生成されても良く、新たなIPパケットにテストパケット送信指示の内容に従った情報設定を行うことで生成されるようにしても良い。新たなIPパケットが用いられる場合には、06のパケット組立において、テストパケットのデータ部分には、テストパケット送信指示中のコマンド,送信元IPアドレス,宛先IPアドレスが格納される。なお、図10に示した01〜05の処理の順序は任意に決定することができる。
図11は、ルータRのテストパケット受信時における処理(テストパケット受信処理)の例を示すフローチャートである。図11に示す処理は、テストパケットを受信したルータRのCPU1によって実行される。前提となる処理(パケットの受信処理、図11の10)として、以下の処理が行われる。IF7で受信されたパケットは、スイッチ2に送られる。
スイッチ2は、例えば、パケットのオプション番号を参照する。オプション番号が“30”(特定のコード)であれば、スイッチ2はパケットがテストパケットであるものとして、パケットをCPU1に渡す。なお、オプション番号が“30”でない場合(通常のパケットである場合)には、スイッチ2は、現在の動作モードに従ってテーブルT1とテーブルT2との一方を用いたパケットの転送を行う。
本実施形態では、テストパケットは、動作モードが集中制御モード(第2のモード)であるときに送信される。このため、スイッチ2は、テーブルT2(集中制御ルーティングテーブル)を参照し、宛先IPアドレスに対応するネクストホップアドレスを得る。パケットは、IF7に与えられ、当該ネクストホップアドレスに対応する出力ポートから送出される。
テストパケットを受け取ったCPU1は、オプション番号“30”を参照し、パケットがテストパケットであることを確認する。CPU1は、テストパケットのオプション部の最終フィールド(オプション部の最後尾)の次の4バイト(32ビット)に自装置のルータIDを設定する(11)。
次の12の処理では、CPU1は、テーブルT1にアクセスし(テーブルT1を参照し)、テストパケットの宛先IPアドレスに対応するネクストホップアドレスをテーブルT1から得る。CPU1は、ルータIDを設定した4バイトの次の4バイト(32ビット)に対し、ネクストホップアドレスを設定する。
次の13の処理では、CPU1は、オプション部のオプション長の値を更新する。オプション部は、32ビットを単位長とする可変長であり、オプション長は、単位長の数で表現される。11及び12の処理でオプション部は64ビット(2単位)拡張されているので、CPU1は、現在のオプション長の値に2を加算する。
次の14の処理では、CPU1は、IPヘッダのヘッダ長を更新する。ヘッダ長も32ビットを単位長として表現される。このため、CPU1は、現在のヘッダ長の値に2を加算する。なお、13及び14の処理は、図10の05において行われるオプション長及びヘッダ長の更新と同様の処理である。
次の15の処理では、CPU1は、テストパケットの組立処理(少なくともIPヘッダとデータ部分との結合)を行う。そして、テストパケットの送出処理が行われる。送出処理は、図10の07の処理と同様の処理であり、上述した第1〜第3の方法のいずれかを用いて、テストパケットが自律制御によるネクストホップアドレスに対応する出力ポートから送出される。
図12は、ルータRのテストパケット終端時における処理(テストパケット終端処理)の例を示すフローチャートである。ルータRのCPU1がIF7及びスイッチ2を介してテストパケットを受信するまでの動作は、図11について説明したテストパケット受信時の動作と同じである。
但し、図12の20の処理において、CPU1は、以下のような処理を行う。CPU1は、テストパケットを受信すると、オプション番号“30”の確認によるテストパケットの確認処理を行う。CPU1は、テストパケットであることを確認すると、テーブルT1にアクセスし、テーブルT1にネクストホップアドレスでなく、「終端」が記憶されていることを以て、テストパケットを終端することを認識(判定)する。もっとも、終端の判定は、例えば、テストパケットの宛先IPアドレスが自装置のIPアドレスか否かを以て行うこともできる。
テストパケットの終端を判定したCPU1は、テストパケットのオプション部から自律制御に基づく経路情報を取り出す(21)。自律制御情報に基づく経路情報は、テストパケットが転送された経路上に存在する各ルータR(始点〜終端直前)によってテストパケットに追加(格納)されたルータID及びネクストホップアドレスのそれぞれである。
次の22の処理において、CPU1は、テストパケットから取り出した自律制御に基づく経路情報を、テストパケット終端通知のIPパケットのデータ部に格納する(図9参照)。また、当該IPのヘッダの宛先IPアドレスには、コントローラCのIPアドレス(各ルータRにて既知)を設定する。
次の23の処理において、CPU1は、テストパケット終端通知のパケットの組立を行う。次の24において、例えば、CPU1は、スイッチ2に対し、テストパケット終端通知と、コントローラCへテストパケット終端通知を送信するコマンドとを与える。テストパケット終端通知は、スイッチ2及びIF7を経て、コントローラCへ送信される。
<コントローラにおける処理>
図13は、コントローラCとして動作する情報処理装置10のCPU11によって実行される処理例を示すフローチャートである。図13の処理は、例えば、入力装置18から入力されるテストパケット送信指示の送信要求、或いは、自律制御に基づく経路の取得要求をCPU1が受けることにより開始される。送信要求ないし取得要求は、送信元IPアドレスと宛先IPアドレスとを少なくとも含む。送信元IPアドレスは、自律制御に基づく経路把握を所望する経路の始点に相当するルータRのアドレスであり、宛先IPアドレスは、上記経路の終端点に該当するルータRのIPアドレスである。
図13は、コントローラCとして動作する情報処理装置10のCPU11によって実行される処理例を示すフローチャートである。図13の処理は、例えば、入力装置18から入力されるテストパケット送信指示の送信要求、或いは、自律制御に基づく経路の取得要求をCPU1が受けることにより開始される。送信要求ないし取得要求は、送信元IPアドレスと宛先IPアドレスとを少なくとも含む。送信元IPアドレスは、自律制御に基づく経路把握を所望する経路の始点に相当するルータRのアドレスであり、宛先IPアドレスは、上記経路の終端点に該当するルータRのIPアドレスである。
101の処理において、CPU11は、送信要求ないし取得要求に基づき、テストパケット送信指示(図8)を作成し、102の処理において、テストパケット送信指示の送信処理を行う。その後、CPU11は、例えば、テストパケット終端通知の待ち受け状態となる(103)。
テストパケット終端通知が受信されると(103,YES)、CPU11は、テストパケット終端通知のデータ部分(データ部)から自律制御に基づく経路情報(複数のルータIDとネクストホップアドレスの組み合わせ)を取り出す。
次の104では、CPU11は、自律制御情報に基づく経路情報を解析し、テストパケットの転送経路を、パケットネットワークNのトポロジマップ上に示した画像データを生成し、当該画像データに基づく画像を表示装置19に表示する。
<動作例>
次に、実施形態の通信システムにおける動作例について説明する。図14は、動作例の説明図である。図14に示す動作例では、PC−AとPC−Bとが通信を行っている。各ルータR1〜R5は、通常時動作、すなわち集中制御動作(第2のモード)で動作している。第2のモードでは、PC−Aから送信されるPC−B宛てのパケット(通常パケット)は、テーブルT2に従い、ルータR1→ルータR5→ルータR4→ルータR3の経路を通って、PC−Bに到達する。当該経路(ルート)は、例えば、ルータR1とルータR2との間、ルータR2とルータR3との間のトラフィック量が少なくなく、ルータR1→ルータR2→ルータR3のルートを避けるように、コントローラCにて設定されたものである。但し、このような事情は必須ではない。
次に、実施形態の通信システムにおける動作例について説明する。図14は、動作例の説明図である。図14に示す動作例では、PC−AとPC−Bとが通信を行っている。各ルータR1〜R5は、通常時動作、すなわち集中制御動作(第2のモード)で動作している。第2のモードでは、PC−Aから送信されるPC−B宛てのパケット(通常パケット)は、テーブルT2に従い、ルータR1→ルータR5→ルータR4→ルータR3の経路を通って、PC−Bに到達する。当該経路(ルート)は、例えば、ルータR1とルータR2との間、ルータR2とルータR3との間のトラフィック量が少なくなく、ルータR1→ルータR2→ルータR3のルートを避けるように、コントローラCにて設定されたものである。但し、このような事情は必須ではない。
このような状態において、ネットワーク管理者が、ルータR1とルータR3との間の自
律制御に基づく経路(障害時の経路)の把握を所望する場合には、ネットワーク管理者は、コントローラC(情報処理装置10)に対して、テストパケット送信指示の送信要求ないし自律制御に基づく経路の取得要求を入力する。
律制御に基づく経路(障害時の経路)の把握を所望する場合には、ネットワーク管理者は、コントローラC(情報処理装置10)に対して、テストパケット送信指示の送信要求ないし自律制御に基づく経路の取得要求を入力する。
すると、コントローラCは、ルータR1に対して、テストパケット送信指示を送信する(図14<1>)。テストパケットの送信元はルータR1であり、宛先はルータR3である。ルータR1は、テストパケット(図8)を生成し、ルータR1のルータIDとテーブルT1に記憶されたネクストホップアドレス(ルータR2)とをテストパケットに追加する。ルータR1は、テーブルT1に従い、テストパケットをルータR2に転送する(図14<2>)。
ルータR2は、テストパケットを受信すると、ルータR2のルータIDと、宛先IPアドレス(ルータR3)に対応するテーブルT1上のネクストホップアドレス(ルータR3)とをテストパケットに追加し、テーブルT1に従ってテストパケットをルータR3に転送する(図14<3>)。
ルータR3は、テストパケットを受信すると、例えばテーブルT1を参照し、「パケット終端」が指定されていることから、テストパケットを終端する。そして、ルータR3は、自律制御に基づく経路情報、すなわちルータR1のルータID及びネクストホップアドレスと、ルータR2のルータID及びネクストホップアドレスとを含むテストパケット終端通知(図9)を生成し、コントローラCへ送る(図14<4>)。
コントローラC(情報処理装置10)では、テストパケット終端通知に含まれた経路情報に基づき自律制御に基づく経路を解析し、当該経路の表示を含んだトポロジマップを表示装置19に表示する(図14<5>)。
図15は、経路表示を含むトポロジマップの表示例を示す図である。図15の例において、トポロジマップは、ルータR(ノード)を示す円盤状のシンボルと、ルータR間を接続する通信回線(リンク)を示す直線とで表現されている。そして、集中制御動作時の経路は、リンクに沿って図示された実線矢印で表現され、自律制御動作時の経路は、リンクに沿って図示された破線矢印で示されている。なお、集中制御動作時の経路を表示することは必須ではない。また、自律制御動作時の経路の表現形式は、図15の例に限定されない。
また、自律制御時における経路情報の出力形式は、トポロジマップ上で表示されることに限定されない。例えば、テストパケット終端通知中の送信元IPアドレス,宛先IPアドレス,各ルータRのルータID及びネクストホップアドレスのテキストが表示装置19に表示されるようにしても良く、これらがシートに印刷されるようにしても良い。
ネットワーク管理者は、図15に示す様なトポロジマップ上に図示された自律制御動作時の経路を目視することで、当該経路を把握することができる。これを受けて、ルータR1→ルータR2→ルータR3の経路に関して、トラフィック軽減、或いは輻輳緩和のための対策を事前に採ることが可能となる。
<実施形態の作用効果>
本実施形態では、通常時、すなわち、ルータR1〜R5が第2のモード(集中制御動作)でパケット転送を行っている状態において、コントローラCが所定の識別情報を含むテストパケット送信指示を、所定のルータRに与える。指示を受けたルータRは、テストパケットを生成し、テーブルT1に従い、テストパケットの宛先へ向けてテストパケットを送出する。テストパケットの送信元のルータR、テストパケットを中継するルータRのそ
れぞれは、集中制御動作時であっても、テストパケットをテーブルT1に従い転送する。また、各ルータRは、ルータID及びネクストホップアドレスをテストパケットに含める。テストパケットの宛先であるルータRは、テストパケットを受信すると、テストパケットを受信した各ルータRがテストパケットに含めた経路情報(ルータID,ネクストホップアドレス)をコントローラCへ送る。コントローラCは、経路情報に基づき、自律制御動作時におけるパケットの転送経路をトポロジマップ上に表示する。
本実施形態では、通常時、すなわち、ルータR1〜R5が第2のモード(集中制御動作)でパケット転送を行っている状態において、コントローラCが所定の識別情報を含むテストパケット送信指示を、所定のルータRに与える。指示を受けたルータRは、テストパケットを生成し、テーブルT1に従い、テストパケットの宛先へ向けてテストパケットを送出する。テストパケットの送信元のルータR、テストパケットを中継するルータRのそ
れぞれは、集中制御動作時であっても、テストパケットをテーブルT1に従い転送する。また、各ルータRは、ルータID及びネクストホップアドレスをテストパケットに含める。テストパケットの宛先であるルータRは、テストパケットを受信すると、テストパケットを受信した各ルータRがテストパケットに含めた経路情報(ルータID,ネクストホップアドレス)をコントローラCへ送る。コントローラCは、経路情報に基づき、自律制御動作時におけるパケットの転送経路をトポロジマップ上に表示する。
これによって、ネットワーク管理者は、集中制御動作時において、容易に自律制御動作時におけるパケットの経路を把握することができる。ネットワーク管理者は、自律制御動作時の経路についてのトラフィック状況の情報を用いて、自律制御動作に切り替わったときにおける通信への影響度を知ることができる。このため、自律制御動作への切り替えに備えて、トラフィック量の分散や輻輳回避のための対策(例えば、迂回路の設定)を採ることができる。これによって、切り替えによる通信への影響を抑え、パケットネットワークNを安定的に運用し得る。また、利用者へパケットネットワークNの状態を通知するタイミングを早めることもできる。
各ルータRは、パケットが特定のコード(オプション番号“30”)を含む場合には、集中制御動作時であっても、パケットをテーブルT1を用いて転送する。これにより、集中制御動作時であっても、パケットを自律制御動作時の経路で転送することができる。これによって、テストパケットの送信元のルータR、テストパケットを中継するルータRのそれぞれは、集中制御動作時において、テストパケットを自律制御動作時の経路で転送することができる。
各ルータRは、テストパケット送信指示の受信時に、テストパケットを生成し、テーブルT1を用いて宛先IPアドレスに対応するネクストホップアドレスへテストパケットを転送する。これによって、所望のルータRを始点として、所望の宛先へ向けてテストパケットを転送させることができる。
テストパケットの送信元のルータR、及びテストパケットを中継するルータRは、自装置でテーブルT1を用いて得られたネクストホップアドレス(転送先を示す情報)をテストパケットに含める。これによって、テストパケットに、テストパケットの送信元におけるネクストホップアドレスを記録することができる。
また、テストパケットの宛先に当たるルータRは、テストパケットに含まれた経路情報(複数のルータIDとネクストホップアドレスの組み合わせ)を含むテストパケット終端通知をコントローラCへ送る。これによって、テストパケットの転送により得られた経路情報をまとめてコントローラCへ送ることができる。例えば、上記組み合わせが各ルータRからコントローラCに送信されることによりコントローラCの処理が煩雑となるのを回避することができる。
また、本実施形態では、所定の識別情報(特定のコード)として、所定のオプション番号(例えば“30”)が用いられる。これによって、ルータRは、IPヘッダの参照によって、所定の識別情報の有無の判定を行うことができる。IPヘッダの参照(解析)は、既存のアルゴリズムを用いて実施可能であるので、所定の情報をデータ部分に格納する場合に比べて開発工数が減る。
また、ルータID及びネクストホップアドレスは、オプション部に格納され、オプション部に格納されたデータの一部として扱われる。これによって、テストパケットを中継するルータでは、ヘッダ部に対する処理によって、ルータID及びネクストホップアドレスを格納できるので、処理を定型的にすることができる。また、テストパケットの宛先のル
ータRでは、ヘッダ部の参照によって、テストパケット終端通知で送信するデータを得ることができる。これによって、処理が簡易化する。
ータRでは、ヘッダ部の参照によって、テストパケット終端通知で送信するデータを得ることができる。これによって、処理が簡易化する。
<変形例>
上記した実施形態では、テストパケットを送信するルータR(送信元ルータと呼ぶ)と、テストパケットを中継する各ルータR(中継ルータと呼ぶ)が、ルータIDとネクストホップアドレスとをテストパケットに追加し、宛先のルータR1がテストパケット終端通知をコントローラCへ送信する。このような構成に代えて、図16に示すように、送信元ルータ及び中継ルータが、テストパケットの受信を契機として、ルータID及びネクストホップアドレスをコントローラCへ送信(通知)する構成が採用されても良い。この場合、テストパケットには、テストパケットの識別子(例えば通番)が設定され、ルータRからコントローラCへの通知には、当該識別子が含められる。
上記した実施形態では、テストパケットを送信するルータR(送信元ルータと呼ぶ)と、テストパケットを中継する各ルータR(中継ルータと呼ぶ)が、ルータIDとネクストホップアドレスとをテストパケットに追加し、宛先のルータR1がテストパケット終端通知をコントローラCへ送信する。このような構成に代えて、図16に示すように、送信元ルータ及び中継ルータが、テストパケットの受信を契機として、ルータID及びネクストホップアドレスをコントローラCへ送信(通知)する構成が採用されても良い。この場合、テストパケットには、テストパケットの識別子(例えば通番)が設定され、ルータRからコントローラCへの通知には、当該識別子が含められる。
図16の例では、ルータR1がルータID,ネクストホップアドレス,及び識別子を含む通知をコントローラCに送信し(図16<2a>)、ルータR2がルータID,ネクストホップアドレス,及び識別子を含む通知をコントローラCに送信している(図16<3a>)
これによって、コントローラCは、ルータR1及びルータR2から受信されるルータID及びネクストホップアドレスを紐づけすることができる。この場合でも、パケット終端通知は利用される(図16<4>)。但し、図16中の<1>,<2>,及び<3>に示す動作では、テストパケットの転送に当たり、ルータID及びネクストホップアドレスをテストパケットに含める処理は行われない。従って、テストパケット終端通知には、ルータID及びネクストホップアドレスは含まれない。すなわち、テストパケット終端通知は、単にテストパケットの終端をコントローラCに知らせるだけの用途となる。
なお、ルータRが、上記したように、ルータID及びネクストホップアドレスをコントローラCへ個別に通知する一方で、テストパケットに対するルータID及びネクストホップアドレスの追加を行うようにしても良い。すなわち、図15で説明した動作と図16で説明した動作との双方が実施されるようにしても良い。
また、実施形態では、ルータIDとネクストホップアドレスがルータRにて含められる(追加される)構成を採用している。これに代えて、以下のような構成を適用し得る。例えば、コントローラCの記憶媒体(例えば、RAM12,ROM13,HDD14の少なくとも1つ)は、IPアドレスとルータIDとの対応テーブルを記憶する。ルータRは、ネクストホップアドレスをテストパケットに含める(追加する)。テストパケットの宛先のルータRは、送信元ルータ及び中継ルータで含められたネクストホップアドレスの集合を含むテストパケット終端通知をコントローラCへ送る。コントローラCのCPU1は、対応テーブルを用いて、各ネクストホップアドレスに対応するルータIDを求める。また、CPU1は、送信元IPアドレスからルータIDを求める。このようにして、ルータRは、テストパケットに対するルータIDの追加を省略することができる。
以上説明した実施形態の構成は、適宜組み合わせることができる。上記した実施形態は、以下の付記を開示する。付記は、適宜組み合わせることができる。
(付記1) 自律制御により転送先を更新する対象の第1のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第2のルーティングテーブルと、を記憶した記憶部と、
前記第2のルーティングテーブルを用いた転送処理を行うモードが設定された状態において受信したパケットのうち、所定の識別情報を含む一部のパケットについて、前記第1
のルーティングテーブルを用いた転送処理を実行する転送処理部と、
を備える通信装置。(1)
前記第2のルーティングテーブルを用いた転送処理を行うモードが設定された状態において受信したパケットのうち、所定の識別情報を含む一部のパケットについて、前記第1
のルーティングテーブルを用いた転送処理を実行する転送処理部と、
を備える通信装置。(1)
(付記2) テストパケットの送信指示が受信されたときに、前記送信指示で指定された宛先アドレスと、前記所定の識別情報とを含むテストパケットを送信する処理を行う制御部をさらに備える
付記1に記載の通信装置。(2)
付記1に記載の通信装置。(2)
(付記3) 前記制御部は、前記第1ルーティングテーブルを用いて得られた前記テストパケットの転送先を示す情報を前記テストパケットに含める
付記2に記載の通信装置。(3)
付記2に記載の通信装置。(3)
(付記4) 前記所定の識別情報と宛先アドレスとを含むテストパケットが受信されたときに、自装置のアドレスが前記宛先アドレスでなければ、前記第1のルーティングテーブルを用いて得られた前記テストパケットの転送先を示す情報を前記テストパケットに含める制御部をさらに備え、
前記転送制御部は、前記テストパケットの転送先を示す情報に従って前記テストパケットを転送する
付記1から3のいずれか1項に記載の通信装置。(4)
前記転送制御部は、前記テストパケットの転送先を示す情報に従って前記テストパケットを転送する
付記1から3のいずれか1項に記載の通信装置。(4)
(付記5) 前記制御部は、前記第1ルーティングテーブルを用いて得られた前記テストパケットの転送先を示す情報を自律制御に基づくパケットの経路を管理する管理装置へ送信する
付記2に記載の通信装置。
付記2に記載の通信装置。
(付記6) 前記所定の識別情報と宛先アドレスとを含むテストパケットが受信されたときに、自装置のアドレスが前記宛先アドレスでなければ、前記第1のルーティングテーブルを用いて得られた前記テストパケットの転送先を示す情報を、自律制御に基づくパケットの経路を管理する管理装置へ送信する制御部をさらに備え、
前記転送制御部は、前記テストパケットの転送先を示す情報に従って前記テストパケットを転送する
付記1から5のいずれか1項に記載の通信装置。
前記転送制御部は、前記テストパケットの転送先を示す情報に従って前記テストパケットを転送する
付記1から5のいずれか1項に記載の通信装置。
(付記7) 前記所定の識別情報と宛先アドレスとを含むテストパケットが受信されたときに、自装置のアドレスが前記宛先アドレスであれば、当該テストパケットに含まれた情報であって当該テストパケットの送信元の通信装置、及び当該テストパケットを中継した通信装置のそれぞれにおいて自律制御により得られた当該テストパケットの転送先を示す情報を含む通知を、自律制御に基づくパケットの経路を管理する管理装置へ送信する制御部をさらに備える
付記1から4のいずれか1項に記載の通信装置。(5)
付記1から4のいずれか1項に記載の通信装置。(5)
(付記8) 前記パケットは、IPパケットであり、
前記所定の識別情報は、前記IPパケットのヘッダのオプション部に格納されるオプション番号の一つである
付記1から7のいずれか1項に記載の通信装置。(6)
前記所定の識別情報は、前記IPパケットのヘッダのオプション部に格納されるオプション番号の一つである
付記1から7のいずれか1項に記載の通信装置。(6)
(付記9) 前記パケットは、IPパケットであり、
前記テストパケットの転送先を示す情報は、前記IPパケットのヘッダのオプション部に格納される
付記3,4,7,8のいずれか1項に記載の通信装置。
前記テストパケットの転送先を示す情報は、前記IPパケットのヘッダのオプション部に格納される
付記3,4,7,8のいずれか1項に記載の通信装置。
(付記10) 複数の通信装置と、
各通信装置を管理する管理装置とを備え、
前記各通信装置は、
自律制御により転送先を更新する対象の第1のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第2のルーティングテーブルと、を記憶した記憶部と、
前記第2のルーティングテーブルを用いた転送処理を行うモードが設定された状態において受信したパケットのうち、所定の識別情報を含む一部のパケットについて、前記第1のルーティングテーブルを用いた転送処理を実行する転送処理部と、
を含み、
前記管理装置は、
前記複数の通信装置の1つに対し、前記所定の識別情報を含むテストパケットの送信を指示する処理と、前記複数の通信装置の他の1つから、前記テストパケットの自律制御に基づく転送を通じて当該テストパケットに格納された経路情報を受け取り、当該経路情報に基づき特定される経路を出力する処理とを行う制御部を含む
通信システム。(7)
各通信装置を管理する管理装置とを備え、
前記各通信装置は、
自律制御により転送先を更新する対象の第1のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第2のルーティングテーブルと、を記憶した記憶部と、
前記第2のルーティングテーブルを用いた転送処理を行うモードが設定された状態において受信したパケットのうち、所定の識別情報を含む一部のパケットについて、前記第1のルーティングテーブルを用いた転送処理を実行する転送処理部と、
を含み、
前記管理装置は、
前記複数の通信装置の1つに対し、前記所定の識別情報を含むテストパケットの送信を指示する処理と、前記複数の通信装置の他の1つから、前記テストパケットの自律制御に基づく転送を通じて当該テストパケットに格納された経路情報を受け取り、当該経路情報に基づき特定される経路を出力する処理とを行う制御部を含む
通信システム。(7)
(付記11) コンピュータをパケットを転送する通信装置として動作させる通信制御プログラムであって、
記憶部に記憶された、自律制御により転送先を更新する対象の第1のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第2のルーティングテーブルとのうち、前記第2のルーティングテーブルを用いた転送処理を行うモードが設定された状態においてパケットを受信する処理と、
前記パケットが前記所定の識別情報を含むときに、前記第1のルーティングテーブルを用いて前記パケットを転送する処理と
をコンピュータに実行させる通信制御プログラム。(8)
記憶部に記憶された、自律制御により転送先を更新する対象の第1のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第2のルーティングテーブルとのうち、前記第2のルーティングテーブルを用いた転送処理を行うモードが設定された状態においてパケットを受信する処理と、
前記パケットが前記所定の識別情報を含むときに、前記第1のルーティングテーブルを用いて前記パケットを転送する処理と
をコンピュータに実行させる通信制御プログラム。(8)
(付記12) 通信装置の通信制御方法であって、
前記通信装置が、
記憶部に記憶された、自律制御により転送先を更新する対象の第1のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第2のルーティングテーブルとのうち、前記第2のルーティングテーブルを用いた転送処理を行うモードが設定された状態においてパケットを受信し、
前記パケットが前記所定の識別情報を含むときに、前記第1のルーティングテーブルを用いて前記パケットを転送する
ことを含む通信装置の通信制御方法。(9)
前記通信装置が、
記憶部に記憶された、自律制御により転送先を更新する対象の第1のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第2のルーティングテーブルとのうち、前記第2のルーティングテーブルを用いた転送処理を行うモードが設定された状態においてパケットを受信し、
前記パケットが前記所定の識別情報を含むときに、前記第1のルーティングテーブルを用いて前記パケットを転送する
ことを含む通信装置の通信制御方法。(9)
C・・・コントローラ
N・・・パケットネットワーク
R・・・ルータ
T1・・・自律制御ルーティングテーブル
T2・・・集中制御ルーティングテーブル
1,11・・・CPU
2・・・スイッチ
6・・・テーブル
7・・・インタフェース(IF)
N・・・パケットネットワーク
R・・・ルータ
T1・・・自律制御ルーティングテーブル
T2・・・集中制御ルーティングテーブル
1,11・・・CPU
2・・・スイッチ
6・・・テーブル
7・・・インタフェース(IF)
Claims (10)
- 自律制御により転送先を更新する対象の第1のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第2のルーティングテーブルと、を記憶した記憶部と、
前記第2のルーティングテーブルを用いた転送処理を行うモードが設定された状態において受信したパケットのうち、所定の識別情報を含む一部のパケットについて、前記第1のルーティングテーブルを用いた転送処理を実行する転送処理部と、
を備える通信装置。 - テストパケットの送信指示が受信されたときに、前記送信指示で指定された宛先アドレスと、前記所定の識別情報とを含むテストパケットを送信する処理を行う制御部をさらに備える
請求項1に記載の通信装置。 - 前記制御部は、前記第1ルーティングテーブルを用いて得られた前記テストパケットの転送先を示す情報を前記テストパケットに含める
請求項2に記載の通信装置。 - 前記所定の識別情報と宛先アドレスとを含むテストパケットが受信されたときに、自装置のアドレスが前記宛先アドレスでなければ、前記第1のルーティングテーブルを用いて得られた前記テストパケットの転送先を示す情報を前記テストパケットに含める制御部をさらに備え、
前記転送制御部は、前記テストパケットの転送先を示す情報に従って前記テストパケットを転送する
請求項1から3のいずれか1項に記載の通信装置。 - 前記所定の識別情報と宛先アドレスとを含むテストパケットが受信されたときに、自装置のアドレスが前記宛先アドレスであれば、当該テストパケットに含まれた情報であって当該テストパケットの送信元の通信装置、及び当該テストパケットを中継した通信装置のそれぞれにおいて自律制御により得られた当該テストパケットの転送先を示す情報を含む通知を、自律制御に基づくパケットの経路を管理する管理装置へ送信する制御部をさらに備える
請求項1から4のいずれか1項に記載の通信装置。 - 前記パケットは、IPパケットであり、
前記所定の識別情報は、前記IPパケットのヘッダのオプション部に格納されるオプション番号の一つである
請求項1から5のいずれか1項に記載の通信装置。 - 前記パケットは、IPパケットであり、
前記テストパケットの転送先を示す情報は、前記IPパケットのヘッダのオプション部に格納される
請求項3から6のいずれか1項に記載の通信装置。 - 複数の通信装置と、
各通信装置を管理する管理装置と
を備え、
前記各通信装置は、
自律制御により転送先を更新する対象の第1のルーティングテーブルと、前記自律制御
による転送先を更新する対象でない第2のルーティングテーブルと、を記憶した記憶部と、
前記第2のルーティングテーブルを用いた転送処理を行うモードが設定された状態において受信したパケットのうち、所定の識別情報を含む一部のパケットについて、前記第1のルーティングテーブルを用いた転送処理を実行する転送処理部と、
を含み、
前記管理装置は、
前記複数の通信装置の1つに対し、前記所定の識別情報を含むテストパケットの送信を指示する処理と、前記複数の通信装置の他の1つから、前記テストパケットの自律制御に基づく転送を通じて当該テストパケットに格納された経路情報を受け取り、当該経路情報に基づき特定される経路を出力する処理とを行う制御部を含む
通信システム。 - コンピュータをパケットを転送する通信装置として動作させる通信制御プログラムであって、
記憶部に記憶された、自律制御により転送先を更新する対象の第1のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第2のルーティングテーブルとのうち、前記第2のルーティングテーブルを用いた転送処理を行うモードが設定された状態においてパケットを受信する処理と、
前記パケットが前記所定の識別情報を含むときに、前記第1のルーティングテーブルを用いて前記パケットを転送する処理と
をコンピュータに実行させる通信制御プログラム。 - 通信装置の通信制御方法であって、
前記通信装置が、
記憶部に記憶された、自律制御により転送先を更新する対象の第1のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第2のルーティングテーブルとのうち、前記第2のルーティングテーブルを用いた転送処理を行うモードが設定された状態においてパケットを受信し、
前記パケットが前記所定の識別情報を含むときに、前記第1のルーティングテーブルを用いて前記パケットを転送する
ことを含む通信装置の通信制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014171363A JP2016046755A (ja) | 2014-08-26 | 2014-08-26 | 通信装置、通信システム、通信制御プログラム、及び通信制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014171363A JP2016046755A (ja) | 2014-08-26 | 2014-08-26 | 通信装置、通信システム、通信制御プログラム、及び通信制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016046755A true JP2016046755A (ja) | 2016-04-04 |
Family
ID=55636900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014171363A Withdrawn JP2016046755A (ja) | 2014-08-26 | 2014-08-26 | 通信装置、通信システム、通信制御プログラム、及び通信制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016046755A (ja) |
-
2014
- 2014-08-26 JP JP2014171363A patent/JP2016046755A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5621778B2 (ja) | コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法 | |
JP5498102B2 (ja) | ネットワークシステム、ネットワーク中継装置、それらの制御方法 | |
JP5743906B2 (ja) | 通信制御システム | |
US20180324274A1 (en) | Information system, control apparatus, method of providing virtual network, and program | |
WO2011118585A1 (ja) | 情報システム、制御装置、仮想ネットワークの管理方法およびプログラム | |
WO2014133015A1 (ja) | 制御装置、通信システム、スイッチ制御方法及びプログラム | |
JP2014533001A (ja) | 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム | |
JP2015159486A (ja) | 中継ノード及び経路制御方法 | |
CN103825826B (zh) | 一种动态路由的实现方法和装置 | |
JP6801409B2 (ja) | 経路探索システム、経路探索方法及び経路探索プログラム | |
JP2013545151A (ja) | サーバ管理装置、サーバ管理方法およびプログラム | |
JP5720340B2 (ja) | 制御サーバ、通信システム、制御方法およびプログラム | |
EP3076611A1 (en) | Communication system, communication method, network information combination apparatus, and network information combination program | |
JP5991385B2 (ja) | 制御情報管理装置、制御情報提示方法及びプログラム | |
JPWO2015079615A1 (ja) | 通信システム、通信方法、ネットワーク情報結合装置、処理規則変換方法および処理規則変換プログラム | |
JP5941556B2 (ja) | パケット中継装置、パケット転送方法および通信システム | |
US9197557B2 (en) | Relay server and relay communication system | |
JP2008072521A (ja) | 通信装置、通信方法及び通信プログラム | |
JP2016046755A (ja) | 通信装置、通信システム、通信制御プログラム、及び通信制御方法 | |
JP2017175522A (ja) | ネットワークシステム、制御装置、方法およびプログラム | |
JP2005286681A (ja) | 中継機器 | |
JP2015525984A (ja) | 通信システム、制御装置、通信方法及びプログラム | |
JP6134571B2 (ja) | 疎通確認装置、ネットワークシステム、疎通確認方法、および疎通確認プログラム | |
WO2023093786A1 (zh) | 一种引流的方法、设备及系统 | |
JP4369768B2 (ja) | 経路情報登録方法およびデータ中継装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170511 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20171106 |