このページの本文へ

前へ 1 2 次へ

TCP/IPまるわかり 第7回

ネットワークの流量を調整する手法を理解しよう

帯域を効率的に利用するTCPの仕組みとは?

2009年08月03日 09時00分更新

文● 伊藤玄蕃

  • この記事をはてなブックマークに追加
  • 本文印刷

TCPのふくそう制御

 TCPはふくそうを防ぐための機能として、前述の倍数減少とスロースタートという2つの機能を使っている。TCP/IPでは、ネットワークの混雑状況を直接知る方法が用意されていないため、パケットの紛失(戻ってきた確認応答番号で判断)や再送タイムアウトの発生によって混雑状況をチェックしている。フロー制御と異なるのは、ウィンドウ制御を送信側ホストで行なうという点だ。

図3 ふくそう制御

 送信側ホストのTCPはセグメントの紛失を感知すると、ふくそうが発生したものと推測し、そのコネクションのウィンドウサイズを半分に減らす。この動作を倍数減少と呼び、データの送信量を急激に減らすとともに、ネットワークの途中に滞留しているセグメントを処理するための時間を作る。そして、ウィンドウサイズの増分を1セグメント分にして適切なウィンドウサイズを探る。この操作はふくそう回避といわれる。

 一方、セグメントの紛失が続いて確認応答が届かず、再送タイムアウトが発生した場合には、ウィンドウサイズを最小の1セグメント分まで制限し、再送タイマの待ち時間を倍にした上で再送処理を続行する。

 ふくそうが解消したあと、および新しく確立されたコネクションでデータ転送を行なうときには、送信ホストのTCPは最小の1セグメント分のウィンドウサイズから始めて、確認応答が到着するたびに、倍々にウィンドウサイズを増やしていく。これをスロースタートと呼ぶ。その後ウィンドウサイズが、前回再送タイムアウトが発生した時点の半分に達したら、ウィンドウサイズの増分を1セグメント分に戻すふくそう回避に入る。

 TCPはスロースタートにより、ふくそう状態とデータ転送が極端に絞り込まれた状態との間を揺れ動く不安定な通信に陥ることなく、安定したサービスを上位プロトコルに提供する。

 また、再送タイムアウトが何度も繰り返される場合はタイマを倍々にするが、ある値まで大きくなったら回線障害と判断して、コネクションを強制的に終了させる。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事