JP2015043489A - パケット転送装置、パケット転送システム、及びパケット転送方法 - Google Patents

パケット転送装置、パケット転送システム、及びパケット転送方法 Download PDF

Info

Publication number
JP2015043489A
JP2015043489A JP2013174319A JP2013174319A JP2015043489A JP 2015043489 A JP2015043489 A JP 2015043489A JP 2013174319 A JP2013174319 A JP 2013174319A JP 2013174319 A JP2013174319 A JP 2013174319A JP 2015043489 A JP2015043489 A JP 2015043489A
Authority
JP
Japan
Prior art keywords
packet
transfer
processing unit
cut
application
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
JP2013174319A
Other languages
English (en)
Inventor
聡史 西山
Satoshi Nishiyama
聡史 西山
健 大坂
Takeshi Osaka
健 大坂
俊一 坪井
Shunichi Tsuboi
俊一 坪井
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013174319A priority Critical patent/JP2015043489A/ja
Publication of JP2015043489A publication Critical patent/JP2015043489A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

【課題】パケット転送装置が中継する同一のフローのなかでのアプリケーションの切り替わりを確実に検出し、適切なQoS制御を実行する。【解決手段】パケット転送装置1は、受信したパケットを、識別処理部31に転送する通常ルートの転送と、転送処理部22に転送するカットスルー転送とに振り分ける振分け処理部21を備え、識別処理部31が、サービス要求パケットのペイロードを解析することで、所定のアプリケーションに係るサービス要求パケットと同一または逆方向のフローの対象パケットをカットスルー転送に振り分けるように、振分け処理部21に指示し、振分け処理部21が、指示された通信方向に受信される連続した対象パケットをカットスルー転送に振り分ける一方、指示された通信方向と逆向きのパケットが受信された場合は、続く対象パケットを通常ルートの転送に振り分ける。【選択図】図2

Description

本発明は、複数のネットワーク間でパケット転送を行うパケット転送装置、パケット転送システム、及びパケット転送方法に関する。
近年、インターネットのトラヒックの中で、動画配信サービスやIP(Internet Protocol)電話サービスなど、大量のデータ転送が必要であったりリアルタイム性が要求されたりするコンテンツの比率が高まっている。そこで、これら各種のコンテンツの中継を行うIPルータなどのパケット転送装置には、それぞれのコンテンツに応じた優先制御や帯域制御などのQoS(Quality of Service)制御によって、サービス品質を確保することが求められている。
コンテンツに応じたQoS制御を行うためには、コンテンツの存在場所を示すURL(Uniform Resource Locator)やメディア種別などのコンテンツ情報を取得する必要がある。そのためには、中継するIPパケット(以降、「パケット」と略記。)のヘッダのみではなく、データ部であるペイロードを解析する必要がある。しかし、このペイロードの解析には、ヘッダの処理と比較して大きな処理負荷を要する。
そこで、例えば非特許文献1には、コンテンツの識別が完了してペイロードを解析する必要がなくなったフローをフローテーブル(フロー検索テーブル)に登録しておき、以降のパケットはパケット転送部だけで転送するカットスルー転送方式が提案されている。なお、フローとは、同一の送信元と宛先との間でやり取りされる一連のパケット群のことであり、それらのパケットのヘッダに含まれる5tuple(送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、プロトコル種別)はすべて同一の値をもつ。この従来技術では、フローテーブルに登録されたフローを削除したり変更したりする契機として、データ通信量の変動及び無通信時間の長さが用いられる。
西山聡史、外4名、「サービスルータにおけるトラヒック動的制御の性能向上を目的としたフロー検知・カットスルー方式」、2012年11月、電子情報通信学会技術研究報告、vol. 112、no. 287、NS2012-112、p. 47-52
しかし、前記の従来技術では、同一のフローのなかでアプリケーションが切り替わった場合に、データ通信量が大きく変化しなかったり、無通信時間が短かったりすると、アプリケーションの切り替わりが検出できないという問題がある。このため、前記の従来技術では、同一のフローのなかで実行される2番目以降のアプリケーションのコンテンツに対して、適切なQoS制御が行われない可能性がある。また、カットスルー転送を取りやめる契機の検出が遅れるため、フローテーブルからの不要なフローの情報の削除が遅くなり、フローテーブルの容量が逼迫する可能性が高まる。
本発明は、かかる従来技術の問題を解決するためになされたものであり、その主たる目的は、パケット転送装置が中継する同一のフローのなかでアプリケーションが切り替わった場合に、それを確実に検出して、適切なQoS制御を実行可能とすることにある。
前記の目的を達成するために、本発明は、IPネットワークに接続されるユーザ端末と、前記ユーザ端末に所定のアプリケーションに係るサービスを提供するサーバとの間で送受されるパケットを中継するパケット転送装置であって、前記パケットのペイロードを解析する識別処理部と、前記パケットを中継先に転送する転送処理部と、受信した前記パケットのそれぞれを、前記識別処理部に転送する通常ルートの転送と、前記転送処理部に転送するカットスルー転送とのいずれかに振り分ける振分け処理部と、を備え、前記識別処理部は、前記サーバに中継する前記パケットのうちのサービス要求パケットのペイロードを解析することによって、前記所定のアプリケーションに係る前記サービス要求パケットと同一または逆の送信元及び宛先の組を有する連続した前記パケットを前記カットスルー転送に振り分けるように、前記振分け処理部に指示し、前記振分け処理部は、前記識別処理部からカットスルー転送を指示された対象パケットが指示された通信方向に2以上連続して受信されている間は、当該対象パケットを前記カットスルー転送に振り分ける一方、指示された通信方向と逆向きの前記パケットが受信された場合は、当該パケットに続く前記対象パケットを前記通常ルートの転送に振り分けるものとした。
こうすることにより、カットスルー転送が行われているフローのなかでアプリケーションが切り替わる場合に発生する逆向きのパケットを検出して、続くパケットを識別処理部に転送するので、アプリケーションの切り替わりを確実に検出することができる。
また、本発明は、前記のパケット転送装置において、前記対象パケットによって形成されるフローの帯域制御及び優先制御を司るQoS(Quality of Service)制御部をさらに備え、前記識別処理部は、前記アプリケーションの識別情報と当該アプリケーションに係るフローに適用するQoS制御パラメータとが対応付けられて予め登録されたテーブルを参照することによって、当該テーブルに登録された前記アプリケーションに係る前記サービス要求パケットのペイロードを解析したときに、当該アプリケーションに対応付けられている前記QoS制御パラメータを取得し、取得した前記QoS制御パラメータを前記アプリケーションに係る前記フローに適用するように、前記QoS制御部に指示するものとした。
こうすることにより、実行されるそれぞれのアプリケーションのコンテンツ毎に、適切なQoS制御を実現することが可能となる。
また、本発明は、前記のパケット転送装置において、前記識別処理部は、前記対象パケットを前記カットスルー転送に振り分けるように、前記振分け処理部に指示したのちに、当該対象パケットとは異なる前記所定のアプリケーションに係る前記サービス要求パケットを検知した場合、または、当該対象パケットの送受に用いられているTCP(Transmission Control Protocol)セッションの切断を検知した場合は、当該対象パケットに係る前記カットスルー転送への振分け指示を取り消すものとした。
こうすることにより、フローテーブルから不要なフローの情報が迅速に削除されるので、フローテーブルの容量が逼迫する可能性を低くすることができる。
また、本発明のパケット転送システムは、ユーザ端末と、前記ユーザ端末に所定のアプリケーションに係るサービスを提供するサーバと、前記ユーザ端末と前記サーバとの間で送受されるパケットを中継する前記のパケット転送装置とが、IPネットワークに接続されて構成されているものとした。
こうすることにより、実行されるアプリケーションのコンテンツ毎に、適切なQoS制御を実行可能なパケット転送システムを実現することができる。
また、本発明は、IPネットワークに接続されるユーザ端末と、前記ユーザ端末に所定のアプリケーションに係るサービスを提供するサーバとの間で送受されるパケットを中継するパケット転送装置のパケット転送方法であって、前記パケットのペイロードを解析する識別処理ステップと、前記パケットを中継先に転送する転送処理ステップと、受信した前記パケットのそれぞれを、前記識別処理ステップで処理する通常ルートの処理と、前記転送処理ステップで処理するカットスルー処理とのいずれかに振り分ける振分け処理ステップと、を備え、前記識別処理ステップでは、前記サーバに中継する前記パケットのうちのサービス要求パケットのペイロードを解析することによって、前記所定のアプリケーションに係る前記サービス要求パケットと同一または逆の送信元及び宛先の組を有する連続した前記パケットを前記カットスルー処理に振り分けるように、前記振分け処理ステップにおける処理を指示し、前記振分け処理ステップでは、前記識別処理ステップにてカットスルー処理を指示された対象パケットが指示された通信方向に2以上連続して受信されている間は、当該対象パケットを前記カットスルー処理に振り分ける一方、指示された通信方向と逆向きの前記パケットが受信された場合は、当該パケットに続く前記対象パケットを前記通常ルートの処理に振り分けるものとした。
こうすることにより、カットスルー処理が行われているフローのなかでアプリケーションが切り替わる場合に発生する逆向きのパケットを検出して、続くパケットを通常ルートの処理に振り分けるので、アプリケーションの切り替わりを確実に検出することができる。
また、本発明は、前記のパケット転送方法において、前記識別処理ステップと前記転送処理ステップとの間に、前記対象パケットによって形成されるフローの帯域制御及び優先制御を司るQoS制御ステップをさらに備え、前記識別処理ステップでは、前記アプリケーションの識別情報と当該アプリケーションに係るフローに適用するQoS制御パラメータとが対応付けられて予め登録されたテーブルを参照することによって、当該テーブルに登録された前記アプリケーションに係る前記サービス要求パケットのペイロードを解析したときに、当該アプリケーションに対応付けられている前記QoS制御パラメータを取得し、取得した前記QoS制御パラメータを前記アプリケーションに係る前記フローに適用するように、前記QoS制御ステップにおける処理を指示するものとした。
こうすることにより、実行されるそれぞれのアプリケーションのコンテンツ毎に、適切なQoS制御を実現することが可能となる。
また、本発明は、前記のパケット転送方法において、前記識別処理ステップでは、前記対象パケットを前記カットスルー処理に振り分けるように、前記振分け処理ステップにおける処理を指示したのちに、当該対象パケットとは異なる前記所定のアプリケーションに係る前記サービス要求パケットを検知した場合、または、当該対象パケットの送受に用いられているTCPセッションの切断を検知した場合は、当該対象パケットに係る前記カットスルー処理への振分け指示を取り消すものとした。
こうすることにより、フローテーブルから不要なフローの情報が迅速に削除されるので、フローテーブルの容量が逼迫する可能性を低くすることができる。
本発明によれば、パケット転送装置は、ペイロードを解析する必要がないパケットをカットスルー転送させるとともに、同一のフローのなかでアプリケーションが切り替わった場合に、それを確実に検出して、適切なQoS制御を実行することができる。
本発明の実施形態に係るパケット転送システムの構成例を示す図である。 本発明の実施形態に係るパケット転送装置の構成例を示す機能ブロック図である。 フローテーブルの構成及びデータ例を示す図である。 アプリ対応QoSテーブルの構成及びデータ例を示す図である。 QoSテーブルの構成及びデータ例を示す図である。 ユーザ端末とHTTPサーバとの間でTCPセッションを確立する手順を示すシーケンス図である。 HTTPサーバからHTMLファイルを閲覧する手順の例を示すシーケンス図である。 HTTPサーバから動画ファイルをダウンロードする手順の例を示すシーケンス図である。 ユーザ端末とHTTPサーバとの間のTCPセッションを切断する手順を示すシーケンス図である。 転送機能部の動作の詳細を示すフローチャートである。 付加機能部の動作の詳細を示すフローチャートである。
以下、本発明を実施するための形態について、図面を参照しながら詳細に説明する。
図1は、本発明の実施形態に係るパケット転送システムの構成例を示す図である。図1に示す例では、パケット転送システム100は、ユーザ網4または通信事業者網5に接続されるユーザ端末2と、インターネット6に接続され、ユーザ端末2に対してHTTP(HyperText Transfer Protocol)サービスを提供するHTTPサーバ3と、ユーザ網4及び通信事業者網5とインターネット6とを接続するためのパケット転送装置1とを備えて構成されている。この例では、パケット転送装置1は、ユーザ網4及び通信事業者網5とインターネット6とを接続するものとしたが、ユーザ端末2とHTTPサーバ3とを接続する通信ルート上においてTCP/IPによるパケット通信が可能な任意の場所に設置することができる。
図2は、本発明の実施形態に係るパケット転送装置の構成例を示す機能ブロック図である。図2に示すように、パケット転送装置1は、外部の装置からパケットを入力してそれを他の装置に出力する転送機能部20と、アプリケーションに応じてQoSなどの付加的なサービスを提供する付加機能部30とを含んで構成される。
転送機能部20は、プログラム制御によって機能が具現化される振分け処理部21、転送処理部22、QoS制御部23を備える。また、不図示の記憶部には、フローテーブル24及びQoSテーブル25を備える。
付加機能部30は、プログラム制御によって機能が具現化される識別処理部31、カットスルー設定部32、QoS設定部33を備える。また、不図示の記憶部には、アプリ対応QoSテーブル34を備える。
振分け処理部21は、外部から入力されるパケットのヘッダに記載されている情報とフローテーブル24に登録されている情報とを照合することにより、それぞれのパケットを識別処理部31または転送処理部22に振り分ける。フローテーブル24には、パケットを識別処理部31に振り分けてペイロードを解析する通常ルートではなく、パケットを転送処理部22に振り分けてカットスルー転送を行うフローの情報が登録される。
識別処理部31は、振分け処理部21から振り分けられたパケットのヘッダ及びペイロードを解析することにより、当該パケットに含まれるアプリケーションに関する情報、例えばアプリケーションURLを抽出する。カットスルー設定部32は、フローテーブル24にカットスルー転送を行うフローに関する情報の登録、更新、削除を行う。QoS設定部33は、識別処理部31によって抽出されたアプリケーションに関する情報、例えばアプリケーションURLとアプリ対応QoSテーブル34に登録されている情報とを照合することにより、それぞれのフローに適用すべきQoS制御パラメータを取得し、取得したQoS制御パラメータをQoSテーブル25に登録する。
アプリ対応QoSテーブル34には、QoS制御の対象となるアプリケーション毎に、適用すべきQoS制御パラメータが予め登録されている。QoSテーブル25には、現時点で存在しているフロー毎に、適用すべきQoS制御パラメータが登録される。QoS制御部23は、QoSテーブル25からQoS制御の対象となるフロー毎のQoS制御パラメータを取得し、パケット優先度の更新などのQoS制御を実行する。
転送処理部22は、識別処理部31から転送される通常ルートのパケットと、振分け処理部21からカットスルー転送されるパケットとの両方について、ヘッダに含まれるアドレス情報の書き換えなどの必要な処理を行ったのち、パケット優先度などを参照して外部の装置に転送する。
図3は、フローテーブルの構成及びデータ例を示す図である。図3に示すように、フローテーブル24には、フロー識別情報(5tuple)241、方向フラグ242、カウンタ243、及び最終受信時刻244からなるレコードが、それぞれのフロー毎に登録される。
フロー識別情報(5tuple)241は、ある送信元と宛先との間でやり取りされる一連のパケットのシーケンスであるフローを一意に識別するための情報である。このフロー識別情報241は、フローを形成している一連のパケットのヘッダに含まれる5つのデータの組合せである5tupleによって表される。この5tupleは、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、及びプロトコル種別の5つのデータから構成される。例えば、図3の1行目のレコードのフロー識別情報241は、送信元IPアドレスが「SA1」、宛先IPアドレスが「DA1」、送信元ポート番号が「SP1」、宛先ポート番号が「DP1」、プロトコル種別が「’TCP’」である5tupleによって表されている。
方向フラグ242は、送信元と宛先との関係が逆転している2つのフローを同じフロー識別情報241で表すものとした場合に、最後に転送を行ったパケットがどちらの方向に転送されたかを示すフラグである。この方向フラグ242が「順方向」となっている場合は、最後に送信元から宛先にパケットが転送されたことを表し、この方向フラグ242が「逆方向」となっている場合は、最後に宛先から送信元にパケットが転送されたことを表す。例えば、図3の1行目のレコードの方向フラグ242は、「順方向」となっているので、送信元IPアドレスが「SA1」の送信元から宛先IPアドレスが「DA1」の宛先に対して最後にパケットが転送されたことを表している。また、図3の2行目のレコードの方向フラグ242は、「逆方向」となっているので、送信元IPアドレスが「DA2」の送信元から宛先IPアドレスが「SA2」の宛先に対して最後にパケットが転送されたことを表している。
カウンタ243は、それぞれのフローにおいて、同じ向きのパケットが連続して何個転送されたかを表す数値データである。また、最終受信時刻244は、それぞれのフローにおいて最後にパケットが受信された時刻を表すものであり、フローの無通信時間の判定に用いられる。図3のデータ例では、時刻データを「t1」、「t2」、・・・と表記している。
図4は、アプリ対応QoSテーブルの構成及びデータ例を示す図である。図4に示すように、アプリ対応QoSテーブル34には、アプリケーションの識別情報(例えば、アプリケーションURL341)とQoS制御パラメータ342とからなるレコードが、それぞれのアプリケーションのURL毎に予め登録される。例えば、図4の1行目のレコードは、「http://douga1.com」なるアプリケーションURLに対しては、「DSCP値リマーク:#5」なるQoS制御パラメータを適用すべきことを表している。DSCP(Differentiated Services Code Point)値リマークとは、パケット優先度を変更するときの変更パターンを示すデータであり、この変更パターンによって各パケット優先度を変更することによって、QoS制御が実行されることとなる。
図5は、QoSテーブルの構成及びデータ例を示す図である。図5に示すように、QoSテーブル25には、フロー識別情報(5tuple)251とQoS制御パラメータ252とからなるレコードが、QoS制御の対象となるそれぞれのフロー毎に登録され、当該フローのQoS制御が終了した時点で削除される。例えば、図5の1行目のレコードは、当該フローにおいて「http://douga1.com」なるURLが参照され、図4のアプリ対応QoSテーブル34から「DSCP値リマーク:#5」なる値が取得されて、QoS制御パラメータ252に登録された場合の例を示している。
図6は、ユーザ端末とHTTPサーバとの間でTCPセッションを確立する手順を示すシーケンス図である。図6に示すように、ユーザ端末2から接続先のHTTPサーバ3に対してTCPセッションの確立を要求する場合には、まずユーザ端末2からHTTPサーバ3宛に上り(順方向)のTCPセッションの確立を要求するSYNパケットを送信する。このSYNパケットは、パケット転送装置1の振分け処理部21、識別処理部31、及び転送処理部22を経由してHTTPサーバ3に転送される(ステップS1)。SYNパケットを受信したHTTPサーバ3は、要求された上りのTCPセッションの確立を許可するとともに下り(逆方向)のTCPセッションの確立を要求するSYN+ACKパケットを要求元のユーザ端末2宛に送信する。このSYN+ACKパケットは、図6の破線矢印にて示すように、パケット転送装置1の振分け処理部21、識別処理部31、及び転送処理部22を経由してユーザ端末2に転送される(ステップS2)。このSYN+ACKパケットを受信したユーザ端末2は、要求された下りのTCPセッションの確立を許可するACKパケットを接続先のHTTPサーバ3宛に送信する。このACKパケットは、パケット転送装置1の振分け処理部21、識別処理部31、及び転送処理部22を経由してHTTPサーバ3に転送される(ステップS3)。これによって、ユーザ端末2とHTTPサーバ3との間で双方向通信が可能なTCPセッションが確立される(ステップS4)。このように、要求元と接続先との間でパケットを3回やり取りすることでセッションが確立されることから、この一連の手順は3ウェイ・ハンドシェイクと呼ばれる。
図7は、HTTPサーバからHTML(HyperText Markup Language)ファイルを閲覧する手順の例を示すシーケンス図である。図7に示すように、TCPセッションが確立されたのちに、ユーザ端末2から接続先のHTTPサーバ3に対してHTMLファイルの閲覧を要求する場合には、まずユーザ端末2からHTTPサーバ3宛にHTTP REQUESTパケットを送信する。このHTTP REQUESTパケットのペイロードには、閲覧対象となるHTMLファイルのURLが記載されている。このHTTP REQUESTパケットは、パケット転送装置1の振分け処理部21、識別処理部31、及び転送処理部22を経由して接続先のHTTPサーバ3に転送される(ステップS5)。
このとき、識別処理部31は、このHTTP REQUESTパケットのペイロードを解析することによってHTTPサーバ3で実行されるアプリケーションがHTMLファイルの閲覧であることを識別し、閲覧先のHTMLファイルのURLを抽出する(ステップS6)。このとき、当該HTMLファイルのURLは、アプリ対応QoSテーブル34(図4)に登録されていないので、QoS設定部33は、「制御なし」と判断し、QoSテーブル25(図5)への登録は行わない(ステップS7)。また、カットスルー設定部32は、このフローの情報をフローテーブル24(図3)に追加登録する(ステップS8)。
次に、ユーザ端末2からのHTTP REQUESTを受信したHTTPサーバ3は、要求元のユーザ端末2宛に、HTTPファイルの閲覧を許可するHTTP RESPONSEを送信する(ステップS9)。そののち、閲覧を要求されたHTMLファイルの中身のデータを所定のサイズに分割したDATAパケットを、ユーザ端末2との間で取り決めた所定の回数iだけ連続して送信する(ステップS10、S11)。
このとき、ステップS10で送信されるDATAパケット(図7では「DATA(データ11)」と表記)は、振分け処理部21から識別処理部31に転送されて、当該フローのカウンタ243の値が「1」に設定される。続いてステップS11の最初で送信されるDATAパケット(「DATA(データ12)」)は、振分け処理部21でカウンタ243の値が「2」に更新されるので、カットスルー転送が実行され、転送処理部22に転送されることとなる。以降ステップS11で送信されるDATAパケット(「DATA(データ13)(図示を省略)」〜「DATA(データ1i)」)は、同様にカットスルー転送が実行され、転送処理部22に転送される。
ユーザ端末2は、i番目のDATAパケット(「DATA(データ1i)」)を受信すると、受信完了を応答するためのTCP ACKパケットをHTTPサーバ3宛に送信する(ステップS12)。このTCP ACKパケットは、フローテーブル24の方向フラグ242と方向が一致しないので、振分け処理部21から識別処理部31に転送されることとなる。このTCP ACKパケットを受信した識別処理部31は、フローテーブル24の当該フローの方向フラグ242を「順方向」に更新し、カウンタ243を「0」に設定する。
そのため、ステップS13でHTTPサーバ3から送信される次のDATAパケット(「DATA(データ21)」)は、振分け処理部21から識別処理部31に転送されて、当該フローのカウンタ243の値が「1」に設定される。続いてステップS14の最初で送信されるDATAパケット(「DATA(データ22)」)は、振分け処理部21でカウンタ243の値が「2」に更新されるので、カットスルー転送が実行され、転送処理部22に転送されることとなる。以降ステップS14で送信されるDATAパケット(「DATA(データ23)(図示を省略)」〜「DATA(データ2j)」)は、同様にカットスルー転送が実行され、転送処理部22に転送される。
図8は、HTTPサーバから動画ファイルをダウンロードする手順の例を示すシーケンス図である。図8の例では、図7に示したHTMLファイルの閲覧に引き続いて、同じTCPセッションを用いて、同じHTTPサーバ3から動画ファイルをダウンロードするものとする。ステップS16にて、カットスルー転送とは逆向きのTCP ACKパケットが受信されるので、次に受信されるパケットは識別処理部31に転送されることとなる。動画ファイルをダウンロードする場合には、まずユーザ端末2からHTTPサーバ3宛にHTTP REQUESTパケットを送信する。このHTTP REQUESTパケットのペイロードには、配信対象となる動画コンテンツのURLが記載されている。このHTTP REQUESTパケットは、パケット転送装置1の振分け処理部21、識別処理部31、及び転送処理部22を経由して接続先のHTTPサーバ3に転送される(ステップS17)。
このとき、識別処理部31は、このHTTP REQUESTパケットのペイロードを解析することによってHTTPサーバ3で実行されるアプリケーションが動画のリアルタイム配信(ストリーミング)であることを識別し、配信する動画コンテンツのURLを抽出する(ステップS18)。このとき、当該動画コンテンツのURLは、アプリ対応QoSテーブル34(図4)に登録されているので、QoS設定部33は、動画用のQoS制御が必要であると判断し、アプリ対応QoSテーブル34に登録されているQoS制御パラメータ342を、QoSテーブル25の当該フローのQoS制御パラメータ252に設定して追加登録を行う(ステップS19)。また、カットスルー設定部32は、このフローの情報をフローテーブル24(図3)に登録する(ステップS20)。
ただし、この場合は、フローテーブル24には、図7に示したHTMLファイルの閲覧時に登録済みの当該フローに該当するレコードが存在しているので、当該レコードの更新を行い、方向フラグ242を「順方向」に、カウンタ243を「0」に設定する。
次に、ユーザ端末2からのHTTP REQUESTを受信したHTTPサーバ3は、要求元のユーザ端末2宛に、動画コンテンツの配信を許可するHTTP RESPONSEを送信する(ステップS21)。そののち、配信対象の動画コンテンツのデータを所定のサイズに分割したストリーミング用のDATAパケットを、ユーザ端末2との間で取り決めた所定の回数kだけ連続して送信する(ステップS22、S23)。
このとき、ステップS22で送信されるDATAパケット(「DATA(データ31)」)は、振分け処理部21から識別処理部31に転送されて、当該フローのカウンタ243の値が「1」に設定される。続いてステップS23の最初で送信されるDATAパケット(「DATA(データ32)」)は、振分け処理部21でカウンタ243の値が「2」に更新されるので、カットスルー転送が実行され、転送処理部22に転送されることとなる。以降ステップS23で送信されるDATAパケット(「DATA(データ33)(図示を省略)」〜「DATA(データ3k)」)は、同様にカットスルー転送が実行され、転送処理部22に転送される。
ユーザ端末2は、k番目のDATAパケット(「DATA(データ3k)」)を受信すると、受信完了を応答するためのTCP ACKパケットをHTTPサーバ3宛に送信する(ステップS24)。このTCP ACKパケットは、フローテーブル24の方向フラグ242と方向が一致しないので、振分け処理部21から識別処理部31に転送されることとなる。このTCP ACKパケットを受信した識別処理部31は、フローテーブル24の当該フローの方向フラグ242を「順方向」に更新し、カウンタ243を「0」に設定する。
そのため、ステップS25でHTTPサーバ3から送信される次のDATAパケット(「DATA(データ41)」)は、振分け処理部21から識別処理部31に転送されて、当該フローのカウンタ243の値が「1」に設定される。続いてステップS26の最初で送信されるDATAパケット(「DATA(データ42)」)は、振分け処理部21でカウンタ243の値が「2」に更新されるので、カットスルー転送が実行され、転送処理部22に転送されることとなる。以降ステップS26で送信されるDATAパケット(「DATA(データ43)(図示を省略)」〜「DATA(データ4l)」)は、同様にカットスルー転送が実行され、転送処理部22に転送される。
図9は、ユーザ端末とHTTPサーバとの間のTCPセッションを切断する手順を示すシーケンス図である。図9の例では、図8に示した動画ファイルのダウンロードに引き続いてTCPセッションを切断するものとする。ステップS28にて、カットスルー転送とは逆向きのTCP ACKパケットが受信されるので、次に受信されるパケットは識別処理部31に転送されることとなる。図9に示すように、ユーザ端末2とHTTPサーバ3との間のTCPセッションを切断する場合には、まずその一方から(図9の例では、ユーザ端末2から)もう一方に対して(図9の例では、HTTPサーバ3宛に)、例えば上り(順方向)のコネクションの切断を要求するFINパケットを送信する。このFINパケットは、パケット転送装置1の振分け処理部21、識別処理部31、及び転送処理部22を経由してHTTPサーバ3に転送される(ステップS29)。以下、パケット転送装置1の各部による経由については前記と同様であるのでのその説明を省略する。このFINパケットを受信したHTTPサーバ3は、要求された上りのコネクションの切断を許可するACKパケットを要求元のユーザ端末2宛に送信する(ステップS30)。さらに、HTTPサーバ3は、下り(逆方向)のコネクションの切断を要求するFINパケットをユーザ端末2宛に送信する(ステップS31)。このFINパケットを受信したユーザ端末2は、要求された下りのコネクションの切断を許可するACKパケットをHTTPサーバ3宛に送信する(ステップS32)。このように、TCPセッションが確立されている2者間で、FINパケットとその応答であるACKパケットとを双方向にやり取りすることで、TCPセッションの切断が行われる。
TCPセッションが切断されることにより、そのTCPセッションを用いて交信されていたフローは終結することになる。よって、カットスルー設定部32はフローテーブル24から、QoS設定部33はQoSテーブル25から、登録されている当該フローのレコードを削除して、一連のパケット転送処理を終了する。
図10は、転送機能部の動作の詳細を示すフローチャートである。図10に示すように、転送機能部20は、中継を行うべきパケットを受信すると、まず、ステップST41にて、振分け処理部21が、受信したパケットのヘッダ部に記載されているフロー識別情報(5tuple)を抽出する。次に、振分け処理部21は、ステップST42にて、フローテーブル24に当該フロー識別情報に対応するフローのレコードが登録されているか否かを判定する。このとき、抽出した5tupleのデータのうち、送信元IPアドレスと送信元ポート番号との対と、宛先IPアドレスと宛先ポート番号との対とを入れ換えることで得られる5tupleについても判定の対象とする。
判定の結果、該当するフローのレコードが登録されている場合は(ステップST42で「Yes」)、ステップST43に処理を進め、登録されていない場合は(ステップST42で「No」)、ステップST47に処理を進める。
ステップST43では、振分け処理部21は、受信したパケットの転送方向がフローテーブル24に登録されている該当レコードの方向フラグ242と一致しているか否かを判定する。判定の結果、方向フラグ242と一致している場合は(ステップST43で「Yes」)、ステップST45に処理を進め、方向フラグ242と不一致の場合は(ステップST43で「No」)、ステップST44に処理を進める。
ステップST44では、振分け処理部21は、当該レコードの方向フラグ242の値を、「順方向」であれば「逆方向」に、「逆方向」であれば「順方向」に反転し、カウンタ243の値を「0」に設定したのち、ステップST47に処理を進める。
一方、ステップST45では、振分け処理部21は、カウンタ243の値を+1したのち、ステップST46にて、カウンタ243の値が2以上か2未満かを判定する。判定の結果、2未満の場合は(ステップST46で「2未満」)、ステップST47に処理を進め、2以上の場合は(ステップST46で「2以上」)、ステップST49に処理を進める。
ステップST47では、振分け処理部21は、受信したパケットを識別処理部31に転送する。続くステップST48では、転送処理部22が、識別処理部31から転送されてくる処理済みのパケットを受信して外部に転送することにより、識別処理部31を経由する通常ルートによるパケットの転送を実行して処理を終了する。
また、ステップST49では、振分け処理部は、受信したパケットを転送処理部22に直接転送するカットスルー転送を実行して処理を終了する。このカットスルー転送では、受信したパケットのヘッダ部のデータだけを参照してパケット転送を行うので、パケット転送に伴うパケット転送の遅延時間を大幅に低減させることができる。
図11は、付加機能部の動作の詳細を示すフローチャートである。図11に示すように、付加機能部30は、振分け処理部21からペイロードの解析を行うべきパケットを受信すると、まず、ステップST51にて、識別処理部31が、受信したパケットのヘッダ部に記載されているフロー識別情報(5tuple)を抽出する。次に、識別処理部31は、ステップST52にて、フローテーブル24に当該フロー識別情報に対応するフローのレコードが登録されているか否かを判定する。このとき、抽出した5tupleのデータのうち、送信元IPアドレスと送信元ポート番号との対と、宛先IPアドレスと宛先ポート番号との対とを入れ換えることで得られる5tupleについても判定の対象とする。
判定の結果、該当するフローのレコードが登録されている場合は(ステップST52で「Yes」)、ステップST53に処理を進め、登録されていない場合は(ステップST52で「No」)、ステップST55に処理を進める。
ステップST53では、識別処理部31は、受信したパケットがHTTP REQUESTパケットであるか否かを判定する。判定の結果、HTTP REQUESTパケットであれば(ステップST53で「Yes」)、ステップST54に処理を進め、HTTP REQUESTパケットでなければ(ステップST53で「No」)、ステップST59に処理を進める。
ステップST54では、カットスルー設定部32はフローテーブル24から、QoS設定部33はQoSテーブル25から、それぞれ当該フローに対応するレコードを削除したのち、ステップST55に処理を進める。
ステップST55では、識別処理部31は、受信したパケットのペイロードを解析して実行されるアプリケーションに該当するURLを検出するアプリケーション識別処理を実行する。続くステップST56では、識別処理部31は、検出したURLで識別されるアプリケーションのフローが、QoS対象か、QoS対象外か、その他かを判定する。
判定の結果、動画や音声のストリーミング配信など、アプリ対応QoSテーブル34にURLが登録されているQoS対象のフローであれば(ステップST56で「QoS対象」)、ステップST57に処理を進める。また、HTMLファイルのダウンロードなど、QoS対象ではないが、多数のDATAパケットが転送されるフローであれば(ステップST56で「QoS対象外」)、ステップST58に処理を進める。これらのいずれでもないその他のフローであれば(ステップST56で「その他」)、ステップST63に処理を進める。
ステップST57では、QoS設定部33は、QoSの設定処理を実行する。より詳しくは、アプリ対応QoSテーブル34に登録されている当該アプリケーションURL341に該当するQoS制御パラメータ342の値を、QoSテーブル25の当該フローのQoS制御パラメータ252に格納する。そののち、ステップST58に処理を進める。
ステップST58では、検出したURLに該当するフローのレコードをフローテーブル24に追加登録し、当該レコードのカウンタ243を「0」に設定したのち、ステップST63に処理を進める。
ステップST59では、識別処理部31は、受信したパケットがDATAパケットか否かを判定する。判定の結果、DATAパケットであれば(ステップST59で「Yes」)、ステップST60に処理を進める。DATAパケットでなければ(ステップST59で「No」)、ステップST61に処理を進める。
ステップST60では、カットスルー設定部32は、フローテーブル24に登録されている当該フローのカウンタ243を「1」に設定したのち、ステップST63に処理を進める。
ステップST61では、識別処理部31は、受信したパケットがFINパケットか否かを判定する。判定の結果、FINパケットであれば(ステップST61で「Yes」)、ステップST62に処理を進め、FINパケットでなければ(ステップST61で「No」)、ステップST63に処理を進める。
ステップST62では、カットスルー設定部32はフローテーブル24から、QoS設定部33はQoSテーブル25から、それぞれ当該フローに対応するレコードを削除したのち、ステップST63に処理を進める。
ステップST63では、識別処理部31は、受信したパケットを転送処理部22に転送したのち、処理を終了する。
以上説明したように、本実施形態によれば、カットスルー転送が実行されている最中に、同じフローのなかでアプリケーションが切り替えられた場合に発生する逆向きのパケットが検出され、それに続くパケットは識別処理部31に転送される。そして、識別処理部31は、ペイロードを解析して実行されるアプリケーションを検出するので、確実にアプリケーションの切り替えを検出することができる。よって、実行されるそれぞれのアプリケーションのコンテンツ毎に、適切なQoS制御を実行することが可能となる。
以上にて発明を実施するための形態の説明を終えるが、本発明の実施の態様はこれに限られるものではなく、本発明の趣旨を逸脱しない範囲において、各種の変形が可能である。また、本発明は、転送されるパケットのヘッダやペイロードを解析して各種の情報を収集する用途にも適用可能である。
1 パケット転送装置
2 ユーザ端末
3 HTTPサーバ(サーバ)
4 ユーザ網(IPネットワーク)
5 通信事業者網(IPネットワーク)
6 インターネット(IPネットワーク)
20 転送機能部
21 振分け処理部
22 転送処理部
23 QoS制御部
24 フローテーブル
25 QoSテーブル
30 付加機能部
31 識別処理部
32 カットスルー設定部
33 QoS設定部
34 アプリ対応QoSテーブル(テーブル)
100 パケット転送システム

