JP2016063382A - 通信システム、通信方法、および、転送装置 - Google Patents

通信システム、通信方法、および、転送装置 Download PDF

Info

Publication number
JP2016063382A
JP2016063382A JP2014189524A JP2014189524A JP2016063382A JP 2016063382 A JP2016063382 A JP 2016063382A JP 2014189524 A JP2014189524 A JP 2014189524A JP 2014189524 A JP2014189524 A JP 2014189524A JP 2016063382 A JP2016063382 A JP 2016063382A
Authority
JP
Japan
Prior art keywords
communication
destination
request signal
transfer device
packet
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
Application number
JP2014189524A
Other languages
English (en)
Inventor
亮一 武藤
Ryoichi Muto
亮一 武藤
直樹 小口
Naoki Oguchi
直樹 小口
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014189524A priority Critical patent/JP2016063382A/ja
Priority to GB1513262.4A priority patent/GB2531398B/en
Priority to US14/812,548 priority patent/US20160087934A1/en
Publication of JP2016063382A publication Critical patent/JP2016063382A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports

Landscapes

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

Abstract

【課題】適切な経路での通信の確立にかかる時間を短縮する。
【解決手段】通信システムは、通信先と通信を開始する通信装置と、通信装置から通信先に送信されるパケットを転送可能な転送装置を備える。通信装置は、通信先との通信の開始を要求する第1の要求信号と、転送装置を介した通信先との通信の開始を要求する第2の要求信号を、転送装置に送信する。転送装置は、第2の要求信号の要求を許可しないことを通信装置に通知すると共に、第1の要求信号を通信先に転送する。通信装置は、第1の要求信号に対する通信先からの応答を受けて、転送装置を介さずに、通信先との通信を開始する。
【選択図】図2

Description

