(57)【要約】【課題】負荷分散機能を備えたサーバ、ルータ、及び端末において、パケットを受信する端末に対応した負荷分散を行う。【解決手段】端末300x_1が、マルチパス転送データ受信可能である場合、データ出力要求にマルチパス転送を指定し、サーバ200xが、データ出力要求がマルチパス転送を指定するとき、要求されたデータの転送用パケットにマルチパス転送制御情報を付加して送出し、ルータ100xが、該マルチパス転送制御情報が付加されているパケットをマルチパス転送制御情報に基づくマルチパス転送を行う。【選択図】      図３
2006203471.tif 000002
【特許請求の範囲】
【請求項１】
データ出力要求を受信する受信部と、
該データ出力要求がマルチパス転送を指定するとき、該要求されたデータのパケットにマルチパス転送制御情報を付加して送出するパケット送出部と、
を備えたことを特徴とするサーバ。
【請求項２】
請求項１において、
該データ出力要求に経路数が設定されており、
該パケット送出部が、該マルチパス転送制御情報に該経路数に対応する指定経路番号を該パケット毎に周期的に付加することを特徴とするサーバ。
【請求項３】
受信したデータのパケットにマルチパス転送制御情報が付加されているか否かを判別する判別部と、
該パケットを転送するための経路を検索する経路判定部と、
該マルチパス転送制御情報が付加されているパケットを該検索された経路に、該マルチパス転送制御情報に基づくマルチパス転送を行うパケット送出部と、
を備えたことを特徴とするルータ。
【請求項４】
請求項３において、
該マルチパス転送制御情報に、経路を指定する指定経路番号がさらに含まれており、
該パケット送出部は、該指定経路番号と該検索された経路を対応付ける負荷分散方式に基づき、該指定経路番号のパケットを周期的に対応付けられた該経路に送出することを特徴としたルータ。
【請求項５】
自分がマルチパス転送データ受信可能である場合、データ出力要求にマルチパス転送を指定するマルチパス転送指定部と、
該データ出力要求を送出する送信部と、
を備えたことを特徴とする端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ、ルータ及び端末ルータに関し、特に、パケットを負荷分散(ロードバランス)するための機能を備えたサーバ、ルータ及び端末に関する。
【０００２】
近年、インターネットの急速な普及、及びe-Japan戦略等により、伝送路の高速化及びネットワークの大容量化が進んでいる。また、安価なルータやレイヤ３のスイッチングハブ等の登場により、IPネットワークは、小規模なものから大規模なものまで、構築されるようになって来ている。これに伴い、大容量のデータが集中するルータ(例えば、エッジルータ)が、パケット転送のボトルネックとなる場合が発生する。このボトルネックを回避するための技術として、パケット転送の負荷分散が重要である。
【背景技術】
【０００３】
IPネットワークにおいて、従来の負荷分散例として、(1)サーバに最も近いエッジルータ100a_1が“ECMP(Equal Cost MultiPath、すなわち、同じコストの複数のパスが存在するとき、これらから選択したパスに送出する)機能によるハッシュ方式”の負荷分散、(2)同様のECMP機能による“ラウンドロビン方式”の負荷分散、(3)論理チャネルにパケットを分散する負荷分散、（4）専用の負荷分散装置を用いた負荷分散等がある。
【０００４】
図16及び図17は、それぞれ、上記の従来の“ハッシュ方式”による負荷分散例(1)、及び“ラウンドロビン方式”による負荷分散例(2)を示している。両図には、共に、各方式の負荷分散機能を備えたルータ100a_1を含むIPネットワークを示しており、このIPネットワークは、ブロードキャストドメイン400_1と、ルータ100a_1〜100a_8を含むネットワークと、ブロードキャストドメイン400_2とで構成されている。ブロードキャストドメイン400_1及び400_2には、それぞれ、サーバ200及び端末300_1，300_2が接続されている。
【０００５】
両図において、“太線”で示した回線500_1〜500_5は、100Mbps回線であり、“細線”で示した回線510_1，510_2等は10Mbps回線である。
【０００６】
従来例(1)：ハッシュ方式負荷分散(図16)
図16において、端末300_1及び300_2(以後、符号300で総称することがある。)が、それぞれ、サーバ200に対してデータのダウンロードを要求した場合(ステップS500参照。)、サーバ200から送出された端末300_1及び300_2宛のパケット(データ)は、エッジルータ100a_1を経由して端末300_1及び300_2に送信される。このとき、ルータ100a_1は、入力側の100Mbps回線500_2から受信したパケットをハッシュ方式で負荷分散して出力側の10Mbps回線(パス)510_1又は10Mbps回線510_2に送出する(ステップS510参照。)。すなわち、ルータ100a_1は、受信したパケットの送信元IPアドレス又は宛先IPアドレスを元にハッシュ値を計算し、この値に対応した送出パスを決定する。
【０００７】
同図では、ルータ100a_1は、端末300_1宛パケットを回線510_1に送出し、端末300_2宛パケットを回線510_2に送出している。この結果、端末300_1宛パケットは、サーバ200、ルータ100a_1、回線510_1、ルータ100a_2，100a_4，及び100a_5経由のセッションで端末300_1に送信され、端末300_2宛パケットは、サーバ200、ルータ100a_1、回線510_2、ルータ100a_3，100a_6及び100a_5経由のセッションで端末300_2に送信されている。
【０００８】
従来例(2)：ラウンドロビン方式の負荷分散(図17)
図17において、例えば、端末300_1が、サーバ200に対してデータのダウンロードを要求した場合(ステップS600参照。)、サーバ200から送出された端末300_1宛のパケット700_1，700_2は、エッジルータ100a_1経由で端末300_1に送信される。このとき、ルータ100a_1は、100Mbps回線500_2から受信したパケット700_1，パケット700_2，…をラウンドロビン方式(すなわち、受信したパケット毎に送出パスを順次切り替えて送出する方式)により負荷分散して10Mbps回線(パス)510_1及び10Mbps回線510_2に交互に切り替えて送出する(ステップS610参照。)。
【０００９】
同図では、パケット700_1及びパケット700_2は、それぞれ、異なる第１経路(サーバ200、ルータ100a_1、ルータ100a_2，100a_4，及び100a_5)、及び第２経路(サーバ200、ルータ100a_3，100a_6，及び100a_5)経由で端末300_1に送信される。この例の第１経路の方が第２経路より伝送時間が長いとすると、端末300_1には、パケット700_2及びパケット700_1がこの逆転した順序で到達することになる。そこで、端末300_1は、パケットを正しい順序に組み直す(ステップS620参照。)。
【００１０】
従来例(3)：論理チャネルにパケットを分散する負荷分散
この従来例(3)においては、バケット端末が伝達情報を複数のパケットに分割して送出し、このパケットを受信した交換ノードにおいて、宛先ノード読出部がパケットの宛先端末情報を読み出し、論理チャネル割当部が論理チャネル割当テーブルを参照して、宛先ノード番号対応に論理チャネルを割り当て、ルーティング部が論理チャネル対応の物理リンクにパケットを出力する。このパケットを受信した他の交換ノードにおいて、端末識別部が宛先パケット端末を識別し、順序制御部がパケットの順序を制御してパケット端末に出力する。
【００１１】
すなわち、交換ノードが、端末の伝達情報をパケットに分散して複数の論理チャネルに送出し、他の交換ノードがパケットを合成して宛先端末に与え、ルーティング処理負担とトラフィックの輻輳を軽減している装置がある(例えば、特許文献１参照。)。
【００１２】
従来例(4)：専用の負荷分散装置を用いた負荷分散
この従来例(4)では、例えば、複数のエッジルータの信号入力側に負荷分散装置を設置し、この装置により複数のエッジルータへの負荷を分散する。
【特許文献１】特開平6-276230号公報(２頁、図１)
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上述した従来例(1)のハッシュ方式負荷分散においては、複数の端末300のパケットは、ネットワーク全体としては負荷分散されているが、端末300_1宛パケットに注目した場合、このパケットは、セッションに１対１で対応付けられているため、負荷分散されていない。したがって、サーバ200と端末300_1のアクセスパスの帯域が大きい場合、そのパスを効率よく利用できない。また、図16に示したように、ルータ100a_1が広帯域を必要とするパケットを100Mbps回線500_1から10Mbps回線510_1へ転送する場合、ルータ100a_1が、このパケット通信のボトルネックとなる可能性がある。
【００１４】
また、上述した従来例(2)のラウンドロビン方式負荷分散においては、従来例(1)のボトルネックの問題は解決されるが、パケットは端末300_1に逆順序で到達する可能があるため、ラウンドロビン方式に対応しないアプリケーションで端末300_1が動作している場合、到達パケットを正しい順に組み直すことができず、不具合が生ずる。
【００１５】
なお、従来例(1)のハッシュ方式と従来例(2)のラウンドロビン方式の負荷分散機能を共に備えたルータ100aも存在するが、この場合の機能選択はルータ側で固定的に設定されるため、端末300_1が設定されていない方の方式を指定することができない。すなわち、端末300_1は、ラウンドロビン方式に対応しないアプリケーションで動作する場合、ルータ100a_1に対して、パケット到達順が逆にならないハッシュ方式を指定することはできない。
【００１６】
また、上述した従来例(3)においては、到達パケットを正しい順に組み直すことができない端末は、パケットの順序を制御する交換ノードに接続されている必要がある。
【００１７】
同様に負荷分散例(4)においても、専用の負荷分散装置が必要になる。
【００１８】
したがって、本発明は負荷分散機能を備えたサーバ、ルータ、及び端末において、パケットを受信する該端末に対応した負荷分散を行うことを課題とする。
【課題を解決するための手段】
【００１９】
上記の課題を解決するため本発明に係るサーバは、データ出力要求を受信する受信部と、該データ出力要求がマルチパス転送を指定するとき、該要求されたデータのパケットにマルチパス転送制御情報を付加して送出するパケット送出部とを備えたことを特徴としている。
【００２０】
すなわち、例えば、端末が、サーバに対してデータの転送(ダウンロード)を要求するとき、その動作しているアプリケーションがパケット単位のマルチパス転送に対応している場合、マルチパス転送を指定したデータ出力要求をサーバに与える。
【００２１】
サーバの受信部は、データ出力要求を受信し、このデータ出力要求がマルチパス転送を指定するとき、パケット送出部は、要求されたデータのパケット(以後、データパケットと称することがある。)にマルチパス転送制御情報を付加して送出する。
【００２２】
これにより、例えば、マルチパス転送機能を備えたルータは、受信したデータパケットを、これに付加されたマルチパス転送制御情報に基づき、マルチパス転送で端末に転送することが可能になる。逆に、ルータは、マルチパス転送制御情報が付加されていないパケットを非マルチパス方式で転送することが可能になる。すなわち、ルータは、パケットを受信する端末に対応した負荷分散を行うことが可能になる。
【００２３】
また、上記の本発明において、該マルチパス転送制御情報には、マルチパス転送をするか否かを指定する情報及びマルチパス転送する場合の経路数を指定する情報を含めることが可能である。
【００２４】
さらに、上記の本発明において、該データ出力要求に経路数が設定されており、該パケット送出部が、該マルチパス転送制御情報に該経路数に対応する指定経路番号を該パケット毎に周期的に付加することが可能である。
【００２５】
上記の課題を解決するため本発明に係るルータは、受信したデータのパケットにマルチパス転送制御情報が付加されているか否かを判別する判別部と、該パケットを転送するための経路を検索する経路判定部と、該マルチパス転送制御情報が付加されているパケットを該検索された経路に、該マルチパス転送制御情報に基づくマルチパス転送を行うパケット送出部とを備えたことを特徴としている。
【００２６】
すなわち、ヘッダ解析部は、受信したパケットにマルチパス転送制御情報が付加されているか否かを判別する。経路判定部は、該パケットを転送するための経路を判定する。パケット送出部は、判別部がマルチパス転送制御情報が付加されていると判別したパケットを、そのマルチパス転送制御情報(例えば、単にマルチパス転送指定)に基づき、判定された経路を用いてマルチパス転送する。
【００２７】
また、上記の本発明において、該マルチパス転送制御情報に、経路を指定する指定経路番号がさらに含まれており、該パケット送出部は、該指定経路番号と該検索された経路を対応付ける負荷分散方式に基づき、該指定経路番号のパケットを周期的に対応付けられた該経路に送出することが可能である。
【００２８】
すなわち、マルチパス転送制御情報には、“マルチパス転送指定”の他にさらに“指定経路番号(例えば、01〜05)”が含まれている。そして、この指定経路番号と経路判定部で判定された経路とを所定の負荷分散方式で対応(例えば、１対１対応)付ける。該パケット送出部は、パケットをその指定経路番号に対応付けられた経路に送出する。
【００２９】
さらに、上記の本発明において、該方式を、該指定経路番号の最大値が該検索された経路数より大きいとき、該経路に該パケットを周期的に対応付け、該指定経路番号の最大値が該検索された経路数より小さいとき、該最大値数の経路を選択し、この選択した経路に該指定経路番号を１対１に対応付けるようにしてもよい。
【００３０】
上記の課題を解決するため本発明に係る端末は、自分がマルチパス転送データ受信可能である場合、データ出力要求にマルチパス転送を指定するマルチパス転送指定部と、該データ出力要求を送出する送信部とを備えたことを特徴としている。
【発明の効果】
【００３１】
以上説明したように、本発明に係るサーバ、ルータ、及び端末によれば、パケットを受信する該端末に対応した負荷分散を行うことが可能になる。また、マルチパスに対応していない機器が混在するIPネットワークにおいて、マルチパスを使用することが可能となり、負荷分散を実現できる。したがって、負荷分散装置等の専用の機器を設置する必要がなくなり、コストの削減が可能になる。また、1つの通信においても、負荷分散が実現可能であるため、回線帯域をより有効に使用することが可能となり、コスト削減が可能になる。さらに、ハードの改造及び新規作成、並びにソフトでの大幅な改造を必要としないため、装置に安価に組み込むことが可能になる。
【発明を実施するための最良の形態】
【００３２】
サーバ構成実施例
図１は、本発明に係るサーバ200xの構成実施例を示しており、このサーバ200xは、TCPヘッダ解析部21、経路数保持テーブル22、TCPヘッダ判定/指示部23、アプリケーション部24、及びTCPヘッダ作成部25で構成されている。
【００３３】
ルータ構成実施例
図２は、本発明に係るルータ100xの構成実施例を示しており、このルータ100xは、TCPヘッダ解析部10、TCPヘッダ判定/指示部11、ルーティングテーブル12x又は12y、経路判定部13、TCPヘッダ作成部14、及びパケット送出部15で構成されている。
【００３４】
動作実施例［1］
図３は、本発明のサーバ200x、ルータ100x、及び端末300x(符号300x_1及び300x_2の総称。)を含むネットワークにおける動作実施例［1］を示している。
【００３５】
図４〜図７は、それぞれ、動作実施例［1］における各ステップの動作手順(1)〜(4)を示している。図４〜図７に示されたネットワークの構成は、それぞれ、図16で示したネットワークの従来のサーバ200端末300_1，300_2、ルータ100a_1、及び端末300_1，300_2を、サーバ200x、ルータ100x、及び端末300x_1，300x_2に置き換えたものである。
【００３６】
図１〜図７を参照して、本発明のサーバ200x、ルータ100x及び端末300xの動作を以下に説明する。
【００３７】
端末の動作例
ステップS100：端末300_1は、マルチパス転送指定を含むデータ出力要求パケット600xをサーバ200x宛てに送出する(図３及び図４参照。)。
【００３８】
図８は、データ出力要求パケット600xが示されている。このデータ出力要求パケット600xのTCPヘッダ部は、送信元ポート番号600a、宛先ポート番号600b、シーケンス番号600c、確認応答番号600d、データオフセット600e、予約600f、制御ビット600g、ウィンドウ600h、チェックサム600i、緊急ポインタ600j、マルチパス転送指定(オプション領域)600k、及びパディング600lを含んでいる。なお、括弧内の数値は、ビット数をしている。また、オプション領域600k以外の領域の機能は一般的なTCPヘッダの機能と同じであるので説明を省略する。
【００３９】
端末300_1のマルチパス転送指定部(図示せず。)は、データ出力要求パケット600xのマルチパス転送指定600kに自分がマルチパス転送データ受信可能であることを示す“aa”及び経路数＝“例えば05”を付加する。送信部は、データ出力要求パケット600xをサーバ200xに送信する。
【００４０】
サーバの動作例
ステップS200：サーバ200xは、受信したデータ出力要求パケット600xにマルチパス転送が指定されているので、要求されたデータを送信するデータパケットのヘッダにマルチパス転送制御情報を書き込んで送信する(図３及び図５参照。)。
【００４１】
図９は、上記のステップS200をより詳細に示しており、同図を参照してサーバ200xの動作を以下に説明する。
【００４２】
ステップS210，S220：サーバ200(図１参照。)において、TCPヘッダ解析部21は、受信したデータ出力要求パケット600xのヘッダ部を解析してマルチパス転送指定(オプション領域)600k(図８参照。)をTCPヘッダ判定/指示部23に与える。TCPヘッダ判定/指示部23は、データ出力要求パケット600xで指定されたデータをアプリケーション部24に要求する。さらに、TCPヘッダ判定/指示部23は、データ出力要求パケット600xのマルチパス転送指定600k＝“aa”でない場合、TCPヘッダ作成部25に対してマルチパス転送を指示しない。  アプリケーション部24は、要求されたデータをTCPヘッダ判定/指示部23経由でTCPヘッダ作成部25に与え、このTCPヘッダ作成部25は、データをTCPヘッダが付加されたデータパケット700xとして送出するが、このTCPヘッダのマルチパス転送制御情報(オプション領域)700kには、“zz”を付加しない。
【００４３】
データ出力要求パケット600xのマルチパス転送指定600k＝“aa”である場合ステップS230に進む。
【００４４】
図10は、データパケット700xを示している。このパケット700xのTCPヘッダ部は、送信元ポート番号700a、宛先ポート番号700b、シーケンス番号700c、確認応答番号700d、データオフセット700e、予約700f、制御ビット700g、ウィンドウ700h、チェックサム700i、緊急ポインタ700j、マルチパス転送制御情報(オプション領域)700k、及びパディング700lで構成されている。このTCPヘッダ部が、図８に示したTCPヘッダ部と異なる点は、そのマルチパス転送指定600kの代わりにマルチパス転送制御情報700kが設定されている点である。
【００４５】
ステップS230：TCPヘッダ解析部21は、マルチパス転送指定600k＝“aa”，“05”の内の経路数＝“05”を各データ出力要求に対応付けて経路数保持テーブル22に保存する。
【００４６】
ステップS240：TCPヘッダ判定/指示部23は、マルチパス転送指定600k＝“aa”であるので、経路数保持テーブル22から対応する経路数＝“05”を読み出し、この経路数＝“05”と共に“マルチパス転送”をTCPヘッダ作成部25に対して指示する。アプリケーション部24は、要求されたデータをTCPヘッダ判定/指示部23経由でTCPヘッダ作成部25に与え、このTCPヘッダ作成部25は、データをTCPヘッダが付加されたデータパケット700x(符号700x_1〜700x_7の総称。)として送出するが(図５参照。)、このTCPヘッダのマルチパス転送制御情報700kには、マルチパス転送を指定する“zz”及び経路数＝“05”に対応する指定経路番号＝“1”〜“5”を周期的に設定する。
【００４７】
図11は、サーバ200xが送出するデータパケット番号(送出パケット順位)とマルチパス転送制御情報700kに設定される情報の対応関係が示されている。すなわち、番号１〜番号７…のデータパケット700x_1〜700x_7，…(図示せず。)のマルチパス転送制御情報700kには、それぞれ、“zz01”，“zz02”，“zz03”，“zz04”，“zz05”，“zz01”，“zz02”，…が設定される。
【００４８】
ルータの動作例
ステップS300：ルータ100x(図２、図３及び図６参照。)は、サーバ200から受信したデータパケット700x_1，700x_2，…のヘッダ部を解析し、マルチパス転送制御情報700kに“zz”が含まれるているので、負荷分散でパケット700x_1，700x_2，…を転送する。
【００４９】
図12は、上記のステップS300をより詳細に示しており、同図を参照してルータ300xの動作を以下に説明する。
【００５０】
ステップS310，S320：ルータ100x(図２参照。)において、TCPヘッダ解析部10は、受信したパケット700xのTCPヘッダ部を解析し、解析されたマルチパス転送制御情報700kの先頭の１バイト≠“zz”である場合、TCPヘッダ判定/指示部11は、通常のルーティング動作を行い受信したパケット700xをTCPヘッダ作成部14及びパケット送出部15経由で送出する。
【００５１】
ステップS310，S330：ルータ100xにおいて、TCPヘッダ判定/指示部11は、マルチパス転送制御情報700kの先頭の１バイト＝“zz”である場合、TCPヘッダ判定/指示部11は、ルーティングテーブル12(符号12x，12yの総称。)に対してマルチパス転送制御情報700kの次に１バイト＝“05”を与える。経路判定部13は、ルーティングテーブル12を参照して、宛先端末300x_1への経路を検索し、検索された経路数が複数であるか否かを判定する。
【００５２】
図13(1)は、ルータ100xが保持しているルーティングテーブル12xを示している。このテーブル12xは、ルーティング12a、宛先12b、ネクストホップ12c、ポート12d、コスト12e、タイマ12fで構成されている。このテーブル12xは、例えば、ダイナミックルーティングで自律的に作成される一般的なルーティングテーブルであるので説明を省略する。経路判定部13は、宛先端末300x_1への経路を検索し、コスト12e＝“4”が同じ３つ経路を判定する。同図(1)のルーティングテーブル12xには判定された３つの経路のみが示され、他の経路は省略されている。また、同図(1)には、検索された経路に対応付けた“対応経路番号12z”が示されている。
【００５３】
ステップS340：経路判定部13は、検索された経路数が複数でない場合、検索された１つの経路を、パケット700xの送出経路としてパケット送出部15に指定する。これにより、パケット送出部15は受信した全パケット700xを指定された経路に送出する。すなわち、経路が複数でないため、負荷分散を実施することはできず、通常のルーティングが実施される。
【００５４】
ステップS350，S360：経路判定部13は、検索された経路数が複数である場合、パケットのマルチパス転送制御情報700kに含まれている“指定経路番号”とルーティングテーブル12xを比較して、この指定経路番号に所定の負荷分散方式で対応付けたルーティングテーブル12xの内の対応経路番号の経路に、パケット700xを送出する。
【００５５】
経路決定の方式は、“マルチパス転送制御情報700kに含まれる指定経路番号の最大値”が“検索された経路数(対応経路番号12zの最大値)”より大きい場合と、“指定経路番号の最大値”が“検索された経路数”より小さい場合とでは異なる。
【００５６】
“指定経路番号の最大値”が“検索された経路数”より大きい場合、“パケットの“指定経路番号”に従い、ルーティングテーブル12xの対応経路番号に対応する経路を順次使用して経路決定を行う。対応経路を全て使用した後、最初の対応経路に戻り、以後周期的に“指定経路番号”と対応経路番号の経路を対応付けてパケットを送出する。すなわち、パケットを、そのルータに到達した順に対応経路番号の経路に、周期的に対応付けている。
【００５７】
“指定経路番号の最大値”が“検索された経路数”より小さい場合、“パケットの“指定経路番号”に従い、ルーティングテーブル12xの対応経路番号に対応する経路を順次使用して経路決定を行う。指定経路番号の最大値まで対応経路を使用した後、選択可能な対応経路が残っていた場合においても、最初の対応経路に戻り、以後サイクリックに“指定経路番号”と対応経路番号を１対１に対応付けた対応経路にパケットを送出する。
【００５８】
同図(2)は、ルータ100xに到着したパケット700xの番号と、そのパケット700xのTCPヘッダ部のマルチパス転送制御情報700kに含まれる指定経路番号と、パケット700xを送出する対応経路番号12zの対応関係を示している。同図(2)では、指定経路番号が、“01”〜“05”であり、その最大値＝“5”である場合を示している。この指定経路番号の最大値＝“5”が、対応経路数＝“3”(同図(1)に示した対応経路番号12zの最大値)より大きいので、“対応経路番号”の経路を、受信したパケットの到達順に周期的に対応付けている。
【００５９】
図14(1)は、図13(1)と同様に、ルーティングテーブル12yと対応経路番号12zとを対応付けて示し、図14(2)は、図13(2)と同様に、パケット700xの番号と、そのマルチパス転送制御情報700kに含まれる指定経路番号と、パケット700xを送出する対応経路番号12zとの対応関係を示している。同図では、指定経路番号が、“01”〜“03”であり、その最大値＝“3”である場合を示している。この指定経路番号の最大値＝“3”が、対応経路数＝“5”(同図(1)に示した対応経路番号12zの最大値)より小さいので、パケットの“指定経路番号”とこの番号の最大値＝“3”以下の“対応経路番号”とを周期的に対応付けている。対応経路番号＝“4”及び“5”の経路は使用しない。
【００６０】
端末の動作例
ステップS400：端末300x_1(図３及び図７参照。)は、受信したパケット700x_1，700x_2，…の到達順序を確認して、正しい順にパケットを組み直す。
【００６１】
これにより、サーバ200xから送出されたパケット700xは、負荷分散されて端末300x_1に正常に送信されたことになる。
【００６２】
動作実施例［2］
図15は、本発明の動作実施例［2］を示しており、この実施例［2］では、端末300x_2がマルチパス転送指定しないデータ出力要求した場合を示している。この場合、端末300x_2は、データ出力要求パケット600xをそのマルチパス転送指定600kに“マルチパス転送”を指定しないでサーバ200xに送信し、サーバ200xは、データパケット700xをそのマルチパス転送制御情報700kに何も指定しないでルータ100xに送信し、ルータ100xは、受信したデータパケットを負荷分散しない通常のルーティングで端末300x_2に送信する。
【００６３】
これにより、端末300x_2においてデータパケット700xの順序の逆転は発生せず、端末300x_2の例えばアプリケーションは、パケット逆転に対応していない場合においても、データを受信することが可能になる。
【００６４】
また、端末300x_2が、従来の端末300でありマルチパス転送を指定できない場合においては、それぞれ、データ出力要求パケット600x及びデータパケット700xのTCPヘッダのオプション部600k及び700kには“マルチパス転送”の指定及び“マルチパス転送制御情報”の設定がなされず、パケットは、従来のルーティングで転送される。
【００６５】
（付記１）
データ出力要求を受信する受信部と、
該データ出力要求がマルチパス転送を指定するとき、該要求されたデータのパケットにマルチパス転送制御情報を付加して送出するパケット送出部と、
を備えたことを特徴とするサーバ。
（付記２）上記の付記１において、
該マルチパス転送制御情報には、マルチパス転送をするか否かを指定する情報及びマルチパス転送する場合の経路数を指定する情報が含まれていることを特徴とするサーバ。
（付記３）上記の付記１において、
該データ出力要求に経路数が設定されており、
該パケット送出部が、該マルチパス転送制御情報に該経路数に対応する指定経路番号を該パケット毎に周期的に付加することを特徴とするサーバ。
（付記４）
受信したデータのパケットにマルチパス転送制御情報が付加されているか否かを判別する判別部と、
該パケットを転送するための経路を検索する経路判定部と、
該マルチパス転送制御情報が付加されているパケットを該検索された経路に、該マルチパス転送制御情報に基づくマルチパス転送を行うパケット送出部と、
を備えたことを特徴とするルータ。
（付記５）上記の付記４において、
該マルチパス転送制御情報に、経路を指定する指定経路番号がさらに含まれており、
該パケット送出部は、該指定経路番号と該検索された経路を対応付ける負荷分散方式に基づき、該指定経路番号のパケットを周期的に対応付けられた該経路に送出することを特徴としたルータ。
（付記６）上記の付記５において、
該方式が、該指定経路番号の最大値が該検索された経路数より大きいとき、該経路に該パケットを周期的に対応付け、該指定経路番号の最大値が該検索された経路数より小さいとき、該最大値数の経路を選択し、この選択した経路に該指定経路番号を１対１に対応付けることを特徴としたルータ。
（付記７）
自分がマルチパス転送データ受信可能である場合、データ出力要求にマルチパス転送を指定するマルチパス転送指定部と、
該データ出力要求を送出する送信部と、
を備えたことを特徴とする端末。
【図面の簡単な説明】
【００６６】
【図１】本発明に係るサーバの構成実施例を示したブロック図である。
【図２】本発明に係るルータの構成実施例を示したブロック図である。
【図３】本発明に係るサーバ、ルータ、及び端末を含むネットワークにおける動作実施例［1］を示したシーケンス図である。
【図４】本発明に係るサーバ、ルータ、及び端末を含むネットワークにおける動作実施例［1］における動作手順(1)を示したブロック図である。
【図５】本発明に係るサーバ、ルータ、及び端末を含むネットワークにおける動作実施例［1］における動作手順(2)を示したブロック図である。
【図６】本発明に係るサーバ、ルータ、及び端末を含むネットワークにおける動作実施例［1］における動作手順(3)を示したブロック図である。
【図７】本発明に係るサーバ、ルータ、及び端末を含むネットワークにおける動作実施例［1］における動作手順(4)を示したブロック図である。
【図８】本発明に係る端末が送出するデータ出力要求パケット例を示した図である。
【図９】本発明に係るサーバの動作実施例を示したフローチャート図である。
【図１０】本発明に係るサーバが送出するデータパケット例を示した図である。
【図１１】本発明におけるデータパケットのマルチパス転送制御情報例を示した図である。
【図１２】本発明に係るルータの動作実施例を示したフローチャート図である。
【図１３】本発明に係るルータが保持するテーブル例(1)を示した図である。
【図１４】本発明に係るルータが保持するテーブル例(2)を示した図である。
【図１５】本発明に係るサーバ、ルータ、及び端末を含むネットワークにおける動作実施例［2］を示したブロック図である。
【図１６】従来のルータにおける負荷分散例(1)：ハッシュ方式を示したブロック図である。
【図１７】従来のルータにおける負荷分散例(2)：ラウンドロビン方式を示したブロック図である。
【符号の説明】
【００６７】
100a，100a_1〜100a_8，100x  ルータ   10  TCPヘッダ解析部
11  TCPヘッダ判定/指示部             12x，12y  ルーティングテーブル
12z  対応経路番号                    13  経路判定部
14  TCPヘッダ作成部                  15  パケット送出部
200，200x  サーバ                    21  TCPヘッダ解析部
22  経路数保持テーブル               23  TCPヘッダ判定/指示部
24  アプリケーション部               25  TCPヘッダ作成部
300，300_1，300_2，300x，300x_1，300x_2  端末
400_1，400_2  ブロードキャストドメイン
500_1〜500_5  100Mbps回線            510_1，510_2  10Mbps回線
600x  データ出力要求パケット
600a  送信元ポート番号               600b  宛先ポート番号
600c  シーケンス番号                 600d  確認応答番号
600e  データオフセット               600f  予約
600g  制御ビット                     600h  ウィンドウ
600i  チェックサム                   600j  緊急ポインタ
600k  マルチパス転送指定             600l  パディング
600m  データ
700_1，700_2，700x，700x_1，700x_2  データパケット
700a  送信元ポート番号               700b  宛先ポート番号
700c  シーケンス番号                 700d  確認応答番号
700e  データオフセット               700f  予約
700g  制御ビット                     700h  ウィンドウ
700i  チェックサム                   700j  緊急ポインタ
700k  マルチパス転送制御情報         700l  パディング
700m  データ
図中、同一符号は同一又は相当部分を示す。
【図１】
2006203471.tif 000003
【図２】
2006203471.tif 000004
【図３】
2006203471.tif 000005
【図４】
2006203471.tif 000006
【図５】
2006203471.tif 000007
【図６】
2006203471.tif 000008
【図７】
2006203471.tif 000009
【図８】
2006203471.tif 000010
【図９】
2006203471.tif 000011
【図１０】
2006203471.tif 000012
【図１１】
2006203471.tif 000013
【図１２】
2006203471.tif 000014
【図１３】
2006203471.tif 000015
【図１４】
2006203471.tif 000016
【図１５】
2006203471.tif 000017
【図１６】
2006203471.tif 000018
【図１７】
2006203471.tif 000019