JP2014236388A - パケット転送装置、検査制御装置、検査方法、検査制御方法、及びプログラム - Google Patents

パケット転送装置、検査制御装置、検査方法、検査制御方法、及びプログラム Download PDF

Info

Publication number
JP2014236388A
JP2014236388A JP2013117327A JP2013117327A JP2014236388A JP 2014236388 A JP2014236388 A JP 2014236388A JP 2013117327 A JP2013117327 A JP 2013117327A JP 2013117327 A JP2013117327 A JP 2013117327A JP 2014236388 A JP2014236388 A JP 2014236388A
Authority
JP
Japan
Prior art keywords
packet
inspection
packet transfer
processing
processing means
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.)
Granted
Application number
JP2013117327A
Other languages
English (en)
Other versions
JP6101573B2 (ja
Inventor
春樹 ▲高▼橋
春樹 ▲高▼橋
Haruki Takahashi
祐治 上手
Yuji Kamite
祐治 上手
橋本 昭二
Shoji Hashimoto
昭二 橋本
純 牧志
Jun Makishi
純 牧志
徹 古澤
Toru Furusawa
徹 古澤
和弘 藤原
Kazuhiro Fujiwara
和弘 藤原
昌宣 佃
Masanobu Tsukuda
昌宣 佃
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.)
NTT Communications Corp
Original Assignee
NTT Communications 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 NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2013117327A priority Critical patent/JP6101573B2/ja
Publication of JP2014236388A publication Critical patent/JP2014236388A/ja
Application granted granted Critical
Publication of JP6101573B2 publication Critical patent/JP6101573B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】単体のプロトコルルールに従わない転送を行うネットワークにおいても、効率的に通信の検査を行うことを可能とする技術を提供する。
【解決手段】パケットの転送を行うネットワークを構成するパケット転送装置において、前記パケットの転送処理を行うパケット転送処理手段を備え、検査制御装置から受信する情報に基づき、前記パケット転送処理手段の前又は後に、検査用パケット処理手段を追加し、前記検査用パケット処理手段は、検査用パケットに対し、当該検査用パケット処理手段に設定された処理を行い、当該処理に応じて前記検査制御装置に通知を行うように構成する。
【選択図】図8

Description

