7月3日(水)1コマ目

今日、やったこと

  • [確認テスト 解説] シーケンス番号・確認応答番号2
  • パケットからTCPの処理のながれを確認

今日のホワイトボード

[確認テスト 解説] シーケンス番号・確認応答番号2

基本は
 データ送信 -> (受信したら)受信応答返信 -> (受信したら)次のデータを送信
です。
データや受信応答が受信できない場合
 データ送信 -> 受信できず -> 受信応答が受信できない -> データを再送
 データ送信 -> 受信応答返信 -> 受信できず -> データを再送
です。

問1

Aは①送信後、受信応答が来ないので②で再送。
Bは④送信後、受信応答が来ないので⑤で再送。
図 問1

問2

Aは①送信後、受信応答が来ない(Bは②で送信しているものの、Aは受信できず)ため、③で再送。
しかし、③をBが受信できないため、Aは再び④で再送。
④に対してBは⑤で受信応答を返信しているものの、Aは受信できず。よって、Aは⑥で再送。
図 問2

パケットからTCPの処理のながれを確認

前回、パケットキャプチャツールの画面からパケットの内容を確認してもらいました。
パケットを順に解説します。

①No.6 172.16.14.160->172.16.8.10 コネクション確立1

TCPヘッダのコントロールフラグのSYN=1よりコネクション確立要求。
SYN=1のパケットは単にコネクション確立を行うだけでなく、
  • シーケンス番号の初期値
  • MSS
を伝えます。

②No.7 172.16.8.10->172.16.14.160 コネクション確立2

No.6を受信して、今度は172.16.8.10からコネクション確立要求です。
このパケットのコントロールフラグはACK=1になっています。これは”確認応答番号を見てね”です。受信した172.16.14.160は次はシーケンス番号1のパケットを送信します。

図 ①No.6、②No.7のパケット

③No.8 172.16.14.160->172.16.8.10 コネクション確立3

No.6~No.8でコネクション確立です。
このパケットのTCPヘッダにはオプションはありません。(ヘッダ長=20バイトより)
図 ③No.8のパケット

④No.9 172.16.14.160->172.16.8.10 HTTPリクエスト

TCPヘッダのあとに330バイトのHTTPデータがあります。
HTTPデータではWebページをリクエストするコマンドが含まれます。
図 ④No.9のパケット

⑤No.10 172.16.8.10->172.16.14.160 No.9の受信応答

確認応答番号=331より、
 330バイトまでは受信した、次は331バイト目から送って
です。これを172.16.14.160が受信することで、No.9のパケットが受信できたことが分かります。
図 ⑤No.10のパケット

次回は

テストはしません。
パケット解析のつづきです。





 

このブログの人気の投稿

7月16日(火)4コマ目

6月10日(月)1コマ目

6月5日(水)1コマ目