本発明は、複数の通信装置の間で行われる通信に関する。
複数の装置の間での通信の際に、TCP(Transmission Control Protocol)が使用されることが多いが、TCPを用いた通信では、一度、パケットの廃棄が発生すると、通信速度が大きく低下し、スループットが出にくくなる。このため、海外拠点間での通信のように往復遅延時間(Round Trip Time、RTT)が長い場合や、無線網のようにパケット廃棄率が高いネットワークを経由する通信では、TCPを用いると、効率が悪くなりやすい。そこで、WAN(Wide Area Network)高速化装置を用いてデータ転送が高速化されるケースが増えている。WAN高速化装置は、ネットワークのクライアント側とサーバ側の両端に設置される。クライアント装置からTCPパケットを受信したWAN高速化装置は、パケットで使用するプロトコルを高速プロトコルに変換した後、サーバ側のWAN高速化装置に転送する。サーバ側のWAN高速化装置は、クライアント側のWAN高速化装置から受信したパケットをTCPパケットに変換したうえで、サーバに転送する。
しかし、パケットの送信元と宛先との間のネットワークにおいて、往復遅延時間が短く、パケット廃棄率も低い場合、高速プロトコルを使用しない通信でも通信性能が比較的高いことが期待できる。この場合、WAN高速化装置でプロトコルを変換する場合よりも、プロトコルの変換を行わずに転送する方が、送信元から宛先にパケットが到達するまでの時間が短いことがある。そこで、プロトコルの変換による転送の高速化が期待できない場合、WAN高速化装置でのプロトコルの変換処理を行わずにパケットを転送することが望ましい。そこで、データの送信元から宛先に至る経路に応じて、WAN高速化装置が高速プロトコルを用いた転送処理を行うか(送信ポリシ)を決め、送信元がWAN高速化装置で決定された情報を取得することが試みられている。
図1は、WAN高速化装置から送信ポリシを取得する方法の例を示す図である。図1のケースC1は、クライアント装置7のリダイレクタ11がWAN高速化装置5に送信ポリシを要求し、WAN高速化装置5からの応答として、送信ポリシ16がクライアント装置7に通知される場合の例を示している。ケースC2は、WAN高速化装置5がクライアント装置7に定期的に送信ポリシを配布する場合の例を示している。ケースC1とC2のいずれにおいても、リダイレクタ11は、高速プロトコルを用いた転送を行わないことが通知された通信については、矢印Aに示すように、パケットをWAN高速化装置5に転送しない。一方、リダイレクタ11は、高速プロトコルを用いた転送を行うことが通知された通信に使用されるパケットを、矢印Bに示すように、DNAT(Destination Network Address Translation)13を介してWAN高速化装置5に転送する。WAN高速化装置5では、カーネル15と高速プロトコル処理部17での処理を経て、高速プロトコルによる転送が行われる。
関連する技術として、WANへの転送対象であるが優先制御の対象ではないパケットを拠点から受信すると、受信パケットに高速化処理を施した上で、帯域制御装置に送信するWAN高速化装置を含むシステムが提案されている。このシステムでは、帯域制御装置は、WAN高速化装置から受信したパケットを用いて、帯域の割り当てを行う(例えば、特許文献1など)。また、ノード間で交換した記述メッセージ中のメディアセッションに関する潜在的設定を示すオプションタグを、サポートされる設定と比較した結果に基づいて、記述メッセージを修正することも考案されている(例えば、特許文献2など)。ノードに対するフロー制御を行うコントローラが、指定された迂回ノードを通らない経路を計算し、経路を形成するノードにフロー情報を設定するシステムも提案されている(例えば、特許文献3など)。
特開2013−34063号公報 特表2012−506664号公報 国際公開第2011/043379号
通信装置が、WAN高速化装置にポリシ情報の送信を要求し、得られた送信ポリシに応じて、宛先に送信するデータをWAN高速化装置に転送するかを決定する場合、転送装置は、送信ポリシを受信するまでデータの送信を行わずに待機する。このため、処理に時間がかかるという問題がある。一方、WAN高速化装置が定期的に送信ポリシを配布する場合では、送信ポリシの変更後で新たな送信ポリシの送信前に、通信装置が通信を開始すると、適切な経路での通信ができない。
本発明は、適切な経路での通信の確立にかかる時間を短縮することを目的とする。
ある態様にかかる通信システムは、通信先と通信を開始する通信装置と、前記通信装置から前記通信先に送信されるパケットを転送可能な転送装置を備える。前記通信装置は、前記通信先との通信の開始を要求する第1の要求信号と、前記転送装置を介した前記通信先との通信の開始を要求する第2の要求信号を、前記転送装置に送信する。前記転送装置は、前記第2の要求信号の要求を許可しないことを前記通信装置に通知すると共に、前記第1の要求信号を前記通信先に転送する。前記通信装置は、前記第1の要求信号に対する前記通信先からの応答を受けて、前記転送装置を介さずに、前記通信先との通信を開始する。
適切な経路での通信の確立にかかる時間が短縮される。
WAN高速化装置から送信ポリシを取得する方法の例を示す図である。 実施形態にかかる方法の例を示す図である。 通信装置の構成の例を示す図である。 転送装置の構成の例を示す図である。 ハードウェア構成の例を示す図である。 ネットワークの例を示す図である。 第1の実施形態で行われる通信処理の例を示すシーケンス図である。 送信ポリシの例を示す図である。 送信ポリシテーブルの例を示す図である。 高速化対象テーブルの例を示す図である。 SYNパケットを送信する転送装置が行う処理の例を説明するフローチャートである。 RSTパケットを受信した転送装置が行う処理の例を説明するフローチャートである。 第2の実施形態で行われる通信処理の例を示すシーケンス図である。 送信ポリシの例を示す図である。 GREトンネルを経由して転送されるパケットのフォーマットの例を示す図である。 送信元変換テーブルの例を示す図である。 第3の実施形態で使用される送信ポリシテーブルの例を示す図である。 第3の実施形態で行われる通信処理の例を示すシーケンス図である。 高速化対象テーブルの例を示す図である。 第4の実施形態で使用される送信ポリシテーブルの例を示す図である。 第4の実施形態で行われる通信処理の例を示すシーケンス図である。 高速化対象テーブルの例を示す図である。
図2は、実施形態にかかる方法の例を示す。図2に示す転送装置40は、WAN高速化装置として動作できるものとする。以下、通信装置20がアプリケーションサーバ9との通信を開始する場合を例として、実施形態にかかる方法で行われる処理の例を説明する。
矢印A1に示すように、まず、通信装置20中のアプリケーション処理部12は、アプリケーションサーバ9との間の通信を確立するために、アプリケーションサーバ9宛に、アプリケーションサーバ9との間の通信を要求する要求信号を生成する。ここで、要求信号として、例えば、TCPヘッダ中のフラグビットのうちのSYN(Synchronize)ビットの値が1に設定されているパケット(SYNパケット)などが使用され得る。生成された要求信号は、リダイレクタ30に入力される。
リダイレクタ30は、入力された要求信号を複製する。リダイレクタ30は、1つの要求信号(第1の要求信号)を、転送装置40に転送する(矢印A2)。宛先変換部24は、複製された要求信号を、転送装置40に宛てて、転送装置40を介したアプリケーションサーバ9との通信の開始を要求する第2の要求信号に変換する。さらに、通信装置20は、第2の要求信号を、転送装置40に送信する(矢印A3)。
転送装置40のフィルタ44は、通信装置20から送信された第1および第2の要求信号を取得する。フィルタ44は、送信ポリシ51を用いて、通信装置20に対して、転送装置40を介したアプリケーションサーバ9との通信を許可するかを判定する。送信ポリシ51には、アプリケーションサーバ9宛のパケットを、高速プロトコルを用いて転送するかを示す情報が記載されている。アプリケーションサーバ9宛のパケットを、高速プロトコルを用いて転送することが送信ポリシ51に記載されていない場合、フィルタ44は、第2の要求信号に対する応答として、通信の拒否を、通信装置20に通知するためのパケットを送信する(矢印A4)。例えば、フィルタ44は、アプリケーションサーバ9宛のパケットを高速プロトコルで転送しないことが送信ポリシ51に記載されている場合、第2の要求信号の応答として、通信装置20にRST(Reset)パケットを送信することができる。ここで、RSTパケットは、TCPヘッダ中のフラグビットのうちのRSTビットの値が1に設定されているパケットである。
矢印A4において、転送装置40から第2の要求信号を用いて要求した通信に対する拒否を通知されると、リダイレクタ30は、アプリケーションサーバ9宛のパケットは転送装置40に転送しないものと判定する。そこで、リダイレクタ30は、アプリケーションサーバ9宛のパケットは転送装置40に転送しないことを、送信ポリシテーブル35に記録する。このため、以後の処理では、アプリケーションサーバ9宛のパケットは転送装置40に転送されなくなる。
矢印A5において、フィルタ44は、アプリケーションサーバ9宛のパケットを、高速プロトコルを用いて転送することが送信ポリシ51に記載されていない場合、第1の要求信号をアプリケーションサーバ9に転送する。なお、第1の要求信号では、送信元は通信装置20、宛先はアプリケーションサーバ9に設定されているので、アプリケーションサーバ9は、第1の要求信号を通信装置20から受信したと判定する。
矢印A6において、アプリケーションサーバ9は、第1の要求信号に対して、通信装置20からアプリケーションサーバ9に向かう方向の通信の許可とともに、アプリケーションサーバ9から通信装置20に向けた通信の開始を要求する。矢印A6の信号として、例えば、TCPのSYN/ACK(Acknowledge)パケットが使用されうる。
矢印A6の信号を受信すると、通信装置20は、アプリケーションサーバ9との間の通信を行うために、矢印A7に示すように、転送装置40を介さない経路を使用する。以後、通信装置20からアプリケーションサーバ9に向かう通信では、矢印A7に示す経路が使用され、アプリケーションサーバ9から通信装置20に向かう通信では、矢印A6に示す経路が使用される。
このように、転送装置40は、通信装置20から転送装置40に転送された第1および第2の要求信号のうち、転送装置40において決定された送信ポリシ51の内容に反する信号に対して、通信の拒否を通信装置20に通知する。このため、通信装置20は、転送装置40で決定された送信ポリシの取得を待たずに、通信を開始しても、送信ポリシに合った通信を開始できる。
また、転送装置40は、転送装置40を介したアプリケーションサーバ9との通信を拒否する場合、アプリケーションサーバ9宛ての要求信号(第1の要求信号)をアプリケーションサーバ9に転送する。このため、転送装置40を経由するアプリケーションサーバ9との通信が拒否される場合でも、通信装置20はアプリケーションサーバ9との通信を開始することができる。
<装置構成>
以下、通信装置20がアプリケーションサーバ9との間の通信を開始する場合を例として説明するが、通信装置20の通信先は、アプリケーションサーバ9以外の任意の装置であってもよい。
図3は、通信装置20の構成の例を示す図である。通信装置20は、アプリケーション処理部12、振分部21、宛先変換部22、送達処理部23、宛先変換部24、インタフェース部25、送信元変換部26、リダイレクタ30、送信ポリシテーブル35、送信元変換テーブル36を備える。リダイレクタ30は、複製部31とポリシ判別部32を有する。
アプリケーション処理部12は、アプリケーションクライアントとして動作する。すなわち、アプリケーション処理部12は、アプリケーションを用いた処理をおこない、通信を開始するための通信要求を生成する。振分部21は、送信パケットの種類に応じて、パケットを振り分ける。振分部21は、送信ポリシテーブル35を参照することにより、要求信号を複製部31に出力する。要求信号以外のパケットについても、振分部21は、送信ポリシテーブル35などを用いて、転送装置40に転送するパケットを宛先変換部22に出力し、転送装置40を介さずに転送処理を行うパケットをインタフェース部25に出力する。送信ポリシテーブル35の例などについては後述する。宛先変換部22は、入力されたパケットを転送装置40に転送するために、宛先の変換処理を行う。
複製部31は、アプリケーションサーバ9宛に通信の開始を要求する要求信号が入力されると、要求信号を複製する。複製部31は、複製により得られた一方の要求信号を送達処理部23、他方の要求信号を宛先変換部24に出力する。送達処理部23は、入力された要求信号を、アプリケーションサーバ9宛に通信の開始を要求する第1の要求信号として、転送装置40に送信するための送信処理を行う。送達処理部23での処理については、後で詳しく述べる。宛先変換部24は、入力された要求信号のIPアドレスなどを転送装置40のアドレスなどに変更することにより、転送装置40宛に転送装置40を介したアプリケーションサーバ9との通信を要求するための第2の要求信号を生成する。インタフェース部25は、振分部21、宛先変換部22、送達処理部23、宛先変換部24から入力されたパケットの送信を行う。さらに、インタフェース部25は、他の装置から受信したパケットを、アプリケーション処理部12、ポリシ判別部32、または、送信元変換部26に出力する。
ポリシ判別部32は、転送装置40から送信された通信拒否の通知を取得すると、送信ポリシを振分部21の処理に使用できる形式で保持する。例えば、ポリシ判別部32は、得られた情報を用いて送信ポリシテーブル35を変更しても良い。また、ポリシ判別部32は、得られた情報を送信ポリシテーブル35には書き込まずに、送信ポリシテーブル35の追加情報としてメモリ(図5参照)にキャッシュすることもできる。送信元変換部26は、転送装置40から送信された通信拒否の通知以外のパケットを取得し、送信元変換テーブル36を用いて、送信元のアドレス等を変換する。
図4は、転送装置40の構成の例を示す図である。転送装置40は、インタフェース部41、計測部42、送信ポリシ生成部43、フィルタ44、プロキシ処理部45、高速プロトコル処理部46、送信ポリシ51、高速化対象テーブル52、性能テーブル53を備える。
インタフェース部41は、他の装置との間でパケットを送受信する。計測部42は、高速プロトコルを用いたパケットの転送先となる転送装置40との間の回線の通信品質を測定する。計測部42は、計測によって得られた通信品質を、性能テーブル53に記録する。このとき、計測部42は、通信装置20の通信処理に使用されるアプリケーションのバーストサイズや通信間隔などの情報に対応付けて、通信品質を性能テーブル53に記録しても良い。送信ポリシ生成部43は、性能テーブル53や使用されるアプリケーションの情報などを用いて、高速プロトコルを用いるかを表す送信ポリシ51を決定する。高速化対象テーブル52は、高速プロトコルを用いた処理を行うかの判定の対象となるコネクションの情報が記録される。高速化対象テーブル52の例は後で示す。
フィルタ44は、高速化対象テーブル52から特定された第1の要求信号と第2の要求信号のうちで、送信ポリシ51に沿っていない通信の開始を要求する信号に対する応答として、通信開始の拒否を通信装置20に通知する。また、フィルタ44は、高速プロトコルを用いた通信を許可しないときは、第1の要求信号の転送処理のための制御部としても動作する。プロキシ処理部45は、高速プロトコルを用いた処理の対象となっている受信パケットに対して、そのパケットで使用されているTCPなどの高速プロトコル以外のプロトコルを終端する。高速プロトコル処理部46は、入力されたパケットを、高速プロトコルを用いて処理する。なお、高速プロトコルは、TCPでの通信の高速化処理に使用されうる任意のプロトコルである。
図5は、ハードウェア構成の例を示す図である。通信装置20と転送装置40のいずれも、プロセッサ61、メモリ62、バス64、NIC(Network Interface Card)65(65a、65b)を備える。プロセッサ61は、適宜、メモリ62からプログラムを読み込んで、読み込んだプログラムを実行する。バス64は、プロセッサ61、メモリ62、NIC65を、相互にデータの入出力が可能になるように接続する。図5にはNIC65が2つ含まれる場合の例を示しているが、通信装置20と転送装置40のいずれも、任意の数のNIC65を備えることができる。通信装置20と転送装置40のいずれも、オプションとして、ストレージ63、入力装置66、出力装置67を備えることができる。
通信装置20において、プロセッサ61は、振分部21、宛先変換部22、送達処理部23、宛先変換部24、送信元変換部26、リダイレクタ30、アプリケーション処理部12として動作する。送信ポリシテーブル35と送信元変換テーブル36は、メモリ62に記憶される。インタフェース部25は、NIC65とプロセッサ61により実現される。
転送装置40において、プロセッサ61は、計測部42、送信ポリシ生成部43、フィルタ44、プロキシ処理部45、高速プロトコル処理部46を実現する。メモリ62は、送信ポリシ51、高速化対象テーブル52、性能テーブル53を記憶し、さらに、プロセッサ61で使用されるデータを、適宜、記憶する。インタフェース部41は、NIC65とプロセッサ61により実現される。
<第1の実施形態>
以下、通信装置20がTCPを用い、アプリケーションサーバ9に通信の開始を要求するために、SYNパケットを要求信号として使用する場合を例として、第1の実施形態を説明する。
図6は、ネットワークの例を示す。以下の説明では、通信装置20とアプリケーションサーバ9の間の通信経路には、WAN1やルータ3(3a〜3d)が含まれているものとする。なお、図6は一例であり、通信装置20とアプリケーションサーバ9の間の通信経路に含まれるルータ3の数は任意である。転送装置40aは、ネットワークの通信装置20側、転送装置40bはネットワークのアプリケーションサーバ9側に設置される。以下の説明では、転送装置40aと通信装置20は同じサブネットワークに属しているものとする。また、転送装置40bとアプリケーションは同じサブネットワークに属しているものとする。
通信装置20とアプリケーションサーバ9の間で送受信されるパケットが高速プロトコルを用いないで転送される場合、図6の実線の矢印で示すように、通信装置20とアプリケーションサーバ9の間で、転送装置40を介さずに通信が行われる。以下の説明では、転送装置40を介さずに、通信装置20とアプリケーションサーバ9の間で送受信されるパケットがTCPにより転送される場合の転送方法を「TCPスルー」と記載することがある。
高速プロトコルを用いる通信が行われる場合、通信装置20に含まれるリダイレクタ30は、アプリケーションサーバ9宛のパケットを転送装置40aにリダイレクトする。通信装置20側に設置された転送装置40aは、TCPプロトコルを終端し、アプリケーションサーバ9宛のデータを、高速プロトコルを用いてサーバ側に設置された転送装置40bに転送する。転送装置40bは、高速プロトコルを用いた通信を終端し、データをTCPにより、アプリケーションサーバ9に転送する。このとき、転送装置40bは、サーバ宛のパケットのアドレスやポートの情報を、アプリケーションサーバ9がデータを通信装置20とアプリケーションサーバ9の間で形成されたTCPセッションを経由して取得したと認識できるように設定する。アプリケーションサーバ9から通信装置20へのデータの送信も、同様に処理される。なお、アプリケーションサーバ9からの送信パケットは、リダイレクタ11により転送装置40bに転送される。このため、図6の破線の矢印で示した領域ではTCPを用いた通信が行われるが、一点鎖線の矢印で示す領域では高速プロトコルを用いた通信が行われる。
また、以下の説明において、通信装置20には、192.168.1.10というIPアドレスが割り当てられ、転送装置40aには、192.168.1.100というIPアドレスが割り当てられているものとする。なお、転送装置40aでの待ち受けTCPポートは6100ポートであるものとする。さらに、転送装置40bには、192.168.0.100が割り当てられ、アプリケーションサーバ9には、192.168.0.10というIPアドレスが割り当てられているものとする。なお、アプリケーションサーバ9での待ち受けTCPポートは5100ポートであるものとする。
図7は、第1の実施形態で行われる通信処理の例を示すシーケンス図である。なお、図7に示すシーケンスは一例であり、実装に応じて変更されうる。例えば、ステップS6、S7の処理とステップS8、S9の処理は、順序が互いに変更されてもよく、また、並行して行われてもよい。また、以下の説明では、動作を行っている装置を区別し易くするために、符号の後に動作を行っている転送装置40に割り当てられたアルファベットを記載することがある。例えば、フィルタ44aは、転送装置40aに含まれているフィルタ44である。
図7のステップS1において、転送装置40aの計測部42aは、転送装置40bの計測部42bとの間で計測用のパケットの送受信を行うことにより、転送装置40aと転送装置40bの間の通信回線の品質を計測する。通信品質の測定は、通信装置20が使用するプロトコルと高速プロトコルの両方について行われる。通信品質としては、往復遅延時間、パケットの廃棄率、スループットなどが計測される。
ステップS2において、転送装置40a中の送信ポリシ生成部43は、得られた通信品質に基づいて、高速プロトコルを使用しうる通信装置20からのパケットの転送に、高速プロトコルを使用するかを判定し、送信ポリシ51を生成する。ここでは、送信ポリシ51として、アプリケーションサーバ9のTCP待ち受けポート(5100ポート)に宛てたパケットは、高速プロトコルを用いずに転送することが決定されたとする。
図8は、送信ポリシ51の例である。送信ポリシ51は、通信装置20がアクセスする可能性のある通信先ごとに、方路情報、宛先変換情報が対応付けられている。方路情報は、通信装置20において、通信装置20が通信先に送信しようとするパケットの宛先に指定される装置を特定する情報である。宛先変換情報は、通信装置20が通信先に送信するパケットを方路情報に示す装置にパケットを転送するために使用するアドレス情報である。すなわち、通信装置20は、通信先の欄に設定されている装置に宛てたパケットを、方路情報に示す装置に転送するために、宛先変換情報として記載されている宛先を宛先として指定する。図8の例では、アプリケーションサーバ9の5100番ポートに宛てたパケットの方路がアプリケーションサーバ9に設定されており、通信装置20に宛先の変換を行わせないことが表わされている。従って、図8の送信ポリシ51が使用される場合、通信装置20がアプリケーションサーバ9に送信したパケットは、高速プロトコルを用いずに、TCPスルーで転送されることになる。
ステップS3において、通信装置20のアプリケーション処理部12がアプリケーションサーバ9との通信を開始するために、SYNパケットを生成したとする。ここで、SYNパケットの送信元IPアドレスは通信装置20のアドレス(192.168.1.10)であり、宛先IPアドレスは、アプリケーションサーバ9のアドレス(192.168.0.10)である。また、宛先ポート番号は、アプリケーションサーバ9のTCP待ち受けポートの番号(5100)に設定される。アプリケーション処理部12は、生成したSYNパケットを振分部21に出力する。振分部21は、送信ポリシテーブル35を参照することにより、SYNパケットの出力先を決定する。
図9は、送信ポリシテーブル35の例を示す。送信ポリシテーブル35には、転送装置40を介した転送処理の対象となりうるパケットについて、出力先とパケットの宛先の変更条件が記載されている。振分部21は、処理対象のパケットの宛先アドレス、宛先ポート番号などの情報の組み合わせをキーとして、送信ポリシテーブル35中に、処理対象のパケットに適用する条件があるかを判定する。図9の例では、1番目のエントリに、アプリケーションサーバ9の5100ポート宛のSYNパケットは、リダイレクタ30に出力することが記録されている。そこで、振分部21は、1番目のエントリの出力先の情報に従って、処理対象のパケットを複製部31に出力する(ステップS4)。
複製部31は、入力されたSYNパケットを複製して、一方を送達処理部23、他方を宛先変換部24に出力する(ステップS5)。
ステップS6において、送達処理部23は、入力されたSYNパケットの宛先MAC(media access control)アドレスを、転送装置40aのNIC65に割り当てられたアドレスに設定する。送達処理部23の処理により、SYNパケットの宛先MACアドレスは00:50:56:C0:00:01に設定されたものとする。なお、SYNパケットの宛先IPアドレスと宛先ポートは変更されないので、宛先IPアドレスはアプリケーションサーバ9に割り当てられた192.168.0.10であり、宛先ポート番号は5100である。送達処理部23は、MACアドレスの変更後のSYNパケットを、TCPスルーでの通信の要求を行うためのパケットとして転送装置40aに転送する。すなわち、送達処理部23の処理によって、第1の要求信号が転送装置40aに転送される。
ステップS7において、転送装置40aのフィルタ44aは、インタフェース部41aを介して、第1の要求信号を受信する。フィルタ44aは、第1の要求信号により、通信装置20からアプリケーションサーバ9の5100ポート宛の通信の開始が要求されているので、第1の要求信号に基づく通信は、送信ポリシ51(図8)に反していないと判定する。そこで、フィルタ44aは、第1の要求信号をアプリケーションサーバ9に転送することを決定する。フィルタ44aは、第1の要求信号を、インタフェース部41aを介して、アプリケーションサーバ9に向けて転送する。
次に、ステップS8を参照しながら、複製部31から宛先変換部24に出力されたSYNパケットの処理について説明する。宛先変換部24は、入力されたSYNパケットの宛先アドレスと宛先ポートをキーとして、送信ポリシテーブル35(図9)を検索する。図9に示す送信ポリシテーブル35には、1番目のエントリに、アプリケーションサーバ9の5100ポート宛のSYNパケットについて、変換後の宛先が転送装置40aに設定されている。そこで、宛先変換部24は、SYNパケットのアドレス情報とポート情報を、以下のように変更する。
宛先IPアドレス =192.168.1.100(転送装置40a)
宛先ポート =6100
宛先MACアドレス=00:50:56:C0:00:01
送信元IPアドレス=192.168.1.100(通信装置20)
従って、宛先変換部24に入力されたSYNパケットは、アドレスの変更により、転送装置40a宛のSYNパケットに変換される。宛先変換部24は、処理後のパケットを、第2の要求信号として、インタフェース部25を介して、転送装置40aに送信する(ステップS8)。
ステップS8において、転送装置40aのフィルタ44aは、インタフェース部41aを介して、第2の要求信号を受信する。フィルタ44aは、第2の要求信号により、通信装置20から転送装置40a宛の通信の開始が要求されているので、高速化対象テーブル52を参照する。
図10は、高速化対象テーブル52aの例を示す図である。高速化対象テーブル52は、第1および第2の要求信号の宛先アドレスと宛先ポートの組み合わせに、第1及び第2の要求信号の元となったパケットの宛先アドレスと宛先ポートを対応付けている。フィルタ条件は、第1および第2の要求信号の宛先アドレスと宛先ポートの組み合わせである。一方、通信先の欄は、第1及び第2の要求信号の元となったパケットの宛先アドレスと宛先ポートである。すなわち、フィルタ44aは、高速化対象テーブル52aを参照することにより、自装置宛のSYNパケット(第2の要求信号)が他の装置宛のSYNパケットに対応して送信されたかを特定できる。
フィルタ44aは、第2の要求信号の宛先アドレスと宛先ポートの組み合わせを含むフィルタ条件を有するエントリを、高速化対象テーブル52aから検索する。フィルタ44aは、高速化対象テーブル52の1番目のエントリを用いて、第2の要求信号は、アプリケーションサーバ9の5100ポート宛のSYNパケットに基づいて生成されたことを特定する。
フィルタ44aは、送信ポリシ51a(図8)を参照することにより、アプリケーションサーバ9の5100ポート宛のパケットを、高速プロトコルを用いて転送しないことを特定する。すると、フィルタ44aは、第2の要求信号で要求された通信を許可しないことを示す通知を、第2の要求信号に対する応答として通信装置20に送信する。図7の例では、フィルタ44aは、第2の要求信号に対する応答として、転送装置40aから通信装置20に宛てたRSTパケットを生成する。フィルタ44aは、生成したRSTパケットを、インタフェース部41aを介して、通信装置20に送信する(ステップS9)。
ステップS10において、通信装置20のポリシ判別部32は、インタフェース部25を介して、RSTパケットを受信する。ポリシ判別部32は、RSTパケットを取得すると、送信ポリシテーブル35(図9)を参照することにより、RSTパケットの送信元に対応付けられている通信先を特定する。すなわち、送信ポリシテーブル35の宛先変換の欄を、RSTパケットの送信元IPアドレスと送信元ポート番号の組合せをキーとしてサーチしたときにヒットするエントリを用いて、どの装置との通信が転送装置40aを介さないかを特定する。ステップS9で送信されてきたパケットの送信元IPアドレスは192.168.1.100の6100ポートである。そこで、ポリシ判別部32は、送信ポリシテーブル35より、アプリケーションサーバ9(192.168.0.10)の5100ポートとの通信に高速プロトコルが使用されないことを特定する。ポリシ判別部32は、アプリケーションサーバ9の5100ポート宛のSYNパケット以外のパケットは転送装置40aに転送しないことを、振分部21が使用できる情報としてメモリ62に記憶する。
ステップS11において、転送装置40aからアプリケーションサーバ9に転送された第1の要求信号に応答して、アプリケーションサーバ9から通信の許可と、アプリケーションサーバ9から通信装置20に向かう通信の要求が行われたとする。ここでは、ACK/SYNパケットがアプリケーションサーバ9から通信装置20に送信されている。
ステップS12において、通信装置20のアプリケーション処理部12は、アプリケーションサーバ9に対して、アプリケーションサーバ9から通信装置20に向かう通信を許可するためのACKパケットを生成する。アプリケーション処理部12で生成されたACKパケットは、振分部21に出力される。振分部21は、ACKパケットの宛先がアプリケーションサーバ9の5100ポートであることから、ステップS10での処理で得られた情報を用いて、ACKパケットを転送装置40aに転送しないことを特定する。そこで、振分部21は、ACKパケットをインタフェース部25に出力する。このため、アプリケーションサーバ9の5100ポート宛のACKパケットは、ステップS12に示すように、通信装置20から転送装置40aを介さずにアプリケーションサーバ9に送信される。その後、通信装置20とアプリケーションサーバ9の間で、転送装置40aおよび転送装置40bを介さずに、データ通信が開始される(ステップS13)。
図11は、SYNパケットを送信する転送装置20が行う処理の例を説明するフローチャートである。図11の例でも、通信装置20の通信先はアプリケーションサーバ9であるものとする。
通信装置20のアプリケーション処理部12は、通信を開始する際に、通信先の装置宛のSYNパケットを生成する(ステップS21)。SYNパケットは、振分部21を経て複製部31に出力される。複製部31は、入力されたSYNパケットを複製する(ステップS22)。複製されたSYNパケットのうちの一方は、高速プロトコルを用いた転送処理を要求するために、転送装置40a宛てのSYNパケットに変更される(ステップS23)。なお、他方のSYNパケットは、TCPスルーによる通信の開始を要求するために、アプリケーションサーバ9宛のSYNパケットのままで送信処理の対象となる。
さらに、通信装置20は、ループ端L1とループ端L2に挟まれたステップで示されている送信処理を実行する。このため、転送装置40宛に変更されたSYNパケットは、インタフェース部25などの処理により、転送装置40に送信される(ステップS24でYes、ステップS25)。一方、アプリケーションサーバ9宛のSYNパケットは、送達処理部23において、宛先MACアドレスが転送装置40のMACアドレスに変換された後で、インタフェース部25などの処理により、転送装置40に送信される(ステップS24でNo、ステップS26)。転送装置40宛のSYNパケットと、アプリケーションサーバ9宛てのSYNパケットの両方の送信が終わると、通信装置20は、SYNパケットの送信処理を終了する。
図12は、RSTパケットを受信した転送装置20が行う処理の例を説明するフローチャートである。ここで、RSTパケットは、通信装置20が開始を要求した通信に対する通信の拒否を示すパケットである。ポリシ判別部32は、RSTパケットを受信すると、送信元が転送装置40であるかを判定する(ステップS31、S32)。RSTパケットの送信元が転送装置40である場合、ポリシ判別部32は、送信ポリシテーブル35を用いて、RSTパケットの送信元に対応付けられたアプリケーションサーバ9を特定する(ステップS32でYes、ステップS33)。さらに、ポリシ判別部32は、特定したアプリケーションサーバ9宛のパケットを、転送装置40に転送しないことを認識し、得られた結果を送信ポリシテーブル35に記録する(ステップS34、S36)。
一方、RSTパケットの送信元が転送装置40ではない場合、ポリシ判別部32は、RSTパケットの送信元に宛てたパケットが高速プロトコルを用いて転送されると判定する(ステップS32でNo、S35)。そこで、ポリシ判別部32は、RSTパケットの送信元に宛てたパケットを転送装置40に転送することを、送信ポリシテーブル35に記録する(ステップS36)。
なお、図12では、RSTパケットから得られた情報が送信ポリシテーブル35に書き込まれる場合を例として説明したが、図7を参照しながら述べたように、RSTパケットを用いて特定された送信ポリシは、メモリ62にキャッシュされても良い。
このように、転送装置40は、通信装置20から転送装置40に転送された第1および第2の要求信号のうち、送信ポリシ51の内容に反する信号に対して、通信の拒否を通信装置20に通知する。このため、通信装置20とアプリケーションサーバ9の間でTCPスルーによる通信を行わせることが転送装置40で決定されている場合、通信装置20は、第2の要求信号に対する通信の拒否を取得することにより、送信ポリシを取得することができる。また、通信装置20は、転送装置40で決定された送信ポリシの取得を待たずに、通信を開始しているにも関わらず、送信ポリシに合った通信を開始できる。
従って、第1の実施形態を用いると、通信確立にかかる時間を短縮できる。例えば、図1で示すケースC1の場合、通信確立にかかる時間ΔT1は、送信ポリシの問い合わせにかかる時間TIとスリーウェイハンドシェークにかかる時間TCの和となる。一方、第1の実施形態にかかる方法では、通信確立にかかる時間ΔT2は、スリーウェイハンドシェークにかかる時間TCに近似できる。ここで、送信ポリシの問い合わせにかかる時間は、RTTに近似できるので、第1の実施形態を用いることにより、ケースC1を用いて接続処理を行うよりも、1回の接続の確立がRTTだけ早く行われる。例えばWebブラウジングのような場合、ページを読み込む度にTCPコネクションが確立されるので、第1の実施形態を用いると、ページを読み込む際に生成される各TCPコネクションの確立を高速化できることになる。
さらに、第1の実施形態では、通信装置20が転送装置40に送信ポリシ51を問合わせないことにより、通信装置20が通信の確立のために送信するデータ量も削減できる。例えば、図1のケースC1のように、問い合わせを行う場合、問い合わせにかかるデータ量d1は、300バイトであるとする。SYNパケットとACKパケットは、いずれも64バイトであり、Webブラウジングでのページの読み込みには、1ページ当たり37セッションが発生するとする。すると、ケースC1では、1ページの読み込みのために送受信される制御データ量のD1は、以下のように計算できる。
D1=(d1+SYN+ACK)×37
=(300+64+64)×37=15837バイト
一方、第1の実施形態を用いるときに送受信される制御データの量D2は、以下のとおりである。
D2=(SYN×2+ACK)×37
=(64×2+64)×37=7104バイト
従って、第1の実施形態を用いると、ケースC1に比べて2倍以上の制御データの削減効果がある。さらに、図2のケースC2で示す通信方法のように、確立済みのTCPコネクションに影響を与えて通信を切断させる恐れも無い。
なお、第1の実施形態では、TCPスルーで転送されるパケットを通信装置20が転送装置40aに送信しないため、転送装置40aの処理負担も軽減されているといえる。もし全てのパケットを通信装置20が転送装置40aにリダイレクトしてしまうと、TCPスルーを行うパケットも転送装置40aに転送される。この場合、TCPスルーの対象となるパケットは、フィルタ44aによって、アプリケーションサーバ9宛てのパケットとして転送されることになる。しかし、転送装置40aが通信装置20からアプリケーションサーバ9までの最短の経路中に含まれていない場合、転送装置40aへのリダイレクトにより、通信の無駄が発生する上に、転送装置40aの負荷を増大してしまう。第1の実施形態を用いると、TCPスルーのパケットが通信装置20から転送装置40aに転送されないので、通信効率が良く、また、転送装置40aの負担も小さくなる。
<第2の実施形態>
第2の実施形態では、通信装置20とアプリケーションサーバ9の間で送受信されるパケットを、高速プロトコルを用いて転送処理することが決定されるケースでの処理の例を説明する。なお、第2の実施形態では、送達処理部23がアプリケーションサーバ9宛のSYNパケット(第1の要求信号)を転送装置40aに転送するために、トンネルを使用する場合を例とする。以下、送達処理部23がGRE(Generic Routing Encapsulation)トンネルを用いて第1の要求信号を転送装置40aに転送する場合を例として説明するが、GRE以外のトンネリングによって第1の要求信号が転送装置40aに転送されても良い。
なお、第2の実施形態では、図示しやすくするために、転送装置40aに割り当てられたIPアドレスをWA−C、通信装置20に割り当てられたIPアドレスをAPL CLと表記することがある。同様に、アプリケーションサーバ9に割り当てられたIPアドレスを、APL SVと示すことがある。
図13は、第2の実施形態で行われる通信処理の例を示すシーケンス図である。ステップS41、S42で行われる処理は、図7のステップS1〜S2を参照しながら説明した処理と同様である。
図14は、第2の実施形態で使用される送信ポリシ51の例を示す。図14の例では、アプリケーションサーバ9の5100番ポートに宛てたパケットの方路が転送装置40aに設定されている。図14の送信ポリシ51には、通信装置20に、アプリケーションサーバ9の5100ポート宛のパケットの宛先を、転送装置40a(192.168.1.10)の6100ポートに変換させることが表わされている。従って、図14の送信ポリシ51が使用される場合、通信装置20がアプリケーションサーバ9に送信するパケットは、転送装置40aを経由して高速プロトコルを用いた転送処理が行われることになる。
ステップS43〜S45で行われる処理は、図7のステップS3〜S5を参照しながら説明した処理と同様である。なお、ステップS43で生成されるSYNパケットでは、宛先はアプリケーションサーバ9の5100番ポートである。その後、第1の実施形態と同様に、送達処理部23は、TCPスルーによる通信を要求するための第1の要求信号を、複製部31から取得する。送達処理部23は、第1の要求信号をカプセル化する。
図15は、GREトンネルを経由して転送されるパケットのフォーマットの例を示す。第1の要求信号のフォーマットの例(P1)を、比較対象として図15に示す。P1に示すように、第1の要求信号は、IPヘッダ、TCPヘッダ、ペイロードを含む。送達処理部23は、第1の要求信号のIPヘッダの前に、P2に示すように、GREヘッダとIPヘッダを付す。以下の説明では、区別を容易にするために、P1に含まれているIPヘッダを「インナーヘッダ」、トンネリングの際に付加されるIPヘッダを「アウターヘッダ」と記載することがある。
なお、アウターヘッダの宛先IPアドレスは転送装置40aのアドレス(WA−C)であり、送信元IPアドレスは、通信装置20のアドレス(APL CL)である。一方、インナーヘッダの宛先IPアドレスは、アプリケーションサーバ9のアドレス(APL SV)、送信元IPアドレスは、通信装置20のアドレス(APL CL)である。また、第1の要求信号の宛先ポート番号は5100であるものとする。
ステップS46において、送達処理部23は、カプセル化後のパケットを送信するので、カプセル化された第1の要求信号は、転送装置40aに転送される。転送装置40aのフィルタ44aは、受信したパケットをデカプセル化することにより、第1の要求信号を取得する。
一方、宛先変換部24は、SYNパケットから第2の要求信号を生成し、第2の要求信号を転送装置40aに送信する(ステップS47)。このときに行われる処理は、図7のステップS8を参照しながら説明した処理と同様である。フィルタ44aは、図14に示す送信ポリシ51を用いて、アプリケーションサーバ9の5100番ポート宛のパケットが、高速プロトコルによって転送されることを特定する。このため、フィルタ44aは、第2の要求信号を、プロキシ処理部45aに出力する(ステップS48)。
次に、第1の要求信号に対するフィルタ44aの処理を説明する。第1の要求信号の宛先は、アプリケーションサーバ9の5100番ポートである。フィルタ44aは、図14に示す送信ポリシ51から、アプリケーションサーバ9の5100番ポート宛のパケットは高速プロトコルで転送されることを特定する。そこで、フィルタ44aは、以下のアドレス情報とポート情報を有するRSTパケットを、第1の要求信号に対して、通信の開始の拒否を通知するための拒否通知として生成する。
送信元IPアドレス=192.168.0.10(アプリケーションサーバ9)
送信元ポート =5100
宛先IPアドレス =192.168.1.100(通信装置20)
すなわち、転送装置40aのフィルタ44aは、第1の要求信号の宛先となっているアプリケーションサーバ9が第1の要求信号を用いた通信を拒否する場合と同様の情報を含む拒否通知を生成する。フィルタ44aは、生成したRSTパケットを通信装置20に送信する(ステップS49)。なお、このRSTパケットの宛先アドレスは通信装置20のアドレスであり、送信元のアドレスはアプリケーションサーバ9のアドレスである。このため、RSTパケットは、GREトンネルを経由して送信されても良く、また、GREトンネルを経由せずに通信装置20に送信されても良い。
ステップS50において、通信装置20のポリシ判別部32は、インタフェース部25を介して、第1の要求信号に対するRSTパケットを受信する。ポリシ判別部32は、RSTパケットを取得すると、アプリケーションサーバ9の5100番ポート宛のパケットに対しては、高速プロトコルを用いた転送処理が行われると判定し、以下の情報をメモリ62にキャッシュする。
通信先
宛先アドレス=192.168.0.10(アプリケーションサーバ9)
宛先ポート =5100
方路情報:転送装置40a
宛先変換
変換後の宛先アドレス=192.168.1.100(転送装置40a)
変換後の宛先ポート =6100
変換後の宛先MACアドレス=00:50:56:C0:00:01
ステップS51において、転送装置40aのプロキシ処理部45aは、フィルタ44aから入力された第2の要求信号に対する通信の許可と、転送装置40aから通信装置20に向かう通信の要求を行うための制御信号を送信する。図13の例では、プロキシ処理部45aは、転送装置40aから通信装置20に宛ててACK/SYNパケットを送信したとする。なお、ステップS51で送信されるACK/SYNパケットでは、送信元アドレスは転送装置40aのアドレス(192.168.1.100)であり、送信元ポートは6100番ポートであるものとする。
ステップS51で送信されたSYN/ACKパケットは、転送装置40aから通信装置20に送信されたパケットであるので、処理装置20の送信元変換部26に出力される。送信元変換部26は、入力されたパケットを処理するために、送信元変換テーブル36を参照する。
図16は、送信元変換テーブル36の例を示す図である。送信元変換テーブル36は、フィルタ条件と変換内容が含まれる。送信元変換部26は、処理対象のパケットの送信元IPアドレスと送信元ポート番号の組合せと一致するフィルタ条件に対応付けられた変換内容を用いて、パケットの送信元IPアドレスと送信元ポート番号を変更する。図16の例では、転送装置40aの6100番ポートから送信されたパケットの送信元を、192.168.0.10(アプリケーションサーバ9)の5100ポートに変更することが送信元変換テーブル36に記載されている。送信元変換部26は、送信元変換テーブル36を用いて、SYN/ACKパケットの送信元をアプリケーションサーバ9の5100番ポートに変更する。送信元変換部26は、送信元の変更処理が終わると、SYN/ACKパケットをアプリケーション処理部12に出力する(ステップS52)。
アプリケーション処理部12は、ステップS52で入力されたSYN/ACKパケットにより、アプリケーションサーバ9の5100番ポートとの通信の許可と、アプリケーションサーバ9から通信装置20への通信の要求が行われたと判定する。そこで、アプリケーション処理部12は、アプリケーションサーバ9から通信装置20への通信を許可するために、通信装置20からアプリケーションサーバ9に宛てたACKパケットを生成する。アプリケーション処理部12は、生成したACKパケットを振分部21に出力する。振分部21は、入力されたACKパケットの出力先を特定するために、ステップS50でキャッシュした送信ポリシを用いる。ここでは、キャッシュされた情報の方路情報は転送装置40aであるので、振分部21は、ACKパケットを宛先変換部22に出力する(ステップS53)。宛先変換部22は、入力されたパケットの宛先を、キャッシュされた送信ポリシを用いて、転送装置40a(192.168.1.100)の6100番ポートに変更する。宛先変換部22での処理後のパケットは、転送装置40aに送信される(ステップS54)。このため、通信装置20とアプリケーションサーバ9が高速プロトコルを用いた通信処理を行うために使用する双方向のコネクションが確立される。その後、確立されたコネクションを用いて、通信装置20とアプリケーションサーバ9の間での通信が行われる(ステップS55)。なお、ステップS55の通信において、通信装置20とアプリケーションサーバ9の間で送受信されるパケットは、高速プロトコルを用いて転送される。
このように、転送装置40は、通信装置20とアプリケーションサーバ9の間で送受信されるパケットを高速プロトコルを用いて処理する場合、第1の要求信号に対する応答として、通信を許可しないことを通知する。このため、通信装置20は、第1の要求信号に対する通信の拒否を取得することにより、アプリケーションサーバ9宛てのパケットを転送装置40に転送することを特定できる。また、第1の実施形態と同様に、通信装置20は、転送装置40で決定された送信ポリシの取得を待たずに、通信を開始しているにも関わらず、送信ポリシに合った通信を開始でき、送受信される制御データの削減も可能である。
<第3の実施形態>
第3の実施形態では、転送装置40に複数のIPアドレスが割り当てられており、TCPスルーと高速プロトコルを用いた通信とでは、通信の開始要求の宛先IPアドレスが異なる場合について説明する。この場合、通信装置20は、予め、TCPスルーでの通信の開始要求の送信先となるアドレスと、高速プロトコルを用いた通信での通信の開始要求の送信先となるアドレスを認識している。
図17は、第3の実施形態で使用される送信ポリシテーブル35の例である。処理対象のパケットに対応付けて、方路情報、宛先の変換内容が対応付けられているが、ここで、宛先の変換内容は、TCPスルー用の宛先と、高速プロトコルを用いた転送用の宛先の2種類が設定されている。以下の例では、アプリケーションサーバ9(192.168.0.10)の5100番ポート宛のSYNパケットのうち、TCPスルーを行うためのパケット(第1の要求信号)は、192.168.1.100の6100番ポートに送信されるものとする。一方、高速プロトコルを用いる転送の開始を要求するためのSYNパケット(第2の要求信号)の場合、192.168.1.101の6100番ポートに送信されるものとする。
図18は、第3の実施形態で行われる通信処理の例を示すシーケンス図である。ステップS61〜S65で行われる処理は、図7のステップS1〜S5を参照しながら説明した処理と同様である。なお、ステップS63において、アプリケーション処理部12は、アプリケーションサーバ9に通信の開始を要求するために、以下のアドレス情報とポート情報を有するSYNパケットを生成したものとする。
宛先IPアドレス =192.168.0.10(アプリケーションサーバ9)
宛先ポート番号 =5100
送信元IPアドレス=192.168.1.10(通信装置20)
送信元ポート番号 =49000
その後、第1および第2の実施形態と同様に、送達処理部23は、TCPスルーによる通信を要求するための第1の要求信号を、複製部31から取得する。送達処理部23は、送信ポリシ51を用いて、入力されたパケットの宛先IPアドレスと宛先ポート番号を、TCPスルー用に転送装置40aに割り当てられたアドレスとポートに変換して、第1の要求信号を生成する。このため、宛先の変換後のパケット(第1の要求信号)では、アドレス情報とポート情報は以下のとおりになる。
宛先IPアドレス =192.168.1.100(TCPスルー)
宛先ポート番号 =6100
送信元IPアドレス=192.168.1.10(通信装置20)
送信元ポート番号 =49000
送達処理部23は、第1の要求信号を転送装置40aに送信する(ステップS66)。
図19は、第3の実施形態で使用される高速化対象テーブル52aの例を示す。高速化対象テーブル52は、第1および第2の要求信号の宛先アドレスと宛先ポートの組み合わせを、第1及び第2の要求信号を用いて通信装置20が開始を要求する通信先の情報に対応付けている。第3の実施形態では、高速化対象テーブル52aによって、SYNパケットの宛先ポート番号ごとに、通信先のアプリケーションサーバ9に割り当てられたアドレスとポートの組合せが対応付けられるものとする。例えば、宛先ポート番号=6100のSYNパケットは、アプリケーションサーバ9の5100番ポートに対する通信の開始を要求するためのSYNパケットである。
フィルタ44aは、高速化対象テーブル52aの情報により、アプリケーションサーバ9の5100番ポートに対する通信の開始が要求されたと判定する。さらに、フィルタ44aは、予め、192.168.1.100がTCPスルーを用いた通信の要求に使用されるアドレスであることを記憶しているものとする。
ここで、送信ポリシ51aが図8に示すとおりであるとする。すると、フィルタ44aは、TCPスルーによる通信が行われるように、第1の要求信号の宛先情報を、アプリケーションサーバ9の5100ポート宛に書き換える。すなわち、フィルタ44aの処理により、以下のアドレス情報とポート情報を含むSYNパケットが、アプリケーションサーバ9に送信される(ステップS67)。
宛先IPアドレス =192.168.0.10(アプリケーションサーバ9)
宛先ポート番号 =5100
送信元IPアドレス=192.168.1.10(通信装置20)
送信元ポート番号 =49000
一方、通信装置20では、宛先変換部24は、送信ポリシテーブル35(図17)を用いて、第2の要求信号を生成する。第2の要求信号では、高速プロトコルを用いた通信用に転送装置40aに割り当てられたアドレスとポートが宛先に指定されるため、第2の要求信号では、アドレス情報とポート情報は以下のとおりになる。
宛先IPアドレス =192.168.1.101(高速プロトコル)
宛先ポート番号 =6100
送信元IPアドレス=192.168.1.10(通信装置20)
送信元ポート番号 =49000
ステップS68において、宛先変換部24は、第2の要求信号を転送装置40aに送信する。
転送装置40aのフィルタ44aは、第2の要求信号を受信すると、高速化対象テーブル52a(図19)を用いて、アプリケーションサーバ9の5100番ポートに対する通信の開始が要求されたと判定する。さらに、フィルタ44aは、予め、192.168.1.101が高速プロトコルを用いた通信の要求に使用されるアドレスであることを記憶している。これらの情報に基づいて、フィルタ44aは、送信ポリシ51a(図8)を用いて、アプリケーションサーバ9の5100ポート宛のパケットはTCPスルーで転送されることを特定する。そこで、フィルタ44aは、第2の要求信号で要求された通信を許可しないことを決定し、通信装置20に対して通信の拒否を通知する。ここでは、以下のアドレスとポートの情報を含むRSTパケットが通信装置20に送信されるものとする(ステップS69)。
宛先IPアドレス =192.168.1.10(通信装置20)
宛先ポート番号 =49000
送信元IPアドレス=192.168.1.101(高速プロトコル)
送信元ポート番号 =6100
ステップS70〜S73で行われる処理は、図7を参照しながら説明したステップS10〜S13で行われる処理と同様である。
このように、第3の実施形態では、第1の要求信号と第2の要求信号は、宛先となるIPアドレスが異なっているので、フィルタ44は、宛先アドレスを用いて、第1の要求信号と第2の要求信号を区別できる。また、第1および第2の要求信号は、いずれも転送装置40に割り当てられたアドレスを宛先に設定しているので、第1および第2の要求信号は、いずれも転送装置40に送信される。さらに、第1の実施形態と同様に、通信確立にかかる時間の短縮や、送受信される制御データの削減も可能となる。
<第4の実施形態>
第4の実施形態では、転送装置40において、TCPスルーと高速プロトコルを用いた通信とではTCP待ち受けポートが異なる場合について説明する。この場合、通信装置20は、予め、TCPスルーでの通信の開始要求の宛先ポートと、高速プロトコルを用いた通信での通信の開始要求の宛先ポートを認識している。
図20は、第4の実施形態で使用される送信ポリシテーブル35の例である。第4の実施形態で使用される送信ポリシテーブル35でも、処理対象のパケットに対応付けて、TCPスルー用の宛先と、高速プロトコルを用いた転送用の宛先の2種類が設定されている。以下の例では、アプリケーションサーバ9(192.168.0.10)の5100番ポート宛のSYNパケットのうち、TCPスルーを行うためのパケット(第1の要求信号)は、192.168.1.100の6100番ポートに送信されるものとする。一方、高速プロトコルを用いる転送の開始を要求するためのSYNパケット(第2の要求信号)の場合、192.168.1.100の6101番ポートに送信されるものとする。
図21は、第4の実施形態で行われる通信処理の例を示すシーケンス図である。ステップS81〜S85で行われる処理は、図7のステップS1〜S5を参照しながら説明した処理と同様である。
その後、第1〜第3の実施形態と同様に、送達処理部23は、SYNパケットを複製部31から取得する。送達処理部23は、SYNパケットの宛先を、送信ポリシ51を用いてTCPスルー用に転送装置40aに割り当てられたアドレスとポートに変換して、第1の要求信号を生成する。このため、第1の要求信号では、アドレス情報とポート情報は以下のとおりになる。
宛先IPアドレス =192.168.1.100(転送装置40a)
宛先ポート番号 =6100(TCPスルー)
送信元IPアドレス=192.168.1.10(通信装置20)
送信元ポート番号 =49000
送達処理部23は、第1の要求信号を転送装置40aに送信する(ステップS86)。
図22は、第4の実施形態で使用される高速化対象テーブル52aの例を示す。フィルタ44aは、図22に示す高速化対象テーブル52aを用いて、宛先アドレスが192.168.1.100、宛先ポートが6100か6101のSYNパケットは、アプリケーションサーバ9の5100番ポートとの通信を要求していると判定する。
フィルタ44aは、高速化対象テーブル52aの情報により、アプリケーションサーバ9の5100番ポートに対する通信の開始が要求されたと判定する。さらに、フィルタ44aは、予め、6100番ポートがTCPスルーを用いた通信の要求に使用されるアドレスであることを記憶しているものとする。
ここで、送信ポリシ51aが図8に示すとおりであるとする。すると、フィルタ44aは、TCPスルーによる通信が行われるように、第1の要求信号をアプリケーションサーバ9に転送する。なお、フィルタ44aは、転送の際に第1の要求信号のアドレス等を以下のように変更するものとする(ステップS87)。
宛先IPアドレス =192.168.0.10(アプリケーションサーバ9)
宛先ポート番号 =5100
送信元IPアドレス=192.168.1.10(通信装置20)
送信元ポート番号 =49000
一方、通信装置20では、宛先変換部24は、送信ポリシテーブル35(図20)を用いて、第2の要求信号を生成する。第2の要求信号では、高速プロトコルを用いた通信用に転送装置40aに割り当てられたアドレスとポートが宛先に使用される。このため、第2の要求信号では、アドレス情報とポート情報は以下のとおりになる。
宛先IPアドレス =192.168.1.100(転送装置40a)
宛先ポート番号 =6101(高速プロトコル)
送信元IPアドレス=192.168.1.10(通信装置20)
送信元ポート番号 =49000
ステップS88において、宛先変換部24は、第2の要求信号を転送装置40aに送信する。
転送装置40aのフィルタ44aは、第2の要求信号を受信すると、高速化対象テーブル52a(図22)を用いて、アプリケーションサーバ9の5100番ポートに対する高速プロトコルを用いた通信の開始が要求されたと判定する。さらに、フィルタ44aは、送信ポリシ51a(図8)を用いて、アプリケーションサーバ9の5100ポート宛のパケットはTCPスルーで転送されることを特定する。そこで、フィルタ44aは、第2の要求信号の応答として、通信装置20に対して、以下のアドレスとポートの情報を含むRSTパケットを通信装置20に送信する(ステップS89)。
宛先IPアドレス =192.168.1.10(通信装置20)
宛先ポート番号 =49000
送信元IPアドレス=192.168.1.100(転送装置40a)
送信元ポート番号 =6101(高速プロトコル)
ステップS90〜S93で行われる処理は、図7を参照しながら説明したステップS10〜S13で行われる処理と同様である。
このように、第4の実施形態では、第1の要求信号と第2の要求信号は、宛先ポー尾番号が異なっているので、フィルタ44は、宛先ポート番号を用いて、第1の要求信号と第2の要求信号を区別できる。さらに、第1の実施形態と同様に、通信確立にかかる時間の短縮や、送受信される制御データの削減も可能となる。
<その他>
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
第2の実施形態では、高速プロトコルを用いて転送処理が行われるケースを例として説明したが、TCPスルーによる通信が行われる場合も、トンネルを用いて通信装置20から転送装置40aへの転送処理が行われても良い。TCPスルーの場合、転送装置40aは、通信装置20が転送装置40aを介したアプリケーションサーバ9との通信の開始を要求するための信号(第2の要求信号)で要求された通信の開始を許可しない。
第1、第3、第4の実施形態でも、高速プロトコルを用いた通信が行われる場合は、第2の実施形態と同様に、フィルタ44aは、アプリケーションサーバ9との通信の開始を要求する信号(第1の要求信号)で要求された通信の開始を許可しない。
以上の説明で述べたテーブルやメッセージの情報要素は、一例であり、実装に応じて情報要素は変更され得る。
なお、以上の説明では、通信装置20の通信先がアプリケーションサーバ9である場合を説明したが、通信装置20は他の装置との通信にも同様の処理を行うことができる。また、通信先のアプリケーションサーバ9も、通信装置20と同様に第1および第2の通信要求を転送装置40bに送信することによって、効率的に通信処理を行っても良い。
1 WAN
3 ルータ
5 WAN高速化装置
7 クライアント装置
9 アプリケーションサーバ
11、30 リダイレクタ
12 アプリケーション処理部
13 DNAT
15 カーネル
16 送信ポリシ
17、46 高速プロトコル処理部
20 通信装置
21 振分部
22、24 宛先変換部
23 送達処理部
25、41 インタフェース部
26 送信元変換部
31 複製部
32 ポリシ判別部
35 送信ポリシテーブル
36 送信元変換テーブル
40 転送装置
42 計測部
43 送信ポリシ生成部
44 フィルタ
45 プロキシ処理部
51 送信ポリシ
52 高速化対象テーブル
53 性能テーブル
61 プロセッサ
62 メモリ
63 ストレージ
64 バス
65 NIC
66 入力装置
67 出力装置