本発明は、パケットの転送を行うパケット転送装置からなるネットワークの正常性を検査する技術に関連するものである。
近年、OpenFlowと呼ばれる技術が普及してきている。OpenFlowでは、コントローラが網内に置かれた複数のOpenFlowスイッチ(OFS)にフローテーブルを設定することによって、End−Endでのユーザ通信路(パス)を作成している。
OFSは、自身にデータパケットが入力されると、パケットの任意かつ複数のフィールドを参照し、フローテーブル内のエントリに記載された命令に従って、パケット転送や書き換え操作を行う。
OpenFlowでは、フローテーブル内のエントリを適宜設定することで、例えば、NWオペレータのポリシーに従って転送先を自由に変えたり、フィールド自体を追加したり、フィールドの値を自由に書き換えたりすることができる。更に、フローテーブルを1つのOFS中に複数個用意して、それらを連続的に参照させて処理を行うこと(パイプライン処理と呼ぶ)も可能である。
特開2007−036839号公報
例えば上記OpenFlowのように、単体のプロトコルルールに従わない転送を行うネットワークにおいて、End−Endでの通信がNGである場合、従来からあるプロトコル標準のOAM機能のみでは十分な切り分けを行うことができないという問題がある。従って、通信NGが発生した場合、例えば各中継ノードの設定内容をひとつずつ確認する必要があり、非効率である。
本発明は上記の点に鑑みてなされたものであり、単体のプロトコルルールに従わない転送を行うネットワークにおいても、効率的に通信の検査を行うことを可能とする技術を提供することを目的とする。
上記の課題を解決するために、本発明は、パケットの転送を行うネットワークを構成するパケット転送装置であって、
前記パケットの転送処理を行うパケット転送処理手段を備え、
検査制御装置から受信する情報に基づき、前記パケット転送処理手段の前又は後に、検査用パケット処理手段を追加し、
前記検査用パケット処理手段は、検査用パケットに対し、当該検査用パケット処理手段に設定された処理を行い、当該処理に応じて前記検査制御装置に通知を行うことを特徴とするパケット転送装置として構成される。
前記パケット転送処理手段は、入力されたパケットに対する処理規則のリストを備え、前記検査用パケット処理手段は、当該リストの先頭部分又は最後部分に検査用パケットに対する処理規則を追加することにより追加されるようにしてもよい。
前記処理規則のリストは、例えば多段構成のテーブルとして構成され、前記検査用パケット処理手段は、当該多段構成のテーブルの先頭部分又は最後部分に、検査用パケットに対する処理規則を含むテーブルを追加することにより追加されるようにしてもよい。
前記処理規則のリストは、それぞれがマッチ条件とアクションを含む1つ又は複数のエントリとして構成されてもよく、前記検査用パケット処理手段は、当該1つ又は複数のエントリの先頭部分又は最後部分に、検査用パケットに対するアクションを含むエントリを追加することにより追加されるようにしてもよい。
また、前記処理規則のリストは、マッチ条件と1つ又は複数のアクションを含むエントリにおける当該1つ又は複数のアクションとして構成されてもよく、前記検査用パケット処理手段は、当該1つ又は複数のアクションの先頭部分又は最後部分に、検査用パケットに対するアクションを追加することにより追加されるようにしてもよい。
また、前記検査制御装置から受信する情報に基づき、前記処理規則のリストの中に検査用パケットに対する処理規則を追加することにより、前記パケット転送装置内の検査を行うための走査用パケット処理手段が追加されるようにしてもよい。
前記検査用パケット処理手段が前記パケット転送処理手段の前に追加される場合において、当該検査用パケット処理手段に設定される処理は、例えば検査用パケットを前記パケット転送処理手段に転送することであり、前記検査用パケット処理手段が前記パケット転送処理手段の後に追加される場合において、当該検査用パケット処理手段に設定される処理は、例えば検査用パケットを所定のポートから出力することである。
また、前記パケット転送装置が前記所定のポートによりパケットの宛先となるユーザ装置に接続される場合には、前記検査用パケット処理手段に設定される処理は、検査用パケットを前記所定のポートから出力することを含まないこととしてもよい。
また、本発明は、パケットを転送するネットワークを構成するパケット転送装置に対する検査制御を行う検査制御装置であって、
前記パケット転送装置は、入力されたパケットに対する処理規則のリストに基づきパケット転送処理を行うパケット転送処理手段を備え、
前記パケット転送装置に対し、検査用パケットの処理規則を含む情報を送信することにより、前記パケット転送装置に検査用パケット処理手段を追加させる手段と、
前記パケット転送装置に検査用パケットを注入する手段と、
前記検査用パケットを受信した前記検査用パケット処理手段により出力される情報を取得する手段と、
前記取得した情報に基づいて、前記ネットワークの正常性を判定する判定手段とを備えることを特徴とする検査制御装置として構成することもできる。
前記判定手段は、前記ネットワークの構成情報を格納する運用制御装置から当該構成情報を取得し、当該構成情報と、前記取得した情報に基づく構成情報とを比較することにより、前記ネットワークの正常性を判定するように構成してもよい。
本発明によれば、単体のプロトコルルールに従わない転送を行うネットワークにおいても、効率的に通信の検査を行うことを可能とする技術を提供される。
本発明の実施の形態に係る通信システムの全体構成図である。 本実施の形態の動作概要を示す図である。 本実施の形態の動作概要を示す図である。 パケット転送装置100の機能構成図である。 パケット転送装置100の構成例を示す図である。 パケット転送装置100の構成例を示す図である。 パケット転送装置100の構成例を示す図である。 検査を行う場合のパケット転送装置100の機能構成図である。 検査制御装置10の機能構成図である。 本実施の形態の通信システムの動作の流れを示すフローチャートである。 検査対象パスを指定し、検査用パケットのヘッダ情報を把握する処理を示す図である。 ユーザデータをキャプチャする処理を示す図である。 検査用に予約テーブルを追加する処理を示す図である。 検査パケットを注入する処理、及び検査用パケット取得の処理を示す図である。 カウンタ値を取得する処理を示す図である。 パケット転送装置2が被疑装置であることを示す図である。 パケット転送装置内の絞り込みを行う場合におけるパケット転送装置100の機能構成図である。 パケット転送装置内の絞り込みを行う場合におけるパケット転送装置100の機能構成図である。 テーブルの飛び越えを説明するための図である。 パケット転送装置100の基本的な構成を示す図である。 パケット転送装置100においてパケット転送処理部を処理規則のリストとした図である。 変形例1のパケット転送装置100を示す図である。 変形例2のパケット転送装置100を示す図である。 変形例2のテーブルの例を示す図である。 変形例3のパケット転送装置100を示す図である。 基本例及び変形例をまとめて示した図である。 本発明をOpenFlowで実装した場合の例(パケット転送装置1,2に対応)を示す図である。 本発明をOpenFlowで実装した場合の例(パケット転送装置3に対応)を示す図である。
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、以下の実施の形態では、本発明をOpenFlow技術に適用する場合について説明しているが、本発明の適用先はOpenFlow技術に限られることはなく、種々の通信方式に適用可能である。
(課題の説明)
本発明の実施の形態を説明するにあたり、まず、OpenFlowにおける課題についてより詳細に説明しておく。
ユーザ通信が通るEnd−Endフロー(主信号通信パスに相当)は、全てのOpenFlowスイッチ(OFS)に対してフローテーブル設定が正常に行われることで完成するが、通常、OFSの装置ごとに書き込まれているフローテーブルの内容は異なる。従って、もしも、何らかの通信異常に直面した時には、経路中に存在する各OFSのフローテーブルが、意図したとおりに設定されているかを、オペレータが確認する必要が生じる。
一般的に、ユーザのEnd−End通信に何かしら問題があったとき、その原因の診断/切り分けには、対象となる通信プロトコル(D−Plane)に備えられた標準的な障害管理機能やツールセット(OAM機能)を使うことが多い。このような機能として、例えば、IP−Ping/traceroute(IPの場合)、Y.1731/802.1ag LoopBack/LinkTrace (Ethernet(登録商標)の場合)、LSP−ping/trace(MPLSの場合)等がある。
しかし、OpenFlowの標準規格には、現在のところ、D−Planeに対するOAM機能についての標準的な技術は存在しない。OpenFlowでは、OFSが、D−Planeパケット中の様々なフィールドを自由に参照し、必ずしも単体のプロトコルのルールに従わない転送をする。従って、上記の各種プロトコル別に備わっているOAM機能は、そのままでは使用することはできない。
例えば、OpenFlowスイッチのネットワーク空間の外側に、IPに対応した従来のユーザ端末が接続されていて、通信事業者がEnd−EndでのIPの通信到達性を提供している場合を考える。この環境では、ユーザ端末からIP−Pingを発行すれば、リモートにある端末と接続しているかどうかは判定できる。しかし、Ping応答がなかったとき、そこからの切り分けは困難である。この場合は次のステップとして、どの中継OpenFlowスイッチで問題が生じているのかを切り分ける必要が出てくるが、IP−tracerouteは役に立たない(OpenFlowはIPに従った転送ルールを持っていないためTTLが減算されていないこともありえるし、IPヘッダがEteherヘッダに置き換わっているということもある)。
上記のように、OpenFlowでは、OFSが様々なプロトコルフィールドを自由に参照し、必ずしも従来のプロトコルのルールに従わない転送をすることから、従来のプロトコル標準のD−Plane OAM機能(例IP−Pingなど)のみでは、障害の確認・解析を適切に行うことができず、現状では、例えばOFSに1台ずつログインしてフローテーブルの中身を順を追って表示確認するといった作業が必要であり、確認作業に時間がかかる。
本実施の形態では、上記のように非効率な作業を行うことなく、フローテーブルの中身が正しいか、また、フローテーブルが、コントローラが意図した通りに正しくOFSに入っていて、転送設定へと反映されているか否か等を、効率よく確認することを可能とする技術が提供される。
(システム構成、動作概要)
図1に、本実施の形態に係る通信システムの全体構成図を示す。図1に示すように、本実施の形態に係る通信システムは、複数のパケット転送装置から構成される中継ネットワーク、検査制御装置10、及び運用制御装置20を含む。本例では、図示の便宜上、中継ネットワークに含まれるパケット転送装置として、3つのパケット転送装置1、2、3が示されている。Ingressのパケット転送装置1には、送信元ユーザ装置30がUNIを介して接続され、Egressのパケット転送装置3には宛先ユーザ装置40がUNIを介して接続されている。検査制御装置10、運用制御装置20はそれぞれ管理用ネットワーク等を介して各パケット転送装置と通信可能であるが、図1では、検査制御装置10と各パケット転送装置が接続された(通信可能である)状態が示されている。
検査制御装置10と運用制御装置20との間も通信可能に接続されている。なお、例えば検査制御装置10の機能を運用制御装置20内に備える等、検査制御装置10と運用制御装置20とが1つの装置として構成されていてもよい。
図1に示す通信システムにおけるパスの検査時の動作概要を図2、図3を参照して説明する。ここでは、運用制御装置20から各パケット転送装置への指示に基づき、送信元ユーザ装置30から宛先ユーザ装置40への通信を収容するために、パケット転送装置1からパケット転送装置3までのパス(ネットワーク)を作成したこととし、当該パスが実際に疎通しているかどうかを検査制御装置10が確認する動作例を説明する。
ステップ1)検査用命令の追加、検査用パケットの生成(図2)
本例では、VLAN−VID100を検査用フラグとし、各パケット転送装置に対しVLAN−VID100のパケットを受信したら検査制御装置10に通知する命令を書き込む。後述するように、本実施の形態において、この命令は、テーブル内のエントリとして実現される。また、検査制御装置10は、検査対象のパスを流れるパケットであって、VLAN−VID100を含むパケットを生成する。
ステップ2)検査用パケットの注入、通知(図3)
検査制御装置10は、生成した検査用パケットをパケット転送装置1に注入する。当該パケットに対し、検査対象パスに対応して各パケット転送装置に設定されている規則に従い転送処理が行われるが、本実施の形態においては、各パケット中継装置は、ステップ1で設定された命令に従って、VLAN−VID100のパケットが到着したら、到着したことを検査制御装置10に通知して、次のパケット転送装置への転送処理を行う。
ステップ3)結果出力、検査用命令の削除
検査制御装置10は、各パケット転送装置から受信する通知に基づいて、所望の結果が得られたかどうかを示す情報を出力する。例えば、運用制御装置20から取得する情報に基づいて、検査対象パスがパケット転送装置1〜3を通るパスであることを把握しており、もしも、ある特定のパケット転送装置及びそれ以降のパケット中継装置から通知を受けなかった場合に、当該特定のパケット転送装置に何かしらの不具合があることを示す情報を出力する。この場合、例えば、後述する方法で、当該パケット転送装置内で障害の切り分けを行うことが可能である。その後、検査制御装置10は、各パケット転送装置において検査に使用した命令を削除する。
以下、各装置の構成、及び動作をより詳細に説明する。
(装置構成)
<パケット転送装置について>
本実施の形態における中継ネットワークを構成する各パケット転送装置は、OpenFlowスイッチの技術を用いて構成している。まず、図4を参照して、中継ネットワークを構成する各パケット転送装置として使用されるパケット転送装置100の基本的な機能構成を説明する。
図4に示すように、パケット転送装置100は、複数のテーブル(フローテーブル)を備える。
パケット転送装置100内の各テーブルには、複数のエントリが記述されている。各エントリには、パケットのフィールドに対する「マッチ条件」と、当該フィールドがマッチ条件に合致した時(ヒットした時)の処理内容である「インストラクション」(1つ又は複数のアクション)が含まれる。インストラクションの内容によってフィールド書き換えや転送先が決定される。
例えば、図4に示す例のように、「マッチ条件」が「"IP宛先アドレスが○であり"、かつ、"TCPポート番号が80番"」である場合に、当該テーブルに入力されたパケットの該当フィールドにおいて「"IP宛先アドレスが○であり"、かつ、"TCPポート番号が80番"」に合致した場合、「インストラクション」で指定された処理(アクション)、つまり、「"VLANタグ100番をセット"、かつ"出力ポート番号を#10番に指定"かつ"次のテーブルへ遷移"」という処理がパケットに対してなされる。
また、マッチ条件とインストラクションのセット(=エントリ)には、優先度(priority)が付与されており、同一テーブル中のエントリ(マッチ条件)の検索は優先度の高い順に行われる。なお、異なるエントリが同一の優先度を持っていてもよい。もしも優先度が同点であってマッチするエントリが複数あった場合は、何らかのアルゴリズムで択一選択が行われる。
また、上記の例のように明示的なインストラクションによって、あるいは、マッチが見つからなかった場合の処理として、別のテーブルへの遷移を行うことができる。テーブルには番号が付与されており、本実施の形態では、テーブルは番号の昇順に遷移するものとし、入力パケットは最初に配置されたテーブルから検索される。
基本的に、パケット転送装置100における各テーブルの内容は、作成しようとしているパスの接続構成等に応じて、運用制御装置20から適宜設定や書き換えがなされる。このように、ユーザ通信を実現するためのパスを構成するために、運用制御装置20から適宜設定や書き換えが行われるテーブルを通常テーブルと呼ぶ。
本実施の形態において、上述した機能構成を持つパケット転送装置100の実現方法は特定の方法に限定されない。例えば、図5に示すように、パケット転送処理部110と、テーブル格納部120を備えた構成とすることができる。この構成では、テーブル格納部120に各テーブル(データ)が格納されている。パケット転送処理部110は、入力ポートからパケットを受信すると、テーブル格納部120に格納されたテーブルを順次参照することにより、図4を参照して説明した処理と同様に「マッチ条件」と「インストラクション」に基づく処理をテーブル毎に実行し、最後のテーブルにおける「インストラクション」に基づいて、パケットを出力ポートから出力する。テーブル格納部120に格納されるテーブルは、図4に示すように実際に複数(多段)に分けられ、番号付けされたテーブルであってもよいし、複数テーブルの内容を含む1つのテーブルであってもよい。
図5の構成において、パケット転送処理部110を専用のハードウェア回路で実現し、データ格納部120をメモリ等の記憶装置で実現することができる。また、図5に示す装置を、通信IFを備えるコンピュータで実現することもできる。その場合、パケット転送処理部110の動作を、当該コンピュータにプログラムを動作させることで実現することができる。この場合のプログラムは、例えば、テーブル格納部120に格納されたテーブルに記述されたエントリの内容に従って、パケットを処理する動作に対応するプログラムになる。
また、図5に示すパケット転送装置100は、それぞれが1つのテーブルに対応する複数のパケット転送処理部を備えるものとしてもよい。つまり、図6に示すように、あるテーブルとパケット転送処理部110とが1つのサブ要素のパケット転送処理部に対応し、別のテーブルとパケット転送処理部110とが別のサブ要素のパケット転送処理部に対応するということである。例えば、テーブルnにより構成されるサブ要素のパケット転送処理部は、テーブルn+1により構成されるパケット転送処理部よりも前に備えられていることになる。
また、例えば、テーブル格納部120にテーブルが追加された場合、サブ要素のパケット転送処理部が追加されたことになる。なお、後述する予約テーブルが追加される前の通常テーブルに対応するパケット転送処理部の集合をパケット転送処理手段と称することができる。
また、図5、図6のような構成以外にも、図4に示す構成の各テーブルがパケット転送機能を備える構成としてもよい。つまり、図7に示すように、パケット転送装置100を、パケットを受信して「マッチ条件」と「インストラクション」に基づく処理を行うパケット転送処理部を複数備えた構成としてもよい。図7に示す1つのパケット転送処理部が、図4に示す1つのテーブルに対応する。図7に示す各パケット転送処理部は、例えば、複数のエントリ(=テーブル)を格納する記憶手段と、エントリに従って、入力されたパケットの転送処理を行うパケット転送手段を備える。図7に示す各パケット転送処理部は、例えばハードウェア回路で実現してよい。また、図7に示すパケット転送装置100をコンピュータで実現し、各パケット転送処理部をソフトウェアモジュールとしてもよい。ソフトウェアモジュールとすることで、必要に応じて、パケット転送処理部を付加したり削除したりすることができる。なお、当該ソフトウェアモジュールは、CPUとメモリ等のハードウェアに、プログラムを実行させることにより実現される機能部である。また、図6に示すパケット転送処理部の集合をパケット転送処理手段と称してもよい。
上述したように、本実施の形態に係るパケット転送装置100は、通信機能を持つコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、パケット転送装置100における各機能部は、コンピュータに内蔵されるCPUやメモリ、ハードディスクなどのハードウェア資源を用いて、各部で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
以下では、図4に示した記述方法でパケット転送装置の構成、及び処理を説明するが、その実現方法は、図5、図6に示した構成でもよいし、図7に示した構成でもよいし、その他の構成でもよい。
図8に、図1に示した本実施の形態の各パケット転送装置が検査を行う場合における各パケット転送装置に相当するパケット転送装置100の機能構成を示す。図8に示すように、パケット転送装置100内において、最前段に「入力用予約テーブル」を設け、最後段に「出力用予約テーブル」を設ける。各予約テーブルは検査制御装置10からしか操作(設定、変更、削除等)ができないように、パケット転送装置100において書き込みがガードされている。
本実施の形態では、このような予約テーブルを設けることで、その他の通常のテーブルを一切操作せずに検査を可能としている。
図8に示すように、各予約テーブルには、予め定めた検査用フィールドが存在する場合に、検査制御装置10にパケットを出力することを含むインストラクションが記述された最高優先のエントリが設定されている。すなわち、図8に示す例において、入力用予約テーブルには、パケットに検査用フィールドが存在する場合に、次のテーブルに遷移し、かつ、検査制御装置10にパケットを出力(コピー出力)することを示すエントリが最高優先(priority=0)で記述されている。また、出力用予約テーブルには、検査用フィールドが存在し、出力ポート指示情報が1番である場合に、パケットをポート1番に出力し、かつ、検査制御装置10にパケットを出力することを示すエントリが最高優先(priority=0)で記述されている。
「検査用フィールドが存在する」とは、例えば、パケット内の所定の場所に所定のビット値が存在することであるが、検査用パケットの判別方法はこのような方法に限られるわけではない。また、「出力ポート指示情報」とは、図8においての通常テーブル(テーブル0〜N)をパイプライン処理されていく過程で、どこかで何らかの手段で出力ポートの番号が決まった時、後段のテーブルにその値の情報を引き継ぐために参照される値(装置内部のみで使われる値)である。
図8に示す入力用予約テーブルは、次の優先度のエントリとして、「検査用フィールドが存在する」にマッチしない通常のパケットを次のテーブルに遷移させるエントリを含む。また、出力用予約テーブルは、次の優先度のエントリとして、出力ポート指示情報が1番である場合に、パケットをポート1番に出力させるエントリを含む。このようにすることで、検査用パケットでない通常のパケットについては通常通りの処理を行うことを可能としている。
図5に示すような実現方式の場合、入力用予約テーブル及び出力用予約テーブルをテーブル格納部120に追加で格納することで、図8に示す機能を実現できる。すなわち、追加で格納されたテーブルと、パケット転送処理部110により、1つのサブ要素のパケット転送処理部が追加される。予約テーブルの追加により追加されるパケット転送処理部を、検査用パケット処理部と称してもよい。
また、図7に示す実現方式の場合、多段で構成されたパケット転送処理部の最前段に、入力用予約テーブルの内容に対応するロジックで処理を行うパケット転送処理部を追加し、多段で構成されたパケット転送処理部の最後段に、出力用予約テーブルの内容に対応するロジックで処理を行うパケット転送処理部を備えることで、図7に示す機能を実現できる。
当該追加されるパケット転送処理部を検査用パケット処理部と称してもよい。また、当該検査用パケット処理部は、検査制御装置10から受信するテーブル情報に基づいて、当該テーブル情報を参照して処理を行うように構成されたプログラムモジュール(オブジェクト等)が生成(追加)されることで実現される。パケット転送装置100は、検査制御装置10から受信するテーブル情報に基づいて、当該テーブル情報を参照して処理を行うように構成されたプログラムモジュールを追加する機能を備えている。
上述したように、本実施の形態に係るパケット転送装置は、パケットの転送を行うネットワークを構成するパケット転送装置であって、前記パケットの転送処理を行うパケット転送処理部を備え、検査制御装置10から受信する情報に基づき、前記パケット転送処理部の前又は後に、検査用パケット処理部を追加し、当該検査用パケット処理部は、検査用パケットを受信した場合に、前記検査制御装置10に通知を行うとともに、検査用パケットに対し、当該検査用パケット処理部に設定された処理(次テーブルに遷移等)を行う。
また、前記パケット転送処理部は、入力されたパケットに対する処理規則のリストを備え、前記検査用パケット処理部は、当該リストの先頭部分又は最後部分に検査用パケットに対する処理規則を追加することにより追加される。また、前記処理規則のリストは、多段構成のテーブルとして構成され、前記検査用パケット処理部は、当該多段構成のテーブルの先頭部分又は最後部分に、検査用パケットに対する処理規則を含むテーブルを追加することにより追加される。
<運用制御装置、検査制御装置について>
本実施の形態に係る運用制御装置20はデータベースを有し、当該データベースには、中継ネットワークにおけるパケット転送装置の接続構成(物理トポロジ)、各パス(フロー)の始点、終点、経路等を含む構成情報(どのパケット転送装置のどのポートを通るかを示す情報)、帯域等の情報、各パケット転送装置におけるテーブル及びテーブル内のエントリの内容等が格納されている。検査制御装置10は、運用制御装置20にアクセスすることにより、当該データベースから所望の情報を取得できるものとする。また、運用制御装置20は、各パケット転送装置の通常テーブルにおけるエントリの追加・削除・管理を行う機能を備える。
次に検査制御装置10について説明する。図9は、検査制御装置10の機能構成図である。図9に示すように、検査制御装置10は、操作IF部11、検査用パケット作成処理部12、検査用パケット注入部13、検査用命令設定部14、検査用情報取得部15、障害判定部16を備える。
操作IF部11は、オペレータが検査制御装置11に操作情報を入力したり、検査制御装置11から出力される情報の表示を行う等の機能を備え、例えば、情報表示手段(ディスプレイ等)、情報入力手段(キーボード等)を含む。また、操作IF部11は、オペレータが遠隔端末からネットワークを介して操作を行う場合のインターフェースであってもよく、その場合、例えば操作IF部11は、Webサーバ機能を備え、Web画面を上記遠隔端末に提供し、オペレータはWeb画面上で命令を入力したり、障害判定結果等を見ることができる。
検査用パケット作成処理部12は、後述する方法で検査用パケットを作成する。検査用パケット注入部13は、操作IF部11からの指示に基づき、検査対象のパスが通る指示されたパケット転送装置の入力ポートから当該パケット転送装置に検査用パケットを注入する。検査用命令設定部14は、各パケット検査装置に対する予約テーブルや走査テーブルの追加、削除、変更等を行う。また、検査用命令設定部14は、一旦追加された予約テーブルや走査テーブル内のエントリの追加、削除、変更等を行うこともできる。
また、後述するように、予約テーブルを用いずに、通常テーブル内に、検査用エントリを設ける構成を採用する場合、検査用命令設定部14は、当該検査用エントリの追加、削除、変更等を行うこともできる。また、エントリ内に、検査用アクションを設ける構成を採用する場合、検査用命令設定部14は、当該検査用アクションの追加、削除、変更等を行うこともできる。
検査用情報取得部15は、各パケット転送装置から検査用エントリの命令に基づいて出力された検査用パケット等の情報を受信し、検査用パケット等を障害判定部16に渡す。また、パケット転送装置は、検査用エントリの設定によって、検査用パケットそのものを検査制御装置10に出力しないこととすることもでき、その場合、検査用情報取得部15は、例えば、パケット転送装置から、検査用パケットが予約テーブルを通過した回数を示すカウンタ値等を取得することができる。
障害判定部16は、検査用情報取得部15から渡される情報に基づいて、障害の有無を判定し、出力する機能を有する。例えば、障害判定部16は、検査用情報取得部15から渡される情報により把握されるパスの接続状態(構成情報)と、運用制御装置20から取得する検査対象パスの正しい経路情報等(構成情報)とを比較することにより、実際のパスが正しく接続されているかどうか等を判定し、結果を操作IF部11から出力する。
なお、検査用パケット作成処理部12は、検査制御装置10内に存在しなくてもよく、例えば、検査用パケット作成処理部12を別の装置を用いて実現してもよい。
本実施の形態に係る検査制御装置10は、検査制御装置10として使用するコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、検査制御装置10における各機能部は、コンピュータに内蔵されるCPUやメモリ、ハードディスクなどのハードウェア資源を用いて、各部で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
また、上記プログラム(アプリケーション)を、運用制御装置20で実行させることにより、運用制御装置20が検査制御装置10の機能を持つこととしてもよい。
(基本動作詳細)
以下、図10に示す手順に沿って、これまでに説明したパケット転送装置、及び検査制御装置10により行われる検査用パケットの作成から障害判定までの基本動作を説明する。説明において図11〜図16を適宜参照する。以下の各ステップ番号は図10に示すステップ番号に対応する。
ステップ101〜103では検査用パケットの作成を行う。本実施の形態において想定している、パケット内の任意の情報を参照してパケット転送を行う中継ネットワークにおいて、パケットを流すことでユーザ通信パスの正常性検査を行うためには、当該パケットはユーザ装置から出力され転送されるパケットとできるだけ同一である必要がある。そこで、以下のステップ101〜103のようにして検査用パケットを作成している。ただし、ステップ101〜103のようにして検査用パケットを作成することは一例に過ぎない。検査用パケットの作成はどのような方法を用いて行ってもよい。
<ステップ101:検査対象パスを指定>
まず、検査制御装置10において、オペレータが、操作用IFを用いて、どのパス(ユーザ回線やフロー)を検査するかを入力する(図11の(1))。入力される情報は、例えば、当該パスを識別できる名前、番号等である(これらをパスIDと呼ぶ)。パスIDは検査用パケット作成処理部12と障害判定部16に通知される。検査用パケット作成処理部12は、指定された検査対象パスに対応する検査用パケットを生成する。具体的には以下のとおりである。
本実施の形態では、検査用パケット作成処理部12は、パケット転送装置1における、検査対象パスIngressポート(UNI)に関するテーブルのエントリを参照することで、検査対象のパスでパケット転送を行うために使用されるパケットのヘッダ情報を取得する(図11の(2))。もしくは、検査制御装置10は、パスIDを指定することで、運用制御装置10から上記テーブルの情報を取得して、ヘッダ情報を抽出してもよい。
<ステップ102:ユーザデータをキャプチャ>
次に、検査制御装置10における検査用パケット作成処理部12が、検査対象パスのユーザデータをサンプリングキャプチャし(図12の(1)、(2))、検査用パケットのペイロード部分を作成する。なお、サンプリングキャプチャせずに、オペレータ(キャリア)がペイロード部分を作成してもよい。なお、キャプチャ方法として、例えばsFlow等の技術を用いることができる。
<ステップ103:検査用パケット作成>
検査制御装置10における検査用パケット作成処理部12は、ステップ101で確認したヘッダ情報とステップ102で作成したペイロードとから検査用パケットを作成する。なお、検査用パケット作成処理部12自体がパケット生成機能を持ってもよいし、検査制御装置10の外部にパケットジェネレータモジュールを備え、当該パケットジェネレータモジュールに対してパケット作成要求を行い、作成されたパケットを検査制御装置10が受け取ることとしてもよい。
検査用パケットには、検査用パケットを通常パケットと区別するための、何らかの識別情報が付加される。識別情報はユーザ通信で使っていない領域範囲において検査用パケット作成処理部12が任意に指定してもよいし、オペレータが手動で指定してもよい。ただし、ここで決められた識別情報のパケット内の記述領域の情報及び識別情報の値は、予約テーブル(及び後述する走査テーブル)における検査用パケットの判別条件に反映される。
識別情報を記述する領域としては、例えば、IPのType of Serviceフィールド、Ethernet(登録商標)の宛先MACアドレスフィールド、VLAN−VIDフィールド、Class of Serviceフィールド等がある。これらのフィールドの中の任意のビット値であってもよいし、複数の異なるビットやフィールドの組み合わせ条件でもよい。
<ステップ104:検査用に予約テーブルを追加>
続いて、検査制御装置10の検査用命令設定部14は、操作IF部11から受信するオペレータからの指示内容に基づいて、入力用予約テーブルと出力用予約テーブルを作成し、パケット転送装置1〜3のそれぞれに、入力用予約テーブルと出力用予約テーブルを設定する(図13)。各予約テーブルには、検査用パケットであることを判定するマッチ条件と、マッチした場合におけるインストラクション(アクションを実行する命令等)が記述されている。当該インストラクションには、検査用パケット及び/又はその他の情報を検査制御装置10に送信することが含まれている。
これにより、各パケット転送装置は、図8に示したように、最前段に入力用予約テーブルを備え、最後段に出力用予約テーブルを備えた構成になる。つまり、各パケット転送装置において、検査用パケット処理手段が追加される。
なお、ステップ104は、検査の度に行わなくてもよい。例えば、1回だけネットワーク上のパケット転送装置に予約テーブル(検査用パケット処理手段)を追加しておき、それを固定的に用いることとしてもよい。
<ステップ105:検査用パケットを注入>
検査制御装置10の検査用パケット注入部13は、検査用パケット作成処理部12により作成された検査用パケットをパケット転送装置1に注入する(図14)。なお、本例では、中継ネットワークにおける入力から出力までを検査することを想定しているために、Ingressのパケット転送装置1に検査用パケットを注入しているが、検査用パケットは、検査の目的に応じて、任意のパケット転送装置から注入してよい。
検査用パケットの注入にはPacket−Outメッセージを使用することができる。OpenFlowのPacket−outメッセージ規格では、実際に入力したポートをあたかも別のポートとみなして処理させることができる(入力ポート情報付与)。従って、図14に示すように、検査用パケットを入力させる物理的なポートが、検査対象パスの入力ポート(UNIポート)とは別ポートであったとしても、UNIポートの情報を付与することで、ユーザ通信になりきった検査用パケット注入を行うことができる。もちろん、このような技術を使用せずに、UNIポートから直接に検査用パケットを入力してもよい。
本例では、宛先ユーザ装置40への出力を行う最後のパケット転送装置3だけは、例外的に、出力用予約テーブル内での検査パケットの処理については、UNIへの転送は行わないこととしている。こうすることで、検査用パケットを宛先ユーザ装置側に出力させることなく網内テストを実現できる。
<ステップ106:検査用情報取得>
パケット転送装置1において、通常用途のテーブル(つまり検査対象)が正常に機能していれば、検査用パケットはパケット転送装置2に転送され、検査制御装置10側へ検査用パケットが出力されるはずである。パケット転送装置2からパケット転送装置3への転送についても同様である。検査制御装置10は、例えば、OpenFlowのPacket−Inメッセージを利用して、検査用パケットを受け取ることができる。
もし、いずれかのパケット転送装置において何らかの異常があった場合は、検査用パケットは下流に届かず、検査制御装置10に向けて検査用パケットが出力されないことになる。図14に示す例では、各パケット転送装置における入力側、出力側ともに検査用パケットが出力されている。各パケット転送装置における入力側から出力される検査用パケットには、パケット転送装置を識別する情報と入力されたポートを識別する情報(どのパケット転送装置のどのポートから入力されたかを示す情報)が付加され、各パケット転送装置における出力側から出力される検査用パケットには、パケット転送装置を識別する情報と出力されるポートを識別する情報(どのパケット転送装置のどのポートから出力されるかを示す情報)が付加されてもよい。また、入力側と出力側のそれぞれにおいて、テーブルを識別する情報(入力用予約テーブルであることを示すID、出力用予約テーブルであることを示すID)が付加されてもよい。
検査制御装置10の検査用情報取得部15は、上記のようにして出力される検査用パケット及び付加情報等を取得し、取得した情報を障害判定部16に渡す。
また、本実施の形態のパケット転送装置では、統計情報カウンタがエントリ毎に用意されており、検査用のエントリにマッチして、検査用パケットが予約テーブルを通過すれば、当該カウンタがカウントアップされる。検査制御装置10の検査用情報取得部15は、検査用パケットを取得することに加えて、もしくは検査用パケットを取得することに代えて、図15に示すように当該カウンタの値を各パケット転送装置から取得することとしてもよい。
なお、ステップ105においてどれだけの量の検査用パケットを注入するかは、例えば、操作部IF部11を介してオペレータが検査用パケット注入部13に対して指定を行うことで任意に設定できる。また、ステップ106においてどのようなデータを取得するか(パケット転送装置にどのようなデータを出力させるか)は、例えば、操作部IF部11を介してオペレータが検査用命令設定部13に対して指定を行うことで、検査用命令設定部13から各パケット転送装置に対して指定することができる。
<ステップ107:障害判定、結果出力>
本実施の形態では、検査制御装置10の障害判定部16が、検査用情報取得部15から渡される検査用パケット等の情報に基づいて、検査対象パスが正常か否かを判定する。例えば、事前に与えられた期待する経路に沿わないパケット転送装置/ポートから検査用パケットが上がってきたり、検査用パケット自体が一定時間内で上がってこなかった個所をエラーと判断する、などの判定を行う。
また、例えば、障害判定部16は、運用制御装置20から検査対象パスの正しい経路情報(どのパケット転送装置のどのポートを経由するかの情報)を取得し、メモリ等に保持しておく。そして、障害判定部16は、検査用情報取得部15から渡される検査用パケット及び付加情報から、検査用パケットが通過する経路情報(どのパケット転送装置のどのポートを経由するかの情報)を作成し、当該経路情報と上記メモリに保持しておいた正しい経路情報とを比較し、これらが一致するか否かでパスが正常であるか否かを判定する。一致すれば正常であることを示す情報を操作IF部11から出力し、一致しなければ、異常であることを示す情報と、異常と推定されるパケット転送装置(例えば、検査用パケット出力が最初に停止しているパケット転送装置)や、異常と推定される伝送区間の情報とを操作IF部11から出力する。
ここで、前述したカウンタ値を用いることで、例えば、あるポイントでのカウンタ値を所定の閾値と比較することで、カウンタ値が所定の閾値以下であれば、検査用パケットを受信していたとしても、当該ポイントは異常であるといった判断を行うことができる。
なお、障害判定部16が判断を行わない構成としてもよい。例えば、障害判定部16を備えずに、検査用情報取得部15が、各パケット転送装置から受信する検査用情報(検査用パケット、付加情報、カウンタ値等)に基づいて、パスの接続状態を示す画像情報を作成し、それを操作IF部11から出力する構成としてもよい。この場合、例えば、正しいパス構成を知っているオペレータが当該画像を見ることで、パスの異常があるかどうかを判断できる。
図14に示す例の場合、全てのパケット転送装置の入力側、及び出力側から正常に検査用パケットが出力されており、障害判定部16は、パスは正常であることを示す情報を出力する。
図16に示す例の場合、パケット転送装置2の出力側、及びそれ以降のポイントから検査用パケットが出力されていない。この場合、障害判定部16は、パケット転送装置2内に異常があると判断し、その旨を出力する。
本実施の形態に係る技術は、インサービス、及びアウトオブサービス双方における検査に使用することが可能である。
アウトオブサービス検査は、ユーザ装置間のトラヒック導通がされていない状態の検査であり、パスの開通前に行われる。このとき、パケット転送装置には転送設定が入っている状態であるが、ユーザ装置に繋がるUNIがoff(down)になっている状態であり、これからそれを本当にon(up)にしてよいかどうかを検査するものである。インサービス検査は、パスの開通後、ユーザ装置間でトラヒック導通がされている最中に行う検査であり、ユーザトラヒックと区別する形で検査をする。
(被疑パケット転送装置内の絞り込みについて)
本実施の形態では、図16に示すような場合に、被疑となったパケット転送装置内部において、以下で説明するように、走査テーブルを任意の場所に差し込むことで異常のあるテーブルを切り分ける(範囲を絞り込む)ことが可能である。
図17は、パケット転送装置100に走査テーブルを差し込んだ構成を示す図である。このような走査テーブルの生成及びパケット転送装置への設定(差し込み)は、オペレータからの指示(どの装置におけるどのテーブルの間に差し込むか等の指示)に基づいて、検査制御装置10の検査用命令設定部15が実行する。すなわち、パケット転送装置100は、検査制御装置10の検査用命令設定部15から走査テーブルの情報を受信することで、パケット転送装置100内の検査を行うための走査用パケット処理手段を追加する。図17に例として示されているように、走査用テーブルの中には、入力用予約テーブルと同様に、最優先のエントリとして、入力された検査用パケット中に検査用フィールドを発見(マッチ)すると、検査制御装置10にデータをコピー転送し、次のテーブルへ遷移させるインストラクションが記述されている。検査制御装置10にデータをコピー転送する際には、テーブルの識別情報が付加されてよい。
これにより、図示するように検査範囲を設定でき、例えば図17の状態で、検査制御装置10における障害判定部16が、入力予約テーブルのポイントと、走査テーブルのポイントの両方から正常に検査用パケットのデータを受信し、出力用予約テーブルのポイントからはデータを受信しない場合には、障害判定部16は、走査テーブルと出力用予約テーブルとの間に異常があると判定できる。
パケット転送装置100は、内部のテーブル管理の機能として、走査用テーブルと通常用途テーブルとの間で順番調整を行う機能を備えてもよい。例えば検査制御装置10が、当該検査テーブルを通常テーブルmと通常テーブルm+1(m:任意)の間に差し込もうとした場合は、パケット転送装置100は、テーブルmの次が自動的にこの走査テーブルになるように調整する。例えば、OpenFlowを使って実現する一例としては、パケット転送装置100の内部ではテーブル10、20、30…のような番号付けで管理しておきながら、検査制御装置10には、これらのテーブル番号をテーブル1、2、3、…と見せておき、m=2の直後に走査用テーブルを差し込む場合に、内部的に走査用テーブルをテーブル25とする、といった実装が可能である。
図17のように1つの走査テーブルを差し込むことで切り分けを行ってもよいし、図18に示すように、2つの走査テーブルを差し込むことで、入力〜出力間を決めた絞り込み検査を実現することも可能である。検査制御装置10は、検査用情報取得部15がパケット転送装置から受信する検査用パケット等の情報に基づいて、走査テーブルを挟む位置を適宜変化させながら、どの個所(テーブル)に問題があるかを判定することができる。
なお、上記の図17、図18に示したように、パケット転送装置100からの検査用パケット等の取得状況に応じて、走査テーブルを差し込む位置を変えて異常箇所を探索する手法では、各パケット転送装置100において、エントリ検索を行うテーブルの飛び越えを禁止する運用を行うことが望ましい。
テーブルの飛び越えを許可している場合、図19に示すように、走査テーブルをジャンプし、走査テーブルの箇所から検査用パケットが出力されず、検査制御装置10が、図19に示す検査範囲に異常があると誤って判断する場合が発生する可能性があるからである。
ただし、例えば、検査制御装置10が、運用制御装置20のデータベースから、該当パケット転送装置におけるテーブルとエントリの情報を取得し、図19に示すようにテーブル0からテーブルm+1へのジャンプが規定されていることを把握した後に、走査テーブルを差し込む位置を判断する(例:テーブルm+1の後に置く)ようにすれば、テーブルの飛び越えを禁止する運用を行う必要はなく、いかなる場合でも走査テーブルにより切り分けを適切に行うことが可能になる。
また、本実施の形態では、予約テーブルとして入力用予約テーブルと出力用予約テーブルを各パケット転送装置に設定することとしているが、どちらか一方だけでもよい。どちらか一方だけでも、異常のある可能性があるパケット転送装置を特定可能である。
また、本実施の形態では、通常テーブルとは別に、予約テーブルを備える構成としているが、通常テーブルの中に、これまでに説明した予約テーブルに記述したエントリを記載することで、検査のための構成を実現することも可能である。
本実施の形態における多段構成のテーブルのことを、入力されたパケットに対する処理規則のリストと称してもよい。また、エントリの集合のことを、入力されたパケットに対する処理規則のリストと称してもよい。
(他の構成例等)
これまでに図5〜図8等で説明したように、本実施の形態におけるパケット転送装置100の基本的な構成は図20に示すとおりであり、1つ又は複数のパケット転送処理部の前後(どちらか1つでもよい、以下同様)に検査用パケット処理部を備えた構成である。これまでに説明した例では、各パケット転送処理部及び検査用パケット処理部はテーブルにより構成されているが、各パケット転送処理部はテーブルに限られず、何らかの処理規則に基づいて構成されればよい。すなわち、図20に示す1つ又は複数のパケット転送処理部を処理規則のリストから構成することができる(図21)。
処理規則、すなわちパケット転送処理部がテーブルから構成される例(これを基本例と呼ぶ)はこれまでに説明したとおりであるが、パケット転送処理部は、エントリ内のアクションから構成されてもよいし(変形例1)、テーブル内のエントリから構成されてもよい(変形例2)。また、パケット転送処理部が、パケット処理装置(スイッチ等)であってもよい(変形例3)。以下、これら変形例1〜3について説明する。
<変形例1>
変形例1のパケット転送装置100は、図22に示すように、テーブル内の1つのエントリに着目して、各パケット転送処理部をエントリ内のアクションとし、1つ又は複数のアクション(処理規則のリスト)の前後に検査用パケット処理部としての検査用アクションを備える構成とする。つまり、処理規則のリストが、マッチ条件と1つ又は複数のアクションを含むエントリにおける当該1つ又は複数のアクションとして構成され、検査用パケット処理部が、当該1つ又は複数のアクションの先頭部分又は最後部分に、検査用パケットに対するアクションを追加することにより追加されるものである。
図22に示すパケット転送装置100は、1つのエントリに対応するものであるが、当該パケット転送装置100は、当該エントリ以外のエントリ、及びこれらのエントリからなるテーブルに対応するパケット処理部を含んでよい。以下、図22に示す構成をより具体的に説明する。
本実施の形態で使用しているOpenFlowでは、書かれているアクション順に実行するApply−Actionsという命令がある。Entry Xにおける例を以下に示す。
(例)Entry X
priority=100,match=inport:1,eth_dst:A,vlan_vid:M,
apply_actions=pop_vlan,eth_src:B,output:2
上記例では、あるパケットがポート1から入り(inport:1)、Etherヘッダの宛先アドレスがA(eth_dst:A)、VLANタグのIDがM(vlan_vid:M)である場合(match部)、VLANタグを除去(pop_vlan)、Etherヘッダの送信元アドレスをBに変更(eth_src:B)、ポート2へ出力(output:2)というアクションを順に実行する(apply_actions部)。
このapply_actions部が正常に動作しているかを検査するために、下記のようにアクションのリストの前後に検査制御装置10へパケットを送信する検査用アクション(output:Controller)を挿入する。
(例)Entry X
priority=100,match=inport:1,eth_dst:A,vlan_vid:M,
apply_actions=output:Controller,pop_vlan,eth_src:B,output:2,output:Controller
上記の例では、検査用アクションの前側により「元のapply_actionsが実行される前のパケットの姿」がわかり、後側により「元のapply_actionが実行された後のパケットの姿」がわかる。前側が実行され後側が実行されない場合、元のapply_actionsの中のいずれかのactionに不具合が生じたと判断することが可能である。
また、この検査用アクションが実行されたということはそもそも「あるパケットがEntry Xのmatch部にヒットしEntry Xに到着した」と判断することが可能である。そのため、apply_actionsが正常に機能するかという検査だけでなく、「このEntryにパケットが到着するか、または正常に動作するかを検査したい」という目的にも有用である。
前述したように、検査用パケット処理部は、どちらか片方のみに備えることでよいが、上記のように、検査用パケット処理部として検査用アクションを設ける場合でも、どちらか片方のみで十分に機能する。
検査用アクションは、上記の例のように直接にEntry Xに書き込むことでもよいし、priorityを100よりも上の値(高い優先度)にしEntry X'として新たなEntryとして作成することでもよい。なお、新たなEntryとして作成することは、下記の変形例2に該当する。
<変形例2>
変形例2のパケット転送装置100は、図23に示すように、1つのテーブルに着目して、各パケット転送処理部をテーブル内のエントリとし、1つ又は複数のエントリ(処理規則のリスト)の前後に検査用パケット処理部としての検査用エントリを備える構成とする。つまり、処理規則のリストが、それぞれがマッチ条件とアクションを含む1つ又は複数のエントリとして構成され、検査用パケット処理部が、当該1つ又は複数のエントリの先頭部分又は最後部分に、検査用パケットに対するアクションを含むエントリを追加することにより追加されるものである。
図23に示すパケット転送装置100は、1つのテーブルに対応するものであるが、当該パケット転送装置100は、当該テーブル以外のテーブルに対応するパケット処理部を含んでよい。検査用エントリを備えるテーブルの例を図24に示す。
図24に示す例では、検査用エントリ(前)にヒットすれば、別のテーブルからこのテーブルに検査用パケットが到着したことがわかり、検査用エントリ(後)にヒットすれば、別のテーブルからこのテーブルに、検査用fieldが書き換えられ、かつ、Entry 1〜Xのどのエントリにもヒットしていない(処理されない)パケットが到着したことがわかる。すなわち、検査用エントリ(後)にヒットすれば、このテーブルの前で処理しているテーブルで処理が失敗していることがわかる。
<変形例3>
変形例3のパケット転送装置100(複数装置からなるシステム)は、図25に示すように、各パケット転送処理部をパケット処理装置とし、1つ又は複数のパケット処理装置の前後に検査用パケット処理部としての検査用パケット処理装置を備える構成とする。
各パケット処理装置は、スイッチ、ルータ等の既存ネットワーク装置でよく、OpenFlowに対応していなくてもよい。検査用パケット処理装置についても、これまでに説明したように、所定のマッチ条件に基づいて、パケットを検査制御装置10に送信できる機能を備えるパケット処理装置であれば、OpenFlowに対応していなくてもよい。
本変形例は、スイッチ等のパケット処理装置を検査用パケット処理装置で挟むものであり、パケット処理装置には手を加えず、ブラックボックスとして検査することができる。
上記の各変形例、及び前述した基本例(予約テーブルを用いるもの)をまとめたものを図26に示す。なお、各例において、基本例での走査テーブルと同様に、処理規則のリストの中に検査用の処理規則を挿入することで、絞り込みの検査を行うことも可能である。
また、各例において、テーブルの場合と同様に、検査用パケット処理部がパケット転送処理部(処理規則のリスト)の前に追加される場合において、当該検査用パケット処理部に設定される処理は、例えば、検査用パケットをパケット転送処理部に転送することであり、検査用パケット処理部がパケット転送処理部の後に追加される場合において、当該検査用パケット処理部に設定される処理は、例えば、検査用パケットを所定のポートから出力することとすることができる。パケット転送装置100が前記所定のポートによりパケットの宛先となるユーザ装置に接続される場合には、検査用パケット処理部に設定される処理は、検査用パケットを前記所定のポートから出力することを含まないこととしてもよい。
(具体例)
図27に、パケット転送装置1、2に相当するテーブルの構成の具体例を示し、図28に、パケット転送装置3に相当するテーブルの具体例を示す。基本的には、これまでに説明した入力用予約テーブル及び出力用予約テーブルと同様の入力用予約テーブル及び出力用予約テーブルが示されているが、図27、図28ではより具体的に記載されている。
図27、図28では、実施のOpenFlowの仕様に合わせて、Priority値が高いほど、高優先であるとしている。また、図27、図28には、メタデータ(metadata)の記載があるが、これは、前述した「出力ポート指示情報」のように、後段のテーブルにその値の情報を引き継ぐために参照される値であり、装置内部のみで使われる値である。また、図中の「OAM field」は、図7等に示した「検査用fieldが存在している」に該当する。図中の「通常データは空撃ち」は、通常データはそのまま後段の通常テーブルへ遷移させることを意味する。
(他の適用例)
本実施の形態では、パケット転送装置としてOpenFlowスイッチを使用することを想定しているが、本発明は通信方式に拠らずに適用可能である。
例えば、L2スイッチやL3(IP)ルータ、あるいはファイヤーウォール装置などにおいて、入力パケットに任意の条件マッチ/転送先の指定ができる機能(例:ポリシーベースルーティング技術)を使用してEnd−Endのパスを作成している場合は、これまでに説明したように、検査用パケットのマッチ条件及び検査制御装置10への転送命令を設定することで、これまでに説明したパス検査と同様のパス検査を行うことが可能である。
(実施の形態のまとめ、効果等)
以上説明したように、本実施の形態におけるパケット転送装置では、通常用テーブル等のパケット転送処理部に加えて、検査用パケットの識別と検査制御装置10へのパケット情報送信を行う機能を持つ入力用予約テーブル及び/又は出力用予約テーブル等の検査用パケット処理部を設けることとした。更に、パケット転送装置内で、任意のテーブル等の範囲を絞り込んでの調査を行うことを可能とする走査用テーブル等の走査用パケット処理部を設けることを可能とした。
また、検査制御装置10には、検査用パケット作成機能、検査用パケットをパケット転送装置に注入する機能、予約テーブルや走査テーブルを操作する機能、パケット転送装置から受信する検査用パケットの情報等に基づいて、障害の有無を判定し、結果を出力する機能を備えることとした。
このような本実施の形態に係る技術によれば、転送途中でパケットのフィールドを任意に書き換えてしまうようなOpenFlowネットワークであっても、ユーザデータと全く同じ通信路および処理テーブルを通る形で、D−Planeの検査が汎用的に可能になるという効果を奏する。
ユーザ端末間で行う従来のOAM技術(IP−Ping等)と本実施の形態に係る技術とを比較した場合、最終段でEgressのUNI(ユーザ方向)に試験(検査用)パケットを出さずに済み、余計なトラヒックを出さず、網内部に留められるという効果もある。
また、予約テーブルを用いる実施の形態では、通常のテーブルを書き換えたり、通常のテーブルに対する操作を行うことなく、検査を実現可能である。従って、検査の際に、実際のユーザデータの流れを制御している通信のテーブルエントリ等を修正/破損してしまう危険性がない、という効果も奏する。
また、本実施の形態によれば、走査テーブル等の機能を追加で用いることで、被疑のあるパケット転送装置の中において、どのテーブルに異常があるかまでをも詳細に切り分けすることが可能になる。
更に、本実施の形態では、検査用パケットとして、ユーザが流すパケットとほぼ同一(検査ビットだけを除く)のデータを流入させることができる。すなわち、従来の技術のようにOAM機能専用のパケットフォーマットでないため、ユーザの実態の通信になりきった、より忠実な試験を行うことが可能となり、正確な切り分けを行うことができるという効果も奏する。
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
10 検査制御装置
11 操作IF部
12 検査用パケット作成処理部
13 検査用パケット注入部
14 検査用命令設定部
15 検査用情報取得部
16 障害判定部
20 運用制御装置
1〜3、100 パケット転送装置
30 送信元ユーザ装置
40 宛先ユーザ装置

