7月21日(水)1コマ目

今日、やったこと

TCPのシーケンス番号、確認応答番号

今日のホワイトボード

データ、受信応答が届かない

TCPは

  • 送信側は受信側にシーケンス番号で何バイト目のデータか
  • 受信側は送信側に確認応答番号で何バイト目まで受信できているか

を伝えています。

もし、データを送信しても一定時間中に受信応答が返信されなかった場合、再度データを送信します(再送)。

ただ、受信応答が返信されない場合、以下の2パターンの理由があります。

  • データが受信側に届かなかった
  • データは受信し、受信応答を送信したが、送信側に届かなかった

いずれもデータが再送されますが、以下のように処理されます。

図 2種類のパケッ再送

TCPシーケンス番号、確認応答番号 確認演習その2

データ、受信応答が受信できなかった場合のパケットのやり取りを推測します。

問1

図 受信応答が届かなかった

問2

図 データが届かなかった

TCPシーケンス番号、確認応答番号 確認テスト1

こちらはすべてのパケットが受信できた場合のやり取りを推測しました。

問1

図 問1

問2

 図 問2

TCPコネクション確立、パケット分割のサンプル

パケットキャプチャツールを使って、実際のパケットのやり取りをキャプチャした結果です。

これらのキャプチャ結果からTCPがやっていることを確認します。

まずはコネクション確立に活躍するTCPヘッダ内のコントロールフラグです。6ビットそれぞれに役割がありますが、コネクション確立にはSYNとACKが使われます。

図 コントールフラグ

次回は

シーケンス番号、確認応答番号のテストをします。

このブログの人気の投稿

8月18日(水)1コマ目

6月7日(月)2コマ目

5月31日(月)2コマ目