Claims (6)

  1. 通信先と通信を開始する通信装置と、
    前記通信装置から前記通信先に送信されるパケットを転送可能な転送装置
    を備え、
    前記通信装置は、前記通信先との通信の開始を要求する第1の要求信号と、前記転送装置を介した前記通信先との通信の開始を要求する第2の要求信号を、前記転送装置に送信し、
    前記転送装置は、前記第2の要求信号の要求を許可しないことを前記通信装置に通知すると共に、前記第1の要求信号を前記通信先に転送し、
    前記通信装置は、前記第1の要求信号に対する前記通信先からの応答を受けて、前記転送装置を介さずに、前記通信先との通信を開始する
    ことを特徴とする通信システム。
  2. 前記転送装置は、
    前記第2の要求信号の要求を許可する場合、前記第1の要求信号の要求を許可しないことを表す通知信号を、前記通知信号の送信元を前記通信先として、前記通信装置に送信し、
    前記第2の要求信号の要求を許可することを前記通信装置に通知し、
    前記通信装置は、前記第2の要求信号に対する前記転送装置からの応答を受けて、前記通信先に送信するデータを含むパケットを、前記転送装置に送信し、
    前記転送装置は、前記データを含むパケットを前記通信先に向けて転送する
    ことを特徴とする請求項1に記載の通信システム。
  3. 前記通信装置は、
    前記第1の要求信号を生成すると、前記第1の要求信号を複製し、
    複製された第1の要求信号での宛先アドレスと宛先ポートの組合せである第1の識別情報を、前記転送装置に割り当てられたアドレスとポートの組合せである第2の識別情報に変更することにより、前記第2の要求信号を生成し、
    前記転送装置は、
    前記通信装置が前記通信先との間で生成するコネクションごとに、前記第1の識別情報と前記第2の識別情報を対応付けた対応情報を保持し、
    前記対応情報を用いて、前記第2の要求信号により前記通信装置が通信の開始を要求する通信先を特定する
    ことを特徴とする請求項1または2に記載の通信システム。
  4. 前記通信装置は、
    前記通信先との通信の要求を許可しないことを表わす通知の送信元アドレスが前記通信先に割り当てられたアドレスである場合、前記第1の要求信号の要求が許可されないと判定し、
    前記通信先との通信の要求を許可しないことを表わす通知の送信元アドレスが前記転送装置に割り当てられたアドレスである場合、前記第2の要求信号の要求が許可されないと判定する
    ことを特徴とする請求項2または3に記載の通信システム。
  5. 通信先と通信を開始する通信装置と、前記通信装置から前記通信先に送信されるパケットを転送可能な転送装置を備えるシステムにおいて、
    前記通信装置は、前記通信先との通信の開始を要求する第1の要求信号と、前記転送装置を介した前記通信先との通信の開始を要求する第2の要求信号を、前記転送装置に送信し、
    前記転送装置は、前記第2の要求信号の要求を許可しないことを前記通信装置に通知すると共に、前記第1の要求信号を前記通信先に転送し、
    前記通信装置は、前記第1の要求信号に対する前記通信先からの応答を受けて、前記転送装置を介さずに、前記通信先との通信を開始する
    ことを特徴とする通信方法。
  6. 通信先と通信を開始する通信装置から前記通信先に送信されるパケットを転送可能な転送装置であって、
    前記通信装置から、前記通信先との通信の開始を要求する第1の要求信号と、前記転送装置を介した前記通信先との通信の開始を要求する第2の要求信号を受信する通信部と、
    前記第1の要求信号で要求された通信を前記通信装置に行わせる場合、前記第2の要求信号の要求を許可しないことを前記通信装置に通知すると共に、前記第1の要求信号を前記通信先に転送するための制御を行う制御部
    を備えることを特徴とする転送装置。