Claims (14)

  1. パケットの転送を行うネットワークを構成するパケット転送装置であって、
    前記パケットの転送処理を行うパケット転送処理手段を備え、
    検査制御装置から受信する情報に基づき、前記パケット転送処理手段の前又は後に、検査用パケット処理手段を追加し、
    前記検査用パケット処理手段は、検査用パケットに対し、当該検査用パケット処理手段に設定された処理を行い、当該処理に応じて前記検査制御装置に通知を行う、
    ことを特徴とするパケット転送装置。
  2. 前記パケット転送処理手段は、入力されたパケットに対する処理規則のリストを備え、前記検査用パケット処理手段は、当該リストの先頭部分又は最後部分に検査用パケットに対する処理規則を追加することにより追加される
    ことを特徴とする請求項1に記載のパケット転送装置。
  3. 前記処理規則のリストは、多段構成のテーブルとして構成され、前記検査用パケット処理手段は、当該多段構成のテーブルの先頭部分又は最後部分に、検査用パケットに対する処理規則を含むテーブルを追加することにより追加される
    ことを特徴とする請求項2に記載のパケット転送装置。
  4. 前記処理規則のリストは、それぞれがマッチ条件とアクションを含む1つ又は複数のエントリとして構成され、前記検査用パケット処理手段は、当該1つ又は複数のエントリの先頭部分又は最後部分に、検査用パケットに対するアクションを含むエントリを追加することにより追加される
    ことを特徴とする請求項2に記載のパケット転送装置。
  5. 前記処理規則のリストは、マッチ条件と1つ又は複数のアクションを含むエントリにおける当該1つ又は複数のアクションとして構成され、前記検査用パケット処理手段は、当該1つ又は複数のアクションの先頭部分又は最後部分に、検査用パケットに対するアクションを追加することにより追加される
    ことを特徴とする請求項2に記載のパケット転送装置。
  6. 前記検査制御装置から受信する情報に基づき、前記処理規則のリストの中に検査用パケットに対する処理規則を追加することにより、前記パケット転送装置内の検査を行うための走査用パケット処理手段が追加される
    ことを特徴とする請求項2ないし5のうちいずれか1項に記載のパケット転送装置。
  7. 前記検査用パケット処理手段が前記パケット転送処理手段の前に追加される場合において、当該検査用パケット処理手段に設定される処理は、検査用パケットを前記パケット転送処理手段に転送することであり、前記検査用パケット処理手段が前記パケット転送処理手段の後に追加される場合において、当該検査用パケット処理手段に設定される処理は、検査用パケットを所定のポートから出力することである
    ことを特徴とする請求項1ないし6のうちいずれか1項に記載のパケット転送装置。
  8. 前記パケット転送装置が前記所定のポートによりパケットの宛先となるユーザ装置に接続される場合には、前記検査用パケット処理手段に設定される処理は、検査用パケットを前記所定のポートから出力することを含まない
    ことを特徴とする請求項7に記載のパケット転送装置。
  9. パケットの転送を行うネットワークを構成するパケット転送装置における検査方法であって、
    前記パケット転送装置は、前記パケットの転送処理を行うパケット転送処理手段を備え、
    検査制御装置から受信する情報に基づき、前記パケット転送処理手段の前又は後に、検査用パケット処理手段を追加するステップと、
    前記検査用パケット処理手段が、検査用パケットに対し、当該検査用パケット処理手段に設定された処理を行い、当該処理に応じて前記検査制御装置に通知を行うステップと
    を備えることを特徴とする検査方法。
  10. コンピュータを、請求項1ないし8のうちいずれか1項に記載のパケット転送装置における各手段として機能させるためのプログラム。
  11. パケットを転送するネットワークを構成するパケット転送装置に対する検査制御を行う検査制御装置であって、
    前記パケット転送装置は、入力されたパケットに対する処理規則のリストに基づきパケット転送処理を行うパケット転送処理手段を備え、
    前記パケット転送装置に対し、検査用パケットの処理規則を含む情報を送信することにより、前記パケット転送装置に検査用パケット処理手段を追加させる手段と、
    前記パケット転送装置に検査用パケットを注入する手段と、
    前記検査用パケットを受信した前記検査用パケット処理手段により出力される情報を取得する手段と、
    前記取得した情報に基づいて、前記ネットワークの正常性を判定する判定手段と
    を備えることを特徴とする検査制御装置。
  12. 前記判定手段は、前記ネットワークの構成情報を格納する運用制御装置から当該構成情報を取得し、当該構成情報と、前記取得した情報に基づく構成情報とを比較することにより、前記ネットワークの正常性を判定する
    ことを特徴とする請求項11に記載の検査制御装置。
  13. パケットを転送するネットワークを構成するパケット転送装置に対する検査制御を行う検査制御装置が実行する検査制御方法であって、
    前記パケット転送装置は、入力されたパケットに対する処理規則のリストに基づきパケット転送処理を行うパケット転送処理手段を備え、
    前記パケット転送装置に対し、検査用パケットの処理規則を含む情報を送信することにより、前記パケット転送装置に検査用パケット処理手段を追加させるステップと、
    前記パケット転送装置に検査用パケットを注入するステップと、
    前記検査用パケットを受信した前記検査用パケット処理手段により出力される情報を取得するステップと、
    前記取得した情報に基づいて、前記ネットワークの正常性を判定する判定ステップと
    を備えることを特徴とする検査制御方法。
  14. コンピュータを、請求項11又は12に記載の検査制御装置における各手段として機能させるためのプログラム。
