MACアドレスはイーサネットの住所情報のようなものでネットワーク機器の接続口に対して割り当てられ、
データ送受信時に宛先MACアドレス・ソースMACアドレスがヘッダ情報にセットされることでデータ転送を実現しています。
10.0.10.10が10.0.1.1:80に接続する様子
MACアドレスは48bitのデータで、表示上では「08:00:27:4d:1d:88」や「08-00-27-4d-1d-88」と表記されます。
このうち頭24bitはベンダ番号(OUI: Organizationally unique identifier)が表記され、残りbitはシリアル番号が割り当てられています。
さらにベンダー番号の最初の8byteを分解するとU/LビットとI/Gビットという識別があります。
1 2 3 4 5 6 7 8 byte
要点
データ送受信時に宛先MACアドレス・ソースMACアドレスがヘッダ情報にセットされることでデータ転送を実現しています。
10.0.10.10が10.0.1.1:80に接続する様子
宛先である10.0.1.1のMACアドレスをARPリクエストにより取得
18:48:02.892543 ARP, Request who-has 10.0.1.1 tell 10.0.10.10, length 46
18:48:02.892574 ARP, Reply 10.0.1.1 is-at 00:22:cf:6b:64:f2, length 28
IPに対応したMACが分かったためSynパケットを10.0.1.1:80へ送ることが出来る
18:48:02.892991 IP 10.0.10.10.40405 > 10.0.1.1.80: Flags [S], seq 1543029795, win 14600, options [mss 1460,sackOK,TS val 363956 ecr 0,nop,wscale 6], length 0
18:48:02.893035 IP 10.0.1.1.80 > 10.0.10.10.40405: Flags [S.], seq 2855397208, ack 1543029796, win 28960, options [mss 1460,sackOK,TS val 2793775 ecr 363956,nop,wscale 7], length 0
18:48:02.893479 IP 10.0.10.10.40405 > 10.0.1.1.80: Flags [.], ack 1, win 229, options [nop,nop,TS val 363957 ecr 2793775], length 0
3wayハンドシェイク完了
今度は10.0.1.1がARPリクエストを求めてくる
18:48:07.903962 ARP, Request who-has 10.0.10.10 tell 10.0.1.1, length 28
18:48:07.904371 ARP, Reply 10.0.10.10 is-at 08:00:27:4d:1d:88, length 46
Finパケットでハンドシェイクを終わらせる
18:48:08.742215 IP 10.0.10.10.40405 > 10.0.1.1.80: Flags [F.], seq 1, ack 1, win 229, options [nop,nop,TS val 369805 ecr 2793775], length 0
18:48:08.742431 IP 10.0.1.1.80 > 10.0.10.10.40405: Flags [F.], seq 1, ack 2, win 227, options [nop,nop,TS val 2795237 ecr 369805], length 0
18:48:08.742698 IP 10.0.10.10.40405 > 10.0.1.1.80: Flags [.], ack 2, win 229, options [nop,nop,TS val 369806 ecr 2795237], length 0
MACアドレスは48bitのデータで、表示上では「08:00:27:4d:1d:88」や「08-00-27-4d-1d-88」と表記されます。
このうち頭24bitはベンダ番号(OUI: Organizationally unique identifier)が表記され、残りbitはシリアル番号が割り当てられています。
08:00:27:4d:1d:88
↓
ベンダー番号 : シリアル番号
↓
24bit(3byte) : 24bit(3byte)
↓
8byte : 8byte : 8byte : 8byte : 8byte : 8byte
さらにベンダー番号の最初の8byteを分解するとU/LビットとI/Gビットという識別があります。
1 2 3 4 5 6 7 8 byte
- 7: U/Lビット
- 0=グローバルなアドレス ユニークなアドレス
- 1=ローカルアドレス ユーザーが設定できるアドレス
- 8: I/Gビット
- 0=ユニキャストアドレス 単体のネットワーク端末を示す
- 1=マルチキャストアドレス 複数の宛先を示す
要点
- 頭24bit(3byte)はベンダー番号、以下シリアル番号
- ベンダー番号の7byteがU/Lビット、8byteがI/Gビット
- U/Lビットはグローバルかローカルアドレスかを識別
- I/Gビットはアドレス属性を示す。
単体ネットワークはユニキャストアドレス、複数端末の通信にはマルチキャストアドレスが利用される - ブロードキャストMACアドレスは全てのbitが1のFF:FF:FF:FF:FFが指定される
- 関連記事
-
-
デュプレックス 2014/10/09
-
IEEEってなんぞや 2014/10/09
-
イーサネットについて NW 2014/08/31
-
ネットワーク通信における転送媒体について NW 2014/08/24
-
MACアドレスについて NW 2014/08/24
-