JP2014189524A 2014-09-18 2014-09-18 通信システム、通信方法、および、転送装置 Withdrawn JP2016063382A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014189524A JP2016063382A (ja) 2014-09-18 2014-09-18 通信システム、通信方法、および、転送装置
GB1513262.4A GB2531398B (en) 2014-09-18 2015-07-28 Communication system, communication method, and transmission apparatus
US14/812,548 US20160087934A1 (en) 2014-09-18 2015-07-29 Communication system, communication method, and transmission apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014189524A JP2016063382A (ja) 2014-09-18 2014-09-18 通信システム、通信方法、および、転送装置

Publications (1)

Publication Number Publication Date
JP2016063382A true JP2016063382A (ja) 2016-04-25

Family

ID=54106719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014189524A Withdrawn JP2016063382A (ja) 2014-09-18 2014-09-18 通信システム、通信方法、および、転送装置

Country Status (3)

Country Link
US (1) US20160087934A1 (ja)
JP (1) JP2016063382A (ja)
GB (1) GB2531398B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018061121A1 (ja) * 2016-09-28 2018-04-05 株式会社日立製作所 通信高速化装置による高速化効果を解析する装置
JP2019103118A (ja) * 2017-12-01 2019-06-24 富士通株式会社 通信中継装置、通信中継プログラム、および通信中継方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6937560B2 (en) * 2001-05-22 2005-08-30 Comtech Ef Data, Inc. Method and apparatus for selectively accelerating network communications
US8176186B2 (en) * 2002-10-30 2012-05-08 Riverbed Technology, Inc. Transaction accelerator for client-server communications systems
US8473620B2 (en) * 2003-04-14 2013-06-25 Riverbed Technology, Inc. Interception of a cloud-based communication connection
US7058058B2 (en) * 2003-11-05 2006-06-06 Juniper Networks, Inc. Transparent optimization for transmission control protocol initial session establishment
CN102891883B (zh) * 2007-12-27 2014-12-31 华为技术有限公司 无线传输控制协议处理方法和设备
US8122140B2 (en) * 2009-03-27 2012-02-21 Wyse Technology Inc. Apparatus and method for accelerating streams through use of transparent proxy architecture
US9215212B2 (en) * 2009-06-22 2015-12-15 Citrix Systems, Inc. Systems and methods for providing a visualizer for rules of an application firewall
JP5935622B2 (ja) * 2012-09-18 2016-06-15 富士通株式会社 情報処理装置,監視装置,情報処理方法,及び監視プログラム
US9602465B2 (en) * 2014-09-09 2017-03-21 Citrix Systems, Inc. Systems and methods for carrier grade NAT optimization

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018061121A1 (ja) * 2016-09-28 2018-04-05 株式会社日立製作所 通信高速化装置による高速化効果を解析する装置
JP2019103118A (ja) * 2017-12-01 2019-06-24 富士通株式会社 通信中継装置、通信中継プログラム、および通信中継方法

