特許第6135429号(P6135429)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許6135429OpenFlowスイッチおよびプログラム
<>
  • 特許6135429-OpenFlowスイッチおよびプログラム 図000003
  • 特許6135429-OpenFlowスイッチおよびプログラム 図000004
  • 特許6135429-OpenFlowスイッチおよびプログラム 図000005
  • 特許6135429-OpenFlowスイッチおよびプログラム 図000006
  • 特許6135429-OpenFlowスイッチおよびプログラム 図000007
  • 特許6135429-OpenFlowスイッチおよびプログラム 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6135429
(24)【登録日】2017年5月12日
(45)【発行日】2017年5月31日
(54)【発明の名称】OpenFlowスイッチおよびプログラム
(51)【国際特許分類】
   H04L 12/951 20130101AFI20170522BHJP
   H04L 12/717 20130101ALI20170522BHJP
【FI】
   H04L12/951
   H04L12/717
【請求項の数】5
【全頁数】11
(21)【出願番号】特願2013-202569(P2013-202569)
(22)【出願日】2013年9月27日
(65)【公開番号】特開2015-70434(P2015-70434A)
(43)【公開日】2015年4月13日
【審査請求日】2016年2月22日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100114258
【弁理士】
【氏名又は名称】福地 武雄
(74)【代理人】
【識別番号】100125391
【弁理士】
【氏名又は名称】白川 洋一
(72)【発明者】
【氏名】松本 延孝
(72)【発明者】
【氏名】林 通秋
【審査官】 宮島 郁美
(56)【参考文献】
【文献】 特開2007−124117(JP,A)
【文献】 米国特許出願公開第2012/0300615(US,A1)
【文献】 米国特許出願公開第2004/0213152(US,A1)
【文献】 特開2004−297775(JP,A)
【文献】 特開2004−320392(JP,A)
【文献】 特開2011−151781(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00−12/26,12/50−12/955
(57)【特許請求の範囲】
【請求項1】
フラグメントされたIP(Internet Protocol)パケットを処理可能なOpenFlowスイッチであって、
IPパケットの一致条件とアクションからなるエントリが記載されたフローテーブルと、
フラグメントされたIPパケットとフラグメント元のIPパケットに適合する前記フローテーブルのエントリとの対応関係を管理するフラグメントパケットIDテーブルと、
IPパケットがフラグメントされたか否かを示す情報であるIPパケットヘッダにおけるflagフィールド中のMF(More Fragment)ビットの値およびDF(Don`t Fragment)ビットの値を取得し、IPパケットのヘッダ情報に基づいてパケットIDを生成し、前記パケットID、前記MFビットの値および前記DFビットの値に基づいて、IPパケットに適用するアクションを記載したフローエントリを取得し、前記アクションをIPパケットに適用するパケット処理機能と、
フラグメントされたIPパケットのうち、先頭のIPパケットを受信した時に、当該エントリを前記フラグメントパケットIDテーブルに追加する一方、フラグメントされたIPパケットのうち、最後尾のパケットを受信した時に、当該エントリを前記フラグメントパケットIDテーブルから削除するフラグメントパケットIDテーブル更新機能と、を備え
前記パケット処理機能は、前記DFビットの値が1である場合は、前記フローテーブルの一致エントリを取得し、一致エントリのアクションをIPパケットに適用し、前記DFビットの値が0である場合は、前記フラグメントパケットIDテーブルを参照して、前記フラグメントパケットIDテーブルにエントリがない場合は、前記フローテーブルの一致エントリを取得し、一致エントリのアクションをIPパケットに適用し、前記フラグメントパケットIDテーブルにエントリがある場合は、前記パケットIDを有するIPパケットに適用するアクションを記載したフローエントリを取得し、前記アクションをIPパケットに適用することを特徴とするOpenFlowスイッチ。
【請求項2】
前記パケット処理機能では、IPパケットの受信インタフェース、送信元イーサネット(登録商標)アドレス、宛先イーサネット(登録商標)アドレス、イーサフレーム種別、VLAN ID、VLAN優先度コード、送信元IPアドレス、宛先IPアドレス、プロトコル、DSCP値、及びIPパケット識別子に基づいて、パケットIDの生成を行なうことを特徴とする請求項1記載のOpenFlowスイッチ。
【請求項3】
前記フラグメントパケットIDテーブルは、フラグメント元のIPパケット毎に一意な値を格納するパケットIDフィールドと、フラグメント元のIPパケットに適合するフローテーブルのエントリに対するポインタを格納する参照先エントリフィールドと、を有することを特徴とする請求項1または請求項に記載のOpenFlowスイッチ。
【請求項4】
前記フラグメントパケットIDテーブル更新機能では、IPパケットのMFビットの値および前記フラグメントパケットIDテーブルの前記IPパケットに対するエントリの有無に基づいて、前記フラグメントパケットIDテーブルのエントリを更新することを特徴とする請求項1から請求項のいずれかに記載のOpenFlowスイッチ。
【請求項5】
フラグメントされたIP(Internet Protocol)パケットを処理可能なOpenFlowスイッチの動作を制御するプログラムであって、
IPパケットの一致条件とアクションからなるエントリをフローテーブルで管理する処理と、
フラグメントされたIPパケットとフラグメント元のIPパケットに適合する前記フローテーブルのエントリとの対応関係をフラグメントパケットIDテーブルで管理する処理と、
IPパケットがフラグメントされたか否かを示す情報であるIPパケットヘッダにおけるflagフィールド中のMF(More Fragment)ビットの値およびDF(Don`t Fragment)ビットの値を取得する処理と、
IPパケットのヘッダ情報に基づいてパケットIDを生成する処理と、
前記DFビットの値が1である場合は、前記フローテーブルの一致エントリを取得し、一致エントリのアクションをIPパケットに適用する一方、前記DFビットの値が0である場合は、前記フラグメントパケットIDテーブルを参照して、前記フラグメントパケットIDテーブルにエントリがない場合は、前記フローテーブルの一致エントリを取得し、一致エントリのアクションをIPパケットに適用し、前記フラグメントパケットIDテーブルにエントリがある場合は、前記パケットIDを有するIPパケットに適用するアクションを記載したフローエントリを取得し、前記アクションをIPパケットに適用する処理と、
フラグメントされたIPパケットのうち、先頭のIPパケットを受信した時に、当該エントリを前記フラグメントパケットIDテーブルに追加する一方、フラグメントされたIPパケットのうち、最後尾のパケットを受信した時に、当該エントリを前記フラグメントパケットIDテーブルから削除する処理と、の一連の処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フラグメントされたすべてのIP(Internet Protocol)パケットに対して、フラグメント元のIPパケットが一致するフローエントリのアクションを適用するOpenFlowスイッチおよびプログラムに関する。
【背景技術】
【0002】
近年、通信制御をフロー単位で行なうことにより、より粒度の細かいサービス品質制御を可能とするOpenFlowの技術が提案されている(非特許文献1)。フローとは、レイヤ1からレイヤ4までの情報で識別され、アプリケーション毎の一連の通信のまとまりである。OpenFlowは、データプレーン処理を行なうOpenFlowスイッチと、制御プレーン処理を行なうOpenFlowコントローラの間で、フロー単位の制御情報のやり取りを行なうためのプロトコルである。OpenFlowを適用することにより、ユーザやアプリケーションに応じたQoS制御や経路制御が可能となる。
【0003】
OpenFlowスイッチは、OpenFlowコントローラより指示されたパケット処理ルールをフローテーブルに格納する。フローテーブルは、当該エントリに一致するパケットの条件を記載するマッチフィールド、当該エントリに一致したパケットに対する処理内容を記載するアクションフィールド、当該エントリが処理したパケットに関する統計情報を記載する統計情報フィールドから構成される。
【0004】
図5は、OpenFlowの概略を示す図である。図5に示すように、OpenFlowスイッチは、パケットを受信すると、フローテーブル内の該当エントリに記載されたアクションに従い、パケット転送処理を行なう。OpenFlowでは、パケット単位でフローテーブルを参照するため、フラグメントされたIPパケットに対しては、正しい処理を行なうことができない。具体的には、フローエントリのマッチ条件としてTCPやUDPのポート番号が含まれていた場合、フラグメント後の先頭パケット以外は本来マッチするべきエントリにマッチしないという状況に陥ってしまう。
【0005】
図6は、IPパケットのフラグメント状態を示す図である。図6の上段にフラグメント元のIPパケットを示している。このIPパケットは、左側から「IPヘッダ」、「TCP/UDPヘッダ」、「ペイロード」を有している。このIPパケットにフラグメント処理を施した例が図6の下段である。下段の左側が先頭パケットであり、フラグメント元のIPパケットと同様に、「TCP/UDPヘッダ」を有している。しかしながら、下段の右側は、先頭パケットではなく、「TCP/UDPヘッダ」を有していない。
【0006】
非特許文献1に示すOpenFlowのプロトコル仕様においては、IPパケットのフラグメントに対する動作モードとして、次表のように、NORMAL、DROP、REASMの3つが規定されている。
【0007】
【表1】
【0008】
NORMALモードの場合、フラグメントされたパケットも非フラグメントパケットのように扱われる。このため、フラグメントの先頭パケット(レイヤ4ヘッダを含む)とそれ以降のフラグメントパケット(レイヤ4ヘッダを含まない)に一致するフローエントリが同じになるとは限らず、先頭パケットより後のパケットに対しては正しく処理をすることができない。DROPモードの場合、フラグメントされたパケットは転送処理が行なわれない。従って、NORMAL、DROPいずれのモードもフラグメントされたIPパケットを正しく処理することができない。
【0009】
一方、REASMモードの場合、フラグメントされたパケットはOpenFlowスイッチで一度再構築されてから、フローエントリの処理が適用される。そのため、フラグメントされたパケットであっても、マッチ条件にレイヤ4情報を含むフローエントリに一致し、正しく処理される。
【0010】
また、非特許文献2によれば、送信元でIPフラグメントが発生しないよう、IPヘッダのflagフィールドにおいてDF(Don't Fragment)ビットを有効化することも可能である。本技術を使えば、そもそもフラグメントが発生しないため、OpenFlowにおけるフラグメント処理の課題を回避することが可能である。
【先行技術文献】
【非特許文献】
【0011】
【非特許文献1】OpenFlow Switch Specification version1.3.2、Open Networking Foundation、2013年4月
【非特許文献2】RFC791、“Internet Protocol”、1981年9月
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、非特許文献1のREASMモードにおけるフラグメントされたIPパケットを再構築する処理は、上記の表に記載されているように、全フラグメントの到着を待つためのバッファリング処理や、再構築時のデータ加工処理を伴うため、OpenFlowスイッチの転送処理性能を低下させることになる。
【0013】
また、非特許文献2のDFビットの利用は、送信元が宛先までの最小MTU(Maximum Transmission Unit)をあらかじめ知っておき、その値に収まるよう正しくIPパケット長を制御することが必要となる。MTUを測定する方法にはICMPパケットを利用したPath MTU Discoveryがあるが、中継ルータがICMPのFN(Fragment Needed)パケットを正しく転送する必要があり、OpenFlowネットワークにおいてはその転送処理が保証されない。
【0014】
本発明は、このような事情に鑑みてなされたものであり、通常のOpenFlowのパケット処理の前に、必要に応じてフラグメントパケットに対する処理を行なうことによって、パケット転送処理の高速化とパケット処理遅延のばらつきの抑制を図り、IPフラグメントが発生せざるを得ないネットワークに対してもOpenFlow技術を適用することができるOpenFlowスイッチおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
(1)上記の目的を達成するために、本発明は、以下のような手段を講じた。すなわち、本発明のOpenFlowスイッチは、フラグメントされたIP(Internet Protocol)パケットを処理可能なOpenFlowスイッチであって、フラグメントされたIPパケットとフラグメント元のIPパケットに適合するフローテーブルのエントリとの対応関係を管理するフラグメントパケットIDテーブルと、IPパケットがフラグメントされたか否かを示す情報を取得し、IPパケットのヘッダ情報に基づいてパケットIDを生成し、前記フラグメントパケットIDテーブルを参照して、前記パケットIDを有するIPパケットに適用するアクションを記載したフローエントリを取得し、前記アクションをIPパケットに適用するフラグメントパケット処理機能と、フラグメントされたIPパケットのうち、先頭のIPパケットを受信した時に、当該エントリを前記フラグメントパケットIDテーブルに追加する一方、フラグメントされたIPパケットのうち、最後尾のパケットを受信した時に、当該エントリを前記フラグメントパケットIDテーブルから削除するフラグメントパケットIDテーブル更新機能と、を備えることを特徴とする。
【0016】
このように、IPパケットがフラグメントされたか否かを示す情報を取得し、IPパケットのヘッダ情報に基づいてパケットIDを生成し、フラグメントパケットIDテーブルを参照して、パケットIDを有するIPパケットに適用するアクションを記載したフローエントリを取得し、アクションをIPパケットに適用するので、IPフラグメントが発生し、2つ目以降のIPパケットにTCP/UDPヘッダが含まれていなくても、フラグメント元のIPパケットに適合するフローテーブルのエントリを特定することができる。その結果、すべてのIPパケットにアクションを適用することが可能となる。その結果、パケット転送処理の高速化とパケット処理遅延のばらつきの抑制を図り、IPフラグメントが発生せざるを得ないネットワークに対してもOpenFlow技術を適用することが可能となる。
【0017】
(2)また、本発明のOpenFlowスイッチにおいて、前記フラグメントパケット処理機能では、IPパケットヘッダにおけるflagフィールド中のMF(More Fragment)ビットの値に基づいて、IPパケットがフラグメントされたか否かを示す情報を取得することを特徴とする。
【0018】
このように、IPパケットヘッダにおけるflagフィールド中のMFビットの値に基づいて、IPパケットがフラグメントされたか否かを示す情報を取得するので、IPフラグメントが発生しても削除されないデータに基づいた判断をすることができる。これにより、処理の簡略化と高速化を図ることが可能となる。
【0019】
(3)また、本発明のOpenFlowスイッチにおいて、前記フラグメントパケット処理機能では、IPパケットの受信インタフェース、送信元イーサネット(登録商標)アドレス、宛先イーサネット(登録商標)アドレス、イーサフレーム種別、VLAN ID、VLAN優先度コード、送信元IPアドレス、宛先IPアドレス、DSCP値、及びIPパケット識別子に基づいて、パケットIDの生成を行なうことを特徴とする。
【0020】
このように、IPパケットの受信ポート、送受信イーサネット(登録商標)アドレス、イーサフレーム種別、VLAN ID、VLAN優先度コード、送受信IPアドレス、DSCP値、及びIPパケット識別子に基づいて、パケットIDの生成を行なうので、フラグメントされたIPパケットと、フラグメント元のパケットとの対応関係を一意に特定させることが可能となる。
【0021】
(4)また、本発明のOpenFlowスイッチにおいて、前記フラグメントパケットIDテーブルは、フラグメント元のIPパケット毎に一意な値を格納するパケットIDフィールドと、フラグメント元のIPパケットに適合するフローテーブルのエントリに対するポインタを格納する参照先エントリフィールドと、を有することを特徴とする。
【0022】
このように、フラグメントパケットIDテーブルは、フラグメント元のIPパケット毎に一意な値を格納するパケットIDフィールドと、フラグメント元のIPパケットに適合するフローテーブルのエントリに対するポインタを格納する参照先エントリフィールドと、を有するので、IPフラグメントが発生し、2つ目以降のIPパケットにTCP/UDPヘッダが含まれていなくても、フラグメント元のIPパケットに適合するフローテーブルのエントリを特定することができる。
【0023】
(5)また、本発明のOpenFlowスイッチにおいて、前記フラグメントパケットIDテーブル更新機能では、IPパケットのMFビットの値および前記フラグメントパケットIDテーブルの前記IPパケットに対するエントリの有無に基づいて、前記フラグメントパケットIDテーブルのエントリを更新することを特徴とする。
【0024】
このように、IPパケットのMFビットの値およびフラグメントパケットIDテーブルのIPパケットに対するエントリの有無に基づいて、フラグメントパケットIDテーブルのエントリを更新するので、IPフラグメントが発生し、2つ目以降のIPパケットにTCP/UDPヘッダが含まれていなくても、フラグメント元のIPパケットに適合するフローテーブルのエントリを特定することができる。
【0025】
(6)また、本発明のプログラムは、フラグメントされたIP(Internet Protocol)パケットを処理可能なOpenFlowスイッチの動作を制御するプログラムであって、フラグメントされたIPパケットとフラグメント元のIPパケットに適合するフローテーブルのエントリとの対応関係をフラグメントパケットIDテーブルで管理する処理と、IPパケットがフラグメントされたか否かを示す情報を取得する処理と、IPパケットのヘッダ情報に基づいてパケットIDを生成する処理と、前記フラグメントパケットIDテーブルを参照して、前記パケットIDを有するIPパケットに適用するアクションを記載したフローエントリを取得し、前記アクションをIPパケットに適用する処理と、フラグメントされたIPパケットのうち、先頭のIPパケットを受信した時に、当該エントリを前記フラグメントパケットIDテーブルに追加する一方、フラグメントされたIPパケットのうち、最後尾のパケットを受信した時に、当該エントリを前記フラグメントパケットIDテーブルから削除する処理と、の一連の処理をコンピュータに実行させることを特徴とする。
【0026】
このように、IPパケットがフラグメントされたか否かを示す情報を取得し、IPパケットのヘッダ情報に基づいてパケットIDを生成し、フラグメントパケットIDテーブルを参照して、パケットIDを有するIPパケットに適用するアクションを記載したフローエントリを取得し、アクションをIPパケットに適用するので、IPフラグメントが発生し、2つ目以降のIPパケットにTCP/UDPヘッダが含まれていなくても、フラグメント元のIPパケットに適合するフローテーブルのエントリを特定することができる。その結果、すべてのIPパケットにアクションを適用することが可能となる。その結果、パケット転送処理の高速化とパケット処理遅延のばらつきの抑制を図り、IPフラグメントが発生せざるを得ないネットワークに対してもOpenFlow技術を適用することが可能となる。
【発明の効果】
【0027】
本発明によれば、IPフラグメントが発生し、2つ目以降のIPパケットにTCP/UDPヘッダが含まれていなくても、フラグメント元のIPパケットに適合するフローテーブルのエントリを特定することができる。その結果、すべてのIPパケットにアクションを適用することが可能となる。その結果、パケット転送処理の高速化とパケット処理遅延のばらつきの抑制を図り、IPフラグメントが発生せざるを得ないネットワークに対してもOpenFlow技術を適用することが可能となる。
【図面の簡単な説明】
【0028】
図1】本実施形態に係るOpenFlowスイッチの概略構成を示す図である。
図2】本実施形態に係るOpenFlowスイッチのパケット受信時の動作を示すフローチャートである。
図3】本発明のハードウェア構成の実施例を示す図である。
図4】入力信号に対する出力信号の例を示す図である。
図5】OpenFlowの概略を示す図である。
図6】IPパケットのフラグメント状態を示す図である。
【発明を実施するための形態】
【0029】
図1は、本実施形態に係るOpenFlowスイッチの概略構成を示す図である。本実施形態に係るOpenFlowスイッチは、従来のOpenFlowスイッチの機能構成、すなわち、パケット受信機能101、フローテーブル検索機能105、パケット送信機能109、フローテーブル7、OpenFlowプロトコル処理機能11に加え、フラグメントパケット処理機能103、フラグメントパケットIDテーブル更新機能107およびフラグメントパケットIDテーブル3を新たに備えている。
【0030】
フラグメントパケット処理機能は103、パケットのIPヘッダ中のflagフィールド内MF(More Fragment)ビットを読み、処理中のパケットがフラグメントされたパケットか否かを判定する。また、フラグメントされたパケットに対し適用すべきアクションを、フラグメントパケットIDテーブル3を参照して取得し、パケットに適用する機能を有する。
【0031】
フラグメントパケットIDテーブル更新機能107は、先頭フラグメントパケットおよび最終フラグメントパケットの受信に伴い、フラグメントパケットIDテーブル3を更新する。
【0032】
フラグメントパケットIDテーブル3は、パケットのL1〜L3情報、すなわち、受信インタフェース、送信元イーサネット(登録商標)アドレス、宛先イーサネット(登録商標)アドレス、イーサタイプ、VLAN ID、VLAN優先度コード、送信元IPアドレス、宛先IPアドレス、プロトコル、DSCP値、IPヘッダの識別子、あるいはこれらから得られるハッシュ値をキーとするパケットIDフィールド5aと、当該パケットに対してヒットすべきフローエントリへのポインタを保持する参照先エントリフィールド5bを保持し、その対応関係を管理する。ここで、パケットIDは、フラグメント前のパケット毎に一意に付与される。
【0033】
図2は、本実施形態に係るOpenFlowスイッチのパケット受信時の動作を示すフローチャートである。パケットを受信すると(ステップS1)、パケットのL1〜L3情報を取得し、パケットIDを生成する(ステップS2)。そして、当該パケットIDをキーとして、フラグメントパケットIDテーブルを検索する(ステップS4)。一方、パケットを受信した後(ステップS1)、パケットIPヘッダ中のフラグフィールドのMFビットを取得する(ステップS3)。そして、条件に応じて分岐する。
【0034】
(A)MF=1(フラグメントが続く)かつ一致エントリが存在する場合、先頭パケットではなく、最後尾のパケットでもない中間のパケットであることを意味し、フラグメントパケットIDテーブルの当該エントリから参照先エントリを取得し(ステップS5)、参照先エントリのアクションをパケットに適用(ステップS6)、パケットを送信する(ステップS15)。ここでは、アクションにL4フィールドの書き換え等が指定されていた場合には、それを無視して処理することができる。
【0035】
(B)MF=1(フラグメントが続く)かつ一致エントリが存在しない場合、先頭パケットであることを意味するので、フローテーブルの一致エントリを検索し取得したアクションをパケットに適用する(ステップS7、S8)。また、フラグメントパケットIDテーブルに、パケットIDフィールドには受信パケットから生成されたパケットIDを、参照先エントリフィールドにはフローテーブルの一致エントリへのポインタを設定した新規エントリを追加する(ステップS13)。その後、パケットを送信する(ステップS15)。
【0036】
(C)MF=0(フラグメントが続かない)かつ一致エントリが存在する場合、最後尾のパケットであることを意味し、フラグメントパケットIDテーブルの当該エントリから参照先エントリを取得し(ステップS9)、参照先エントリのアクションをパケットに適用する(ステップS10)。そして、フラグメントパケットIDテーブルから当該エントリを削除する(ステップS14)。その後、パケットを送信する(ステップS15)。
【0037】
(D)MF=0(フラグメントが続かない)かつ一致エントリが存在しない場合、フラグメントがないことを意味し、フローテーブルの一致エントリを検索し取得したアクションをパケットに適用し(ステップS11、ステップS12)、パケットを送信する(ステップS15)。
【0038】
なお、ステップS1においてパケットを受信した際、MFビットだけではなく、DF(Don't Fragment)ビットを取得することもできる。これにより、「DF=1」である場合は、フラグメント禁止の指定がされていることから、フラグメントパケットIDテーブルのエントリ存在確認をすることなく、ステップS1から直接ステップS11に遷移することが可能となる。これにより、より早く処理を行なうことが可能となる。
【0039】
図3は、本発明のハードウェア構成の実施例を示す図である。本発明に係るフラグメントパケット処理機能は、ハードウェアとして実装可能である。図3に示すように、受信インタフェース情報と、受信フレーム中のヘッダの各フィールド情報に基づいて、ハッシュ計算を行ない、その結果をフラグメントパケットIDテーブルに書き込む。フラグメントIDパケットテーブルは、SRAM上の固定サイズテーブルとして構成することができる。そして、デコーダにおいて、受信フレーム中のMFビット(フレーム先頭から163ビット目、非VLANの場合)と、フラグメントパケットIDテーブルのエントリが存在するか否かのフラグと、に基づいて、条件分岐信号を出力することができる。なお、このハードウェア構成に限らず、ソフトウェアとしても構成することが可能である。
【0040】
図4は、入力信号に対する出力信号の例を示す図である。入力信号は、先頭フラグメント、後続フラグメント、最終フラグメントが、一定の間隔に配置される。これに対して、従来の技術において、NORMALモードの出力は、フラグメントパケットの処理に対応していないため、先頭フラグメントのみが出力され、それ以外は別アクションとなる。また、従来の技術において、フラグメントパケットの再構築を行なっている場合は、全フラグメントをバッファし、まとめて処理した後、バースト的に送出するため、時間軸の後の方でまとまった複数のフラグメントが出力される。これに対し、本発明を適用した場合は、入力パケットが即時処理されるため、パケット間隔に変化が生じない。このように、本発明を適用した場合は、出力されるフラグメントの数とタイミングは、従来の技術とは著しく異なっている。
【0041】
以上説明したように、本実施形態によれば、フラグメントパケットを再構築しないという特徴により、従来の再構築する場合に必要であったフラグメント元パケット単位のバッファリングが不要となり、パケット処理遅延のばらつきを低減することができる。また、パケットを再構築する処理が不要となることにより、計算負荷を抑えることができる。
【符号の説明】
【0042】
3 フラグメントパケットIDテーブル
5a パケットIDフィールド
5b 参照先エントリフィールド
7 フローテーブル
11 OpenFlowプロトコル処理機能
101 パケット受信機能
103 フラグメントパケット処理機能
105 フローテーブル検索機能
107 フラグメントパケットIDテーブル更新機能
109 パケット送信機能


図1
図2
図3
図4
図5
図6