12月25日(金)1コマ目

今日、やったこと

  • 確認テスト(ARP、ICMPパケット送信順、解析)
  • TCPパケット解析

今日のテスト

解答例をあげときます。

図 問題

図 解答例


ホストAにてホストBへpingを実行した際にやりとりされるパケットに関する問題です。

やりとりされるパケットをすべて挙げると以下のようになります。

順番送信元宛先どんなパケット?
1ホストAホストBホストBのMACアドレス取得のためARPリクエスト
2ホストBホストA上記(順番:1)のARPリクエストに対するARP応答
3ホストAホストBホストAからホストBへのICMPエコー要求(シーケンス番号:1)
4ホストBホストA上記(順番:3)のICMPエコー要求に対するエコー応答
5ホストAホストBホストAからホストBへのICMPエコー要求(シーケンス番号:2)
6ホストBホストA上記(順番:5)のICMPエコー要求に対するエコー応答
7ホストAホストBホストAからホストBへのICMPエコー要求(シーケンス番号:3)
8ホストBホストA上記(順番:7)のICMPエコー要求に対するエコー応答


問題の各パケットと上記の表のパケットは以下のように対応付けることができます。

上記のパケット(順番)問題のパケット
16
23
32
47
55
68
71
84

パケットの送信順は以下のとおりです。

6 -> 3 -> 2 -> 7 -> 5 -> 8 -> 1 -> 4

今日のホワイトボード

 TCPのパケットを解析しました。

TCPヘッダのポイントは

  • 可変長
  • TCPヘッダ長はTCPヘッダのヘッダ長x4(バイト)
  • 可変長部はオプション
  • オプションは「オプション番号」+「サイズ」+「データ部」が1セット

です。

パケット1

図 パケット1(コネクション確立要求)

図 パケット1(イーサネットヘッダ)

図 パケット1(IPヘッダ)

図 パケット1(TCPヘッダ)


TCPヘッダのコントロールフラグを見ると、SYNが1になっています。これからコネクション確立要求のパケットだとわかります。

コネクション確立時にはTCPヘッダのオプションで最大セグメント長(1パケットで送信できるデータサイズの上限)を通知しています。このパケットではTCPヘッダのオプションにてオプション番号0x02が1460になっていることから1460バイトを通知しています。


パケット2

図 パケット2(コネクション確立要求+応答)


図 パケット2(イーサネットヘッダ)

図 パケット2(IPヘッダ)

図 パケット2(TCPヘッダ)


TCPヘッダのコントロールフラグを見ると、SYNが1、ACKが1になっていることからパケット1のコネクション確立要求を受けて、受信側からもコネクション確立要求をするパケットです。

パケット1と同じようにTCPヘッダのオプションで最大セグメント長が1460バイトであることを通知しています。


次回はパケット3の解析を行います。

コメント

このブログの人気の投稿

2月5日(金)1コマ目

12月18日(金)2コマ目

1月22日(金)1コマ目