JP2013117327A 2013-06-03 2013-06-03 パケット転送装置、検査方法、及びプログラム Active JP6101573B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013117327A JP6101573B2 (ja) 2013-06-03 2013-06-03 パケット転送装置、検査方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013117327A JP6101573B2 (ja) 2013-06-03 2013-06-03 パケット転送装置、検査方法、及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017009610A Division JP6352459B2 (ja) 2017-01-23 2017-01-23 検査制御装置、検査制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2014236388A true JP2014236388A (ja) 2014-12-15
JP6101573B2 JP6101573B2 (ja) 2017-03-22

Family

ID=52138792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013117327A Active JP6101573B2 (ja) 2013-06-03 2013-06-03 パケット転送装置、検査方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6101573B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016152470A (ja) * 2015-02-17 2016-08-22 日本電信電話株式会社 ネットワーク検証システム、ネットワーク検証方法、フロー検査装置、及びプログラム
JP2017038239A (ja) * 2015-08-10 2017-02-16 日本電信電話株式会社 フロー検査装置及びフロー検査方法
JP2018506211A (ja) * 2014-12-31 2018-03-01 シマンテック コーポレーションSymantec Corporation 仮想ネットワークをモニタリングするシステム及び方法
JP2019033306A (ja) * 2017-08-04 2019-02-28 池上通信機株式会社 経路検査装置、経路検査方法および経路検査プログラム
WO2021161463A1 (ja) * 2020-02-13 2021-08-19 日本電信電話株式会社 通信システム、通信方法及び通信プログラム
JP2021526339A (ja) * 2018-06-06 2021-09-30 華為技術有限公司Huawei Technologies Co.,Ltd. データパケット検出方法、デバイス、及びシステム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130010600A1 (en) * 2011-07-08 2013-01-10 Telefonaktiebolaget L M Ericsson (Publ) Controller Driven OAM for OpenFlow

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130010600A1 (en) * 2011-07-08 2013-01-10 Telefonaktiebolaget L M Ericsson (Publ) Controller Driven OAM for OpenFlow

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018506211A (ja) * 2014-12-31 2018-03-01 シマンテック コーポレーションSymantec Corporation 仮想ネットワークをモニタリングするシステム及び方法
JP2016152470A (ja) * 2015-02-17 2016-08-22 日本電信電話株式会社 ネットワーク検証システム、ネットワーク検証方法、フロー検査装置、及びプログラム
JP2017038239A (ja) * 2015-08-10 2017-02-16 日本電信電話株式会社 フロー検査装置及びフロー検査方法
JP2019033306A (ja) * 2017-08-04 2019-02-28 池上通信機株式会社 経路検査装置、経路検査方法および経路検査プログラム
JP7002241B2 (ja) 2017-08-04 2022-01-20 池上通信機株式会社 経路検査装置、経路検査方法および経路検査プログラム
JP2021526339A (ja) * 2018-06-06 2021-09-30 華為技術有限公司Huawei Technologies Co.,Ltd. データパケット検出方法、デバイス、及びシステム
JP7035227B2 (ja) 2018-06-06 2022-03-14 華為技術有限公司 データパケット検出方法、デバイス、及びシステム
WO2021161463A1 (ja) * 2020-02-13 2021-08-19 日本電信電話株式会社 通信システム、通信方法及び通信プログラム