Also Published As

Publication number Publication date
US20160087934A1 (en) 2016-03-24
GB2531398A (en) 2016-04-20
GB2531398B (en) 2021-04-28
GB201513262D0 (en) 2015-09-09

Similar Documents

Publication Publication Date Title
JP5377770B2 (ja) ネームアドレスマッピングシステム、データ伝送方法及びネームアドレスマッピングメンテナンス方法
US9959156B2 (en) Interest return control message
JP2018528679A (ja) 負荷平衡システムにおいて接続を確立するデバイス及び方法
US11888818B2 (en) Multi-access interface for internet protocol security
JP6371592B2 (ja) コンテンツ中心ネットワークにおけるノードの通信方法及びそのノード
TWI599201B (zh) 網路系統及建立資料連線的方法
EP3750350B1 (en) Unique service identifier for a message proxy in a service based architecture
US10587515B2 (en) Stateless information centric forwarding using dynamic filters
US8619631B2 (en) Information communication system, information communication method, node device included in information communication system and recording medium recording information processing program
CN111988212B (zh) 一种报文传输方法以及相关装置
JP6752141B2 (ja) パケットを処理するための方法およびフォワーダ
JP7404513B2 (ja) Tlsを用いる間接通信のサポート
JP6118122B2 (ja) 通信装置及びその制御方法、プログラム
Cha et al. A mobility link service for ndn consumer mobility
TW201737664A (zh) 集群精確限速方法和裝置
US7151780B1 (en) Arrangement for automated teller machine communications based on bisync to IP conversion
JP2007524258A (ja) モバイルピアツーピアネットワーク構築
CN111935083B (zh) 一种业务处理方法、装置、电子设备及存储介质
JP2016063382A (ja) 通信システム、通信方法、および、転送装置
WO2023040782A1 (zh) 处理报文的方法、系统、设备和存储介质
WO2023284231A1 (zh) 报文处理方法和报文处理系统
JP2017523721A (ja) サービスノード能力処理方法、装置、サービス分類器及びサービスコントローラ
JP2014225157A (ja) 通信システム、負荷分散装置、および、負荷分散プログラム
KR101845671B1 (ko) 제한적 네트워크 내 센서 노드의 리소스 발견 방법 및 시스템
JP5889122B2 (ja) 制御ノード及び通信制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170605

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20171225