JP6056857B2 - 通信制御装置及び通信制御方法 - Google Patents

通信制御装置及び通信制御方法 Download PDF

Info

Publication number
JP6056857B2
JP6056857B2 JP2014522374A JP2014522374A JP6056857B2 JP 6056857 B2 JP6056857 B2 JP 6056857B2 JP 2014522374 A JP2014522374 A JP 2014522374A JP 2014522374 A JP2014522374 A JP 2014522374A JP 6056857 B2 JP6056857 B2 JP 6056857B2
Authority
JP
Japan
Prior art keywords
communication
parameter
entry
storage unit
session
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.)
Expired - Fee Related
Application number
JP2014522374A
Other languages
English (en)
Other versions
JPWO2014002337A1 (ja
Inventor
北村 浩
浩 北村
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2014002337A1 publication Critical patent/JPWO2014002337A1/ja
Application granted granted Critical
Publication of JP6056857B2 publication Critical patent/JP6056857B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Landscapes

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

Description

本発明は、IP(Internet Protocol)通信技術に関する。
IP通信では、様々な通信パラメータが用いられる。例えば、通信先及び通信元の各IPアドレス、通信先及び通信元の各ポート番号、パスMTU(Maximum Transmission Unit)、ウィンドウサイズ、RTT(Round Trip Time)、再送タイマ等が存在する。また、通信先ノードと通信可能か否か、及び、通信不能原因等もこの通信パラメータと呼ぶこともできる。以降、ここで用いる通信パラメータとは、ネットワークレイヤに依存せず、IP通信を行う上で利用され得るあらゆる情報を意味するものとする。
IP通信では、このような通信パラメータを学習し発見する機能(アルゴリズム)が存在する。このような機能やアルゴリズムにより、最適な通信パラメータが設定され、スケーラビリティ、分散協調等が実現される。例えば、パスMTUディスカバリは、経路上のリンクの最小MTUを検出する。また、スロースタートアルゴリズムは、輻輳を回避すべく、ACKを受信する度に送信するセグメント数を増加していく、即ち、ウィンドウサイズを調整する。ICMP(Internet Control Message Protocol)によれば、通信先ノードと正常に通信が行えない場合に、通信元ノードは、その旨(タイプ=3)とその原因(コード=0(Network Unreachable)、1(Host Unreachable)等)を知ることができる。
しかしながら、このような学習及び発見機能自体にも負荷がかかるため、次のような手法が提案されている。下記特許文献1には、各PBN(Provider Backbone Network)に所属する全ての機器のMACアドレスの情報を格納するPBNデータベースをPBBN(Provider Backbone Bridge Network)に設け、このPBNデータベースの情報を用いて、PBBN内のラベルスイッチ転送を実現することで、PBNの数が多くなってもアドレス学習の負荷が大きくなるのを防ぐ手法が提案されている。下記特許文献2には、各コネクションで計測された最高RTT値を通信相手のホストコンピュータ毎に再送タイムアウトテーブルに登録し、その最高RTT値を新たなコネクションの再送タイマとして用いることで、コネクションごとの再送タイムアウトの計算という無駄を省く手法が提案されている。
特開2009−177282号公報 特開平5−28072号公報
しかしながら、上述のような学習及び発見機能は、昨今の、ネットワーク性能、通信機器やサーバ装置の処理性能に最適化されていない。
例えば、1つのクライアント・サーバ間における通信形態は、コネクションの開設及び切断の頻度を減らし、開設されるコネクション数を最小限にする形態から、膨大なコネクションを開設し、頻繁にコネクションの開設及び切断を行う形態に変化しつつある。ネットワーク性能、機器の処理性能が向上した現在においては、このような新たな通信形態のほうがアプリケーション性能面で有利になる場合が多い。
しかしながら、上述の学習及び発見機能は、コネクションが開設される度に新規に実施されるため、新たな通信形態においては非効率である。
本発明は、このような課題に鑑みてなされたものであり、適切な通信パラメータを効率よく設定するIP通信技術を提供する。
本発明の各態様では、上述した課題を解決するために、それぞれ以下の構成を採用する。
第1の態様に係る通信制御装置は、通信ノード間の通信で学習された通信パラメータ、その通信の通信元IPアドレス及びその通信の通信先IPアドレスを含む各エントリをそれぞれ格納するパラメータ格納部と、新たに開始される通信における通信元IPアドレス及び通信先IPアドレスを取得し、パラメータ格納部に格納される複数エントリの中から、通信元IPアドレス間、又は、通信先IPアドレス間で一致するビットの数が、IPアドレスの全ビット数よりも小さい所定下限値以上となる少なくとも1つのエントリを抽出し、抽出されたエントリから、当該新たに開始される通信で用いられる通信パラメータの初期値を取得するパラメータ取得部と、を備え
前記パラメータ取得部は、前記通信先IPアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出する。
第2の態様に係る通信制御方法は、通信制御装置が、通信ノード間の通信で学習された通信パラメータ、その通信の通信元IPアドレス及びその通信の通信先IPアドレスを含む各エントリをパラメータ格納部にそれぞれ格納し、新たに開始される通信における通信元IPアドレス及び通信先IPアドレスを取得し、パラメータ格納部に格納される複数エントリの中から、通信元IPアドレス間、又は、通信先IPアドレス間で一致するビットの数が、IPアドレスの全ビット数よりも小さい所定下限値以上となる少なくとも1つのエントリを抽出し、抽出されたエントリから、当該新たに開始される通信で用いられる通信パラメータの初期値を取得し、
前記少なくとも1つのエントリの抽出は、
前記通信先IPアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出する、ことを含む。
なお、本発明の別態様としては、上記第1の態様の構成を通信装置に実現させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
上記各態様によれば、適切な通信パラメータを効率よく設定するIP通信技術を提供することができる。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
図1は、第1実施形態における通信元ノードのハードウェア構成例を概念的に示す図である。 図2は、第1実施形態における通信元ノードの処理構成例を概念的に示す図である。 図3は、第1実施形態におけるパラメータ格納部に格納される通信パラメータ例を示す図である。 図4は、第1実施形態におけるパラメータチェッカの動作例を示すフローチャートである。 図5は、第1実施形態におけるセッションパラメータの承継範囲の第1例を概念的に示す図である。 図6は、第1実施形態におけるセッションパラメータの承継範囲の第2例を概念的に示す図である。 図7は、第1実施形態におけるセッションパラメータの承継範囲の第3例を概念的に示す図である。 図8は、第1実施形態におけるセッションパラメータの承継範囲の第4例を概念的に示す図である。 図9は、第1実施形態におけるセッションパラメータの承継範囲の第5例を概念的に示す図である。 図10は、第1実施形態におけるセッションパラメータの承継範囲の第6例を概念的に示す図である。 図11は、第1実施形態におけるセッションパラメータの承継範囲の第7例を概念的に示す図である。 図12は、第1実施形態におけるセッションパラメータの承継範囲の第8例を概念的に示す図である。 図13は、第2実施形態における通信元ノードの処理構成例を概念的に示す図である。 図14は、第2実施形態におけるパラメータ格納部のデータ例を示す図である。 図15は、第3実施形態における通信元ノードの処理構成例を概念的に示す図である。 図16は、第3実施形態におけるパラメータ格納部のデータ例を示す図である。 図17は、第1変形例における通信元ノードの処理構成例を概念的に示す図である。 図18は、第2変形例におけるシステム構成例を概念的に示す図である。 図19は、第2変形例における共有サーバ及び通信元ノードの処理構成例を概念的に示す図である。
以下、本発明の実施の形態について説明する。なお、以下に挙げる実施形態は例示であり、本発明は以下の実施形態の構成に限定されない。
本実施形態に係る通信制御装置は、通信ノード間の通信で学習された通信パラメータ、当該通信の通信元IPアドレス及び当該通信の通信先IPアドレスを含む各エントリをそれぞれ格納するパラメータ格納部と、新たに開始される通信における通信元IPアドレス及び通信先IPアドレスを取得し、上記パラメータ格納部に格納される複数エントリの中から、通信元IPアドレス間、又は、通信先IPアドレス間で一致するビットの数が、IPアドレスの全ビット数よりも小さい所定下限値以上となる少なくとも1つのエントリを抽出し、抽出されたエントリから、当該新たに開始される通信で用いられる通信パラメータの初期値を取得するパラメータ取得部と、を備える。
上記通信制御装置では、通信ノード間の通信で学習された各通信パラメータが、通信元IPアドレス及び通信先IPアドレスと共に、パラメータ格納部に格納される。ここで、通信パラメータとは、通信先及び通信元の各IPアドレス、通信先及び通信元の各ポート番号、パスMTU、ウィンドウサイズ、RTT、再送タイマ、通信先ノードと通信可能か否か、通信不能原因などを含み、ネットワークレイヤに依存せず、IP通信を行う上で利用され得るあらゆる情報を意味するものとする。
上記通信制御装置では、このパラメータ格納部に格納されるエントリを用いて、新たに開始される通信で用いられる通信パラメータの初期値が取得される。即ち、本実施形態では、先の通信で学習済みの通信パラメータが新たに開始される通信に継承されることとなる。
従って、本実施形態によれば、重複する通信パラメータの学習処理及び発見処理を省くことができ、当該学習処理及び発見処理の負荷を軽減させることができる。更に、先行の通信で学習された通信パラメータは、通信環境に応じて適切な値となっているため、後発の通信の品質を適切に維持することができる。このような効果は、膨大なコネクションを開設し、頻繁にコネクションの開設及び切断を行う現在の通信形態において一層大きくなる。
更に、本実施形態では、先の通信で学習された通信パラメータの継承範囲が、通信端(通信元IPアドレスと通信先IPアドレスとのペア)が完全に一致する通信間のみでなく、通信条件が近似する通信間にまで拡張される。即ち、通信元IPアドレス間又は通信先IPアドレス間で一致するビットの数がIPアドレスの全ビット数よりも小さい所定下限値以上となる通信間も、当該通信パラメータの継承範囲に含められる。所定下限値は、IPv4の場合、例えば、24(ビット)に設定され、IPv6の場合、例えば、64(ビット)に設定される。
これにより、例えば、パラメータ格納部に格納される先の通信が新たに開始される後の通信と通信先ノードが異なったとしても、両者の通信先ノードが通信条件の近似する環境に存在する場合には、同一の通信パラメータを用いて実質的に同一の通信品質を実現することができる。この点、通信元ノードについても同様である。つまり、通信条件が近似するとは、同一の通信パラメータを用いたとしても要求される通信品質を満たす通信条件間の関係と表記することができる。
このように本実施形態によれば、通信パラメータの継承範囲を拡張したとしても、通信品質の劣化等の問題を引き起こすことなく、通信パラメータの継承による上述のような効果を幅広く享受することができる。
以下、上述の実施形態について更に詳細を説明する。
[第1実施形態]
〔システム構成〕
図1は、第1実施形態における通信元ノード10のハードウェア構成例を概念的に示す図である。通信元ノード10は、ネットワーク1を介して通信先ノード11と通信可能に接続される。ネットワーク1は、インターネット等のような公衆網、WAN(Wide Area Network)、LAN(Local Area Network)、無線通信ネットワーク等である。
通信元ノード10は、例えば、バス8で相互に接続される、CPU(Central Processing Unit)5、メモリ6、入出力インタフェース(I/F)7等を有する。メモリ6は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク、可搬型記憶媒体等である。入出力I/F7は、ネットワーク1を介して他の通信ノード(例えば、通信先ノード11)と通信を行うNI(Network Interface)装置と接続される。入出力I/F7は、表示装置や入力装置等のようなユーザインタフェース装置と接続されてもよい。通信先ノード11も通信元ノード10と同様のハードウェア構成を有する。
通信元ノード10は例えばクライアント装置であり、通信先ノード11は例えばサーバ装置である。なお、本実施形態では、通信元ノード10及び通信先ノード11は、IP通信可能な通信装置であれば、それらのハードウェア構成は限定されない。
図2は、第1実施形態における通信元ノード10の処理構成例を概念的に示す図である。図2に示されるように、通信元ノード10は、通信処理部20、セッション情報管理部21、パラメータ格納部25、エントリ管理部26、パラメータチェッカ27等を有する。通信元ノード10は、CPU5によりメモリ6に格納されるプログラムが実行されることで上記各処理部を実現する。当該プログラムは、例えば、CD(Compact Disc)、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力I/F7を介してインストールされ、メモリ6に格納される。
通信処理部20は、アプリケーション(図示せず)からの要求に応じて、所望の通信相手と所望の通信を実現する。第1実施形態では、所望の通信として、通信先ノード11と通信元ノード10との間のセッションが例示される。セッションとは、TCP(Transmission Control Protocol)及びUDP(User Datagram Protocol)の接続単位を意味する。TCPの接続単位はコネクションとも呼ばれる。UDPはコネクションレスであるため、UDPの接続単位は当該通信の両端のIPアドレス及びポート番号で特定される。例えば、通信処理部20は、3ウェイハンドシェーク等により通信先ノード11との間のTCPコネクションの開設及び解放を行う。
セッション情報管理部21は、通信処理部20により処理される各セッションに関する情報(セッション情報)を管理する。このセッション情報は、セッション情報保持部(図示せず)で保持される。セッション情報には、各セッションで学習された通信パラメータが含まれる。例えば、スロースタートアルゴリズムにより学習されたウィンドウサイズは、セッション情報保持部に反映される。このセッション情報は、PCB(Protocol Control Block)、TCP Control Blockと呼ぶこともできる。なお、セッション情報管理部21で管理されるセッション情報は、一般的には、各セッションの解放に応じて消去される。
パラメータ格納部25は、セッション情報管理部21で管理される各セッションの通信パラメータを、セッション情報管理部21のセッション情報保持部とは別に、格納する。パラメータ格納部25に格納される通信パラメータは、各セッションの解放のみに応じて消去されない。セッション情報管理部21によるセッション情報の更新及び追加(消去を除く)に応じて、パラメータ格納部25にもその内容が反映される。
図3は、第1実施形態におけるパラメータ格納部25に格納される通信パラメータ例を示す図である。図3に示されるように、パラメータ格納部25は、各セッションに関し、プロトコル種別、通信先IPアドレス、通信元IPアドレス、通信先ポート番号、通信元ポート番号、ウィンドウサイズ、RTT等がそれぞれ格納される。プトロコル種別には、各セッションのプロトコルに応じて、TCP、UDPなどを示すデータが格納される。
各セッションは、プロトコル種別、通信先IPアドレス、通信元IPアドレス、通信先ポート番号及び通信元ポート番号で特定することができる。以降、プロトコル種別、通信先IPアドレス、通信元IPアドレス、通信先ポート番号及び通信元ポート番号をまとめてセッション特定情報と表記する場合もある。また、パラメータ格納部25に格納される通信パラメータのうち、このセッション特定情報以外をセッションパラメータと表記する場合もある。
図3の例では、セッションパラメータとして、ウィンドウサイズ及びRTTが例示されるが、本実施形態は、パラメータ格納部25に格納されるセッションパラメータを制限しない。パラメータ格納部25には、セッション情報管理部21で管理されるセッション情報が全て格納されてもよいし、そのセッション情報の一部が格納されてもよい。
エントリ管理部26は、パラメータ格納部25に格納されるエントリ(セッションパラメータ)を管理する。例えば、エントリ管理部26は、データエージング、ガーベジコレクション等を行う。データエージングでは、例えば、エントリ管理部26は、所定の有効期間情報を持ち、最終更新時からこの所定有効期間を経過したエントリを削除する。
また、エントリ管理部26は、通信処理部20から各セッションのエラー情報、再送情報等を受け、これら情報に基づいて各セッションが実行されるネットワークの安定度を判定し、この安定度に応じて、各エントリの削除を決定してもよい。例えば、エントリ管理部26は、エラー又は再送が発生したセッションのセッションパラメータを削除するようにしてもよいし、エラー又は再送が所定回数発生したセッションのセッションパラメータを削除するようにしてもよい。
パラメータチェッカ27は、通信処理部20からの要求により、新たに開始されるセッションで用いるためのセッションパラメータの初期値をパラメータ格納部25から取得する。具体的には、パラメータチェッカ27は、パラメータ格納部25に格納されるエントリの中から、新たに開始されるセッションで承継するのに適切なエントリを検索し、そのエントリに含まれるセッションパラメータを、その新たに開始されるセッションのセッションパラメータの初期値として取得する。パラメータチェッカ27は、パラメータ取得部と呼ぶこともできる。パラメータチェッカ27の具体的処理については動作例の項において詳述する。
〔動作例〕
図4は、第1実施形態におけるパラメータチェッカ27の動作例を示すフローチャートである。パラメータチェッカ27は、通信処理部20から、新たに開始されるセッションで用いるためのセッションパラメータの初期値を要求される。この要求では、新たに開始されるセッションのプロトコル種別、通信先IPアドレス、通信元IPアドレス、通信先ポート番号、通信元ポート番号が指定される。
パラメータチェッカ27は、パラメータ格納部25から、プロトコル種別が一致し、かつ、通信先IPアドレスの一致ビット数が所定下限値以上で最大となるエントリを抽出する(S40)。この所定下限値は、IPアドレスの全ビット数よりも小さい値に設定され、予めメモリ6に格納される。なお、この所定下限値の詳細については後述する。
パラメータチェッカ27は、該当するエントリが無い場合には(S41;NO)、承継すべき通信パラメータが無いことを通信処理部20に通知する。一方、パラメータチェッカ27は、該当するエントリが1つ抽出された場合には(S41;YES、S42;NO)、その抽出されたエントリからセッションパラメータを取得する(S48、S49)。
パラメータチェッカ27は、該当するエントリが複数抽出された場合には(S42;YES)、抽出されたエントリを通信元IPアドレスで更に絞り込む。具体的には、パラメータチェッカ27は、抽出されたエントリから、通信元IPアドレスの一致ビット数が所定下限値以上で最大となるエントリを抽出する(S43)。
パラメータチェッカ27は、該当するエントリが複数抽出された場合には(S44;YES)、抽出されたエントリを通信先ポート番号で更に絞り込む。具体的には、パラメータチェッカ27は、抽出されたエントリから、通信先ポート番号が一致するエントリを抽出する(S45)。
パラメータチェッカ27は、該当するエントリが複数抽出された場合には(S46;YES)、抽出されたエントリを通信元ポート番号で更に絞り込む。具体的には、パラメータチェッカ27は、抽出されたエントリから、通信元ポート番号が一致するエントリを抽出する(S47)。
パラメータチェッカ27は、抽出されたエントリから1つのエントリを特定する(S48)。具体的には、(S43)において該当エントリが抽出されなかった場合には(S44;NO)、パラメータチェッカ27は、(S40)で抽出されたエントリの中から任意の1つのエントリを特定する(S48)。(S43)において1つのエントリが抽出された場合には(S44;NO)、パラメータチェッカ27は、その抽出されたエントリを特定する(S48)。(S45)において該当エントリが抽出されなかった場合には(S46;NO)、パラメータチェッカ27は、(S43)で抽出されたエントリの中から任意の1つのエントリを特定する(S48)。(S45)において1つのエントリが抽出された場合には(S46;NO)、パラメータチェッカ27は、その抽出されたエントリを特定する(S48)。(S47)において該当エントリが抽出されなかった場合には、パラメータチェッカ27は、(S45)で抽出されたエントリの中から任意の1つのエントリを特定する(S48)。(S47)において少なくとも1つのエントリが抽出された場合には、パラメータチェッカ27は、その抽出されたエントリの中から1つのエントリを特定する(S48)。
パラメータチェッカ27は、特定されたエントリからセッションパラメータを取得する(S49)。パラメータチェッカ27は、取得されたセッションパラメータを通信処理部20に送る。これにより、新たに開始されるセッションにおいて、そのセッションパラメータが初期値として利用される。
図4では、全てのセッション特定情報を用いて継承すべきセッションパラメータの絞り込みを行う例が示されたが、パラメータ格納部25に格納される対象に応じて、プロトコル種別及び通信先IPアドレスのみを用いるようにしてもよい。例えば、パラメータ格納部25の通信元IPアドレスに、通信元ノード10自身の1つのIPアドレスのみが格納される場合には、通信元IPアドレスに関する絞り込みは不要となる。この場合、図4における(S42)から(S47)は省かれる。
また、通信ポート番号は、IPアドレスに比べて、近似する通信条件を示す度合いが低いため、通信元ポート番号及び通信先ポート番号を用いた絞り込み(S45、S47)は省いてもよい。この場合、図4における(S45)から(S47)は省かれる。
〔セッションパラメータの継承範囲〕
第1実施形態では、先の通信で学習されたセッションパラメータが、通信端(通信元IPアドレスと通信先IPアドレスとのペア)が完全に一致するセッション間のみでなく、通信条件が近似するセッション間にまで拡張されて継承される。このようなセッションパラメータの継承範囲は、上記所定下限値により決まる。
図5は、第1実施形態におけるセッションパラメータの承継範囲の第1例を概念的に示す図である。ここで、通信元ノード10が新たに通信先ノード11との間でセッションを開始しようとしており、パラメータ格納部25には、通信元ノード10と通信先ノード11(#1)との間のセッション#D1で学習されたセッションパラメータが格納されているものと仮定する。また、通信先ノード11(#1)は、通信先ノード11と同一サブネット内に位置するものと仮定する。サブネットとは、ルータを超えずに通信可能な範囲のネットワークを意味する。
図5の例において上記所定下限値が或るサブネットに対応した値に設定された場合には、パラメータチェッカ27は、通信先ノード11(#1)と通信元ノード10との間のセッション#D1に対応するエントリをパラメータ格納部25から抽出する。これにより、通信先ノード11(#1)と通信元ノード10との間のセッション#D1で学習されたセッションパラメータが、新たなセッションで継承される(継承範囲#D1)。
図6は、第1実施形態におけるセッションパラメータの承継範囲の第2例を概念的に示す図である。ここで、通信元ノード10が新たに通信先ノード11との間でセッションを開始しようとしており、パラメータ格納部25には、通信元ノード10と通信先ノード11(#2)との間のセッション#D2で学習されたセッションパラメータが格納されているものと仮定する。また、通信先ノード11(#2)は、通信先ノード11とサブネットは異なるが同一サイト内に位置するものと仮定する。ここで、サイトとは、複数のサブネットを跨ぎ、所定の範囲を持つネットワークを意味し、例えば、ISP(Internet Service Provider)がカバーする範囲のネットワーク、企業網等である。
図6の例において上記所定下限値が或るサイトに対応した値に設定された場合には、パラメータチェッカ27は、通信先ノード11(#2)と通信元ノード10との間のセッション#D2に対応するエントリをパラメータ格納部25から抽出する。これにより、通信先ノード11(#2)と通信元ノード10との間のセッション#D2で学習されたセッションパラメータが、新たなセッションで継承される(継承範囲#D2)。
ところで、図6の例において、図5の例における通信先ノード11(#1)と通信元ノード10との間のセッション#D1で学習されたセッションパラメータも更にパラメータ格納部25に格納されている場合には、パラメータチェッカ27は、通信先ノード11(#1)と通信元ノード10との間のセッション#D1に対応するエントリをパラメータ格納部25から抽出する。図4の処理(S40)に示されるように、通信先IPアドレスの一致ビット数が所定下限値以上で最大となるエントリが抽出されるからである。
図7は、第1実施形態におけるセッションパラメータの承継範囲の第3例を概念的に示す図である。ここで、通信元ノード10が新たに通信先ノード11との間でセッションを開始しようとしており、パラメータ格納部25には、通信元ノード10(#1)と通信先ノード11との間のセッション#S1で学習されたセッションパラメータが格納されているものと仮定する。また、通信元ノード10(#1)は、通信元ノード10と同一サブネット内に位置するものと仮定する。
図7の例において上記所定下限値が或るサブネットに対応した値に設定された場合には、パラメータチェッカ27は、通信元ノード10(#1)と通信先ノード11との間のセッション#S1に対応するエントリをパラメータ格納部25から抽出する。これにより、通信元ノード10(#1)と通信先ノード11との間のセッション#S1で学習されたセッションパラメータが、新たなセッションで継承される(継承範囲#S1)。
図8は、第1実施形態におけるセッションパラメータの承継範囲の第4例を概念的に示す図である。ここで、通信元ノード10が新たに通信先ノード11との間でセッションを開始しようとしており、パラメータ格納部25には、通信元ノード10(#2)と通信先ノード11との間のセッション#S2で学習されたセッションパラメータが格納されているものと仮定する。また、通信元ノード10(#2)は、通信元ノード10とサブネットは異なるが同一サイト内に位置するものと仮定する。
図8の例において上記所定下限値が或るサイトに対応した値に設定された場合には、パラメータチェッカ27は、通信元ノード10(#2)と通信先ノード11との間のセッション#S2に対応するエントリをパラメータ格納部25から抽出する。これにより、通信元ノード10(#2)と通信先ノード11との間のセッション#S2で学習されたセッションパラメータが、新たなセッションで継承される(継承範囲#S2)。
ところで、図8の例において、図7の例における通信元ノード10(#1)と通信先ノード11との間のセッション#S1で学習されたセッションパラメータも更にパラメータ格納部25に格納されている場合には、パラメータチェッカ27は、通信元ノード10(#1)と通信先ノード11との間のセッション#S1に対応するエントリをパラメータ格納部25から抽出する。図4の処理(S43)に示されるように、通信元IPアドレスの一致ビット数が所定下限値以上で最大となるエントリが抽出されるからである。
図9は、第1実施形態におけるセッションパラメータの承継範囲の第5例を概念的に示す図である。ここで、通信元ノード10が新たに通信先ノード11との間でセッションを開始しようとしており、パラメータ格納部25には、通信元ノード10(#1)と通信先ノード11(#1)との間のセッション#SD1で学習されたセッションパラメータが格納されているものと仮定する。また、通信元ノード10(#1)は、通信元ノード10と同一サブネットに属し、通信先ノード11(#1)は、通信先ノード11と同一サブネットに属するものと仮定する。
図9の例において上記所定下限値が或るサブネットに対応した値に設定された場合には、パラメータチェッカ27は、通信元ノード10(#1)と通信先ノード11(#1)との間のセッション#SD1に対応するエントリをパラメータ格納部25から抽出する。これにより、通信元ノード10(#1)と通信先ノード11(#1)との間のセッション#SD1で学習されたセッションパラメータが、新たなセッションで継承される(継承範囲#D1及び#S1)。
図10は、第1実施形態におけるセッションパラメータの承継範囲の第6例を概念的に示す図である。ここで、通信元ノード10が新たに通信先ノード11との間でセッションを開始しようとしており、パラメータ格納部25には、通信元ノード10(#1)と通信先ノード11(#2)との間のセッション#SD2で学習されたセッションパラメータが格納されているものと仮定する。また、通信元ノード10(#1)は、通信元ノード10と同一サブネットに属し、通信先ノード11(#2)は、通信先ノード11とサブネットは異なるが同一サイト内に位置するものと仮定する。
図10の例において上記所定下限値が或るサイトに対応した値に設定された場合には、パラメータチェッカ27は、通信元ノード10(#1)と通信先ノード11(#2)との間のセッション#SD2に対応するエントリをパラメータ格納部25から抽出する。これにより、通信元ノード10(#1)と通信先ノード11(#2)との間のセッション#SD2で学習されたセッションパラメータが、新たなセッションで継承される(継承範囲#D2及び#S1)。
図11は、第1実施形態におけるセッションパラメータの承継範囲の第7例を概念的に示す図である。ここで、通信元ノード10が新たに通信先ノード11との間でセッションを開始しようとしており、パラメータ格納部25には、通信元ノード10(#2)と通信先ノード11(#1)との間のセッション#SD3で学習されたセッションパラメータが格納されているものと仮定する。また、通信元ノード10(#2)は、通信元ノード10とサブネットは異なるが同一サイト内に位置し、通信先ノード11(#1)は、通信先ノード11と同一サブネット内に位置するものと仮定する。
図11の例において上記所定下限値が或るサイトに対応した値に設定された場合には、パラメータチェッカ27は、通信元ノード10(#2)と通信先ノード11(#1)との間のセッション#SD3に対応するエントリをパラメータ格納部25から抽出する。これにより、通信元ノード10(#2)と通信先ノード11(#1)との間のセッション#SD3で学習されたセッションパラメータが、新たなセッションで継承される(継承範囲#D1及び#S2)。
図12は、第1実施形態におけるセッションパラメータの承継範囲の第8例を概念的に示す図である。ここで、通信元ノード10が新たに通信先ノード11との間でセッションを開始しようとしており、パラメータ格納部25には、通信元ノード10(#2)と通信先ノード11(#2)との間のセッション#SD4で学習されたセッションパラメータが格納されているものと仮定する。また、通信元ノード10(#2)は、通信元ノード10とサブネットは異なるが同一サイト内に位置し、通信先ノード11(#2)は、通信先ノード11とサブネットは異なるが同一サイト内に位置するものと仮定する。
図12の例において上記所定下限値が或るサイトに対応した値に設定された場合には、パラメータチェッカ27は、通信元ノード10(#2)と通信先ノード11(#2)との間のセッション#SD4に対応するエントリをパラメータ格納部25から抽出する。これにより、通信元ノード10(#2)と通信先ノード11(#2)との間のセッション#SD4で学習されたセッションパラメータが、新たなセッションで継承される(継承範囲#D2及び#S2)。
なお、上記下限設定値は、上述のようなサブネット又はサイトを示す値に限定されるわけではなく、IPアドレスの全ビット数よりも小さい値であり、かつ、通信条件が近似するネットワーク範囲を示す値であれば、どのような値に設定されてもよい。なお、通信先IPアドレスの一致ビット数と比較される所定下限値と、通信元IPアドレスの一致ビット数と比較される所定下限値とは別々に設けられてもよい。
〔第1実施形態の作用及び効果〕
上述したように第1実施形態では、パラメータ格納部25に、通信ノード間のセッションで学習されたセッションパラメータが、セッションの解放により消去されないように、格納される。そして、パラメータ格納部25に格納された複数エントリの中から、新たに開始されるセッションを継承範囲とするエントリが抽出され、このエントリに含まれるセッションパラメータがその新たに開始されるセッションの初期値として利用される。
従って、第1実施形態によれば、先のセッションで学習されたセッションパラメータが、新たに開始されるセッションで継承されるため、新たに開始されるセッションでは重複する学習処理及び発見処理を省くことができる。具体的には、先のセッションにおいてスロースタートアルゴリズムにより学習されたウィンドウサイズが、新たに開始されるセッションの初期値として設定されるため、新たに開始されるセッションではスロースタートアルゴリズムを実施しなくても、最初から最適化された状態で通信を行うことができる。
更に、第1実施形態では、パラメータチェッカ27が所定下限値を用いて継承すべきセッションパラメータを特定するため、少ない学習量(パラメータ格納部25内のエントリ数)で上述のような効果を幅広く享受することができる。
また、近似する通信条件を示す度合いが大きい順に優先付けされた各セッション特定情報に応じて、継承すべきセッションパラメータの絞り込みが行われる。具体的には、プトロコル種別及び通信先IPアドレスが第1優先度に設定され、通信元IPアドレスが第2優先度に設定され、通信先ポート番号が第3優先度に設定され、通信元ポート番号が第4優先度に設定される。これは、通信条件が通信先ノード11が位置するネットワーク状況に最も影響されるからである。
[第2実施形態]
上述の第1実施形態では、ウィンドウサイズ、RTT等のようなセッションパラメータが継承されたが、継承される通信パラメータはセッションパラメータに限定されない。第2実施形態では、通信先不達情報が継承される例を示す。図13は、第2実施形態における通信元ノード10の処理構成例を概念的に示す図である。以下、第2実施形態における通信元ノード10について第1実施形態と異なる点を中心に説明する。
第2実施形態における通信元ノード10は、通信処理部40、パラメータ格納部45、エントリ管理部46、パラメータチェッカ47等を有する。通信元ノード10は、CPU5によりメモリ6に格納されるプログラムが実行されることで上記各処理部を実現する。
通信処理部40は、先の通信に応じて受信された通信先不達情報をその通信の通信先IPアドレス等と関連付けてパラメータ格納部45に格納する。通信先不達情報は、例えば、ICMP(Internet Control Message Protocol)のタイプ(3)により通信元ノード10に通知される。
図14は、第2実施形態におけるパラメータ格納部45のデータ例を示す図である。パラメータ格納部45は、各通信先IPアドレスについて、プレフィックス長及び不達種別をそれぞれ格納する。パラメータ格納部45は、接続状況格納部と呼ぶこともできる。不達種別は、図14に示されるように、ネットワーク不達(Network Unreachable)、ホスト不達(Host Unreachable)、サービス不達(Service Unreachable)等である。なお、不達種別はこれらに限定されない。不達種別には、例えば、ICMPのタイプ(3)のコードが格納される。ICMPのタイプ(3)のコード(0)がネットワーク不達を示し、コード(1)がホスト不達を示す。
パラメータチェッカ47は、通信処理部40からの要求に応じて、パラメータ格納部45に格納される通信先不達情報を検索し、通信処理部40により指定された当該新たに開始される通信が可能か否かを判定する。この判定は、例えば、パラメータ格納部45の不達種別毎に行われる。
ネットワーク不達では、パラメータチェッカ47は、パラメータ格納部45のネットワーク不達のレコードを対象に次のように処理する。パラメータチェッカ47は、当該対象レコードの中に、当該新たに開始される通信の通信先IPアドレスと各レコードの通信先IPアドレスとで各レコードのプレフィックス長に対応するネットワークプレフィックスが一致するレコードが存在するか否かを判定する。パラメータチェッカ47は、一致するレコードが存在すれば、当該新たに開始される通信は不可能と判定する。
ホスト不達では、パラメータチェッカ47は、パラメータ格納部45のホスト不達のレコードの中に、当該新たに開始される通信の通信先IPアドレスと各レコードの通信先IPアドレスとが一致するレコードが存在するか否かを判定する。パラメータチェッカ47は、一致するレコードが存在すれば、当該新たに開始される通信は不可能と判定する。
パラメータチェッカ47は、このような判定結果、即ち、通信可能か否かを通信処理部40に通知する。通信処理部40は、パラメータチェッカ47からの通知により、新たに通信を開始する前に、その通信が可能か否かを判断することができる。
エントリ管理部46は、パラメータ格納部45内のエントリを管理する。先の通信で或る通信先ノードや通信先のネットワークに障害があったとしても、その状況は回復する。そこで、エントリ管理部46は、所定の有効期間情報を持ち、最終更新時からこの所定有効期間を経過したエントリを削除する。また、エントリ管理部46は、ネットワーク不達を示すエントリに関し、そのエントリと同一のネットワークプレフィックスを持つ通信先ノードとの通信が成功したことを通信処理部40から通知された場合に、そのエントリを削除するようにしてもよい。
〔第2実施形態における作用及び効果〕
このように、第2実施形態では、先の通信に応じて受信された通信先不達情報がパラメータ格納部45で格納され、その通信先不達情報が新たに開始される通信において継承される。これにより、先の通信において既に通信不能と学習されている通信先ノードに対してセッション開設等のような新たな通信を再度実行するといった無駄な処理をなくすことができる。
[第3実施形態]
第3実施形態では、継承される通信パラメータとしてパスMTUが継承される例を示す。図15は、第3実施形態における通信元ノード10の処理構成例を概念的に示す図である。以下、第3実施形態における通信元ノード10について第1実施形態及び第2実施形態と異なる点を中心に説明する。
第3実施形態における通信元ノード10は、通信処理部50、パラメータ格納部55、エントリ管理部56、パラメータチェッカ57等を有する。通信元ノード10は、CPU5によりメモリ6に格納されるプログラムが実行されることで上記各処理部を実現する。
通信処理部50は、パスMTU(Maximum Transmission Unit)ディスカバリを実施し、そのパスMTUディスカバリにより得られたパスMTU値を通信元IPアドレス及び通信先IPアドレスと関連付けてパラメータ格納部55に格納する。パスMTU値は、ICMPのタイプ(3)のコード(4)のメッセージにより通知される。なお、パスMTUディスカバリは周知技術であるため、ここでは説明を省略する。
図16は、第3実施形態におけるパラメータ格納部55のデータ例を示す図である。パラメータ格納部55は、通信先IPアドレス及び通信元IPアドレスの各ペアについてそれぞれパスMTU値を格納する。パスMTU値は、通信先IPアドレスから通信元IPアドレスまでの経路中の最小MTU値である。
パラメータチェッカ57は、通信処理部50からの要求に応じて、パラメータ格納部55に格納されるパスMTU値を検索し、通信処理部50により指定された当該新たに開始される通信の通信パラメータの初期値としてパスMTU値を取得する。パラメータチェッカ57は、先の通信でのパスMTUディスカバリで取得されたパスMTU値を、通信端(通信元IPアドレスと通信先IPアドレスとのペア)が完全に一致するパス間のみでなく、パスMTU値が同一となり得るパス間にまで拡張して継承させる。
具体的には、パラメータチェッカ57は、パラメータ格納部55から、通信先IPアドレスの一致ビット数が所定下限値以上で最大となるエントリを抽出し、この抽出されたエントリの中から、通信元IPアドレスの一致ビット数が所定下限値以上で最大となるエントリを抽出する。パラメータチェッカ57は、このようにして抽出されたエントリのパスMTU値を当該新たに開始される通信の通信パラメータの初期値として取得する。パラメータチェッカ57は、取得されたパスMTU値を通信処理部50へ送る。
このパスMTU値の継承範囲については、第1実施形態におけるセッションパラメータの継承範囲の考え方と同様である。よって、上記所定下限値は、異なるパス間で同一のパスMTU値となり得るネットワーク範囲を示すように予め設定され、メモリに格納される。
エントリ管理部56は、パラメータ格納部55に格納されるエントリを管理する。例えば、エントリ管理部56は、データエージング、ガーベジコレクション等を行う。
〔第3実施形態における作用及び効果〕
このように、第3実施形態では、先の通信で実施されたパスMTUディスカバリにより取得されたパスMTU値がパラメータ格納部55で格納され、そのパスMTU値が新たに開始される通信において継承される。これにより、パスMTU値を継承された後の通信では、最初から適切なパスMTU値を用いることができるため、パスMTUディスカバリを実施しなくともよい。よって、後の通信を効率よく実施することができると共に、通信帯域を有効に利用することができる。
更に、第3実施形態では、パラメータチェッカ57が所定下限値を用いて継承すべきパスMTU値を特定するため、パラメータ格納部55内のパスMTU値の数が少なくても上述のような効果を幅広く享受することができる。
[各実施形態の補足]
上述の各実施形態については、全てを組み合わせた形態としてもよいし、いずれか複数を組み合わせた形態としてもよい。各実施形態を組み合わせる場合には、各実施形態のパラメータ格納部(25、45、55)は、1つのテーブル(キャッシュ)で実現されてもよいし、それぞれ異なるテーブルで実現されてもよい。
[変形例]
以下に示す各変形例は、上述の各実施形態に適用可能である。
〔第1変形例〕
パラメータ格納部25は、通信元ノード10自身のセッション情報管理部21で管理されるセッション情報に加えて、他の通信ノードのセッション情報管理部21で管理されるセッション情報のセッションパラメータを格納してもよい。また、通信元ノード10上で複数の仮想マシンが実現されている場合には、パラメータ格納部25は、通信元ノード10上の1つの仮想マシンのセッション情報管理部21で管理されるセッション情報に加えて、他の仮想マシンのセッション情報管理部21で管理されるセッション情報のセッションパラメータを格納してもよい。
図17は、第1変形例における通信元ノード10の処理構成例を概念的に示す図である。図17は、第1実施形態に第1変形例を適用した場合の処理構成例を示す。第1変形例における通信元ノード10は、上述の各実施形態の構成に加えて、セッション情報送受信部29を更に備える。セッション情報送受信部29は、他の通信ノードから当該セッション情報を取得し、取得されたセッション情報をパラメータ格納部25に格納する。また、セッション情報送受信部29は、セッション情報管理部21で管理されるセッション情報の追加及び更新(消去を除く)に応じて、その追加及び更新されたセッション情報を他の通信ノードに送る。セッション情報送受信部29は、パラメータ通知部と呼ぶこともできる。
通信元ノード10で複数の仮想マシンが実現されている場合には、セッション情報送受信部29は、自身を実現する仮想マシン以外の他の仮想マシンから当該セッション情報を取得し、取得されたセッション情報をパラメータ格納部25に格納する。この場合、セッション情報送受信部29は、追加及び更新されたセッション情報を他の仮想マシンに送る。このようにすれば、仮想マシン間で学習された通信パラメータを継承することができる。
〔第2変形例〕
また、パラメータ格納部25は、共有サーバ上に集約されるようにしてもよい。図18は、第2変形例におけるシステム構成例を概念的に示す図である。図18に示されるように、第2変形例では、所定範囲の通信元ノード10(#1)及び10(#2)と通信可能に接続される共有サーバ15が新たに設けられる。この所定範囲とは、上述のセッションパラメータの通信元ノードの継承範囲と同じに設定されてもよい。なお、第2変形例では、共有サーバ15の数は制限されない。
図19は、第2変形例における共有サーバ15及び通信元ノード10の処理構成例を概念的に示す図である。図19は、第1実施形態に第2変形例を適用した場合の処理構成例を示す。以降、図18及び図19で示される通信元ノード10(#1)及び10(#2)は、同じ処理構成を有していればよいため、区別する必要がある場合を除いて、通信元ノード10と表記される。
第2変形例における通信元ノード10は、通信処理部20、セッション情報管理部21、セッション情報送信部33、パラメータ取得部34等を有する。通信処理部20及びセッション情報管理部21は第1実施形態と同様であるためここでは説明を省略する。セッション情報送信部33及びパラメータ取得部34についても他の処理部と同様に、CPU5によりメモリ6に格納されるプログラムが実行されることで実現される。
セッション情報送信部33は、セッション情報管理部21で管理されるセッション情報の追加及び更新(消去を除く)に応じて、その追加及び更新されたセッション情報を共有サーバ15に送る。パラメータ取得部34は、通信処理部20からのセッションパラメータの初期値の要求を共有サーバ15に送り、パラメータチェッカ27により取得された初期値を共有サーバ15から受信し、その初期値を通信処理部20へ渡す。
第2変形例における共有サーバ15は、パラメータ格納部25、エントリ管理部26、パラメータチェッカ27、セッション情報受信部31、パラメータ通知部32等を有する。共有サーバ15は、コンピュータであり、CPU5によりメモリ6に格納されるプログラムが実行されることで上記各処理部を実現する。パラメータ格納部25、エントリ管理部26及びパラメータチェッカ27は第1実施形態と同様であるためここでは説明を省略する。
セッション情報受信部31は、通信元ノード10からのセッション情報を受け、受信されたセッション情報に基づいてパラメータ格納部25を更新する。例えば、そのセッション情報が新たに追加された情報であれば、セッション情報受信部31は、パラメータ格納部25にそのセッション情報に対応する新たなエントリを追加する。そのセッション情報が変更された情報であれば、セッション情報受信部31は、そのセッション情報に対応するエントリをそのセッション情報に基づいて変更する。
パラメータ通知部32は、パラメータチェッカ27により取得されたセッションパラメータの初期値をそれを用いる新たなセッションを開始する通信元ノード10へ通知する。なお、当該初期値の送信先は、当該初期値の要求元の通信元ノード10となる。
このように、第2変形例では、各通信元ノード10で学習されたセッションパラメータが共有サーバ15に集約され、その集約されたセッションパラメータが複数の通信元ノード10で共有される。従って、第2変形例によれば、各通信元ノード10のメモリ容量を抑えることができると共に、複数の通信元ノード10の学習情報を各通信元ノード10で共有することができる。なお、この第2変形例は、上述したように、仮想マシンを継承単位としてもよい。この場合には、共有サーバ15に集約されたセッションパラメータが複数の仮想マシンで共有される。
なお、パラメータチェッカ27は、各通信元ノード10上で実現されるようにしてもよい。この場合、パラメータチェッカ27は、ネットワークを介してパラメータ格納部25を検索するようにすればよい。このようにすれば、パラメータチェッカ27を通信元ノード10毎にカスタマイズすることができる。
[他の実施形態]
上述したように、TCP通信では、スロースタートアルゴリズムにより、各コネクションにおいてウィンドウサイズが調整される。スロースタートアルゴリズムは、利用するネットワークの性能が低いという仮定から通信を開始し、徐々に時間をかけてネットワーク状態を学習する手法である。よって、高性能ネットワークにおいてはこのスロースタートアルゴリズムの学習時間が無駄になる場合がある。現状、このような課題を解決し得る手段は存在しない。
そこで、上述の各実施形態において、パラメータチェッカ27、47及び57が、学習された通信パラメータの継承範囲を拡張しなくとも十分に効果的である。即ち、次のような通信制御装置は上述の課題を解決することができる。
通信ノード間のL4通信で学習されたウィンドウサイズ、当該L4通信の通信元IPアドレス及び当該L4通信の通信先IPアドレスを含む各エントリをそれぞれ格納するパラメータ格納部と、新たに開設されるコネクションにおける通信元IPアドレス及び通信先IPアドレスを取得し、当該通信元IPアドレス及び当該通信先IPアドレスに対応するウィンドウサイズを、当該新たに開設されるコネクションの初期値としてパラメータ格納部から取得するパラメータ取得部と、を備えることを特徴とする通信制御装置。
具体的には、上述の各実施形態において、パラメータチェッカ27、47及び57は、通信元IPアドレス及び通信先IPアドレスのペアが一致するエントリの通信パラメータ(ウィンドウサイズ)を継承するようにしてもよい。このような形態であっても、スロースタートアルゴリズムによる無駄な学習時間をなくすことができる。
上記の各実施形態及び各変形例の一部又は全部は、以下の付記のようにも特定され得る。但し、各実施形態及び各変形例が以下の記載に限定されるものではない。
(付記1)
通信ノード間の通信で学習された通信パラメータ、該通信の通信元IPアドレス及び該通信の通信先IPアドレスを含む各エントリをそれぞれ格納するパラメータ格納部と、
新たに開始される通信における通信元IPアドレス及び通信先IPアドレスを取得し、前記パラメータ格納部に格納される複数エントリの中から、通信元IPアドレス間、又は、通信先IPアドレス間で一致するビットの数が、IPアドレスの全ビット数よりも小さい所定下限値以上となる少なくとも1つのエントリを抽出し、抽出されたエントリから、該新たに開始される通信で用いられる通信パラメータの初期値を取得するパラメータ取得部と、
を備えることを特徴とする通信制御装置。
(付記2)
前記パラメータ取得部は、前記通信先IPアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出し、抽出されたエントリの中から前記通信元IPアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出する、
ことを特徴とする付記1に記載の通信制御装置。
(付記3)
通信元ノードにより得られる通信先不達情報を各通信先IPアドレスに関連付けてそれぞれ格納する接続状況格納部、
を更に備え、
前記パラメータ取得部は、前記新たに開始される通信における通信先IPアドレスに基づいて前記接続状況格納部に格納される前記通信先不達情報を検索することにより、前記新たに開始される通信が可能か否かを判定する、
ことを特徴とする付記1又は2に記載の通信制御装置。
(付記4)
前記通信先不達情報には、ネットワーク不達を示す不達種別を含み、
前記パラメータ取得部は、前記ネットワーク不達を示す前記通信先不達情報を対象に、通信先IPアドレス間のネットワークプレフィックスの照合を行うことにより、前記新たに開始される通信が可能か否かを判定する、
ことを特徴とする付記3に記載の通信制御装置。
(付記5)
前記パラメータ格納部に格納される前記通信パラメータは、前記通信ノード間のセッションで学習されたセッションパラメータを含み、
前記パラメータ格納部に格納される前記各エントリは、プロトコル種別、通信元ポート番号及び通信先ポート番号を更に含み、
前記パラメータ取得部は、前記新たに開始される通信におけるプロトコル種別、通信先ポート番号及び通信元ポート番号を更に用いて前記エントリを抽出する、
ことを特徴とする付記1から4のいずれか1つに記載の通信制御装置。
(付記6)
前記パラメータ格納部に格納される前記通信パラメータは、パスMTU(Maximum Transmission Unit)ディスカバリにより学習されたパスMTUを含むことを特徴とする付記1から5のいずれか1つに記載の通信制御装置。
(付記7)
前記通信パラメータを前記通信制御装置以外の他の通信ノード又は或る仮想マシン以外の他の仮想マシンから受信し、受信された通信パラメータを含むエントリを前記パラメータ格納部に格納するパラメータ受信部と、
前記パラメータ取得部により取得された前記通信パラメータの前記初期値を新たな通信を開始する前記他の通信ノード又は前記他の仮想マシンに通知するパラメータ通知部と、
を更に備える付記1から6のいずれか1つに記載の通信制御装置。
(付記8)
前記パラメータ格納部に格納される前記各エントリに対応する各通信を実現する各ネットワークの安定度を判定し、各ネットワークの安定度に応じて前記各エントリを削除するエントリ管理部、
を更に備える付記1から7のいずれか1つに記載の通信制御装置。
(付記9)
通信ノード間の通信で学習された通信パラメータ、該通信の通信元IPアドレス及び該通信の通信先IPアドレスを含む各エントリをパラメータ格納部にそれぞれ格納し、
新たに開始される通信における通信元IPアドレス及び通信先IPアドレスを取得し、
前記パラメータ格納部に格納される複数エントリの中から、通信元IPアドレス間、又は、通信先IPアドレス間で一致するビットの数が、IPアドレスの全ビット数よりも小さい所定下限値以上となる少なくとも1つのエントリを抽出し、
前記抽出されたエントリから、該新たに開始される通信で用いられる通信パラメータの初期値を取得する、
ことを含む通信制御方法。
(付記10)
前記少なくとも1つのエントリの抽出は、
前記通信先IPアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出し、
前記抽出されたエントリの中から前記通信元IPアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出する、
ことを含む付記9に記載の通信制御方法。
(付記11)
通信元ノードにより得られる通信先不達情報を接続状況格納部に各通信先IPアドレスに関連付けてそれぞれ格納し、
前記新たに開始される通信における通信先IPアドレスに基づいて前記接続状況格納部に格納される前記通信先不達情報を検索することにより、前記新たに開始される通信が可能か否かを判定する、
ことを更に含む付記9又は10に記載の通信制御方法。
(付記12)
前記通信先不達情報には、ネットワーク不達を示す不達種別を含み、
前記判定は、
前記ネットワーク不達を示す前記通信先不達情報を対象に、通信先IPアドレス間のネットワークプレフィックスの照合を行う
ことを含む、
付記11に記載の通信制御方法。
(付記13)
前記パラメータ格納部に格納される前記通信パラメータは、前記通信ノード間のセッションで学習されたセッションパラメータを含み、
前記パラメータ格納部に格納される前記各エントリは、プロトコル種別、通信元ポート番号及び通信先ポート番号を更に含み、
前記新たに開始される通信におけるプロトコル種別、通信先ポート番号及び通信元ポート番号を更に用いて前記エントリを抽出する、
ことを更に含む付記9から12のいずれか1つに記載の通信制御方法。
(付記14)
前記パラメータ格納部に格納される前記通信パラメータは、パスMTU(Maximum Transmission Unit)ディスカバリにより学習されたパスMTUを含むことを特徴とする付記9から13のいずれか1つに記載の通信制御方法。
(付記15)
前記通信パラメータを前記通信制御装置以外の他の通信ノード又は或る仮想マシン以外の他の仮想マシンから受信し、
前記受信された通信パラメータを含むエントリを前記パラメータ格納部に格納し、
前記取得された前記通信パラメータの前記初期値を新たな通信を開始する前記他の通信ノード又は前記他の仮想マシンに通知する、
ことを更に含む付記9から14のいずれか1つに記載の通信制御方法。
(付記16)
前記パラメータ格納部に格納される前記各エントリに対応する各通信を実現する各ネットワークの安定度を判定し、
前記各ネットワークの安定度に応じて前記パラメータ格納部に格納される前記エントリを削除する、
ことを更に含む付記9から15のいずれか1つに記載の通信制御方法。
(付記17)
付記9から16のいずれか1つに記載の通信制御方法をコンピュータに実行させるプログラム。
(付記18)
付記17に記載のプログラムをコンピュータに読み取り可能に記録する記録媒体。
この出願は、2012年6月25日に出願された日本出願特願2012−141968号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (17)

  1. 通信ノード間の通信で学習された通信パラメータ、該通信の通信元IPアドレス及び該通信の通信先IPアドレスを含む各エントリをそれぞれ格納するパラメータ格納部と、
    新たに開始される通信における通信元IPアドレス及び通信先IPアドレスを取得し、前記パラメータ格納部に格納される複数エントリの中から、通信元IPアドレス間、又は、通信先IPアドレス間で一致するビットの数が、IPアドレスの全ビット数よりも小さい所定下限値以上となる少なくとも1つのエントリを抽出し、抽出されたエントリから、該新たに開始される通信で用いられる通信パラメータの初期値を取得するパラメータ取得部と、
    を備え
    前記パラメータ取得部は、前記通信先IPアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出することを特徴とする通信制御装置。
  2. 前記パラメータ取得部は、抽出されたエントリの中から前記通信元IPアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出する、
    ことを特徴とする請求項1に記載の通信制御装置。
  3. 通信元ノードにより得られる通信先不達情報を各通信先IPアドレスに関連付けてそれぞれ格納する接続状況格納部、
    を更に備え、
    前記パラメータ取得部は、前記新たに開始される通信における通信先IPアドレスに基づいて前記接続状況格納部に格納される前記通信先不達情報を検索することにより、前記新たに開始される通信が可能か否かを判定する、
    ことを特徴とする請求項1又は2に記載の通信制御装置。
  4. 前記通信先不達情報には、ネットワーク不達を示す不達種別を含み、
    前記パラメータ取得部は、前記ネットワーク不達を示す前記通信先不達情報を対象に、通信先IPアドレス間のネットワークプレフィックスの照合を行うことにより、前記新たに開始される通信が可能か否かを判定する、
    ことを特徴とする請求項3に記載の通信制御装置。
  5. 前記パラメータ格納部に格納される前記通信パラメータは、前記通信ノード間のセッションで学習されたセッションパラメータを含み、
    前記パラメータ格納部に格納される前記各エントリは、プロトコル種別、通信元ポート番号及び通信先ポート番号を更に含み、
    前記パラメータ取得部は、前記新たに開始される通信におけるプロトコル種別、通信先ポート番号及び通信元ポート番号を更に用いて前記エントリを抽出する、
    ことを特徴とする請求項1から4のいずれか1項に記載の通信制御装置。
  6. 前記パラメータ格納部に格納される前記通信パラメータは、パスMTU(Maximum Transmission Unit)ディスカバリにより学習されたパスMTUを含むことを特徴とする請求項1から5のいずれか1項に記載の通信制御装置。
  7. 前記通信パラメータを前記通信制御装置以外の他の通信ノード又は或る仮想マシン以外の他の仮想マシンから受信し、受信された通信パラメータを含むエントリを前記パラメータ格納部に格納するパラメータ受信部と、
    前記パラメータ取得部により取得された前記通信パラメータの前記初期値を新たな通信を開始する前記他の通信ノード又は前記他の仮想マシンに通知するパラメータ通知部と、
    を更に備える請求項1から6のいずれか1項に記載の通信制御装置。
  8. 前記パラメータ格納部に格納される前記各エントリに対応する各通信を実現する各ネットワークの安定度を判定し、各ネットワークの安定度に応じて前記各エントリを削除するエントリ管理部、
    を更に備える請求項1から7のいずれか1項に記載の通信制御装置。
  9. 通信制御装置が、
    通信ノード間の通信で学習された通信パラメータ、該通信の通信元IPアドレス及び該通信の通信先IPアドレスを含む各エントリをパラメータ格納部にそれぞれ格納し、
    新たに開始される通信における通信元IPアドレス及び通信先IPアドレスを取得し、
    前記パラメータ格納部に格納される複数エントリの中から、通信元IPアドレス間、又は、通信先IPアドレス間で一致するビットの数が、IPアドレスの全ビット数よりも小さい所定下限値以上となる少なくとも1つのエントリを抽出し、
    前記抽出されたエントリから、該新たに開始される通信で用いられる通信パラメータの初期値を取得し、
    前記少なくとも1つのエントリの抽出は、
    前記通信先IPアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出する、
    ことを含む通信制御方法。
  10. 前記少なくとも1つのエントリの抽出は
    前記抽出されたエントリの中から前記通信元IPアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出する、
    ことを含む請求項9に記載の通信制御方法。
  11. 前記通信制御装置が、
    通信元ノードにより得られる通信先不達情報を接続状況格納部に各通信先IPアドレスに関連付けてそれぞれ格納し、
    前記新たに開始される通信における通信先IPアドレスに基づいて前記接続状況格納部に格納される前記通信先不達情報を検索することにより、前記新たに開始される通信が可能か否かを判定する、
    ことを更に含む請求項9又は10に記載の通信制御方法。
  12. 前記通信先不達情報には、ネットワーク不達を示す不達種別を含み、
    前記判定は、
    前記ネットワーク不達を示す前記通信先不達情報を対象に、通信先IPアドレス間のネットワークプレフィックスの照合を行う
    ことを含む、
    請求項11に記載の通信制御方法。
  13. 前記パラメータ格納部に格納される前記通信パラメータは、前記通信ノード間のセッションで学習されたセッションパラメータを含み、
    前記パラメータ格納部に格納される前記各エントリは、プロトコル種別、通信元ポート番号及び通信先ポート番号を更に含み、
    前記通信制御装置が、
    前記新たに開始される通信におけるプロトコル種別、通信先ポート番号及び通信元ポート番号を更に用いて前記エントリを抽出する、
    ことを更に含む請求項9から12のいずれか1項に記載の通信制御方法。
  14. 前記パラメータ格納部に格納される前記通信パラメータは、パスMTU(Maximum Transmission Unit)ディスカバリにより学習されたパスMTUを含むことを特徴とする請求項9から13のいずれか1項に記載の通信制御方法。
  15. 前記通信制御装置が、
    前記通信パラメータを前記通信制御装置以外の他の通信ノード又は或る仮想マシン以外の他の仮想マシンから受信し、
    前記受信された通信パラメータを含むエントリを前記パラメータ格納部に格納し、
    前記取得された前記通信パラメータの前記初期値を新たな通信を開始する前記他の通信ノード又は前記他の仮想マシンに通知する、
    ことを更に含む請求項9から14のいずれか1項に記載の通信制御方法。
  16. 前記通信制御装置が、
    前記パラメータ格納部に格納される前記各エントリに対応する各通信を実現する各ネットワークの安定度を判定し、
    前記各ネットワークの安定度に応じて前記パラメータ格納部に格納される前記エントリを削除する、
    ことを更に含む請求項9から15のいずれか1項に記載の通信制御方法。
  17. コンピュータに請求項9から16のいずれか1項に記載の通信制御方法を実行させるプログラム。
JP2014522374A 2012-06-25 2013-03-21 通信制御装置及び通信制御方法 Expired - Fee Related JP6056857B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012141968 2012-06-25
JP2012141968 2012-06-25
PCT/JP2013/001909 WO2014002337A1 (ja) 2012-06-25 2013-03-21 通信制御装置及び通信制御方法

Publications (2)

Publication Number Publication Date
JPWO2014002337A1 JPWO2014002337A1 (ja) 2016-05-30
JP6056857B2 true JP6056857B2 (ja) 2017-01-11

Family

ID=49782546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014522374A Expired - Fee Related JP6056857B2 (ja) 2012-06-25 2013-03-21 通信制御装置及び通信制御方法

Country Status (3)

Country Link
US (1) US10021192B2 (ja)
JP (1) JP6056857B2 (ja)
WO (1) WO2014002337A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6229504B2 (ja) * 2014-01-09 2017-11-15 富士通株式会社 ネットワーク監視装置、監視方法及びプログラム
JP6389661B2 (ja) 2014-07-04 2018-09-12 キヤノン株式会社 情報処理装置および情報処理方法
US10638363B2 (en) * 2018-04-04 2020-04-28 At&T Intellectual Property I, L.P. Legacy network maximum transmission unit isolation capability through deployment of a flexible maximum transmission unit packet core design
CN113114479A (zh) * 2020-01-10 2021-07-13 华为技术有限公司 一种数据获取方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0528072A (ja) 1991-07-18 1993-02-05 Nec Corp 計算機システム
JPH087730B2 (ja) 1993-06-24 1996-01-29 日本電気株式会社 計算機システム
US6519636B2 (en) * 1998-10-28 2003-02-11 International Business Machines Corporation Efficient classification, manipulation, and control of network transmissions by associating network flows with rule based functions
US7219158B2 (en) * 2000-07-21 2007-05-15 Hughes Network Systems Llc Method and system for improving network performance using a performance enhancing proxy
US7143137B2 (en) * 2002-06-13 2006-11-28 Nvidia Corporation Method and apparatus for security protocol and address translation integration
US7143188B2 (en) * 2002-06-13 2006-11-28 Nvidia Corporation Method and apparatus for network address translation integration with internet protocol security
JP4344265B2 (ja) * 2004-03-17 2009-10-14 株式会社リコー 通信装置、通信用プログラム、記憶媒体及び通信方法
JP2005303968A (ja) * 2004-03-18 2005-10-27 Ricoh Co Ltd 通信装置、及び、その制御方法
CN102724732B (zh) * 2006-07-04 2015-04-15 株式会社日立制作所 自组织网络的构筑方法
JP2008228219A (ja) * 2007-03-15 2008-09-25 Ricoh Co Ltd データ通信端末、データ通信方法、データ通信プログラム及び記録媒体
JP2009177282A (ja) 2008-01-22 2009-08-06 Keio Gijuku ネットワークシステム
JP5014281B2 (ja) * 2008-07-30 2012-08-29 パナソニック株式会社 Tcp送信制御装置及びtcp送信制御方法

Also Published As

Publication number Publication date
US10021192B2 (en) 2018-07-10
JPWO2014002337A1 (ja) 2016-05-30
US20150127841A1 (en) 2015-05-07
WO2014002337A1 (ja) 2014-01-03

Similar Documents

Publication Publication Date Title
CN107241186B (zh) 网络设备和用于网络通信的方法
US8422501B2 (en) Efficient path maximum transmission unit information discovery and storage
US8261339B2 (en) Dynamic network tunnel endpoint selection
US7895348B2 (en) Virtual dispersive routing
EP3410657B1 (en) Method of packet transmission from node and content owner in content-centric networking
JP3717836B2 (ja) ダイナミック・ロード・バランサ
US8005968B2 (en) Single-interface dynamic MTU control
US10791051B2 (en) System and method to bypass the forwarding information base (FIB) for interest packet forwarding in an information-centric networking (ICN) environment
US9118608B2 (en) Communication apparatus, control method therefor, and computer-readable storage medium
JP6056857B2 (ja) 通信制御装置及び通信制御方法
US11134015B2 (en) Load balancing through selective multicast replication of data packets
US20200374231A1 (en) Managing network traffic flows
WO2012034414A1 (zh) 一种处理p2p业务的方法及系统
JP5534033B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
EP3384642B1 (en) Forwarding table compression
JP2011159247A (ja) ネットワークシステム、コントローラ、ネットワーク制御方法
US9749262B2 (en) Packet processing method and forwarding element
US11146492B2 (en) Method and system for optimizing service device traffic management
CN112187902A (zh) IPv6隧道模式下的DNS代理方法、装置、存储介质及终端设备
JP6245172B2 (ja) 通信装置及び通信パラメータ設定方法
CN117336246A (zh) 数据报文的处理方法及装置、电子设备及存储介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161014

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: 20161108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161121

R150 Certificate of patent or registration of utility model

Ref document number: 6056857

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees