読者です 読者をやめる 読者になる 読者になる

WEB系エンジニアの勉強日記

Baby steps to Giant strides!

TCPのウィンドウ制御とコネクション識別

ウィンドウ制御

TCPは送信と応答確認によってデータ送信の信頼性を高めているが、パケット毎にそれをやっていると効率が悪い。

この問題を解決するために、ウィンドウ制御という概念を取り入れている。

具体的には、応答確認をする単位を1パケットではないく、ある一定サイズ(ウィンドウサイズ)ごとに行うようにすることで、通信を効率化している。

サイズの目安

  • 1パケット 1.5KB (イーサネットの最大パケットサイズ)

  • ウィンドウサイズの最大 64KB このサイズをスケールさせる規約もあり、近代のOSは対応しているらしい(気が向いたら調べる)

ASCII.jp:帯域を効率的に利用するTCPの仕組みとは? (1/2)|TCP/IPまるわかり

コネクション識別

TCPヘッダには接続IDのフィールドがないので、どうやっているのか気になったので調べてみた。

2つのendpointのIP:portで識別している。

The TCP/IP Guide - TCP Ports, Connections and Connection Identification