2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Layer2の通信フロー

Last updated at Posted at 2025-02-06

普段の実務ではルーティング(L3)について考える機会が多いですが、Layer2についてはあまり意識することがありません。

そこで今回は自身の復習も兼ねてL2における通信の流れを順を追って整理しました。

以下の図のホストAからホストCに初めて通信を行う例で説明していきます。


Qiita_2025年1月の記事_挿入画像-2.PNG
※図のアイコンはCiscoのフリー素材を利用してます
https://www.cisco.com/c/en/us/about/brand-center/network-topology-icons.html

前提

  • ホストAはL2SWに接続された直後であり、ホストB/Cと通信したことがない

通信開始

  1. ホストAはホストCに送信するデータに付与するL3ヘッダーを生成する
    • 送信元IPアドレス:10.10.10.1
    • 宛先IPアドレス:10.10.10.3
  2. ホストAはホストCに送信するパケットに付与するL2ヘッダーを生成しようとする
    • 送信元MACアドレス:aaaa.aaaa.aaaa
    • 宛先MACアドレス:???(ホストCのMACアドレスがわからない!)
  3. ホストAはL2ヘッダーの宛先MACアドレス(ホストCのMACアドレス)を知るためにARPリクエスト(ブロードキャスト)を発する
  4. ARPリクエストがL2SWのポート①に到達すると、L2SWは送信元MACアドレスとその受信ポートを学習する=L2SWのMACアドレステーブルにホストAのMACアドレス(aaaa.aaaa.aaaa)とポート①の紐づけが載る
  5. L2SW#1はブロードキャストであるARPリクエストをポート②と③から発信する
  6. ホストBとホストCはARPリクエストに設定されている送信元MACアドレスと送信元IPアドレスを紐づけて学習する=ホストBCのARPテーブルにホストAのIPアドレス(10.10.10.1)とMACアドレス(aaaa.aaaa.aaaa)の紐づけが載る
  7. ホストBはARPリクエストに設定されている宛先IPアドレスを確認し、自身のIPアドレスとは無関係であると判断してARPリクエストを破棄する
  8. ホストCはARPリクエストに設定されている宛先IPアドレスを確認し、自身のIPアドレス宛てであると判断してARPリクエストを受信する
  9. ホストCはARPレスポンスを生成してホストA宛てに送信する
  10. ARPレスポンスがL2SW#1のポート③に到達すると、L2SWは送信元MACアドレスとその受信ポートを紐づけて学習する=L2SWのMACアドレステーブルにホストCのMACアドレス(cccc.cccc.cccc)とポート③の紐づけが載る
  11. ホストAはホストCから送信されたARPレスポンスに設定されている送信元MACアドレスと送信元IPアドレスを紐づけて学習する=ホストAのARPテーブルにホストCのIPアドレス(10.10.10.3)とMACアドレス(cccc.cccc.cccc)の紐づけが載る
  12. ホストAは自身のARPテーブルを参照して、ホストCに送信するパケットに付与するL2ヘッダーを生成する
    • 送信元MACアドレス:aaaa.aaaa.aaaa
    • 宛先MACアドレス:cccc.cccc.cccc
  13. ホストAはホストC宛てにフレームを送信する

この記事のポイント

  • 実際の通信はLayer3のIPアドレスの他にLayer2のMACアドレスも必要
  • 通信相手のMACアドレスを知るためにARPという機能(プロトコル)がある
  • ARPテーブルはIPアドレスとMACアドレスの紐づけ情報である(Windows10端末の場合はARPテーブルの保持時間は15秒から45秒)
  • L2SWは自身のポートとそこにつながる機器のMACアドレスの紐づけ情報をMACアドレステーブルとして保持する(多くのメーカーで保持時間はデフォルトで300秒)

参考

ホストAが送信するARPリクエストの要素(一部抜粋)

イーサネットヘッダ
  • 送信元MACアドレス:aaaa.aaaa.aaaa
  • 宛先MACアドレス:FF:FF:FF:FF:FF:FF(ブロードキャストアドレス)
ARPヘッダ
  • 送信元IPアドレス:10.10.10.1
  • 送信元MACアドレス:aaaa.aaaa.aaaa
  • 宛先IPアドレス:10.10.10.3
  • 宛先MACアドレス:00:00:00:00:00:00(不明のため未設定)

ホストCが送信するARPレスポンスの要素(一部抜粋)

イーサネットヘッダ
  • 送信元MACアドレス:cccc.cccc.cccc
  • 宛先MACアドレス:aaaa.aaaa.aaaa
ARPヘッダ
  • 送信元IPアドレス:10.10.10.3
  • 送信元MACアドレス:cccc.cccc.cccc
  • 宛先IPアドレス:10.10.10.1
  • 宛先MACアドレス:aaaa.aaaa.aaaa
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?