3. Layer 2 は MACアドレス で通信する
A
B
C
L2SW
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
【PC-A】
MAC addr : AA-AA-AA-AA-AA-AA
【PC-B】
MAC addr : BB-BB-BB-BB-BB-BB
MACアドレスとは…
ネットワークに接続する機器を一意に識別するための情報。48ビットの数値で表現される。
NIC(Network Interface Card)に書き込まれているため、物理アドレス、ハードウェアアドレスともいう。
僕もMACアドレス持ってるけど、
ここではその話は割愛します…
Port 1 Port 3
Port 2
3
4. Layer 2 は MACアドレス で通信する
A
B
C
L2SW
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
【PC-A】
MAC addr : AA-AA-AA-AA-AA-AA
Layer 2 で通信するときは…
通信相手へ届けたいデータに Layer 2 ヘッダ を付けて送信します。
Layer 2 ヘッダには、宛先MACアドレスと、送信元MACアドレスの情報が含まれています。
(Layer 2 では、ヘッダとデータを含む電気信号の塊を「フレーム」と呼びます。)
Aさん と通信したい!
データL2ヘッダPort 1 Port 3
Port 2
【PC-B】
MAC addr : BB-BB-BB-BB-BB-BB
【Layer 2 ヘッダ】
送信元MAC addr : CC-CC-CC-CC-CC-CC
宛先MAC addr : AA-AA-AA-AA-AA-AA
4
5. Layer 2 は MACアドレス で通信する
A
B
C
L2SW
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
【PC-A】
MAC addr : AA-AA-AA-AA-AA-AA
Layer 2 スイッチは、フレームの MACアドレス を見て①と?の処理をします
①フレームを受信したポートと送信元MACアドレスを関連付けて、MACアドレステーブルを作成します。
MACアドレステーブルは、特定のMACアドレスの機器が、どのポートの先にいるかを示す情報になります。
(?は次のページで!)
Port 1 Port 3
Port 2
【MAC addr テーブル】
CC-CC-CC-CC-CC-CC : Port 3
BB-BB-BB-BB-BB-BB : Port 2
Cさん からのフレームを Port 3 で受信したぞ。
Cさん は Port 3 の先にいるんだね。
MACアドレステーブルに書いとこう。
【PC-B】
MAC addr : BB-BB-BB-BB-BB-BB
データL2ヘッダ
【Layer 2 ヘッダ】
送信元MAC addr : CC-CC-CC-CC-CC-CC
宛先MAC addr : AA-AA-AA-AA-AA-AA
5
6. 【Layer 2 ヘッダ】
送信元MAC addr : CC-CC-CC-CC-CC-CC
宛先MAC addr : AA-AA-AA-AA-AA-AA
Layer 2 は MACアドレス で通信する
A
B
C
L2SW
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
【PC-A】
MAC addr : AA-AA-AA-AA-AA-AA
Layer 2 スイッチは、フレームの MACアドレス を見て①と?の処理をします(つづき)
?宛先MACアドレスを見て、MACアドレステーブルを参照し、転送するポートを決定します。
MACアドレステーブルに載ってない宛先だったら、受信したポート以外の全てのポートに転送します。
Port 1 Port 3
Port 2
【MAC addr テーブル】
CC-CC-CC-CC-CC-CC : Port 3
BB-BB-BB-BB-BB-BB : Port 2
Aさん は MACアドレステーブル に
載ってないから、受信した Port 3 以外の
全部のポートに転送しよう。
データL2ヘッダ データL2ヘッダ
【PC-B】
MAC addr : BB-BB-BB-BB-BB-BB
僕宛じゃない…
Cさん!
6
7. 【Layer 2 ヘッダ】
送信元MAC addr : AA-AA-AA-AA-AA-AA
宛先MAC addr : CC-CC-CC-CC-CC-CC
Layer 2 は MACアドレス で通信する
A
B
C
L2SW
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
【PC-A】
MAC addr : AA-AA-AA-AA-AA-AA
Layer 2 スイッチは、フレームの MACアドレス を見て①と?の処理をします(つづき)
以下も、①と?の処理です。
?の処理のとき、今度は 宛先MACアドレス が MACアドレステーブルに載っているので、
特定のポートにだけフレームを転送しています。
Port 1 Port 3
Port 2
【MAC addr テーブル】
AA-AA-AA-AA-AA-AA : Port 1
CC-CC-CC-CC-CC-CC : Port 3
BB-BB-BB-BB-BB-BB : Port 2
Cさん 宛のフレームだから、
Port 3 に転送すればいいね。
(?)
データ L2ヘッダ
【PC-B】
MAC addr : BB-BB-BB-BB-BB-BB
Cさん に
返事するよ!
データ L2ヘッダ
Aさん は Port 1 にいるんだね。
MACアドレステーブルに書いとこう。
(①) Aさん と
通信できた~!
7
9. Layer 3 は IPアドレス で通信する
A
B
C
L2SW
【PC-C】
IP addr :10.0.0.3/24
【PC-A】
IP addr :10.0.0.1/24
【PC-B】
IP addr :10.0.0.2/24
IPアドレスとは…
TCP/IPのネットワークで使用される機器を識別するための情報。32ビットで表現される。
僕は Layer 2 スイッチ なので
IPアドレスのことはよく分かりません…
Port 1 Port 3
Port 2
9
10. Layer 3 は IPアドレス で通信する
A
B
C
L2SW
【PC-C】
IP addr :10.0.0.3/24
【PC-A】
IP addr :10.0.0.1/24
Layer 3 で通信するときは…
通信相手へ届けたいデータに Layer 3 ヘッダ を付けて送信します。
Layer 3 ヘッダには、宛先IPアドレスと、送信元IPアドレスの情報が含まれています。
(Layer 3 では、ヘッダとデータを含む電気信号の塊を「パケット」と呼びます。)
Aさん と通信したい!
データL3ヘッダPort 1 Port 3
Port 2
【PC-B】
IP addr :10.0.0.2/24
【Layer 3 ヘッダ】
送信元IP addr : 10.0.0.3
宛先IP addr : 10.0.0.1
…
10
11. Layer 3 は IPアドレス で通信する
A
B
C
L2SW
【PC-C】
IP addr :10.0.0.3/24
【PC-A】
IP addr :10.0.0.1/24
Layer 2 スイッチは、IPアドレスのことはよくわかりません
でも、PCはお互いにIPアドレスが分かっているので、PC同士は通信できました。
めでたしめでたし!
Port 1 Port 3
Port 2
データL3ヘッダ
【PC-B】
IP addr :10.0.0.2/24
Cさん!
データL3ヘッダ
…
【Layer 3 ヘッダ】
送信元IP addr : 10.0.0.3
宛先IP addr : 10.0.0.1
11