Claims (7)

  1. IPネットワークに接続されるユーザ端末と、前記ユーザ端末に所定のアプリケーションに係るサービスを提供するサーバとの間で送受されるパケットを中継するパケット転送装置であって、
    前記パケットのペイロードを解析する識別処理部と、
    前記パケットを中継先に転送する転送処理部と、
    受信した前記パケットのそれぞれを、前記識別処理部に転送する通常ルートの転送と、前記転送処理部に転送するカットスルー転送とのいずれかに振り分ける振分け処理部と、を備え、
    前記識別処理部は、前記サーバに中継する前記パケットのうちのサービス要求パケットのペイロードを解析することによって、前記所定のアプリケーションに係る前記サービス要求パケットと同一または逆の送信元及び宛先の組を有する連続した前記パケットを前記カットスルー転送に振り分けるように、前記振分け処理部に指示し、
    前記振分け処理部は、前記識別処理部からカットスルー転送を指示された対象パケットが指示された通信方向に2以上連続して受信されている間は、当該対象パケットを前記カットスルー転送に振り分ける一方、指示された通信方向と逆向きの前記パケットが受信された場合は、当該パケットに続く前記対象パケットを前記通常ルートの転送に振り分ける
    ことを特徴とするパケット転送装置。
  2. 請求項1に記載のパケット転送装置において、
    前記対象パケットによって形成されるフローの帯域制御及び優先制御を司るQoS制御部をさらに備え、
    前記識別処理部は、前記アプリケーションの識別情報と当該アプリケーションに係るフローに適用するQoS制御パラメータとが対応付けられて予め登録されたテーブルを参照することによって、当該テーブルに登録された前記アプリケーションに係る前記サービス要求パケットのペイロードを解析したときに、当該アプリケーションに対応付けられている前記QoS制御パラメータを取得し、取得した前記QoS制御パラメータを前記アプリケーションに係る前記フローに適用するように、前記QoS制御部に指示する
    ことを特徴とするパケット転送装置。
  3. 請求項1に記載のパケット転送装置において、
    前記識別処理部は、前記対象パケットを前記カットスルー転送に振り分けるように、前記振分け処理部に指示したのちに、当該対象パケットとは異なる前記所定のアプリケーションに係る前記サービス要求パケットを検知した場合、または、当該対象パケットの送受に用いられているTCPセッションの切断を検知した場合は、当該対象パケットに係る前記カットスルー転送への振分け指示を取り消す
    ことを特徴とするパケット転送装置。
  4. ユーザ端末と、前記ユーザ端末に所定のアプリケーションに係るサービスを提供するサーバと、前記ユーザ端末と前記サーバとの間で送受されるパケットを中継する請求項1から3のいずれか一項に記載のパケット転送装置とが、IPネットワークに接続されて構成されていることを特徴とするパケット転送システム。
  5. IPネットワークに接続されるユーザ端末と、前記ユーザ端末に所定のアプリケーションに係るサービスを提供するサーバとの間で送受されるパケットを中継するパケット転送装置のパケット転送方法であって、
    前記パケットのペイロードを解析する識別処理ステップと、
    前記パケットを中継先に転送する転送処理ステップと、
    受信した前記パケットのそれぞれを、前記識別処理ステップで処理する通常ルートの処理と、前記転送処理ステップで処理するカットスルー処理とのいずれかに振り分ける振分け処理ステップと、を備え、
    前記識別処理ステップでは、前記サーバに中継する前記パケットのうちのサービス要求パケットのペイロードを解析することによって、前記所定のアプリケーションに係る前記サービス要求パケットと同一または逆の送信元及び宛先の組を有する連続した前記パケットを前記カットスルー処理に振り分けるように、前記振分け処理ステップにおける処理を指示し、
    前記振分け処理ステップでは、前記識別処理ステップにてカットスルー処理を指示された対象パケットが指示された通信方向に2以上連続して受信されている間は、当該対象パケットを前記カットスルー処理に振り分ける一方、指示された通信方向と逆向きの前記パケットが受信された場合は、当該パケットに続く前記対象パケットを前記通常ルートの処理に振り分ける
    ことを特徴とするパケット転送方法。
  6. 請求項5に記載のパケット転送方法において、
    前記識別処理ステップと前記転送処理ステップとの間に、前記対象パケットによって形成されるフローの帯域制御及び優先制御を司るQoS制御ステップをさらに備え、
    前記識別処理ステップでは、前記アプリケーションの識別情報と当該アプリケーションに係るフローに適用するQoS制御パラメータとが対応付けられて予め登録されたテーブルを参照することによって、当該テーブルに登録された前記アプリケーションに係る前記サービス要求パケットのペイロードを解析したときに、当該アプリケーションに対応付けられている前記QoS制御パラメータを取得し、取得した前記QoS制御パラメータを前記アプリケーションに係る前記フローに適用するように、前記QoS制御ステップにおける処理を指示する
    ことを特徴とするパケット転送方法。
  7. 請求項5に記載のパケット転送方法において、
    前記識別処理ステップでは、前記対象パケットを前記カットスルー処理に振り分けるように、前記振分け処理ステップにおける処理を指示したのちに、当該対象パケットとは異なる前記所定のアプリケーションに係る前記サービス要求パケットを検知した場合、または、当該対象パケットの送受に用いられているTCPセッションの切断を検知した場合は、当該対象パケットに係る前記カットスルー処理への振分け指示を取り消す
    ことを特徴とするパケット転送方法。