Also Published As

Publication number Publication date
JP6101573B2 (ja) 2017-03-22

Similar Documents

Publication Publication Date Title
JP6101573B2 (ja) パケット転送装置、検査方法、及びプログラム
US10764148B2 (en) Methods, systems, and computer readable media for network traffic statistics collection
KR101911579B1 (ko) Openflow에 대한 제어기 구동 oam
CN104796298B (zh) 一种sdn网络故障分析的方法及装置
US20200220774A1 (en) Method and device for detecting network failure
US9467330B2 (en) Diagnosing connectivity in a network
US9225601B2 (en) Network-wide verification of invariants
US8964569B2 (en) Generic monitoring packet handling mechanism for OpenFlow 1.1
EP4099645A1 (en) Triggered in-band operations, administration, and maintenance in a network environment
WO2017206841A1 (zh) 一种网络设备的服务质量检测方法和装置
US8274911B2 (en) Network monitoring system and path extracting method
EP2552060A1 (en) Information system, control apparatus, method of controlling virtual network, and program
US8817792B2 (en) Data forwarding method, data processing method, system and relevant devices
US8879558B1 (en) Dynamic remote packet capture
JP2019129408A (ja) 障害検知方法、ノード装置、通信システム
KR20170049509A (ko) 선택된 네트워크 트래픽을 수집하고 분석하는 기법
JP2011146920A (ja) トポロジーツリー作成装置、プログラム、及び方法
CN106302021B (zh) 一种网络流转发异常检测方法
US20160299958A1 (en) Method and apparatus for visual logging in networking systems
US9781044B2 (en) Automated discovery and forwarding of relevant network traffic with respect to newly connected network tools for network tool optimizers
US10097422B2 (en) Information processing apparatus, configuration method, communication system, and program
CN108259261A (zh) 路径探测方法和装置
CN108259335B (zh) 路径探测方法和装置
JP2009117920A (ja) 通信装置、通信方法および通信プログラム
US20150249568A1 (en) Control apparatus, control method, communication system, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170123

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170227

R150 Certificate of patent or registration of utility model

Ref document number: 6101573

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250