(57)【特許請求の範囲】
【請求項１】
ＷＡＮ未対応装置とＷＡＮとの間に接続されるスイッチ装置であって、
受信したパケットの送信元となる装置が当該スイッチ装置に直接接続されている装置であるか否かを判定する判定部と、
当該スイッチ装置に直接接続されていると前記判定部により判定された装置毎の情報が登録される第１のテーブルと、
前記第１のテーブルに情報が登録された装置が確立したコネクション毎の情報が登録される第２のテーブルと、
フロー制御を行うフロー制御部と、
前記第２のテーブルに登録されたコネクションの情報を、当該コネクションの確立中に当該スイッチ装置が受信した当該コネクションに係るパケットの内容に応じて更新し、前記第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置に対するフロー制御を前記フロー制御部に行わせる全体制御部と、
を備えることを特徴とするスイッチ装置。
【請求項２】
前記第２のテーブルに登録されたコネクションの情報は、当該コネクションを確立した装置が確認応答パケットを未受信な状態で送信先へ送信可能なデータの最大サイズを定める最大許容送信データサイズを含み、
前記全体制御部は、前記第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置が確認応答パケットを未受信な状態で送信先へ送信したデータのサイズである送信データサイズを求め、当該送信データサイズが、当該コネクションの情報に含まれる前記最大許容送信データサイズを超えたと判定した場合には、当該コネクションを確立した装置に対するパケット送信を抑止させるためのフロー制御を前記フロー制御部に行わせる、
ことを特徴とする請求項１記載のスイッチ装置。
【請求項３】
前記全体制御部は、前記第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置が確認応答パケットを未受信な状態で送信先へ送信したデータのサイズを求め、当該送信データサイズが、当該コネクションの情報に含まれる前記最大許容送信データサイズ以下になったと判定した場合には、当該コネクションを確立した装置に対するパケット送信の抑止を終了させるためのフロー制御を前記フロー制御部に行わせる、
ことを特徴とする請求項２記載のスイッチ装置。
【請求項４】
ＷＡＮ未対応装置とＷＡＮとの間に接続されるスイッチ装置が行う輻輳防止方法であって、
受信したパケットの送信元となる装置が当該スイッチ装置に直接接続されている装置であるか否かを判定し、
受信したパケットの送信元となる装置が当該スイッチ装置に直接接続されていると判定された装置毎の情報を第１のテーブルに登録し、
前記第１のテーブルに情報が登録された装置が確立したコネクション毎の情報を第２のテーブルに登録し、
前記第２のテーブルに登録されたコネクションの情報を、当該コネクションの確立中に当該スイッチ装置が受信した当該コネクションに係るパケットの内容に応じて更新し、
前記第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置に対するフロー制御を行う、
ことを特徴とする輻輳防止方法。
【請求項５】
ＷＡＮ未対応装置とＷＡＮとの間に接続されるスイッチ装置の輻輳防止プログラムであって、
受信したパケットの送信元となる装置が当該スイッチ装置に直接接続されている装置であるか否かを判定し、
受信したパケットの送信元となる装置が当該スイッチ装置に直接接続されていると判定された装置毎の情報を第１のテーブルに登録し、
前記第１のテーブルに情報が登録された装置が確立したコネクション毎の情報を第２のテーブルに登録し、
前記第２のテーブルに登録されたコネクションの情報を、当該コネクションの確立中に当該スイッチ装置が受信した当該コネクションに係るパケットの内容に応じて更新し、
前記第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置に対するフロー制御を行う、
処理をコンピュータに実行させる輻輳防止プログラム。
【請求項６】
前記判定部は、前記スイッチ装置が受信したパケットの種類がアドレス解決プロトコル要求のブロードキャストパケットである場合に、当該パケットの送信元となる装置を当該スイッチ装置に直接接続されている装置と判定する、
ことを特徴とする請求項１記載のスイッチ装置。
【請求項７】
前記受信したパケットの送信元となる装置についての前記判定では、前記スイッチ装置が受信したパケットの種類がアドレス解決プロトコル要求のブロードキャストパケットである場合に、当該パケットの送信元となる装置を当該スイッチ装置に直接接続されている装置と判定する、
ことを特徴とする請求項４記載の輻輳防止方法。
【請求項８】
前記受信したパケットの送信元となる装置についての前記判定では、前記スイッチ装置が受信したパケットの種類がアドレス解決プロトコル要求のブロードキャストパケットである場合に、当該パケットの送信元となる装置を当該スイッチ装置に直接接続されている装置と判定する、
ことを特徴とする請求項５記載の輻輳防止プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スイッチ装置に関する。
【背景技術】
【０００２】
近年、所謂クラウドコンピューティングと称するネットワークコンピューティングが全盛となり、従来では中央処理装置とＬＡＮ（Local Area Network）経由で接続されていた装置が、インターネットを含むＷＡＮ（Wide Area Network）経由で接続されるようになっている。このような事情から、ＬＡＮのみを経由して接続されることを前提に開発された従来の装置(以下、レガシー装置ともいう）をＷＡＮに接続して使用するケースが出てきている。
【０００３】
なお、ＷＡＮ及びＬＡＮ間のデータの流れを制御する仕組みに関しては、ＬＡＮ／ＷＡＮインタフェースにて、ＰＡＵＳＥフレーム機能を利用するレート制限システム及び方法に関する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１９８３０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ＬＡＮのみを経由して装置が接続される場合、データの伝送速度は、データの送信点から受信点まで一定であり、その途中でパケットの滞留は発生しない。従って、そのような場合には、接続される装置が、例えばＲＦＣ（Request for Comments）２００１のスロースタート機能等のような伝送遅延による輻輳防止機能を備えていないレガシー装置であっても輻輳は発生しなかった。
【０００６】
しかしながら、そのようなレガシー装置をＷＡＮに接続すると、そのレガシー装置では、最初に最大サイズのデータを含むパケットを連続して送信する等というように、パケットを連続して大量に送信することが行われることから、次のようにして輻輳が発生する。まず、そのような送信が行われると、ネットワーク上に大量のパケットが滞留する。そして、その滞留によりパケットの伝送が遅れ、送信先へのパケットの到着が遅れる。その結果、送信元では、送信先からの確認応答パケットが返らないのでタイムアウトと判定され、パケットの再送が行われる。このときのパケットの再送は、その再送が必要となったパケットが未だネットワーク上に滞留している状態で行われるため、パケットが更に滞留することとなり、輻輳が発生する。例えば、ＷＡＮ上の広帯域な部分と狭帯域な部分を持つ伝送路において連続して複数のパケットが伝送される場合、その境界にはパケットが滞留し、送信した順番が後になるほど、送信先から送信元への確認応答パケットが遅延する。その結果、送信元では、その遅延時間がタイムアウト監視時間を超過して、パケットの再送が発生してしまう。このようなことから、上記のレガシー装置のようなＷＡＮ未対応装置がＷＡＮに接続されると、輻輳が発生して最終的にはパケットの伝送ができなくなる虞がある。
【０００７】
本発明は、上記実情に鑑み、ＷＡＮ未対応装置がＷＡＮに接続されたときに発生し得る輻輳を防止することができる、スイッチ装置、輻輳防止方法、及び、輻輳防止プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
装置の一観点によれば、ＷＡＮ未対応装置とＷＡＮとの間に接続されるスイッチ装置であって、判定部と、第１のテーブルと、第２のテーブルと、フロー制御部と、全体制御部とを備えるスイッチ装置が提供される。ここで、判定部は、受信したパケットの送信元となる装置が当該スイッチ装置に直接接続されている装置であるか否かを判定する。第１のテーブルは、当該スイッチ装置に直接接続されていると判定部により判定された装置毎の情報が登録される。第２のテーブルは、第１のテーブルに情報が登録された装置が確立したコネクション毎の情報が登録される。フロー制御部は、フロー制御を行う。全体制御部は、第２のテーブルに登録されたコネクションの情報を、当該コネクションの確立中に当該スイッチ装置が受信した当該コネクションに係るパケットの内容に応じて更新する。また、全体制御部は、第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置に対するフロー制御をフロー制御部に行わせる。
【０００９】
方法の一観点によれば、次のような、ＷＡＮ未対応装置とＷＡＮとの間に接続されるスイッチ装置が行う輻輳防止方法が提供される。この方法では、受信したパケットの送信元となる装置が当該スイッチ装置に直接接続されている装置であるか否かを判定する。受信したパケットの送信元となる装置が当該スイッチ装置に直接接続されていると判定された装置毎の情報を第１のテーブルに登録する。第１のテーブルに情報が登録された装置が確立したコネクション毎の情報を第２のテーブルに登録する。第２のテーブルに登録されたコネクションの情報を、当該コネクションの確立中に当該スイッチ装置が受信した当該コネクションに係るパケットの内容に応じて更新する。第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置に対するフロー制御を行う。
【００１０】
プログラムの一観点によれば、次のような、ＷＡＮ未対応装置とＷＡＮとの間に接続されるスイッチ装置の輻輳防止プログラムが提供される。このプログラムは、次のような処理をコンピュータに実行させる。受信したパケットの送信元となる装置が当該スイッチ装置に直接接続されている装置であるか否かを判定する。受信したパケットの送信元となる装置が当該スイッチ装置に直接接続されていると判定された装置毎の情報を第１のテーブルに登録する。第１のテーブルに情報が登録された装置が確立したコネクション毎の情報を第２のテーブルに登録する。第２のテーブルに登録されたコネクションの情報を、当該コネクションの確立中に当該スイッチ装置が受信した当該コネクションに係るパケットの内容に応じて更新する。第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置に対するフロー制御を行う。
【発明の効果】
【００１１】
開示の装置、方法、及びプログラムは、ＷＡＮ未対応装置がＷＡＮに接続されたときに発生し得る輻輳を防止することができる、という効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】一実施例に係るスイッチ装置を含む通信ネットワークシステムの構成例を示す図である。
【図２】直接接続装置一覧テーブルの一例を示す図である。
【図３】コネクション一覧テーブルの一例を示す図である。
【図４】一実施例に係るスイッチ装置が行う輻輳防止動作の一例を示す第１のフローチャートである。
【図５】一実施例に係るスイッチ装置が行う輻輳防止動作の一例を示す第２のフローチャートである。
【図６】一実施例に係るスイッチ装置が行う輻輳防止動作の一例を示す第３のフローチャートである。
【図７】一実施例に係るスイッチ装置が行う輻輳防止動作の一例を示す第４のフローチャートである。
【図８】一実施例に係るスイッチ装置が行う輻輳防止動作の一例を示す第５のフローチャートである。
【図９】一実施例に係るスイッチ装置が備えるコンピュータシステムの構成例を示す図である。
【発明を実施するための形態】
【００１３】
図１は、一実施例に係るスイッチ装置を含む通信ネットワークシステムの構成例を示す図である。
図１に示したように、この通信ネットワークシステムは、本実施例に係るスイッチ装置１００と、ＷＡＮ対応装置２００と、ＷＡＮ未対応装置３００と、ＷＡＮ４００とを含む。ＷＡＮ対応装置２００とＷＡＮ未対応装置３００は、スイッチ装置１００に直接接続され、当該スイッチ装置１００を介してＷＡＮ４００に接続されている。なお、直接接続されているとは、装置間に別の装置が介在していないことを意味する。
【００１４】
このような接続構成により、例えば、ＷＡＮ対応装置２００とＷＡＮ４００上の装置との間や、ＷＡＮ未対応装置３００とＷＡＮ４００上の装置との間で、スイッチ装置１００を介して通信を行うことが可能になっている。
【００１５】
なお、図１に示した通信ネットワークシステムにおいては、スイッチ装置１００に複数のＷＡＮ未対応装置３００が直接接続される構成とすることも可能である。また、スイッチ装置１００に複数のＷＡＮ対応装置２００が接続される構成とすることも可能であるし、ＷＡＮ対応装置２００が接続されない構成とすることも可能である。
【００１６】
ＷＡＮ対応装置２００は、ＬＡＮのみに限らずＷＡＮを経由して接続されることも前提に構成された装置である。従って、ＷＡＮ対応装置２００は、輻輳防止機能を備えるイーサネット（登録商標）インタフェースを有する。本実施例では、ＷＡＮ対応装置２００が、その輻輳防止機能としてＲＦＣ２００１のスロースタート機能を備えるイーサネットインタフェースを有するものとする。
【００１７】
一方、ＷＡＮ未対応装置３００は、ＬＡＮのみを経由して接続されることを前提に構成されたレガシー装置であって、ＷＡＮを経由して接続されることを前提に構成されていない装置である。従って、ＷＡＮ未対応装置３００は、上記のＷＡＮ対応装置２００のような輻輳防止機能を備えないイーサネットインタフェースを有する。
【００１８】
スイッチ装置１００は、直接接続装置判定部１１０、フロー制御部１２０、記憶部１３０、及び全体制御部１４０を含み、一般的なレイヤー３スイッチとしての動作の他、詳しくは後述する輻輳防止動作等を行うことができる。なお、直接接続装置判定部１１０は、判定部の一例である。
【００１９】
直接接続装置判定部１１０は、スイッチ装置１００が受信したパケットの送信元となる装置が、スイッチ装置１００に直接接続されている装置であるかを判定する。例えば、直接接続装置判定部１１０は、スイッチ装置１００がパケットを受信したときに、そのパケットの種類がアドレス解決プロトコル要求のブロードキャストパケットである場合に、そのパケットの送信元となる装置をスイッチ装置１００に直接接続されている装置と判定する。なお、アドレス解決プロトコル要求は、送信元となる装置が送信先となる装置のＭＡＣ（Media Access Control address）アドレスを得るために行われるものであり、以下では、これをＡＲＰ（Address Resolution Protocol）要求という。また、ブロードキャストパケットは、送信元となる装置と同一のセグメント上に存在する装置に対して送信されるパケットである。
【００２０】
フロー制御部１２０は、スイッチ装置１００に直接接続されている装置の中で、詳しくは後述する所定の条件を満たす装置に対して、パケット送信を抑止させたり、その抑止を終了させたりするためのフロー制御を行う。例えば、フロー制御部１２０は、パケット送信を抑止させるためのフロー制御として、対象となる装置に対して、ＰＡＵＳＥフレームを送信する。また、フロー制御部１２０は、パケット送信の抑止を終了させるためのフロー制御として、対象となる装置に対して、ＰＡＵＳＥ解除フレームを送信する。なお、ＰＡＵＳＥフレームを受信した装置では、パケットの送信が停止される。また、ＰＡＵＳＥ解除フレームを受信した装置では、停止されていたパケットの送信が再開される。
【００２１】
記憶部１３０は、直接接続装置一覧テーブル１３１と、コネクション一覧テーブル１３２とを記憶する。なお、直接接続装置一覧テーブル１３１は第１のテーブルの一例であり、コネクション一覧テーブル１３２は第２のテーブルの一例である。直接接続装置一覧テーブル１３１には、スイッチ装置１００に直接接続されている装置毎の情報が登録される。一方、コネクション一覧テーブル１３２には、直接接続装置一覧テーブル１３１に登録されている装置が確立したコネクション毎の情報が登録される。
【００２２】
なお、図１では、直接接続装置一覧テーブル１３１とコネクション一覧テーブル１３２とを１つの記憶部１３０が記憶する構成としたが、これらのテーブルを別々の記憶部に記憶する構成とすることも可能である。
【００２３】
全体制御部１４０は、上述の各部を含むスイッチ装置１００全体の動作を制御する。例えば、全体制御部１４０は、コネクション一覧テーブル１３２に登録されたコネクションの情報を、当該コネクションの確立中にスイッチ装置１００が受信した当該コネクションに係るパケットの内容に応じて更新する。また、例えば、全体制御部１４０は、コネクション一覧テーブル１３２に登録されたコネクションの情報に基づいて、当該コネクションを確立した装置に対するフロー制御をフロー制御部１２０に行わせる。
【００２４】
図２は、直接接続装置一覧テーブル１３１の一例を示す図である。
図２に示したように、直接接続装置一覧テーブル１３１には、直接接続装置判定部１１０によりスイッチ装置１００に直接接続されていると判定された装置毎に、次のような情報が登録される。すなわち、その装置毎に、装置の「ＭＡＣアドレス」と、装置の「ＩＰアドレス」と、その装置が送信元又は送信先となるパケットを送受した最後の日時となる「最終通信日時」の情報が登録される。なお、ＩＰアドレスは、Internet Protocol アドレスである。
【００２５】
図３は、コネクション一覧テーブル１３２の一例を示す図である。
図３に示したように、コネクション一覧テーブル１３２には、直接接続装置一覧テーブル１３１に登録されている装置が確立したコネクション毎に、次のような情報が登録される。すなわち、そのコネクション毎に、送信元（「ＳＲＣ」）の「ＩＰアドレス」とポート番号（「ＰｏｒｔＮｏ」）、及び、送信先（「ＤＥＳＴ」）の「ＩＰアドレス」とポート番号（「ＰｏｒｔＮｏ」）の情報が登録される。なお、ＳＲＣは Source のことであり、ＤＥＳＴは Destination のことである。さらに、そのコネクション毎に、「ＮｅｘｔＳｅｑＮｏ」、「ＡｃｋＳｅｑＮｏ」、「最大可能サイズ」、「最大到達ＳｅｑＮｏ」、「最大到達フラグ」、及び、「最終通信日時」の情報が登録される。
【００２６】
「ＮｅｘｔＳｅｑＮｏ」は、そのコネクションにおける「ＳＲＣ」から「ＤＥＳＴ」へのパケットに含まれるシーケンス番号（ＳｅｑＮｏ）とデータのサイズ（ＴＣＰパケットのデータサイズ）とを加算した値の情報である。
【００２７】
「ＡｃｋＳｅｑＮｏ」は、そのコネクションにおける「ＳＲＣ」から「ＤＥＳＴ」へのパケットに含まれるシーケンス番号（ＳｅｑＮｏ）の値の情報である。或いは、「ＡｃｋＳｅｑＮｏ」は、「ＤＥＳＴ」から「ＳＲＣ」への確認応答パケットに含まれる確認応答番号の値の情報である。なお、以下では、確認応答パケットをＡＣＫ（Acknowledge）パケットといい、確認応答番号をＡＣＫ番号という。
【００２８】
「最大可能サイズ」は、そのコネクションにおいて、ＡＣＫパケットを未受信な状態で「ＳＲＣ」が送信可能なデータの最大サイズを定める最大許容送信データサイズの情報である。
【００２９】
「最大到達ＳｅｑＮｏ」は、そのコネクションにおいて、ＡＣＫパケットを未受信な状態で「ＳＲＣ」が送信したデータのサイズが「最大可能サイズ」を超えたときの「ＮｅｘｔＳｅｑＮｏ」の値の情報である。
【００３０】
「最大到達フラグ」は、そのコネクションにおいて、ＡＣＫパケットを未受信な状態で「ＳＲＣ」が送信したデータのサイズが「最大可能サイズ」を超えたか否かを示すフラグである。それが「最大可能サイズ」を超えた場合にＯＮ（１）になり、超えていない場合にＯＦＦ（０）になる。
「最終通信日時」は、そのコネクションにおけるパケットを送受した最後の日時の情報である。
【００３１】
次に、図１に示した通信ネットワークシステムにおいて、本実施例に係るスイッチ装置１００が行う輻輳防止動作について詳細に説明する。なお、この動作は、スイッチ装置１００の全体制御部１４０の制御の下に行われる動作でもある。
【００３２】
図４、図５、図６、図７、及び図８は、その動作の一例を示すフローチャートである。
図４に示したように、スイッチ装置１００がパケットを受信すると、全体制御部１４０は、まず、記憶部１３０に記憶されている直接接続装置一覧テーブル１３１に、通信をしていない装置の情報が登録されているか否かを判定する（Ｓ１０１）。例えば、全体制御部１４０は、直接接続装置一覧テーブル１３１の「最終通信日時」に登録されている日時の中で、現時点までの所定時間の間に含まれない日時がある場合には、その日時に対応する装置を通信をしていない装置とみなして、判定を行うことができる。
【００３３】
Ｓ１０１の判定結果がＹｅｓの場合、全体制御部１４０は、通信をしていない装置とみなした装置の情報の登録を直接接続装置一覧テーブル１３１から削除し（Ｓ１０２）、当該テーブル１３１を更新する。
【００３４】
Ｓ１０１の判定結果がＮｏの場合、又は、Ｓ１０２の後は、直接接続装置判定部１１０は、スイッチ装置１００が受信したパケットの種類がＡＲＰ要求のブロードキャストパケットであるか否かを判定する（Ｓ１０３）。
【００３５】
Ｓ１０３の判定結果がＹｅｓの場合、直接接続装置判定部１１０は、スイッチ装置１００が受信したパケットの送信元となる装置を、当該スイッチ装置１００に直接接続されている装置と判定する。そして、全体制御部１４０は、直接接続されていると直接接続装置判定部１１０により判定された装置の情報が、直接接続装置一覧テーブル１３１に登録されているか否かを判定する（Ｓ１０４）。なお、この判定は、例えば、スイッチ装置１００が受信したパケットの送信元ＩＰアドレスが直接接続装置一覧テーブル１３１の「ＩＰアドレス」に登録されているか否かを判定することにより行うことができる。ここで、その判定結果がＮｏの場合、全体制御部１４０は、直接接続されていると直接接続装置判定部１１０により判定された装置の情報を直接接続装置一覧テーブル１３１に登録する（Ｓ１０５）。すなわち、全体制御部１４０は、その装置に係る情報として、スイッチ装置１００が受信したパケットの送信元ＭＡＣアドレスと送信元ＩＰアドレスを、直接接続装置一覧テーブル１３１の「ＭＡＣアドレス」と「ＩＰアドレス」に登録する。また、現在の日時を、直接接続装置一覧テーブル１３１の「最終通信日時」に登録する。
【００３６】
Ｓ１０４の判定結果がＹｅｓの場合、又は、Ｓ１０５の後は、処理が図８のＳ１２９へ進む。
一方、Ｓ１０３の判定結果がＮｏの場合、全体制御部１４０は、スイッチ装置１００が受信したパケットの種類がＴＣＰパケットであるか否かを判定する（Ｓ１０６）。なお、この判定において、スイッチ装置１００が受信したパケットがＴＣＰパケットを含む場合には、その判定結果がＹｅｓとなる。
【００３７】
Ｓ１０６の判定結果がＮｏの場合には、処理が図８のＳ１２９へ進む。
Ｓ１０６の判定結果がＹｅｓの場合には、全体制御部１４０は、スイッチ装置１００が受信したパケットの送信元が直接接続装置一覧テーブル１３１に登録されており、且つ、そのパケットがコネクション切断要求時のパケットでないか否かを判定する（Ｓ１０７）。なお、そのパケットの送信元が直接接続装置一覧テーブル１３１に登録されているか否かは、例えば、そのパケットの送信元ＩＰアドレスが直接接続装置一覧テーブル１３１の「ＩＰアドレス」に登録されているか否かを判定することにより行うことができる。
【００３８】
Ｓ１０７の判定結果がＮｏの場合には、処理が図６のＳ１２０へ進む。
Ｓ１０７の判定結果がＹｅｓの場合には、全体制御部１４０は、スイッチ装置１００が受信したパケットに係るコネクションの情報が、記憶部１３０に記憶されているコネクション一覧テーブル１３２に登録されているか否かを判定する（Ｓ１０８）。
【００３９】
なお、Ｓ１０８の判定結果がＮｏになる場合は、例えば、そのパケットが、コネクション確立要求時のパケットである場合である。
Ｓ１０８の判定結果がＮｏの場合、全体制御部１４０は、スイッチ装置１００が受信したパケットに係るコネクションの情報をコネクション一覧テーブル１３２に登録すると共に初期値を設定する（Ｓ１０９）。すなわち、全体制御部１４０は、そのパケットに係るコネクションの情報として、そのパケットの送信元ＩＰアドレスとポート番号を、コネクション一覧テーブル１３２の「ＳＲＣ」の「ＩＰアドレス」と「ＰｏｒｔＮｏ」に登録する。また、そのパケットの送信先（宛先）ＩＰアドレスとポート番号を、コネクション一覧テーブル１３２の「ＤＥＳＴ」の「ＩＰアドレス」と「ＰｏｒｔＮｏ」に登録する。また、現在の日時を、コネクション一覧テーブル１３２の「最終通信日時」に設定する。さらに、初期値として、コネクション一覧テーブル１３２の「最大可能サイズ」に５３６を設定すると共に、「最大到達フラグ」にＯＦＦ（０）を設定する。
【００４０】
なお、「最大可能サイズ」の初期値を５３６とする理由は、次のような理由による。ＲＦＣ２００１のスロースタート機能では、送信先との間でコネクションが確立されると、輻輳ウィンドウが１セグメントサイズに初期化される。このときの１セグメントサイズが一般に５３６バイトであるからである。
【００４１】
また、このときに、全体制御部１４０は、直接接続装置一覧テーブル１３１に登録されている、スイッチ装置１００が受信したパケットの送信元に対応する装置の「最終通信日時」に現在の日時を設定し、当該テーブル１３１を更新する。
【００４２】
Ｓ１０９の後は、処理が図８のＳ１２９へ進む。
Ｓ１０８の判定結果がＹｅｓの場合、全体制御部１４０は、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「最終通信日時」に現在の日時を設定し（Ｓ１１０）、当該テーブル１３２を更新する。また、このときに、全体制御部１４０は、直接接続装置一覧テーブル１３１に登録されている、スイッチ装置１００が受信したパケットの送信元に対応する装置の「最終通信日時」に現在の日時を設定し、当該テーブル１３１を更新する。
【００４３】
次に、図５に示したように、全体制御部１４０は、スイッチ装置１００が受信したパケットが、当該パケットに係るコネクション確立後の初回目のパケットであるか否かを判定する（Ｓ１１１）。ここで、その判定結果がＹｅｓの場合、全体制御部１４０は、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「ＮｅｘｔＳｅｑＮｏ」と「ＡｃｋＳｅｑＮｏ」に、次のような値を設定する（Ｓ１１２）。すなわち、その「ＮｅｘｔＳｅｑＮｏ」に、スイッチ装置１００が受信したパケットに含まれるシーケンス番号（ＳｅｑＮｏ）と、そのパケットに含まれるデータのサイズ（ＴＣＰパケットのデータサイズ）とを加算した値を設定する。また、その「ＡｃｋＳｅｑＮｏ」に、スイッチ装置１００が受信したパケットに含まれるシーケンス番号（ＳｅｑＮｏ）の値を設定する。
【００４４】
なお、ＴＣＰパケットのデータサイズは、例えば、ＩＰパケットサイズからＴＣＰパケットサイズを求め、そのＴＣＰパケットサイズからＴＣＰヘッダサイズを差し引くことにより求めることができる。例えば、ＩＰｖ４（Internet Protocol Version 4）では、ＩＰヘッダに含まれるTotal Length から２０を差し引くことによりＴＣＰパケットサイズを求める。そして、そのＴＣＰパケットサイズから、ＴＣＰヘッダに含まれる Data Offset を４倍したものを差し引くことにより、ＴＣＰパケットのデータサイズを求めることができる。
【００４５】
Ｓ１１２の後は、処理が図６のＳ１１６へ進む。
一方、Ｓ１１１の判定結果がＮｏの場合、全体制御部１４０は、スイッチ装置１００が受信したパケットが再送されたパケットであるか否かを判定する（Ｓ１１３）。例えば、全体制御部１４０は、その判定を、次のようにして行う。まず、スイッチ装置１００が受信したパケットのシーケンス番号（ＳｅｑＮｏ）とデータサイズ（ＴＣＰパケットのデータサイズ）とを加算した値と、コネクション一覧テーブル１３２に登録されている、そのパケットに係るコネクションの「ＮｅｘｔＳｅｑＮｏ」の値とを比較する。そして、前者の値が後者の値以下である場合には、スイッチ装置１００が受信したパケットが再送パケットであると判定する。
【００４６】
Ｓ１１３の判定結果がＹｅｓの場合、全体制御部１４０は、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「最大可能サイズ」を現在の値の１／２倍に設定し（Ｓ１１４）、当該テーブル１３２を更新する。
【００４７】
なお、このようにＳ１１３の判定結果がＹｅｓになる場合は、スイッチ装置１００が受信したパケットが、再送されたパケットである場合である。このような場合には、通信回線の品質が悪い状態と考えることができるので、輻輳防止の観点から、Ｓ１１４では、「最大可能サイズ」を現在の値の１／２倍に設定する。
【００４８】
Ｓ１１４の後は、処理が図６のＳ１２０へ進む。
Ｓ１１３の判定結果がＮｏの場合、全体制御部１４０は、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「ＮｅｘｔＳｅｑＮｏ」へ、次のような値を設定する（Ｓ１１５）。すなわち、その「ＮｅｘｔＳｅｑＮｏ」へ、スイッチ装置１００が受信したパケットのシーケンス番号（ＳｅｑＮｏ）とデータサイズ（ＴＣＰパケットのデータサイズ）とを加算した値を設定し、当該テーブル１３２を更新する。
【００４９】
次に、図６に示したように、全体制御部１４０は、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「ＮｅｘｔＳｅｑＮｏ」、「ＡｃｋＳｅｑＮｏ」、及び「最大可能サイズ」を参照し、次のような判定を行う。すなわち、その「ＮｅｘｔＳｅｑＮｏ」の値から「ＡｃｋＳｅｑＮｏ」の値を差し引いた値が、「最大可能サイズ」の値よりも大きいか否かを判定する（Ｓ１１６）。なお、その「ＮｅｘｔＳｅｑＮｏ」の値から「ＡｃｋＳｅｑＮｏ」の値を差し引いた値は、当該コネクションを確立した装置がＡＣＫパケットを未受信な状態で送信先へ送信したデータのサイズに対応する。
【００５０】
Ｓ１１６の判定結果がＮｏの場合には、処理がＳ１２０へ進む。
Ｓ１１６の判定結果がＹｅｓの場合には、フロー制御部１２０は、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「ＳＲＣ」に対して、パケット送信を抑止させるためのフロー制御を行う（Ｓ１１７）。例えば、フロー制御部１２０は、パケット送信を抑止させるためのフロー制御として、その「ＳＲＣ」の装置へＰＡＵＳＥフレームを送信する。これにより、そのＰＡＵＳＥフレームを受信した、その「ＳＲＣ」の装置では、パケット送信が停止され、パケット送信の抑止が開始される。
【００５１】
なお、このようにＳ１１６の判定結果がＹｅｓになる場合は、次のような場合が考えられる。例えば、スイッチ装置１００が受信したパケットの送信元がＷＡＮ未対応装置３００であって、そのパケットに係るコネクションにおいて、そのＷＡＮ未対応装置３００がＡＣＫパケットを未受信な状態で連続的にパケットの送信を行っている場合である。従って、このような場合には輻輳が発生してしまう虞があると考えることができるので、Ｓ１１７では、そのようなＷＡＮ未対応装置３００に対して、パケット送信を抑止させるためのフロー制御を行う。
【００５２】
次に、全体制御部１４０は、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「最大到達可能フラグ」がＯＦＦ（０）であるか否かを判定する（Ｓ１１８）。ここで、その判定結果がＮｏの場合には、処理がＳ１２０へ進む。
【００５３】
Ｓ１１８の判定結果がＹｅｓの場合には、全体制御部１４０は、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「最大到達可能フラグ」と「最大到達ＳｅｑＮｏ」に対して、次のような設定を行う（Ｓ１１９）。すなわち、その「最大到達可能フラグ」をＯＮ（１）に設定し、その「最大到達ＳｅｑＮｏ」に、当該コネクションの「ＮｅｘｔＳｅｑＮｏ」の値を設定し、当該テーブル１３２を更新する。
【００５４】
次に、全体制御部１４０は、スイッチ装置１００が受信したパケットの送信先が直接接続装置一覧テーブル１３１に登録されており、且つ、そのパケットがコネクション確立要求時又は切断要求時のパケットでないか否かを判定する（Ｓ１２０）。なお、そのパケットの送信先が直接接続装置一覧テーブル１３１に登録されているか否かは、そのパケットの送信先ＩＰアドレスが直接接続装置一覧テーブル１３１の「ＩＰアドレス」に登録されているか否かを判定することにより行うことができる。
【００５５】
Ｓ１２０の判定結果がＮｏの場合には、処理が図８のＳ１２９へ進む
Ｓ１２０の判定結果Ｙｅｓの場合には、全体制御部１４０は、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「最終通信日時」に現在の日時を設定し（Ｓ１２１）、当該テーブル１３２を更新する。また、このときに、全体制御部１４０は、直接接続装置一覧テーブル１３１に登録されている、スイッチ装置１００が受信したパケットの送信先となる装置の「最終通信日時」に現在の日時を設定し、当該テーブル１３１を更新する。
【００５６】
次に、全体制御部１４０は、スイッチ装置１００が受信したパケットに含まれる確認応答フラグ（以下、ＡＣＫフラグという）がＯＮ（１）である場合に、次のような判定を行う。すなわち、全体制御部１４０は、その場合に、そのパケットに含まれるＡＣＫ番号の値が、コネクション一覧テーブル１３２に登録されている、そのパケットに係るコネクションの「ＡｃｋＳｅｑＮｏ」の値よりも大きいか否かを判定する（Ｓ１２２）。ここで、その判定結果がＮｏの場合には、処理が図８のＳ１２９へ進む。なお、スイッチ装置１００が受信したパケットのＡＣＫフラグがＯＦＦ（０）であった場合には、Ｓ１２２の判定結果がＮｏとなる。
【００５７】
Ｓ１２２の判定結果がＹｅｓの場合には、全体制御部１４０は、スイッチ装置１００が受信したパケットのＡＣＫ番号を、コネクション一覧テーブル１３２に登録されている、そのパケットに係るコネクションの「ＡｃｋＳｅｑＮｏ」に設定し（Ｓ１２３）、当該テーブル１３２を更新する。
【００５８】
次に、図７に示したように、全体制御部１４０は、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「ＮｅｘｔＳｅｑＮｏ」、「ＡｃｋＳｅｑＮｏ」、及び「最大可能サイズ」を参照し、次のような判定を行う。すなわち、その「ＮｅｘｔＳｅｑＮｏ」の値から「ＡｃｋＳｅｑＮｏ」の値を差し引いた値が、「最大可能サイズ」の値以下であるか否かを判定する（Ｓ１２４）。なお、その「ＮｅｘｔＳｅｑＮｏ」の値から「ＡｃｋＳｅｑＮｏ」の値を差し引いた値は、当該コネクションを確立した装置がＡＣＫパケットを未受信な状態で送信先へ送信したデータのサイズに対応する。
【００５９】
Ｓ１２４の判定結果がＮｏの場合には、処理がＳ１２６へ進む。
Ｓ１２４の判定結果がＹｅｓの場合には、フロー制御部１２０は、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「ＳＲＣ」に対して、パケット送信の抑止を終了させるためのフロー制御を行う（Ｓ１２５）。例えば、フロー制御部１２０は、パケット送信の抑止を終了させるためのフロー制御として、その「ＳＲＣ」の装置へＰＡＵＳＥ解除フレームを送信する。これにより、そのＰＡＵＳＥ解除フレームが送信された、その「ＳＲＣ」の装置では、パケット送信の抑止が終了され、パケット送信が再開される。但し、このようにパケット送信の抑止が終了され、パケット送信が再開されるのは、その「ＳＲＣ」の装置が、Ｓ１１７にてパケット送信を抑止させるためのフロー制御が行われた装置であった場合である。
【００６０】
なお、このようにＳ１２４の判定結果がＹｅｓになる場合は、ＡＣＫパケットを未受信な状態で送信されたデータのサイズが「最大可能サイズ」の値以下になる場合である。このような場合には、輻輳が発生する虞がないと考えることができるので、Ｓ１２５では、パケット送信の抑止を終了させるためのフロー制御を行う。
【００６１】
次に、全体制御部１４０は、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「最大到達フラグ」がＯＮ（１）であるか否かを判定する（Ｓ１２６）。ここで、その判定結果がＮｏの場合には、処理が図８のＳ１２９へ進む。
【００６２】
Ｓ１２６の判定結果がＹｅｓの場合には、全体制御部１４０は、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「最大到達ＳｅｑＮｏ」と「ＡｃｋＳｅｑＮｏ」とを参照し、次のような判定を行う（Ｓ１２７）。すなわち、その「最大到達ＳｅｑＮｏ」の値が、「ＡｃｋＳｅｑＮｏ」の値以下であるか否かを判定する。なお、この判定は、ＡＣＫパケットを未受信な状態で送信されたデータのサイズが最大であったときのデータについての通信が成功したか否かを判定するものでもある。
【００６３】
Ｓ１２７の判定結果がＮｏの場合には、処理が図８のＳ１２９へ進む。
Ｓ１２７の判定結果がＹｅｓの場合には、全体制御部１４０は、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「最大到達フラグ」と「最大可能サイズ」を次のように設定する（Ｓ１２８）。すなわち、その「最大到達フラグ」をＯＦＦ（０）に設定し、その「最大可能サイズ」を現在の値の２倍に設定し、当該テーブル１３２を更新する。
【００６４】
なお、このようにＳ１２７の判定結果がＹｅｓになる場合は、ＡＣＫパケットを未受信な状態で送信されたデータのサイズが最大であったときのデータについての通信が成功した場合である。このような場合には、通信回線の品質が良い状態と考えることができるので、スループット向上の観点から、Ｓ１２８では、「最大可能サイズ」を現在の値の２倍に設定する。また、このように２倍にすることは、ＲＦＣ２００１のスロースタート機能では送信先からのＡＣＫパケットが返る毎に送信元からの送信データサイズが２倍にされ得ることも考慮したものである。
【００６５】
次に、図８に示したように、全体制御部１４０は、コネクション一覧テーブル１３２に、通信をしていないコネクションの情報が登録されているか否かを判定する（Ｓ１２９）。例えば、全体制御部１４０は、コネクション一覧テーブル１３２の「最終通信日時」に登録されている日時の中で、現時点までの所定時間の間に含まれない日時がある場合には、その日時に対応するコネクションを、通信をしていないコネクションとみなして、判定を行う。
【００６６】
Ｓ１２９の判定結果がＹｅｓの場合、全体制御部１４０は、通信をしていないコネクションとみなしたコネクションの情報の登録をコネクション一覧テーブル１３２から削除し（Ｓ１３０）、当該テーブル１３２を更新する。
【００６７】
Ｓ１２９の判定結果がＮｏの場合、又は、Ｓ１３０の後は、全体制御部１４０は、コネクション一覧テーブル１３２に、切断したコネクションの情報が登録されているか否かを判定する（Ｓ１３１）。例えば、全体制御部１４０は、スイッチ装置１００が受信したパケットがコネクション切断要求時のパケットであり、そのパケットに係るコネクションの情報がコネクション一覧テーブル１３２に登録されている場合に、それを、切断したコネクションとみなして、判定を行う。
【００６８】
Ｓ１３１の判定結果がＹｅｓの場合、全体制御部１４０は、切断したコネクションとみなしたコネクションの情報の登録をコネクション一覧テーブル１３２から削除し（Ｓ１３２）、当該テーブル１３２を更新する。
そして、Ｓ１３１の判定結果がＮｏの場合、又は、Ｓ１３２が終了すると、本フローチャートの動作が終了する。
【００６９】
なお、図４乃至８に示したフローチャートにおいて、Ｓ１１４では、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「最大可能サイズ」を現在の値の１／２倍に設定した。しかしながら、ここで設定される値は、現在の値の１／２倍に限らず、例えば、それ以外の現在の値よりも小さい値に設定することも可能である。また、Ｓ１２８では、コネクション一覧テーブル１３２に登録されている、スイッチ装置１００が受信したパケットに係るコネクションの「最大可能サイズ」を現在の値の２倍に設定した。しかしながら、ここで設定される値は、現在の値の２倍に限らず、例えば、それ以外の現在の値よりも大きい値に設定することも可能である。
【００７０】
以上のように、本実施例に係るスイッチ装置１００によれば、スイッチ装置１００に直接接続されている装置が確立したコネクションにおいて、次のようなフロー制御を行うことができる。すなわち、当該コネクションを確立した装置がＡＣＫパケットを未受信な状態で送信したデータのサイズが最大許容送信データサイズを超えた場合には、フロー制御により、その装置からのパケット送信を抑止させることができる。また、その後、その装置がＡＣＫパケットを未受信な状態で送信したデータのサイズが最大許容送信データサイズ以下となった場合には、フロー制御により、その装置からのパケット送信の抑止を終了させ、パケット送信を再開させることができる。従って、スイッチ装置１００に直接接続されているＷＡＮ未対応装置３００がＡＣＫパケットを未受信な状態で連続的にパケットを送信する場合には、フロー制御により、そのＷＡＮ未対応装置３００からのパケット送信を抑止させることができる。よって、ＷＡＮ未対応装置３００がＷＡＮ４００に接続されたときに発生し得る輻輳を防止することができる。
【００７１】
なお、本実施例に係るスイッチ装置１００は、例えば、次のようなコンピュータシステムを備える構成とすることも可能である。
【００７２】
図９は、そのコンピュータシステムの構成例を示す図である。
図９に示したように、このコンピュータシステムは、ＣＰＵ５０１、ＲＯＭ５０２、ＲＡＭ５０３、通信インタフェース５０４、記憶装置５０５、入出力装置５０６、可搬型記憶媒体の読取り装置５０７、及び、これらの全てが接続されたバス５０８を含む。なお、ＣＰＵは Central Processing Unit であり、ＲＯＭは Read Only Memory であり、ＲＡＭは Random Access Memory である。
【００７３】
記憶装置５０５としてはハードディスク、磁気ディスクなど様々な形式の記憶装置を使用することができる。このような記憶装置５０５、またはＲＯＭ５０２に、図４乃至８のフローチャートに示した輻輳防止動作を行うための輻輳防止プログラム等が格納される。また、ＲＡＭ５０３には、図２及び３に示したテーブル等が格納される。そして、その輻輳防止プログラムがＣＰＵ５０１によって実行されることにより、上記の直接接続装置判定部１１０、フロー制御部１２０、及び全体制御部１４０等が実現され、ＷＡＮ未対応装置３００がＷＡＮ４００に接続されたときに生じ得る輻輳を防止することができる。
【００７４】
このようなプログラムは、プログラム提供者５０９からネットワーク５１０（例えばＷＡＮ４００）、および通信インタフェース５０４を介して、例えば記憶装置５０５に格納されて、ＣＰＵ５０１によって実行されることも可能である。また、市販され、流通している可搬型記憶媒体５１１に格納され、読取り装置５０７にセットされて、ＣＰＵ５０１によって実行されることも可能である。可搬型記憶媒体５１１としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＤＶＤディスク、ＵＳＢメモリなど様々な形式の記憶媒体を使用することができる。
【００７５】
以上、実施例を説明したが、本発明は、上述した実施例に限定されることなく、本発明の要旨を逸脱しない範囲内で種々の改良・変更が可能である。
【００７６】
以上の実施の形態に関し、更に以下の付記を開示する。
（付記１）
ＷＡＮ未対応装置とＷＡＮとの間に接続されるスイッチ装置であって、
受信したパケットの送信元となる装置が当該スイッチ装置に直接接続されている装置であるか否かを判定する判定部と、
当該スイッチ装置に直接接続されていると前記判定部により判定された装置毎の情報が登録される第１のテーブルと、
前記第１のテーブルに情報が登録された装置が確立したコネクション毎の情報が登録される第２のテーブルと、
フロー制御を行うフロー制御部と、
前記第２のテーブルに登録されたコネクションの情報を、当該コネクションの確立中に当該スイッチ装置が受信した当該コネクションに係るパケットの内容に応じて更新し、前記第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置に対するフロー制御を前記フロー制御部に行わせる全体制御部と、
を備えることを特徴とするスイッチ装置。
（付記２）
前記判定部は、当該スイッチ装置が受信したパケットの種類がアドレス解決プロトコル要求のブロードキャストパケットである場合に、当該パケットの送信元となる装置を当該スイッチ装置に直接接続されている装置と判定する、
ことを特徴とする付記１記載のスイッチ装置。
（付記３）
前記第２のテーブルに登録されたコネクションの情報は、当該コネクションを確立した装置が確認応答パケットを未受信な状態で送信先へ送信可能なデータの最大サイズを定める最大許容送信データサイズを含み、
前記全体制御部は、前記第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置が確認応答パケットを未受信な状態で送信先へ送信したデータのサイズである送信データサイズを求め、当該送信データサイズが、当該コネクションの情報に含まれる前記最大許容送信データサイズを超えたと判定した場合には、当該コネクションを確立した装置に対するパケット送信を抑止させるためのフロー制御を前記フロー制御部に行わせる、
ことを特徴とする付記１又は２に記載のスイッチ装置。
（付記４）
前記全体制御部は、前記第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置が確認応答パケットを未受信な状態で送信先へ送信したデータのサイズを求め、当該送信データサイズが、当該コネクションの情報に含まれる前記最大許容送信データサイズ以下になったと判定した場合には、当該コネクションを確立した装置に対するパケット送信の抑止を終了させるためのフロー制御を前記フロー制御部に行わせる、
ことを特徴とする付記３記載のスイッチ装置。
（付記５）
前記全体制御部は、当該スイッチ装置が受信したパケットが、前記第２のテーブルに情報が登録されたコネクションに係るパケットであって、且つ、当該コネクションを確立した装置からの再送パケットであると判定した場合には、前記第２のテーブルに登録された当該コネクションの情報に含まれる前記最大許容送信データサイズを現在の値よりも小さい値に設定する、
ことを特徴とする付記３又は４記載のスイッチ装置。
（付記６）
前記全体制御部は、当該スイッチ装置が受信したパケットが、前記第２のテーブルに情報が登録されたコネクションに係るパケットであって、且つ、当該コネクションを確立した装置を送信先とするパケットであるときに、当該パケットに含まれる確認応答番号の値から、前記最大許容送信データサイズを超えたと判定したときの前記送信データサイズのデータについての通信が成功したと判定した場合には、前記第２のテーブルに登録された当該コネクションの情報に含まれる前記最大許容データサイズを現在の値よりも大きい値に設定する、
ことを特徴とする付記３乃至５のいずれか一つに記載のスイッチ装置。
（付記７）
ＷＡＮ未対応装置とＷＡＮとの間に接続されるスイッチ装置が行う輻輳防止方法であって、
当該スイッチ装置に直接接続されている装置毎の情報を第１のテーブルに登録し、
前記第１のテーブルに情報が登録された装置が確立したコネクション毎の情報を第２のテーブルに登録し、
前記第２のテーブルに登録されたコネクションの情報を、当該コネクションの確立中に当該スイッチ装置が受信した当該コネクションに係るパケットの内容に応じて更新し、
前記第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置に対するフロー制御を行う、
ことを特徴とする輻輳防止方法。
（付記８）
前記第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置が確認応答パケットを未受信な状態で送信先へ送信したデータのサイズであるデータ送信サイズを求め、
当該送信データサイズが、当該コネクションの情報に含まれる、当該コネクションを確立した装置が確認応答パケットを未受信な状態で送信先へ送信可能なデータの最大サイズを定める最大許容送信データサイズを超えたと判定した場合には、当該コネクションを確立した装置に対するパケット送信を抑止させるためのフロー制御を行う、
ことを特徴とする付記７記載の輻輳防止方法。
（付記９）
前記第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置が確認応答パケットを未受信な状態で送信先へ送信したデータのサイズであるデータ送信サイズを求め、
当該送信データサイズが、当該コネクションの情報に含まれる前記最大許容送信データサイズ以下になったと判定した場合には、当該コネクションを確立した装置に対するパケット送信の抑止を終了させるためのフロー制御を行う、
ことを特徴とする付記８記載の輻輳防止方法。
（付記１０）
ＷＡＮ未対応装置とＷＡＮとの間に接続されるスイッチ装置の輻輳防止プログラムであって、
当該スイッチ装置に直接接続されている装置毎の情報を第１のテーブルに登録し、
前記第１のテーブルに情報が登録された装置が確立したコネクション毎の情報を第２のテーブルに登録し、
前記第２のテーブルに登録されたコネクションの情報を、当該コネクションの確立中に当該スイッチ装置が受信した当該コネクションに係るパケットの内容に応じて更新し、
前記第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置に対するフロー制御を行う、
処理をコンピュータに実行させる輻輳防止プログラム。
（付記１１）
前記フロー制御を行う処理では、
前記第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置が確認応答パケットを未受信な状態で送信先へ送信したデータのサイズであるデータ送信サイズを求め、
当該送信データサイズが、当該コネクションの情報に含まれる、当該コネクションを確立した装置が確認応答パケットを未受信な状態で送信先へ送信可能なデータの最大サイズを定める最大許容送信データサイズを超えたと判定した場合には、当該コネクションを確立した装置に対するパケット送信を抑止させるためのフロー制御を行う、
ことを特徴とする付記１０記載の輻輳防止プログラム。
（付記１２）
前記フロー制御を行う処理では、
前記第２のテーブルに登録されたコネクションの情報に基づいて、当該コネクションを確立した装置が確認応答パケットを未受信な状態で送信先へ送信したデータのサイズであるデータ送信サイズを求め、
当該送信データサイズが、当該コネクションの情報に含まれる前記最大許容送信データサイズ以下になったと判定した場合には、当該コネクションを確立した装置に対するパケット送信の抑止を終了させるためのフロー制御を行う、
ことを特徴とする付記１１記載の輻輳防止プログラム。
【符号の説明】
【００７７】
１００      スイッチ装置
１１０      接続装置判定部
１２０      フロー制御部
１３０      記憶部
１３１      直接接続装置一覧テーブル
１３２      コネクション一覧テーブル
１４０      全体制御部
２００      ＷＡＮ対応装置
３００      ＷＡＮ未対応装置
４００      ＷＡＮ
【図１】
0005631754.tif 000002
【図４】
0005631754.tif 000003
【図５】
0005631754.tif 000004
【図６】
0005631754.tif 000005
【図７】
0005631754.tif 000006
【図８】
0005631754.tif 000007
【図９】
0005631754.tif 000008
【図２】
0005631754.tif 000009
【図３】
0005631754.tif 000010