JP2013174319A 2013-08-26 2013-08-26 パケット転送装置、パケット転送システム、及びパケット転送方法 Pending JP2015043489A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013174319A JP2015043489A (ja) 2013-08-26 2013-08-26 パケット転送装置、パケット転送システム、及びパケット転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013174319A JP2015043489A (ja) 2013-08-26 2013-08-26 パケット転送装置、パケット転送システム、及びパケット転送方法

Publications (1)

Publication Number Publication Date
JP2015043489A true JP2015043489A (ja) 2015-03-05

Family

ID=52696837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013174319A Pending JP2015043489A (ja) 2013-08-26 2013-08-26 パケット転送装置、パケット転送システム、及びパケット転送方法

Country Status (1)

Country Link
JP (1) JP2015043489A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022162779A1 (ja) * 2021-01-27 2022-08-04

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022162779A1 (ja) * 2021-01-27 2022-08-04
WO2022162779A1 (ja) * 2021-01-27 2022-08-04 三菱電機株式会社 通信装置、制御回路、記憶媒体および通信方法
JP7258254B2 (ja) 2021-01-27 2023-04-14 三菱電機株式会社 通信装置

Similar Documents

Publication Publication Date Title
US12003416B2 (en) Preemptive caching of content in a content-centric network
CN105577714B (zh) 基于软件定义网络实现内容分发网络的方法及系统
JP3923863B2 (ja) リクエストルータ装置
EP2629466B1 (en) Method, device and system for forwarding data in communication system
RU2586587C2 (ru) Терминал, устройство управления, способ связи, система связи, модуль связи, программа и устройство обработки информации
JP5587884B2 (ja) 無線アクセスネットワーク(ran)におけるコンテンツのキャッシング
KR101452283B1 (ko) 서비스 제어 방법 및 시스템, 진화 기지국 및 패킷 데이터 네트워크 게이트웨이
US20120257529A1 (en) Computer system and method of monitoring computer system
CN105122741B (zh) 业务流的业务链控制方法和装置
JP2016517647A (ja) 仮想チャネル結合
WO2019179157A1 (zh) 一种数据流量处理方法及相关网络设备
US20120314641A1 (en) Multicast-unicast handoff services
US9876877B2 (en) Special handling of a landing page
US20150127837A1 (en) Relay apparatus and data transfer method
CN105959228B (zh) 一种流量处理方法及透明缓存系统
JP2014531810A (ja) 通信端末及び方法
US20150049612A1 (en) Determining a Traffic Bearer for Data Traffic Between a Terminal and a Content Data Source of a Content Data Network
WO2013060133A1 (zh) 一种基于策略控制的缓存方法和系统
WO2021155960A1 (en) Managing service function chains
Ye et al. PTP: Path-specified transport protocol for concurrent multipath transmission in named data networks
JP2015043489A (ja) パケット転送装置、パケット転送システム、及びパケット転送方法
US20150229734A1 (en) Transparent internet cache and method for providing transparent internet cache
JP2003143236A (ja) ゲートウェイ装置
CN113840151A (zh) Ott组播网关调度方法、装置和系统、存储介质
CN109195187A (zh) 基于网络切片服务器日志文件的切换网络切片方法