JPH11112576A - インターネットワーク装置のコネクション制御方法 - Google Patents
インターネットワーク装置のコネクション制御方法Info
- Publication number
- JPH11112576A JPH11112576A JP27283297A JP27283297A JPH11112576A JP H11112576 A JPH11112576 A JP H11112576A JP 27283297 A JP27283297 A JP 27283297A JP 27283297 A JP27283297 A JP 27283297A JP H11112576 A JPH11112576 A JP H11112576A
- Authority
- JP
- Japan
- Prior art keywords
- host
- tcp
- data
- adjacent
- internetwork
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
(57)【要約】
【課題】高速なネットワークにおいて、TCPによるフ
ロー制御により制限される回線使用率の低下を防ぐ。 【解決手段】インターネットワーク装置(ルータ)30
7,308は、隣接ホスト301,302,304,3
05との通信相手となるホストとの間のTCPコネクシ
ョンを監視し、TCPのフロー制御による回線使用率の
低下を検出すると、相手ホストに代って隣接ホストに対
して受信確認セグメントを送ることにより、相手ホスト
との間に生じる遅延時間を克服する。また、ルータ30
7,308は、隣接ホストから送信されたデータをメモ
リ内に保存し、相手ホストの再送要求に対してメモリ内
のデータを用いて再送応答する。
ロー制御により制限される回線使用率の低下を防ぐ。 【解決手段】インターネットワーク装置(ルータ)30
7,308は、隣接ホスト301,302,304,3
05との通信相手となるホストとの間のTCPコネクシ
ョンを監視し、TCPのフロー制御による回線使用率の
低下を検出すると、相手ホストに代って隣接ホストに対
して受信確認セグメントを送ることにより、相手ホスト
との間に生じる遅延時間を克服する。また、ルータ30
7,308は、隣接ホストから送信されたデータをメモ
リ内に保存し、相手ホストの再送要求に対してメモリ内
のデータを用いて再送応答する。
Description
【0001】
【発明の属する技術分野】本発明は、複数のネットワー
クを相互に接続して、TCP/IP(Transmis
sion Control Protocol/Int
ernet Protocol)を実装したインターネ
ット装置において、高い回線使用率を実現するコネクシ
ョン制御方法に関する。
クを相互に接続して、TCP/IP(Transmis
sion Control Protocol/Int
ernet Protocol)を実装したインターネ
ット装置において、高い回線使用率を実現するコネクシ
ョン制御方法に関する。
【0002】
【従来の技術】ある端末の最上位層のアプリケーション
レイヤで生成された通信メッセージは、下位層のTCP
レイヤおよびインターネットプロトコル(以下、IPと
記す)レイヤに伝達され、自端末と相手端末の各ドライ
バを介して送受信を行い、相手端末のIPレイヤから上
位層のTCPレイヤに伝達され、さらにアプリケーショ
ンレイヤに伝達されることにより、アプリケーション相
互間で通信が行われる。この場合、送受信両端末の間を
メッセージが経由する他の端末では、ドライバからIP
レイヤまでしかメッセージは伝達されることはない。従
って、IPは信頼性のないデータグラム(IPデータ単
位)の配送しか提供していない。この場合のホストーホ
スト間の信頼性は、IPの上位レイヤに位置するTCP
が行う。TCPは、上位のアプリケーションレイヤに対
してコネクションオリエンテッド(接続指向型)なサー
ビスを提供し、通信の信頼性を保証する。TCPは、通
信の信頼性確保のためにチェックサムによるパケットエ
ラーのチェックやシーケンス番号を用いた正当な順序性
の確保及び重複の排除を行うのみならず、データ転送の
際には受信確認を行い、必要な場合には再送等の手段を
用いて信頼性のあるサービスを提供するように努力す
る。TCPは、さらにフロー制御により相手が送信する
ことができるデータ量のコントロールを行い、受信側が
処理可能な範囲内での通信を行うと同時に、スロースタ
ートアルゴリズムによるネットワーク内で起こる輻輳の
回避を行う。
レイヤで生成された通信メッセージは、下位層のTCP
レイヤおよびインターネットプロトコル(以下、IPと
記す)レイヤに伝達され、自端末と相手端末の各ドライ
バを介して送受信を行い、相手端末のIPレイヤから上
位層のTCPレイヤに伝達され、さらにアプリケーショ
ンレイヤに伝達されることにより、アプリケーション相
互間で通信が行われる。この場合、送受信両端末の間を
メッセージが経由する他の端末では、ドライバからIP
レイヤまでしかメッセージは伝達されることはない。従
って、IPは信頼性のないデータグラム(IPデータ単
位)の配送しか提供していない。この場合のホストーホ
スト間の信頼性は、IPの上位レイヤに位置するTCP
が行う。TCPは、上位のアプリケーションレイヤに対
してコネクションオリエンテッド(接続指向型)なサー
ビスを提供し、通信の信頼性を保証する。TCPは、通
信の信頼性確保のためにチェックサムによるパケットエ
ラーのチェックやシーケンス番号を用いた正当な順序性
の確保及び重複の排除を行うのみならず、データ転送の
際には受信確認を行い、必要な場合には再送等の手段を
用いて信頼性のあるサービスを提供するように努力す
る。TCPは、さらにフロー制御により相手が送信する
ことができるデータ量のコントロールを行い、受信側が
処理可能な範囲内での通信を行うと同時に、スロースタ
ートアルゴリズムによるネットワーク内で起こる輻輳の
回避を行う。
【0003】TCPのフロー制御は、スライドする送信
ウィンドウに基づいて行われる。このウィンドウ制御を
用いることにより、送信側が確認をすることなく複数の
データスリームを連続して送信することが可能となり、
その結果、スループットを向上させることができる。T
CPは、本来、エンドーエンド間のプロトコルであっ
て、送信側及び受信側の双方でのみ動作し、中継経路中
のインターネットワーク装置等では動作しない。中継経
路中のTCP制御機能に関する従来の技術としては、例
えばパケッティア社のPacketShaperがあ
る。この装置は、送信側と受信側の間に入って、双方間
のTCP制御パケットを奪い取り、その代りとなるTC
P制御パケットを渡すことにより、帯域幅のコントロー
ルを行い、バースト的に発生するトラフィックの分散を
行うことにより、一定のサービスの品質(QoS:Qu
arity of Service)を確保することが
可能となる。また、例えば特開平8−339354号
公報に記載のネットワーク分散処理システムでは、シス
テム間通信もシステム内通信と同じように、分散共有メ
モリ経由で行うことを基本とし、システム間で共通の分
散共有メモリ空間を共有させる。送信プロセッサモジュ
ールの分散メモリカップラが通信の方向を判断し、各プ
ロトコルに合わせて送信側と受信側の共有メモリの同一
アドレスロケーション間でコピーを行うことにより、W
AN(Wide Area Network)を経由し
たシステム間通信のソフトウェアオーバヘッドを削減
し、処理効率を向上させることができる。
ウィンドウに基づいて行われる。このウィンドウ制御を
用いることにより、送信側が確認をすることなく複数の
データスリームを連続して送信することが可能となり、
その結果、スループットを向上させることができる。T
CPは、本来、エンドーエンド間のプロトコルであっ
て、送信側及び受信側の双方でのみ動作し、中継経路中
のインターネットワーク装置等では動作しない。中継経
路中のTCP制御機能に関する従来の技術としては、例
えばパケッティア社のPacketShaperがあ
る。この装置は、送信側と受信側の間に入って、双方間
のTCP制御パケットを奪い取り、その代りとなるTC
P制御パケットを渡すことにより、帯域幅のコントロー
ルを行い、バースト的に発生するトラフィックの分散を
行うことにより、一定のサービスの品質(QoS:Qu
arity of Service)を確保することが
可能となる。また、例えば特開平8−339354号
公報に記載のネットワーク分散処理システムでは、シス
テム間通信もシステム内通信と同じように、分散共有メ
モリ経由で行うことを基本とし、システム間で共通の分
散共有メモリ空間を共有させる。送信プロセッサモジュ
ールの分散メモリカップラが通信の方向を判断し、各プ
ロトコルに合わせて送信側と受信側の共有メモリの同一
アドレスロケーション間でコピーを行うことにより、W
AN(Wide Area Network)を経由し
たシステム間通信のソフトウェアオーバヘッドを削減
し、処理効率を向上させることができる。
【0004】
【発明が解決しようとする課題】前述の従来技術で
は、低速回線を用いた場合において、バースト的に発生
するトラフィックの分散を主目的としているため、高速
回線を用いたときに起こるTCPのフロー制御によるデ
ータ送信効率の低減を抑制することはできない。TCP
ヘッダのウィンドウフィールドは、16ビット長しかな
いため、受信確認なしに一度に送ることができるデータ
のサイズは、約6万5千バイトに制限される。これは少
なくとも約6万5千バイトにつき1回は受信確認のやり
取りが行われ、その度毎に送信が中断することを意味し
ている。この制限は、ネットワークの帯域幅は狭いとき
やラウンドトリップ遅延が小さいときには殆んど問題に
はならないが、十分な帯域幅が確保された高速なネット
ワークの場合やラウンドトリップ遅延が大きな場合に
は、ウィンドウサイズがネックになるため帯域を十分に
活用することができない。TCPの最近の実装において
は、ウィンドウスケールオプションを用いてウィンドウ
サイズの倍率を指定することが可能になっているが、古
いTCPの実装や安易なTCPの実装ではこのオプショ
ンを用いることはできない。また、ウィンドウスケール
オプションを用いた場合においても、最大ウィンドウサ
イズは約1万6千バイトに制限されるため、将来出現す
るであろう超高速なネットワークにおいては、やはりウ
ィンドウサイズがネックになりうる。このように、TC
Pはフロー制御を行うことにより、信頼性のあるエンド
ーエンドの通信を確保するが、フロー制御が制限にな
り、十分に回線の帯域を活用することができないという
問題があった。そこで、本発明の目的は、このような従
来の課題を解決し、ラウンドトリップ遅延の大きい高速
なネットワークにおいても、ウィンドウサイズによる送
信ネックを抑制し、回線の使用効率を向上させることが
可能なインターネットワーク装置のコネクション制御方
法を提供することにある。
は、低速回線を用いた場合において、バースト的に発生
するトラフィックの分散を主目的としているため、高速
回線を用いたときに起こるTCPのフロー制御によるデ
ータ送信効率の低減を抑制することはできない。TCP
ヘッダのウィンドウフィールドは、16ビット長しかな
いため、受信確認なしに一度に送ることができるデータ
のサイズは、約6万5千バイトに制限される。これは少
なくとも約6万5千バイトにつき1回は受信確認のやり
取りが行われ、その度毎に送信が中断することを意味し
ている。この制限は、ネットワークの帯域幅は狭いとき
やラウンドトリップ遅延が小さいときには殆んど問題に
はならないが、十分な帯域幅が確保された高速なネット
ワークの場合やラウンドトリップ遅延が大きな場合に
は、ウィンドウサイズがネックになるため帯域を十分に
活用することができない。TCPの最近の実装において
は、ウィンドウスケールオプションを用いてウィンドウ
サイズの倍率を指定することが可能になっているが、古
いTCPの実装や安易なTCPの実装ではこのオプショ
ンを用いることはできない。また、ウィンドウスケール
オプションを用いた場合においても、最大ウィンドウサ
イズは約1万6千バイトに制限されるため、将来出現す
るであろう超高速なネットワークにおいては、やはりウ
ィンドウサイズがネックになりうる。このように、TC
Pはフロー制御を行うことにより、信頼性のあるエンド
ーエンドの通信を確保するが、フロー制御が制限にな
り、十分に回線の帯域を活用することができないという
問題があった。そこで、本発明の目的は、このような従
来の課題を解決し、ラウンドトリップ遅延の大きい高速
なネットワークにおいても、ウィンドウサイズによる送
信ネックを抑制し、回線の使用効率を向上させることが
可能なインターネットワーク装置のコネクション制御方
法を提供することにある。
【0005】
【課題を解決するための手段】上記目的を達成するた
め、本発明によるインターネットワーク装置のコネクシ
ョン制御方法では、複数のネットワークを相互に接続
し、TCP/IPを実装したネットワーク層レイヤ3の
IPパケットの中継処理を行うインターネットワーク装
置において、インターネットワーク装置から直接配送さ
れるネットワークに接続される隣接ホストと、その隣接
ホストとの通信相手となる相手ホストとの間で行われる
TCPコネクションを監視し、TCPのフロー制御によ
る回線使用率の低下を検出するとともに、前記フロー制
御により回線使用率が低下している場合には、相手ホス
トの代りに隣接ホストに対して受信確認セグメントを送
ることにより、相手ホストとの間に生じる遅延時間を克
服する。また、前記TCPのフロー制御による回線使用
率の低下を検出する場合に、TCPコネクションに関連
する回線の帯域幅、インターネットワーク装置自身にお
いて計算される回線使用率、RSVPによる帯域予約状
況、及び隣接ホストと相手ホストとの間のラウンドトリ
ップ遅延時間、隣接ホストと相手ホストとの間で合意さ
れたウィンドウサイズから、TCPのフロー制御による
回線使用率低下を検出する。さらに、隣接するホストか
らその相手ホストへ送信されるTCPセグメントの信頼
性を保証するため、隣接するホストから送信されるデー
タセグメントをメモリに保存し、隣接ホストとの間の順
序制御及びエラーチェックを行い、エラー発生時には隣
接ホストへの再送要求を行い、相手ホストからの再送要
求に対しては、保存したメモリ内のデータを用いて再送
要求に応答する。
め、本発明によるインターネットワーク装置のコネクシ
ョン制御方法では、複数のネットワークを相互に接続
し、TCP/IPを実装したネットワーク層レイヤ3の
IPパケットの中継処理を行うインターネットワーク装
置において、インターネットワーク装置から直接配送さ
れるネットワークに接続される隣接ホストと、その隣接
ホストとの通信相手となる相手ホストとの間で行われる
TCPコネクションを監視し、TCPのフロー制御によ
る回線使用率の低下を検出するとともに、前記フロー制
御により回線使用率が低下している場合には、相手ホス
トの代りに隣接ホストに対して受信確認セグメントを送
ることにより、相手ホストとの間に生じる遅延時間を克
服する。また、前記TCPのフロー制御による回線使用
率の低下を検出する場合に、TCPコネクションに関連
する回線の帯域幅、インターネットワーク装置自身にお
いて計算される回線使用率、RSVPによる帯域予約状
況、及び隣接ホストと相手ホストとの間のラウンドトリ
ップ遅延時間、隣接ホストと相手ホストとの間で合意さ
れたウィンドウサイズから、TCPのフロー制御による
回線使用率低下を検出する。さらに、隣接するホストか
らその相手ホストへ送信されるTCPセグメントの信頼
性を保証するため、隣接するホストから送信されるデー
タセグメントをメモリに保存し、隣接ホストとの間の順
序制御及びエラーチェックを行い、エラー発生時には隣
接ホストへの再送要求を行い、相手ホストからの再送要
求に対しては、保存したメモリ内のデータを用いて再送
要求に応答する。
【0006】
【発明の実施の形態】以下、本発明の動作原理及びその
実施例を、図面により詳細に説明する。 (動作原理)本発明においては、送信ホストに隣接する
インターネットワーク装置がTCPコネクションを監視
し、各時刻における回線使用率が最適となるようにTC
P受信確認パケットを相手受信ホストの代りに送出する
ことにより、ウィンドウサイズの制限を克服する。通
常、インターネットワーク装置の中継処理は、ネットワ
ーク層レイヤ3のみで行われる。インターネットワーク
装置は自身が保持しているレイヤ3(IPレベル)の中
継処理テーブルの情報を基に受信したデータパケットを
どのインターフェースから送出すべきかを判断し、該当
するインターフェースに向けて送出する。本発明では、
インターネットワーク装置は受信したデータパケットを
一旦IPの上位層であるTCPレベルまで押し上げ、イ
ンターネットワーク装置を経由するTCPコネクション
の監視を行う。TCPコネクションを検出できない場合
には、再びIPレベルまでデータパケットが戻され、通
常のIPレベルでの中継処理を行う。インターネットワ
ーク装置を経由するコネクションを検出した場合、その
インターネットワーク装置は、上記コネクションに関し
て以下の条件が成立するか否かの検証を行う。 (条件1)データ送信側ホストは自身と隣接しているか
否か、(つまり、自身から直接配送のネットワーク上に
送信側ホストが接続されているか否か) (条件2)TCPコネクションの関連する回線の帯域
幅、帯域予約状況、ラウンドトリップ遅延時間、ウィン
ドウサイズからTCPの最大スループットを計算し、こ
のTCPコネクションに関連した回線の持つ帯域を有効
に使用することができないか否か、
実施例を、図面により詳細に説明する。 (動作原理)本発明においては、送信ホストに隣接する
インターネットワーク装置がTCPコネクションを監視
し、各時刻における回線使用率が最適となるようにTC
P受信確認パケットを相手受信ホストの代りに送出する
ことにより、ウィンドウサイズの制限を克服する。通
常、インターネットワーク装置の中継処理は、ネットワ
ーク層レイヤ3のみで行われる。インターネットワーク
装置は自身が保持しているレイヤ3(IPレベル)の中
継処理テーブルの情報を基に受信したデータパケットを
どのインターフェースから送出すべきかを判断し、該当
するインターフェースに向けて送出する。本発明では、
インターネットワーク装置は受信したデータパケットを
一旦IPの上位層であるTCPレベルまで押し上げ、イ
ンターネットワーク装置を経由するTCPコネクション
の監視を行う。TCPコネクションを検出できない場合
には、再びIPレベルまでデータパケットが戻され、通
常のIPレベルでの中継処理を行う。インターネットワ
ーク装置を経由するコネクションを検出した場合、その
インターネットワーク装置は、上記コネクションに関し
て以下の条件が成立するか否かの検証を行う。 (条件1)データ送信側ホストは自身と隣接しているか
否か、(つまり、自身から直接配送のネットワーク上に
送信側ホストが接続されているか否か) (条件2)TCPコネクションの関連する回線の帯域
幅、帯域予約状況、ラウンドトリップ遅延時間、ウィン
ドウサイズからTCPの最大スループットを計算し、こ
のTCPコネクションに関連した回線の持つ帯域を有効
に使用することができないか否か、
【0007】上記各条件のいずれかでも成立しない場合
には、データパケットは再びIPレベルまで落されて、
通常の中継処理を行う。また、上記各条件が両方とも成
立した場合には、本発明におけるインターネットワーク
装置は、このコネクション用のバッファを用意し、以
後、このコネクションに関連するデータパケットをこの
バッファに保存するとともに、再びIPレイヤまでデー
タパケットを戻し、通常のデータ中継処理を行う。デー
タパケットのバッファリングが開始された後に行われる
送信側、受信側双方のTCP制御(データ転送以外のT
CPセグメントの送受信)はインターネットワーク装置
が肩代りして行う。つまり、送信側からのTCP制御は
インターネットワーク装置がそのTCP制御に対する応
答(さも、受信ホストからの応答であるかのように振舞
う)を行い、また受信側からのTCP制御はインターネ
ットワーク装置がその応答(さも、送信側からの応答で
あるかのように振舞う)を行う。また、必要な場合に
は、インターネットワーク装置側からTCP制御を送信
または受信側に対してそれぞれの相手になり代って行
う。上記処理を行うことにより、データセグメント送信
後の受信確認待ち時間をラウンドトリップ時間からイン
ターネットワーク装置と隣接する送信側ホスト間の2点
間の送信時間に短縮することが可能になり、TCPのフ
ロー制御による回線使用率低下を抑制することが可能に
なる。
には、データパケットは再びIPレベルまで落されて、
通常の中継処理を行う。また、上記各条件が両方とも成
立した場合には、本発明におけるインターネットワーク
装置は、このコネクション用のバッファを用意し、以
後、このコネクションに関連するデータパケットをこの
バッファに保存するとともに、再びIPレイヤまでデー
タパケットを戻し、通常のデータ中継処理を行う。デー
タパケットのバッファリングが開始された後に行われる
送信側、受信側双方のTCP制御(データ転送以外のT
CPセグメントの送受信)はインターネットワーク装置
が肩代りして行う。つまり、送信側からのTCP制御は
インターネットワーク装置がそのTCP制御に対する応
答(さも、受信ホストからの応答であるかのように振舞
う)を行い、また受信側からのTCP制御はインターネ
ットワーク装置がその応答(さも、送信側からの応答で
あるかのように振舞う)を行う。また、必要な場合に
は、インターネットワーク装置側からTCP制御を送信
または受信側に対してそれぞれの相手になり代って行
う。上記処理を行うことにより、データセグメント送信
後の受信確認待ち時間をラウンドトリップ時間からイン
ターネットワーク装置と隣接する送信側ホスト間の2点
間の送信時間に短縮することが可能になり、TCPのフ
ロー制御による回線使用率低下を抑制することが可能に
なる。
【0008】データのバッファリングは、TCPの信頼
性を保証するために必要である。例えば、インターネッ
トワーク装置から受信側ホストに到達するまでの間に、
送信データが何等かの理由によりデータ化けが起り、受
信側ホストがチェックサムエラーを検出した場合を考え
る。このとき、受信側ホストのTCPは再送要求を送信
側ホストに送出する。しかし、この時点で、このデータ
に対する受信確認セグメントは既にインターネットワー
ク装置から送信ホストに送られており、送信側ホストの
TCPは送信ウィンドウを次へと移しているため、この
受信側からの要求に対処することはできない。このよう
な事態に備えて、このインターネットワーク装置ではT
CPバッファリングを行い、保存してあるデータを用い
て受信側からの再送に対処する。受信ホストからの再送
要求に対して自身に保存してあるデータを基にして行う
ということは、バッファに保存されるデータの信頼性が
保証されている必要がある。バッファ内のデータの信頼
性を保証するために、このインターネットワーク装置
は、バッファをベースとしたTCP処理(順序制御、エ
ラー処理等)を行う。例えば、送信側から送られたTC
Pセグメントにおいてチェックサムエラーがあった場合
には、それを受けたインターネットワーク装置は再送要
求を送信ホストに要求を出し、正しいデータが保存され
るように努力する。上記のことを実現するためには、イ
ンターネットワーク装置にTCPを実装する必要があ
る。本来、インターネットワーク装置はネットワークレ
イヤ3以下でのみ動作し、その上位層まで関知すること
はないため、IPの上位層であるTCPの実装は必須で
はない。しかし、インターネットワーク装置の保守用に
telenetやftpのようなアプリケーションが必
要になる場合が多く、殆んどのインターネットワーク装
置にはTCPが実装されている。そのため、本発明を実
現するために既存のプロトコルスタックを改造するだけ
で、容易に実現できる。また、データの送信側及び受信
側双方のプロトコルスタックの変更も必要なく、送信側
に隣接するインターネットワーク装置のソフトウェアの
変更のみで実現が可能である。
性を保証するために必要である。例えば、インターネッ
トワーク装置から受信側ホストに到達するまでの間に、
送信データが何等かの理由によりデータ化けが起り、受
信側ホストがチェックサムエラーを検出した場合を考え
る。このとき、受信側ホストのTCPは再送要求を送信
側ホストに送出する。しかし、この時点で、このデータ
に対する受信確認セグメントは既にインターネットワー
ク装置から送信ホストに送られており、送信側ホストの
TCPは送信ウィンドウを次へと移しているため、この
受信側からの要求に対処することはできない。このよう
な事態に備えて、このインターネットワーク装置ではT
CPバッファリングを行い、保存してあるデータを用い
て受信側からの再送に対処する。受信ホストからの再送
要求に対して自身に保存してあるデータを基にして行う
ということは、バッファに保存されるデータの信頼性が
保証されている必要がある。バッファ内のデータの信頼
性を保証するために、このインターネットワーク装置
は、バッファをベースとしたTCP処理(順序制御、エ
ラー処理等)を行う。例えば、送信側から送られたTC
Pセグメントにおいてチェックサムエラーがあった場合
には、それを受けたインターネットワーク装置は再送要
求を送信ホストに要求を出し、正しいデータが保存され
るように努力する。上記のことを実現するためには、イ
ンターネットワーク装置にTCPを実装する必要があ
る。本来、インターネットワーク装置はネットワークレ
イヤ3以下でのみ動作し、その上位層まで関知すること
はないため、IPの上位層であるTCPの実装は必須で
はない。しかし、インターネットワーク装置の保守用に
telenetやftpのようなアプリケーションが必
要になる場合が多く、殆んどのインターネットワーク装
置にはTCPが実装されている。そのため、本発明を実
現するために既存のプロトコルスタックを改造するだけ
で、容易に実現できる。また、データの送信側及び受信
側双方のプロトコルスタックの変更も必要なく、送信側
に隣接するインターネットワーク装置のソフトウェアの
変更のみで実現が可能である。
【0009】(実施例)図1は、本発明が適用されるル
ータ装置(インターネットワーク装置)のモジュール構
成図である。本発明のルータ装置は、通信を中継する機
能を有し、自身で送信および受信は行わない。ルータ装
置は、パケットの中継処理やTCPの制御等のソフトウ
ェア処理を行う主プロセッサ(CPU)101と、動作
するソフトウェアをロードする目的の他に各種通信制御
のバッファとして用いられる主記憶装置(メモリ)10
2と、このルータ装置上で動作させる制御ソフトウェア
や構成定義情報を格納するためのディスク装置103
と、複数の各種通信回線を制御するための回線制御機構
105,106とから構成され、各装置は装置内バス1
04により接続されている。ここで構成定義情報は、ル
ーティングプロトコルに関する情報やアドレス情報等が
登録されている。ルータ装置は、電源が投入されると、
ディスク装置103から制御ソフトウェアが主記憶装置
102にロードされ、このソフトウェアが主プロセッサ
101により処理される。制御ソフトウェアは、ディス
ク装置103内に格納されている構成定義情報を読み込
み、各種回線制御装置を動作させるとともに構成定義情
報に従ったパケット中継処理を行う。
ータ装置(インターネットワーク装置)のモジュール構
成図である。本発明のルータ装置は、通信を中継する機
能を有し、自身で送信および受信は行わない。ルータ装
置は、パケットの中継処理やTCPの制御等のソフトウ
ェア処理を行う主プロセッサ(CPU)101と、動作
するソフトウェアをロードする目的の他に各種通信制御
のバッファとして用いられる主記憶装置(メモリ)10
2と、このルータ装置上で動作させる制御ソフトウェア
や構成定義情報を格納するためのディスク装置103
と、複数の各種通信回線を制御するための回線制御機構
105,106とから構成され、各装置は装置内バス1
04により接続されている。ここで構成定義情報は、ル
ーティングプロトコルに関する情報やアドレス情報等が
登録されている。ルータ装置は、電源が投入されると、
ディスク装置103から制御ソフトウェアが主記憶装置
102にロードされ、このソフトウェアが主プロセッサ
101により処理される。制御ソフトウェアは、ディス
ク装置103内に格納されている構成定義情報を読み込
み、各種回線制御装置を動作させるとともに構成定義情
報に従ったパケット中継処理を行う。
【0010】図2は、図1のルータ装置上で動作するソ
フトウェアの構成図である。通信の制御を行うソフトウ
ェアは、図2に示す階層構造を形成している。最下層レ
イヤには、各種の異なる通信回線制御装置を制御するた
めのドライバ部201があり、その上位層には、IPデ
ータグラムの中継処理、その他のIP処理を行うIP処
理部202と、CSMA/CD(Carrier Se
nse Multiple Access with
Collision Detection)方式のLA
N(Local Area Network)におい
て、IPアドレスとハードウェアアドレスとの間の対応
付けを行うARP(Address Resoluti
on Protocol)処理部203と、システム間
の種々の調停のため制御コードをやり取りするためのI
CMP(InternetControl Messa
ge Protocol)処理部204と、実時間処理
の必要な通信に対して帯域を予約するためのプロトコル
であるRSVP(Resource Reservat
ion Protocol)を処理するためのRSVP
処理部205とが設けられる。さらにその上位層には、
それぞれTCP(Transmission Cont
rol Protocol)、UDP(User Da
tagram Protocol)を処理するためのT
CP処理部206およびUDP処理部207と、このル
ータ装置間を経由するTCPコネクションを監視し、ウ
ィンドウサイズによる通信ネックとなる場合に代替受信
確認セグメントを送出して帯域幅の有効活用を行うコネ
クション制御部208とが設けられる。なお、TCPは
コネクションを張って接続するのに対して、UDPはコ
ネクションを張らずに制御セグメントを送出するのみで
ある。さらに、最上位層には、他のルータ装置との経路
情報のやり取りを行い、IP処理部202が参照する経
路情報テーブルを更新するルーティング処理部209
と、アプリケーションプログラムであるftp(fil
e transferprotocol)と、teln
etとが設けられる。
フトウェアの構成図である。通信の制御を行うソフトウ
ェアは、図2に示す階層構造を形成している。最下層レ
イヤには、各種の異なる通信回線制御装置を制御するた
めのドライバ部201があり、その上位層には、IPデ
ータグラムの中継処理、その他のIP処理を行うIP処
理部202と、CSMA/CD(Carrier Se
nse Multiple Access with
Collision Detection)方式のLA
N(Local Area Network)におい
て、IPアドレスとハードウェアアドレスとの間の対応
付けを行うARP(Address Resoluti
on Protocol)処理部203と、システム間
の種々の調停のため制御コードをやり取りするためのI
CMP(InternetControl Messa
ge Protocol)処理部204と、実時間処理
の必要な通信に対して帯域を予約するためのプロトコル
であるRSVP(Resource Reservat
ion Protocol)を処理するためのRSVP
処理部205とが設けられる。さらにその上位層には、
それぞれTCP(Transmission Cont
rol Protocol)、UDP(User Da
tagram Protocol)を処理するためのT
CP処理部206およびUDP処理部207と、このル
ータ装置間を経由するTCPコネクションを監視し、ウ
ィンドウサイズによる通信ネックとなる場合に代替受信
確認セグメントを送出して帯域幅の有効活用を行うコネ
クション制御部208とが設けられる。なお、TCPは
コネクションを張って接続するのに対して、UDPはコ
ネクションを張らずに制御セグメントを送出するのみで
ある。さらに、最上位層には、他のルータ装置との経路
情報のやり取りを行い、IP処理部202が参照する経
路情報テーブルを更新するルーティング処理部209
と、アプリケーションプログラムであるftp(fil
e transferprotocol)と、teln
etとが設けられる。
【0011】図3は、本発明のルータ装置を用いたネッ
トワーク構成例を示す図である。図3において、307
及び308が、上記構成を持つ本発明のルータ装置であ
る。2台のパーソナルコンピュータ(以下、PC)30
1,302及びルータ装置307は、100Mビット/
秒の帯域幅を持つLAN303により接続され、また同
様に2台のワークステーション(以下、WS)304,
305とルータ装置308も100Mビット/秒のLA
N306により接続される。2台のルータ装置307と
308の間は、ATMスイッチ群により構成されるAT
Mネットワーク網309に接続され、155Mビット/
秒の帯域が確保されるが、ルータ装置間の距離は非常に
離れており(例えば、東京ーサンノゼ間)、ネットワー
クの遅延は非常に大きいものとする。PC302のTC
Pはウィンドウスケールオプションを実装しておらず、
そのため最大ウィンドウサイズは65536バイトであ
るとする。いま、図3のPC301とWS304の間で
ビデオ会議アプリケーションを用いた通信を行っている
ものとする。このアプリケーションは、RSVPを用い
て30Mバイト/秒の帯域予約を行っているものとす
る。このビデオ会議アプリケーションはエンドーエンド
間の通信にUDPを用いているため、TCPのコネクシ
ョンは存在しないものとする。この時、PC302とW
S305の間において、TCPの上位アプリケーション
であるftpを用いたファイル転送を行う場合を考え
る。
トワーク構成例を示す図である。図3において、307
及び308が、上記構成を持つ本発明のルータ装置であ
る。2台のパーソナルコンピュータ(以下、PC)30
1,302及びルータ装置307は、100Mビット/
秒の帯域幅を持つLAN303により接続され、また同
様に2台のワークステーション(以下、WS)304,
305とルータ装置308も100Mビット/秒のLA
N306により接続される。2台のルータ装置307と
308の間は、ATMスイッチ群により構成されるAT
Mネットワーク網309に接続され、155Mビット/
秒の帯域が確保されるが、ルータ装置間の距離は非常に
離れており(例えば、東京ーサンノゼ間)、ネットワー
クの遅延は非常に大きいものとする。PC302のTC
Pはウィンドウスケールオプションを実装しておらず、
そのため最大ウィンドウサイズは65536バイトであ
るとする。いま、図3のPC301とWS304の間で
ビデオ会議アプリケーションを用いた通信を行っている
ものとする。このアプリケーションは、RSVPを用い
て30Mバイト/秒の帯域予約を行っているものとす
る。このビデオ会議アプリケーションはエンドーエンド
間の通信にUDPを用いているため、TCPのコネクシ
ョンは存在しないものとする。この時、PC302とW
S305の間において、TCPの上位アプリケーション
であるftpを用いたファイル転送を行う場合を考え
る。
【0012】図4は、図3におけるWS305からPC
302へデータ転送する際の通常の通信シーケンスチャ
ートである。ここでは、通常のTCPを用いてデータ転
送している場合を示している。先ず、phase1で
は、WS305からPC302に対してシーケンス26
3000〜328536のデータセグメントの送信を行
い、phase2においてPC302からWS305に
対してphase1で受信したデータの受信確認及び次
に行われるphase3のウィンドウサイズ65536
バイトの指定を行っている。同様に、phase3で
は、次の65536バイトのセグメントの送信を行い、
phase4でその確認を行っている。図4の右側に示
したTt及びTdはそれぞれ65536バイトを送信す
るのに要した時間と、ネットワークのラウンドトリップ
遅延時間を示している。このように、PC302とWS
305の間には有効な帯域幅が70Mビット/秒存在す
る。すなわち、PC301とWS304との間では、L
ANの100Mビット/秒の帯域予約をRSVPを用い
て行っているので、PC302とWS305の間の通信
にはその帯域を差し引いた残りの帯域のみで行う必要が
あり、実際に使用できるのは100Mビット/秒から3
0Mビット/秒を引いた値となる。さらに、Tdの遅延
が存在するため、70Mビット/秒のうちの(Tt/T
d)×100%しかデータ転送には用いられない。この
例のように、高速なネットワークで、かつ遅延時間が大
きいときほど、ウィンドウサイズの制限がネットワーク
の回線使用率に重大な影響を及ぼす結果になる。
302へデータ転送する際の通常の通信シーケンスチャ
ートである。ここでは、通常のTCPを用いてデータ転
送している場合を示している。先ず、phase1で
は、WS305からPC302に対してシーケンス26
3000〜328536のデータセグメントの送信を行
い、phase2においてPC302からWS305に
対してphase1で受信したデータの受信確認及び次
に行われるphase3のウィンドウサイズ65536
バイトの指定を行っている。同様に、phase3で
は、次の65536バイトのセグメントの送信を行い、
phase4でその確認を行っている。図4の右側に示
したTt及びTdはそれぞれ65536バイトを送信す
るのに要した時間と、ネットワークのラウンドトリップ
遅延時間を示している。このように、PC302とWS
305の間には有効な帯域幅が70Mビット/秒存在す
る。すなわち、PC301とWS304との間では、L
ANの100Mビット/秒の帯域予約をRSVPを用い
て行っているので、PC302とWS305の間の通信
にはその帯域を差し引いた残りの帯域のみで行う必要が
あり、実際に使用できるのは100Mビット/秒から3
0Mビット/秒を引いた値となる。さらに、Tdの遅延
が存在するため、70Mビット/秒のうちの(Tt/T
d)×100%しかデータ転送には用いられない。この
例のように、高速なネットワークで、かつ遅延時間が大
きいときほど、ウィンドウサイズの制限がネットワーク
の回線使用率に重大な影響を及ぼす結果になる。
【0013】図5は、本発明の一実施例を示す代理受信
確認を行う場合の通信シーケンスチャートである。前述
のように、高速なネットワークで、かつ遅延時間が大き
い場合には、ウィンドウサイズの制限がネットワークの
回線使用率に大きな影響を及ぼす。この問題を克服する
ため、本発明においては、送信側に隣接するルータ装置
308がTCPの受信確認セグメントをPC302の代
りに発行し、WS305に送ることにより遅延時間によ
る回線使用率の低下を抑制する。図5において、ルータ
装置308はws305とPC302とのTCPコネク
ションを監視し、回線の帯域幅を効率的に使用するよう
にルータ装置308がPC302の代りにWS305に
対して受信確認セグメントを発行すると同時に、PC3
02からWS305に対して送信されてくる受信確認セ
グメントを削除する。図5に示すように、ルータ装置3
08がPC302の代りに受信確認をWS305に送る
ことにより、ルータ装置308とPC302との間の送
受信遅延を取り除くことが可能となるので、高いスルー
プットを得ることができる。
確認を行う場合の通信シーケンスチャートである。前述
のように、高速なネットワークで、かつ遅延時間が大き
い場合には、ウィンドウサイズの制限がネットワークの
回線使用率に大きな影響を及ぼす。この問題を克服する
ため、本発明においては、送信側に隣接するルータ装置
308がTCPの受信確認セグメントをPC302の代
りに発行し、WS305に送ることにより遅延時間によ
る回線使用率の低下を抑制する。図5において、ルータ
装置308はws305とPC302とのTCPコネク
ションを監視し、回線の帯域幅を効率的に使用するよう
にルータ装置308がPC302の代りにWS305に
対して受信確認セグメントを発行すると同時に、PC3
02からWS305に対して送信されてくる受信確認セ
グメントを削除する。図5に示すように、ルータ装置3
08がPC302の代りに受信確認をWS305に送る
ことにより、ルータ装置308とPC302との間の送
受信遅延を取り除くことが可能となるので、高いスルー
プットを得ることができる。
【0014】本発明のルータ装置は、TCPのウィンド
ウサイズの制限により回線の持つ帯域幅を有効に使用す
ることができない場合においてのみ代理で受信確認セグ
メントの発行を行い、その他の場合にはこの処理を行わ
ない。ルータ装置308は、100Mビット/秒の帯域
幅を持つLANインタフェースと155Mビット/秒の
帯域幅を持つATMインタフェースの2つのインタフェ
ースを装備しており、ここではそれぞれlan、atm
と表現することにする。lan及びatmインタフェー
スの有効な帯域幅B1及びB2は、それぞれ次式
(1)、次式(2)で表わされる。 B1=Batm×(Ra/100)−Br ・・・・・・・・・・(1) B2=Blan×(Rl/100)−Br ・・・・・・・・・・(2) ここで、Batm及びBlanはそれぞれのインタフェ
ースが持つ帯域幅、Ra及びRlはそれぞれATM及び
LANインタフェースの回線使用率、またBrはルータ
装置において割り当てられたRSVPによる予約帯域を
示す。WS305からPC302への通信時には、la
n,atm双方のインタフェースを使用するため、この
通信に有効な帯域幅Bbは次式(3)で表現できる。 Bb=min(B1,B2) ・・・・・・・・・・・・・・・・・(3)
ウサイズの制限により回線の持つ帯域幅を有効に使用す
ることができない場合においてのみ代理で受信確認セグ
メントの発行を行い、その他の場合にはこの処理を行わ
ない。ルータ装置308は、100Mビット/秒の帯域
幅を持つLANインタフェースと155Mビット/秒の
帯域幅を持つATMインタフェースの2つのインタフェ
ースを装備しており、ここではそれぞれlan、atm
と表現することにする。lan及びatmインタフェー
スの有効な帯域幅B1及びB2は、それぞれ次式
(1)、次式(2)で表わされる。 B1=Batm×(Ra/100)−Br ・・・・・・・・・・(1) B2=Blan×(Rl/100)−Br ・・・・・・・・・・(2) ここで、Batm及びBlanはそれぞれのインタフェ
ースが持つ帯域幅、Ra及びRlはそれぞれATM及び
LANインタフェースの回線使用率、またBrはルータ
装置において割り当てられたRSVPによる予約帯域を
示す。WS305からPC302への通信時には、la
n,atm双方のインタフェースを使用するため、この
通信に有効な帯域幅Bbは次式(3)で表現できる。 Bb=min(B1,B2) ・・・・・・・・・・・・・・・・・(3)
【0015】一方、WS305とPC302の間のラウ
ンドトリップ遅延時間をT、またWS305とPC30
2の間で合意したウィンドウサイズをWとすると、この
TCPコネクションでの最大スループットBwは次式
(4)で表わされる。 Bw=W/T ・・・・・・・・・(4) ここで、ウィンドウサイズWはウィンドウスケールオプ
ションを考慮した値であっても差し支えない。もし、前
式(4)のBwより前式(3)のBbの方が大きい場合
には、TCPのウィンドウサイズによる回線使用制限が
発生していることになる。一方、Bbの方がBwより大
きい場合には、TCPのウィンドウサイズによる回線使
用制限よりむしろ有効帯域幅がネックになっていると言
える。そのためにルータ装置308では、WS305と
PC302との間のTCPコネクションを監視し、ルー
タ装置が持っているその時点の回線使用率及び帯域予約
状況から次式(5)を算出し、式(5)が真になる場合
にのみ代理受信確認応答処理を行う。 (Bb>Bw) ・・・・・・・・(5) これまでに述べた隣接するルータ装置による代理受信確
認による方法は、WS305からPC302へのデータ
送信で全てエラーがなく届いたときのみ有効に機能す
る。しかし、ルータ装置308からPC302へのデー
タ送信過程で新ータにエラーが発生した場合には、回復
する方法がない。すなわち、WS305は、ルータ装置
308から受信確認セグメントを受信した後に、PC3
02からの再送要求が届いても、混乱してしまうと予想
される。ここでWS305は、先に受信した受信確認セ
グメントをPC302から来たものであると思っている
からである。このため、本発明においては、ルータ装置
308がデータのバッファリングを行い、PC302か
らの再送要求に対応できるようにする必要がある。
ンドトリップ遅延時間をT、またWS305とPC30
2の間で合意したウィンドウサイズをWとすると、この
TCPコネクションでの最大スループットBwは次式
(4)で表わされる。 Bw=W/T ・・・・・・・・・(4) ここで、ウィンドウサイズWはウィンドウスケールオプ
ションを考慮した値であっても差し支えない。もし、前
式(4)のBwより前式(3)のBbの方が大きい場合
には、TCPのウィンドウサイズによる回線使用制限が
発生していることになる。一方、Bbの方がBwより大
きい場合には、TCPのウィンドウサイズによる回線使
用制限よりむしろ有効帯域幅がネックになっていると言
える。そのためにルータ装置308では、WS305と
PC302との間のTCPコネクションを監視し、ルー
タ装置が持っているその時点の回線使用率及び帯域予約
状況から次式(5)を算出し、式(5)が真になる場合
にのみ代理受信確認応答処理を行う。 (Bb>Bw) ・・・・・・・・(5) これまでに述べた隣接するルータ装置による代理受信確
認による方法は、WS305からPC302へのデータ
送信で全てエラーがなく届いたときのみ有効に機能す
る。しかし、ルータ装置308からPC302へのデー
タ送信過程で新ータにエラーが発生した場合には、回復
する方法がない。すなわち、WS305は、ルータ装置
308から受信確認セグメントを受信した後に、PC3
02からの再送要求が届いても、混乱してしまうと予想
される。ここでWS305は、先に受信した受信確認セ
グメントをPC302から来たものであると思っている
からである。このため、本発明においては、ルータ装置
308がデータのバッファリングを行い、PC302か
らの再送要求に対応できるようにする必要がある。
【0016】図6は、本発明の他の実施例を示す再送要
求に対処したシーケンスチャートである。図6では、W
S305からシーケンス番号26300から32853
6までのTCPセグメントが送信され、ルータ装置30
8からPC302までの間にエラーがあったセグメント
のみの再送要求を行っている。しかし、このデータに対
する受信確認セグメントの送出は、ルータ装置308か
らWS305に対して既に行われているため、WS30
5に対して再送要求を送ることはTCPの動作に矛盾が
起ってしまう。このような問題を解決するために、本発
明においては、ルータ装置308はWS305から送ら
れる全てのデータをルータ装置308上のメモリ102
に保存し、PC302からの再送要求時にはこの保存さ
れたデータを参照して再送要求に応答する。このデータ
は、PC302からのこのデータに対する受信確認セグ
メントが送られてくるまでメモリ102内に保存され
る。
求に対処したシーケンスチャートである。図6では、W
S305からシーケンス番号26300から32853
6までのTCPセグメントが送信され、ルータ装置30
8からPC302までの間にエラーがあったセグメント
のみの再送要求を行っている。しかし、このデータに対
する受信確認セグメントの送出は、ルータ装置308か
らWS305に対して既に行われているため、WS30
5に対して再送要求を送ることはTCPの動作に矛盾が
起ってしまう。このような問題を解決するために、本発
明においては、ルータ装置308はWS305から送ら
れる全てのデータをルータ装置308上のメモリ102
に保存し、PC302からの再送要求時にはこの保存さ
れたデータを参照して再送要求に応答する。このデータ
は、PC302からのこのデータに対する受信確認セグ
メントが送られてくるまでメモリ102内に保存され
る。
【0017】一旦、PC302から再送要求が届くと、
ルータ装置308は自身に貯えられたWS305からの
データを用いてそれまでに行われた通信の復旧を行い、
復旧が終了するまでWS305には受信確認セグメント
の送出は行わない。復旧処理が完了した時点で、ルータ
装置308はWS305に対して受信確認セグメントの
送出を行い、通信を再開させる。このように、ルータ装
置308はWS305とPC302間のTCPコネクシ
ョンにおいて行われるデータを自身のメモリ内に保存す
ることにより、再送要求に対応させている。しかし、こ
れはルータ装置308内のメモリに保存されるデータに
エラーがないこと、そして順序が正しいことを前提とし
ている。このことを保証するために、ルータ装置308
は通常のTCPによるデータ転送と同様のことをWS3
05との間で行い、保存するデータの妥当性を保証す
る。例えば、WS305からPC302宛に送信された
データセグメントにエラーを見つけた場合には、ルータ
装置308はそのままPC302に対してデータを渡さ
ずに、WS305に対して再送要求を行い、エラーの修
復を行う。また、順序通りに届かなかったデータセグメ
ントに対しては、自身のメモリ内においてデータ順序の
再構成を行う。
ルータ装置308は自身に貯えられたWS305からの
データを用いてそれまでに行われた通信の復旧を行い、
復旧が終了するまでWS305には受信確認セグメント
の送出は行わない。復旧処理が完了した時点で、ルータ
装置308はWS305に対して受信確認セグメントの
送出を行い、通信を再開させる。このように、ルータ装
置308はWS305とPC302間のTCPコネクシ
ョンにおいて行われるデータを自身のメモリ内に保存す
ることにより、再送要求に対応させている。しかし、こ
れはルータ装置308内のメモリに保存されるデータに
エラーがないこと、そして順序が正しいことを前提とし
ている。このことを保証するために、ルータ装置308
は通常のTCPによるデータ転送と同様のことをWS3
05との間で行い、保存するデータの妥当性を保証す
る。例えば、WS305からPC302宛に送信された
データセグメントにエラーを見つけた場合には、ルータ
装置308はそのままPC302に対してデータを渡さ
ずに、WS305に対して再送要求を行い、エラーの修
復を行う。また、順序通りに届かなかったデータセグメ
ントに対しては、自身のメモリ内においてデータ順序の
再構成を行う。
【0018】図6では、WS305からルータ装置30
8にはデータ1〜5を正常に転送したので、ルータ装置
308はメモリにデータ1〜5をバッファリングすると
ともに、PC302に対して転送するとともに、ルータ
装置308からWS305に対して代理受信確認を行
う。しかし、ルータ装置308とPC302との通信経
路中にエラーが発生したため、PC302からデータ4
について再送要求が返送された。その時点では、WS3
05からデータ6〜10の送信が終了し、ルータ装置3
08から代理受信確認が返送されている。そして、WS
305からはデータ11〜15がルータ装置308に対
して転送されている。ルータ装置308は、このデータ
11〜15をメモリに格納する。ルータ装置308は、
その時点で以降の代理受信確認を中止し、PC302に
対してメモリに保存していたデータ4をPC302に再
送する。PC302からAck6が返送されると、ルー
タ装置308は次のデータ6〜10までをメモリから取
り出して送信する。PC302からAck11が返送さ
れると、ルータ装置308はメモリに保存しているデー
タ11〜15をPC302に転送する。PC302から
Ack16が返送されると、ルータ装置308はメモリ
にデータが残っていないため、その時点でWS305に
対して代理受信確認を行う(Ack16)。
8にはデータ1〜5を正常に転送したので、ルータ装置
308はメモリにデータ1〜5をバッファリングすると
ともに、PC302に対して転送するとともに、ルータ
装置308からWS305に対して代理受信確認を行
う。しかし、ルータ装置308とPC302との通信経
路中にエラーが発生したため、PC302からデータ4
について再送要求が返送された。その時点では、WS3
05からデータ6〜10の送信が終了し、ルータ装置3
08から代理受信確認が返送されている。そして、WS
305からはデータ11〜15がルータ装置308に対
して転送されている。ルータ装置308は、このデータ
11〜15をメモリに格納する。ルータ装置308は、
その時点で以降の代理受信確認を中止し、PC302に
対してメモリに保存していたデータ4をPC302に再
送する。PC302からAck6が返送されると、ルー
タ装置308は次のデータ6〜10までをメモリから取
り出して送信する。PC302からAck11が返送さ
れると、ルータ装置308はメモリに保存しているデー
タ11〜15をPC302に転送する。PC302から
Ack16が返送されると、ルータ装置308はメモリ
にデータが残っていないため、その時点でWS305に
対して代理受信確認を行う(Ack16)。
【0019】図7は、本発明の一実施例を示すルータ装
置のパケット中継処理のフローチャートである。このフ
ローは、図1に示したルータ装置のLAN回線制御機構
105及びATM回線制御機構106からCPU101
へのハードウェア割り込み処理により起動される(ST
ART)。図3におけるLAN306からのデータ受信
により、図2に示すルータ装置308のLANドライバ
部201がLANフレームの受信処理を行い(ステップ
701)、そのデータをIP処理部202に渡す。IP
データグラムを受けたIP処理部202はIPの受信処
理を行い(ステップ702)、中継処理を行う前に上位
レイヤであるTCP制御部206に引き渡す。このTC
P処理部206が本発明におけるTCPコネクション制
御を行う部分である。TCP制御部206はコネクショ
ンの監視を行い、TCPコネクション制御が有効な場合
においてのみバッファリング、TCPの肩代り処理を行
う(ステップ703)。バッファリングや肩代り処理を
行った後、IP処理部202に渡し、IP中継処理を行
い(ステップ704)、さらにLANドライバ部201
に引き渡して、送信処理を行う(ステップ705)。一
方、TCPコネクション制御が必要ない場合には、再び
IP処理部202にIPデータグラムが戻され、ルーテ
ィングテーブルの情報をもとにIP中継処理を行い(ス
テップ704)、適切なインタフェースからIPデータ
グラムが送出される(ステップ705)。
置のパケット中継処理のフローチャートである。このフ
ローは、図1に示したルータ装置のLAN回線制御機構
105及びATM回線制御機構106からCPU101
へのハードウェア割り込み処理により起動される(ST
ART)。図3におけるLAN306からのデータ受信
により、図2に示すルータ装置308のLANドライバ
部201がLANフレームの受信処理を行い(ステップ
701)、そのデータをIP処理部202に渡す。IP
データグラムを受けたIP処理部202はIPの受信処
理を行い(ステップ702)、中継処理を行う前に上位
レイヤであるTCP制御部206に引き渡す。このTC
P処理部206が本発明におけるTCPコネクション制
御を行う部分である。TCP制御部206はコネクショ
ンの監視を行い、TCPコネクション制御が有効な場合
においてのみバッファリング、TCPの肩代り処理を行
う(ステップ703)。バッファリングや肩代り処理を
行った後、IP処理部202に渡し、IP中継処理を行
い(ステップ704)、さらにLANドライバ部201
に引き渡して、送信処理を行う(ステップ705)。一
方、TCPコネクション制御が必要ない場合には、再び
IP処理部202にIPデータグラムが戻され、ルーテ
ィングテーブルの情報をもとにIP中継処理を行い(ス
テップ704)、適切なインタフェースからIPデータ
グラムが送出される(ステップ705)。
【0020】図8は、図7におけるTCP制御部の詳細
フローチャートである。TCP制御部206では、先ず
TCPのデータであるか否かを判断し(ステップ80
1)、隣接ホストからの送信であるか否かのチェックを
行う(ステップ802)。どちらかが該当しない場合に
は、TCPコネクション制御を行わずにそのままIPデ
ータグラムの中継処理に戻す(ステップ811)。どち
らにも該当する場合には、既にコネクション制御を行っ
ているか否かを判別し(ステップ803)、コネクショ
ン開始前のものであれば、コネクション確立用のTCP
セグメントであるか否かの検査を行う(ステップ80
4)。その結果、コネクション確立用のTCP制御セグ
メントである場合には、前式(5)つまり(Bb>B
w)の判定を行い(ステップ805)、真の場合にはコ
ネクションの登録及び監視を開始する(ステップ80
6)。一方、既にコネクションの登録が行われていた場
合には(ステップ803)、データのバッファリングを
行った後(ステップ807)、このバッファをベースと
した代替えTCP処理を行う(ステップ808)。この
バッファベースのTCP処理では、これまでに述べた代
理TCP受信セグメントの送出やバッファ内の順序制
御、再送要求、再送要求に対する代理応答等が行われ
る。TCP処理が終了した後、必要なデータをIP送信
処理に渡し(ステップ809)、不要になったバッファ
内のデータの削除を行い、バッファを開放して処理を終
了する(ステップ810)。
フローチャートである。TCP制御部206では、先ず
TCPのデータであるか否かを判断し(ステップ80
1)、隣接ホストからの送信であるか否かのチェックを
行う(ステップ802)。どちらかが該当しない場合に
は、TCPコネクション制御を行わずにそのままIPデ
ータグラムの中継処理に戻す(ステップ811)。どち
らにも該当する場合には、既にコネクション制御を行っ
ているか否かを判別し(ステップ803)、コネクショ
ン開始前のものであれば、コネクション確立用のTCP
セグメントであるか否かの検査を行う(ステップ80
4)。その結果、コネクション確立用のTCP制御セグ
メントである場合には、前式(5)つまり(Bb>B
w)の判定を行い(ステップ805)、真の場合にはコ
ネクションの登録及び監視を開始する(ステップ80
6)。一方、既にコネクションの登録が行われていた場
合には(ステップ803)、データのバッファリングを
行った後(ステップ807)、このバッファをベースと
した代替えTCP処理を行う(ステップ808)。この
バッファベースのTCP処理では、これまでに述べた代
理TCP受信セグメントの送出やバッファ内の順序制
御、再送要求、再送要求に対する代理応答等が行われ
る。TCP処理が終了した後、必要なデータをIP送信
処理に渡し(ステップ809)、不要になったバッファ
内のデータの削除を行い、バッファを開放して処理を終
了する(ステップ810)。
【0021】
【発明の効果】以上説明したように、本発明によれば、
送受信を行うホストのプロトコルスタックを変更するこ
となく、高速なネットワークにおいてTCPによるフロ
ー制御により制限される回線使用率の低下を防ぐことが
でき、高いスループットを得ることができる
送受信を行うホストのプロトコルスタックを変更するこ
となく、高速なネットワークにおいてTCPによるフロ
ー制御により制限される回線使用率の低下を防ぐことが
でき、高いスループットを得ることができる
【図1】本発明が適用されるルータ装置のハードウェア
構成図である。
構成図である。
【図2】図1におけるルータ装置のソフトウェア構成図
である。
である。
【図3】本発明が適用されるネットワーク構成例を示す
図である。
図である。
【図4】本発明を使用しない通常のTCP動作のシーケ
ンスチャートである。
ンスチャートである。
【図5】本発明の一実施例を示す代理受信確認動作のシ
ーケンスチャートである。
ーケンスチャートである。
【図6】本発明の他の実施例を示す再送発生時の動作シ
ーケンスチャートである。
ーケンスチャートである。
【図7】本発明のルータ装置における中継処理のフロー
チャートである。
チャートである。
【図8】図7におけるTCP制御部の処理フローチャー
トである。
トである。
101…CPU、102…メモリ、103…ディスク、
104…内部バス、105…LAN回線制御機構、10
6…ATM回線制御機構、201…LAN回線制御機構
ドライバ部、ATM回線制御機構ドライバ部、202…
IP処理部、203…ARP処理部、204…ICMP
処理部、205…RSVP処理部、206…TCP処理
部、207…UDP処理部、208…コネクション制御
部、209…ルーティング処理部、301,302…P
C、304,305…WS、307,308…ルータ装
置、309…ATM網、303,306…LAN。
104…内部バス、105…LAN回線制御機構、10
6…ATM回線制御機構、201…LAN回線制御機構
ドライバ部、ATM回線制御機構ドライバ部、202…
IP処理部、203…ARP処理部、204…ICMP
処理部、205…RSVP処理部、206…TCP処理
部、207…UDP処理部、208…コネクション制御
部、209…ルーティング処理部、301,302…P
C、304,305…WS、307,308…ルータ装
置、309…ATM網、303,306…LAN。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 新 善文 神奈川県海老名市下今泉810番地 株式会 社日立製作所オフィスシステム事業部内 (72)発明者 迫田 博幸 神奈川県秦野市堀山下1番地 株式会社日 立インフォメーションテクノロジー内
Claims (3)
- 【請求項1】 複数のネットワークを相互に接続し、T
CP/IPを実装したネットワーク層レイヤ3のIPパ
ケットの中継処理を行うインターネットワーク装置のコ
ネクション制御方法において、 前記インターネットワーク装置は、中継受信したデータ
パケットをIPの上位層のTCPレベルに渡し、 該TCPレベルで該インターネットワーク装置を経由す
るTCPコネクションの監視を行い、 経由するTCPコネクションを検出した場合、データ送
信側ホストが自身と隣接しており、かつTCPのフロー
制御による回線使用率が低下しているときには、データ
受信側ホストに代って隣接する前記データ送信側ホスト
に対して受信確認セグメントを送ることを特徴とするイ
ンターネットワーク装置のコネクション制御方法。 - 【請求項2】 請求項1に記載のインターネットワーク
装置のコネクション制御方法において、 前記インターネットワーク装置は、TCPのフロー制御
による回線使用率低下を検出するために、TCPコネク
ションに関連する回線の帯域幅、インターネットワーク
装置自身で計算される回線使用率、RSVPによる帯域
予約状況、及び隣接ホストとの間のラウンドトリップ遅
延時間、ならびに隣接ホストと相手ホストとの間で合意
されたウィンドウサイズから検出することを特徴とする
インターネットワーク装置のコネクション制御方法。 - 【請求項3】 請求項1に記載のインターネットワーク
装置のコネクション制御方法において、 前記インターネットワーク装置は、隣接するホストから
その相手ホストへ送信されるTCPセグメントの信頼性
を保証するため、該隣接するホストに受信確認セグメン
トを送るとともに、該隣接するホストから送信されるデ
ータセグメントをメモリに保存し、 該隣接ホストとの間の順序制御及びエラーチェックを行
い、エラー時には該隣接ホストへの再送要求を行い、 前記相手ホストからの再送要求に対しては、保存したメ
モリ内のデータを用いて該再送要求に応答することを特
徴とするインターネットワーク装置のコネクション制御
方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP27283297A JPH11112576A (ja) | 1997-10-06 | 1997-10-06 | インターネットワーク装置のコネクション制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP27283297A JPH11112576A (ja) | 1997-10-06 | 1997-10-06 | インターネットワーク装置のコネクション制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11112576A true JPH11112576A (ja) | 1999-04-23 |
Family
ID=17519400
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP27283297A Pending JPH11112576A (ja) | 1997-10-06 | 1997-10-06 | インターネットワーク装置のコネクション制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11112576A (ja) |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100446434B1 (ko) * | 2001-12-27 | 2004-09-01 | 스콥정보통신 주식회사 | 확인응답 세그먼트 제어 시스템 및 방법 |
| JP2006261873A (ja) * | 2005-03-16 | 2006-09-28 | Alaxala Networks Corp | パケット転送装置およびその転送制御方式 |
| JP2007531064A (ja) * | 2003-07-01 | 2007-11-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 集積回路チップ(パイプライン式の挿入のための回路および方法) |
| US7295512B2 (en) | 2001-06-14 | 2007-11-13 | Hitachi, Ltd. | Performance enhanced TCP communication system |
| JP2008182648A (ja) * | 2007-01-26 | 2008-08-07 | Sony Corp | 送信装置、受信装置、パケット送信方法、パケット受信方法及びプログラム |
| US7483997B2 (en) | 2000-11-14 | 2009-01-27 | Mitsubishi Electric Corporation | Data distribution control device and data distribution control method |
| JP2009253663A (ja) * | 2008-04-07 | 2009-10-29 | Mitsubishi Electric Corp | モバイルルータアドホックネットワーク通信システム |
| JP2009284119A (ja) * | 2008-05-21 | 2009-12-03 | Yokogawa Electric Corp | フィールドバス通信システム及びデータ管理装置 |
| US7675898B2 (en) | 2003-08-20 | 2010-03-09 | Nec Corporation | Session relay apparatus for relaying data, and a data relaying method |
| JP2010245783A (ja) * | 2009-04-03 | 2010-10-28 | Mitsubishi Electric Corp | モバイルルータアドホックネットワーク通信システム |
| JP2012515491A (ja) * | 2009-01-16 | 2012-07-05 | メインライン ネット ホールディングス リミテッド | 送信制御プロトコルを利用した、パケットの損失および高いレイテンシーを有するネットワークにおける帯域幅利用の最大化 |
| JP2014143760A (ja) * | 2010-11-16 | 2014-08-07 | Hitachi Ltd | 通信装置、通信システム、およびデータ通信の中継方法 |
-
1997
- 1997-10-06 JP JP27283297A patent/JPH11112576A/ja active Pending
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7483997B2 (en) | 2000-11-14 | 2009-01-27 | Mitsubishi Electric Corporation | Data distribution control device and data distribution control method |
| US7295512B2 (en) | 2001-06-14 | 2007-11-13 | Hitachi, Ltd. | Performance enhanced TCP communication system |
| KR100446434B1 (ko) * | 2001-12-27 | 2004-09-01 | 스콥정보통신 주식회사 | 확인응답 세그먼트 제어 시스템 및 방법 |
| JP2007531064A (ja) * | 2003-07-01 | 2007-11-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 集積回路チップ(パイプライン式の挿入のための回路および方法) |
| US7675898B2 (en) | 2003-08-20 | 2010-03-09 | Nec Corporation | Session relay apparatus for relaying data, and a data relaying method |
| JP2006261873A (ja) * | 2005-03-16 | 2006-09-28 | Alaxala Networks Corp | パケット転送装置およびその転送制御方式 |
| JP2008182648A (ja) * | 2007-01-26 | 2008-08-07 | Sony Corp | 送信装置、受信装置、パケット送信方法、パケット受信方法及びプログラム |
| JP2009253663A (ja) * | 2008-04-07 | 2009-10-29 | Mitsubishi Electric Corp | モバイルルータアドホックネットワーク通信システム |
| JP2009284119A (ja) * | 2008-05-21 | 2009-12-03 | Yokogawa Electric Corp | フィールドバス通信システム及びデータ管理装置 |
| JP2012515491A (ja) * | 2009-01-16 | 2012-07-05 | メインライン ネット ホールディングス リミテッド | 送信制御プロトコルを利用した、パケットの損失および高いレイテンシーを有するネットワークにおける帯域幅利用の最大化 |
| JP2010245783A (ja) * | 2009-04-03 | 2010-10-28 | Mitsubishi Electric Corp | モバイルルータアドホックネットワーク通信システム |
| JP2014143760A (ja) * | 2010-11-16 | 2014-08-07 | Hitachi Ltd | 通信装置、通信システム、およびデータ通信の中継方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6091733A (en) | Communication device using communication protocol including transport layer and communication method using communication protocol including transport layer | |
| US6654344B1 (en) | Method and system for controlling data flow in an internet over satellite connection | |
| US6934255B1 (en) | Internet over satellite apparatus | |
| US6529477B1 (en) | Internet over satellite system | |
| US6584083B1 (en) | Internet over satellite method | |
| US7443845B2 (en) | Apparatus and method for a lightweight, reliable, packet-based transport protocol | |
| US6741555B1 (en) | Enhancement of explicit congestion notification (ECN) for wireless network applications | |
| US6826620B1 (en) | Network congestion control system and method | |
| US8072898B2 (en) | Method for managing a transmission of data streams on a transport channel of a tunnel, corresponding tunnel end-point and computer-readable storage medium | |
| Sanders et al. | The Xpress transfer protocol (XTP)—a tutorial | |
| US6460085B1 (en) | Method and system for managing memory in an internet over satellite connection | |
| JP2000115232A (ja) | デ―タ・パケット送信方法および装置 | |
| US20070008884A1 (en) | Immediate ready implementation of virtually congestion free guarantedd service capable network | |
| JP3814678B2 (ja) | サテライトを介するインターネット | |
| WO2004023323A1 (en) | Mechanism for providing quality of service in a network utilizing priority and reserved bandwidth protocols | |
| JPH09510596A (ja) | ハイブリッドネットワークアクセスのための装置および方法 | |
| JPH11163947A (ja) | ゲートウェイ装置、無線端末装置、ルータ装置および通信ネットワークのゲートウェイ制御方法 | |
| EP1295428A2 (en) | Performance enhancement of transmission control protocol (tcp) for wireless network applications | |
| CA2253853A1 (en) | Method and apparatus for enabling flow control over multiple networks having disparate flow control capability | |
| US6947435B1 (en) | Radio communication system and apparatus, communication method and program recording medium therefor | |
| JPH11112576A (ja) | インターネットワーク装置のコネクション制御方法 | |
| JP7101595B2 (ja) | スイッチ装置、通信制御方法および通信制御プログラム | |
| CA2308103A1 (en) | Technique for load balancing internet traffic over a hybrid asymmetric satellite-terrestrial network | |
| Doshi et al. | Communication protocols for high speed packet networks | |
| JP2001156795A (ja) | パケットのフロー制御装置および方法 |