7月11日(月)2コマ目

今日、やったこと

パケット解析(前回のつづき)

今日のホワイトボード

前回は

①~⑦まで解析をしました。

詳しくは前回のおたすけサイトをご確認ください。


パケット解析

⑧~⑩ データ送受信

⑧は172.16.8.11から172.16.4.253へ811バイトのデータを送信。

シーケンス番号2020(下4桁のみ)から1バイト目のデータであることがわかる。

=>172.16.8.11のシーケンス番号初期値は2019(②のパケットより)からわかる。

確認応答番号2300から1632バイト目から送ってと通知している。

=>172.16.4.253から送信したデータで直近のパケットは⑤。

 シーケンス番号が2129(1461バイト目)、データサイズ171バイト(1460バイト目)。

 これを受信したため、1461バイト目から送信してもらいたいので、確認応答番号は2300。


⑨は172.16.4.253から172.16.8.11へ723バイトのデータを送信。さらに⑧の受信応答でもある。

シーケンス番号2300から1461バイト目から723バイトのデータ(2454バイト目)のデータを送信。

さらに、確認応答番号2831は⑧のシーケンス番号2020(1バイト目)+⑧のデータサイズ(811バイト)となっているため、⑧のデータ(1バイト目から723バイト目まで)を受信したので、812バイト目から送信してほしいとリクエストしていることがわかる。

このパケットは⑧の受信応答+723バイトのデータ送信と2つの仕事をしている。このような受信応答+データ送信をピギーバックと呼んだりする。


⑩は172.16.8.11から172.16.4.253へ⑨の受信応答。

確認応答番号3023は⑨のシーケンス番号2300(1632バイト目)+⑨のデータサイズ(723バイト、2454バイト目まで)から⑨の723バイトのデータは受信できたことを表している。

図 ⑧~⑩データ送受信


⑪~⑬データ送受信

ここも⑨~⑩と同じような展開。特に細かく説明はしませんが、シーケンス番号、確認応答番号、データサイズから流れを追いかけてください。

図 ⑪~⑬データ送受信


⑭~⑯データ送信、受信応答

⑭、⑮で172.16.8.11から172.16.4.253へ連続してデータを送信。

これは送信データがMSS(1460バイト)より多かったため、分割して送信している。

⑭は1450バイト目から2909バイト目まで。

⑮は2910バイト目から3221バイト目まで。

⑯は⑭、⑮の受信応答を1つのパケットで行っている。

本来なら、⑭を受信したら受信応答送信、受信応答を受信したら⑮を送信、⑯の受信応答の順ですが、2つの受信応答を1つにまとめて送信している。

このように受信したらすぐに受信応答を送信せず、まとめて受信応答を送信する仕組みを遅延応答と呼ぶ。

図 ⑭⑮データ送信、⑯受信応答


このパケット解析のまとめ

コネクション確立時(SYN=1のパケット)にシーケンス番号初期値(0相当の値)、MSSを通知する。

なお、MSSは少ないほうを採用する。

1つのパケットでデータ送信+受信応答をすることもある(ピギーバック)。

データを受信しても即受信応答を送信せず、まとめて1つのパケットで送信することもある(遅延応答)。


次回は

ウィンドウサイズについてやります。

また、ここまでの確認テスト(シーケンス番号、確認応答番号等の推測)を行います。



このブログの人気の投稿

7月27日(水)1コマ目

9月14日(水)1コマ目

9月12日(月)2コマ目