TCPモジュールは、次のような情報を管理し制御することで、信頼性の提供やさまざまな制御を実現している。 begin: dl dt: snd.una(send unacknowledged) まだ確認応答されていないシーケンス番号 dt: snd.nxt(send next) 次に送るシーケンス番号 dt: snd.wnd(send window) 送信ウィンドウ dt: snd.cwnd(send congestion window) 輻輳ウィンドウ dt: iss(initial send sequence number) シーケンス番号の初期値 dt: mss(maximum segment size) 送信セグメントの最大長 dt: rtt(round-trip time) セグメントを送ってから確認応答を受信するまでにかかった時間) dt: rcv.nxt(receive next) 次に受信するデータセグメントのシーケンス番号 dt: rcv.wnd(receive window) 受信ウィンドウ dt: irs(initial receive sequence number) 確認応答番号の初期値 end: dl これらの情報を格納するためのデータベースをTCB(Transmission Control Block)といい、コネクションを確立する度に、そのコネクション専用のデータベースが1つ用意される。

また、TCPでは、コネクションごとに送受信のメッセージを格納するバッファ(郵便箱)が用意される。