7月14日(月)1コマ目
今日、やったこと
TCPパケット解析1(前回のつづき)
TCPパケット解析2
今日のホワイトボード
TCPパケット解析1(前回のつづき)
前回はNo.6~8のコネクション確立のパケットを確認。
今日はそのつづきから。
④No.9 172.16.14.160->172.16.8.10 データ(331バイト)送信
331バイトのデータ送信。
宛先ポート番号=80より、TCPの上位プロトコルはHTTPだとわかる。
HTTPには"GET /yitjc/ HTTP/1.1"となっている。これはホームページのリクエスト。
⑤No.10 172.16.8.10->172.16.14.160 受信応答
確認応答番号からNo.9の受信応答だとわかる。
![]() |
| 図 No.9、No.10のパケット |
⑥No.11~No.17 172.16.8.10 -> 172.16.14.160 データ送信
受信応答を待たずに、データをMSSで分割して連続送信。
TCPは受信応答を待たずに、連続してデータ送信をする仕組みもある。(ウィンドウ制御、次回紹介)
![]() |
| 図 No.11~17のパケット |
⑦No.18 172.16.14.160 -> 172.16.8.10 受信応答
No.11からNo.17で連続送信された9760バイトのデータの受信応答。
7この受信応答ではなく、まとめて1つのパケットで行っている。
![]() |
| 図 No.18のパケット |
TCPパケット解析2
新たにパケットのやり取りをキャプチャした結果を解析。
今回はシーケンス番号の初期値がパケットのデータそのままで、0になっていない。
①~③ コネクション確立
SYN=1のパケットで自分のシーケンス番号の初期値を通知。
0ではない点に注意。
![]() |
| 図 コネクション確立 |
④~⑦ データ送信、受信応答送信
1631バイトのデータをMSS(=1460バイト)で分割して送信。
ここでも、受信応答を受け取らずに、連続してデータを送信している。
![]() |
| 図 データ送信、受信応答送信 |
⑧、⑨ データ送信、受信応答+データ送信
⑧は811バイトのデータを送信。
⑨は723バイトのデータ送信+⑧の受信応答。
データ送信と受信応答を別々にせずに、まとめて1つのパケットで行うこともある。
このようなデータ送信+受信応答のパケットを”ピギーバック”と呼んだりする。
![]() |
| 図 データ送信、受信応答+データ送信 |
次回は
受信応答を受け取らずに、連続してデータ送信がなぜできるのか。
テストはしません。





