SlideShare a Scribd company logo
なんでIPで通信できるの?
IPアドレス と MACアドレス と ARP
あと OSI参照モデル
1
Layer 2
Layer 2 は MACアドレス で通信する
2
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
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
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
【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
【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
Layer 3
Layer 3 は IPアドレス で通信する
8
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
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
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
L2SW
ちょっと待ってよ…
12
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 スイッチは、MACアドレス しか理解できません
間に挟まっている以上は、Layer 2 スイッチ でも電気信号を処理する必要があります。
Layer 2 スイッチ が転送処理するには、宛先と送信元の MACアドレス の情報が必要です。
でも、Pingを実行したりするときも、IPアドレス のことしか考えたことないですよね…?
Port 1 Port 3
Port 2
【PC-B】
IP addr :10.0.0.2/24
データL3ヘッダ
僕が間に挟まっているんだから、
僕に分かるように MACアドレス で
通信してもらう必要があるよ!
【Layer 3 ヘッダ】
送信元IP addr : 10.0.0.3
宛先IP addr : 10.0.0.1
?
??
え…だって、PC-Aの
IPアドレスしか
知らないよ?
13
ARP
Address Resolution Protocol
14
ARPで解決
A
B
C
L2SW
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
IP addr :10.0.0.3/24
【PC-A】
MAC addr : AA-AA-AA-AA-AA-AA
IP addr :10.0.0.1/24
通信するときは…
通信相手の IPアドレス だけでなく、MACアドレス も知っている必要があります。
Layer 3 の処理をする機器は、IPアドレス と MACアドレス を関連付ける ARPテーブル を持っています。
(ARP…Address Resolution Protocol:アドレス解決プロトコル)
Port 1 Port 3
Port 2
【PC-B】
MAC addr : BB-BB-BB-BB-BB-BB
IP addr :10.0.0.2/24
【ARPテーブル】
10.0.0.2 : BB-BB-BB-BB-BB-BB
【ARPテーブル】
10.0.0.3 : CC-CC-CC-CC-CC-CC
【ARPテーブル】
15
ARPで解決
A
B
C
L2SW
【PC-A】
MAC addr : AA-AA-AA-AA-AA-AA
IP addr :10.0.0.1/24
通信相手の MACアドレス を知らないときは…
①特定の IPアドレス に対応する MACアドレス を問合せる ARP要求 をブロードキャストします。
(Layer 2 ヘッダの宛先MACアドレスは、ブロードキャストアドレスの FF-FF-FF-FF-FF-FF です。)
Port 1 Port 3
Port 2
【PC-B】
MAC addr : BB-BB-BB-BB-BB-BB
IP addr :10.0.0.2/24
【ARPテーブル】
10.0.0.2 : BB-BB-BB-BB-BB-BB
【ARPテーブル】
Aさん のことは
IPアドレス しか知らないから、
MACアドレス を教えて!
ブロードキャストは
全ポート転送~
(受信ポート以外)
Cさん が僕の MACアドレス を
知りたがってる!
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
IP addr :10.0.0.3/24
僕じゃない…
ARP要求L2ヘッダARP要求L2ヘッダ ARP要求L2ヘッダ
【ARP要求】
送信元 IP addr : 10.0.0.3
送信元MAC addr : CC-CC-CC-CC-CC-CC
宛先 IP addr : 10.0.0.1
宛先MAC addr : FF-FF-FF-FF-FF-FF
16
ARPで解決
A
B
C
L2SW
【PC-A】
MAC addr : AA-AA-AA-AA-AA-AA
IP addr :10.0.0.1/24
通信相手の MACアドレス を知らないときは…(つづき)
➁該当の IPアドレス を持つ機器は、自分の MACアドレス を回答する ARP応答 を返信します。
ARP要求 と ARP応答 をやりとりした機器は、お互いの情報を自分の ARPテーブル に載せます。
これ以降は、4ページ目のような通信ができるようになります。
Port 1 Port 3
Port 2
【PC-B】
MAC addr : BB-BB-BB-BB-BB-BB
IP addr :10.0.0.2/24
【ARPテーブル】
10.0.0.2 : BB-BB-BB-BB-BB-BB
10.0.0.1 : AA-AA-AA-AA-AA-AA
【ARPテーブル】
10.0.0.3 : CC-CC-CC-CC-CC-CC
宛先MACアドレス
見て転送~
僕の MACアドレス を答えるよ!
Cさんの IPアドレス と MACアドレス も
覚えておくね!※
Aさん がMACアドレス
教えてくれた!
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
IP addr :10.0.0.3/24
※前頁の①ARP要求の中には、問合せ元の IPアドレス と MACアドレス の情報も含まれているため、
ARP要求を受信した機器も、相手の IPアドレス と MACアドレス の情報を入手できています。
ARP応答 L2ヘッダ ARP応答 L2ヘッダ
【ARP応答】
送信元 IP addr : 10.0.0.1
送信元MAC addr : AA-AA-AA-AA-AA-AA
宛先 IP addr : 10.0.0.3
宛先MAC addr : CC-CC-CC-CC-CC-CC
17
ARPで解決
A
B
C
L2SW
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
IP addr :10.0.0.3/24
【PC-A】
MAC addr : AA-AA-AA-AA-AA-AA
IP addr :10.0.0.1/24
じゃあ、Layer 3 ヘッダはどこへ…?
結局 MACアドレス で通信するんだったら、
宛先IPアドレス と 送信元IPアドレス が入ってる Layer 3 ヘッダ は
どこへ行ってしまうんでしょうか…?
Port 1 Port 3
Port 2
【PC-B】
MAC addr : BB-BB-BB-BB-BB-BB
IP addr :10.0.0.2/24
データL3ヘッダ
【Layer 3 ヘッダ】
送信元IP addr : 10.0.0.3
宛先IP addr : 10.0.0.1
IPアドレスって
なんなの…?
僕にはよく分かりません…
18
OSI参照モデル
通信機能の階層構造
19
OSI参照モデルの階層構造
A
B
C
L2SW
Layer 3 ヘッダ は Layer 2 ヘッダ で包まれる
Layer 3 ヘッダ は、Layer 2 フレーム のデータ部分の中にあります。
Port 1 Port 3
Port 2
データL2ヘッダ
【Layer 3 ヘッダ】
送信元IP addr : 10.0.0.3
宛先IP addr : 10.0.0.1
【PC-A】
MAC addr : AA-AA-AA-AA-AA-AA
IP addr :10.0.0.1/24
【PC-B】
MAC addr : BB-BB-BB-BB-BB-BB
IP addr :10.0.0.2/24
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
IP addr :10.0.0.3/24
【Layer 2 ヘッダ】
送信元MAC addr : CC-CC-CC-CC-CC-CC
宛先MAC addr : AA-AA-AA-AA-AA-AA
データL3ヘッダ
20
OSI参照モデルの階層構造
A
B
C
L2SW
Layer 2 スイッチ は Layer 2 ヘッダ のみ参照して転送します
Layer 2 スイッチ は、基本的にフレームを転送するのが仕事です。
Layer 2 ヘッダ の 宛先MACアドレス と 送信元MACアドレス を見てフレームを転送するだけなので、
データ部分の中にある Layer 3 ヘッダ は処理しません。
Port 1 Port 3
Port 2
【Layer 3 ヘッダ】
送信元IP addr : 10.0.0.3
宛先IP addr : 10.0.0.1
【PC-A】
MAC addr : AA-AA-AA-AA-AA-AA
IP addr :10.0.0.1/24
【PC-B】
MAC addr : BB-BB-BB-BB-BB-BB
IP addr :10.0.0.2/24
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
IP addr :10.0.0.3/24
【Layer 2 ヘッダ】
送信元MAC addr : CC-CC-CC-CC-CC-CC
宛先MAC addr : AA-AA-AA-AA-AA-AA
データL3ヘッダ
データL2ヘッダ
宛先MACアドレス
見て転送~
21
OSI参照モデルの階層構造
A
B
C
L2SW
Layer 3 の機器 は Layer 2 ヘッダ と Layer 3 ヘッダを処理します
Layer 3 に対応する機器は、Layer 2 ヘッダ と Layer 3 ヘッダ の両方を処理します。
Layer 2 ヘッダ の 宛先MACアドレス が自分のMACアドレスだったときは、自分宛のフレームとして、
Layer 2 ヘッダ を外して、データ部分の中にある Layer 3 ヘッダ を処理します。
Port 1 Port 3
Port 2
【Layer 3 ヘッダ】
送信元IP addr : 10.0.0.3
宛先IP addr : 10.0.0.1
【PC-B】
MAC addr : BB-BB-BB-BB-BB-BB
IP addr :10.0.0.2/24
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
IP addr :10.0.0.3/24
【Layer 2 ヘッダ】
送信元MAC addr : CC-CC-CC-CC-CC-CC
宛先MAC addr : AA-AA-AA-AA-AA-AA
データL3ヘッダ
データL2ヘッダ
あ、
MACアドレスが
僕宛だ
あ、
IPアドレスも
僕宛だ
【PC-A】
MAC addr : AA-AA-AA-AA-AA-AA
IP addr :10.0.0.1/24
なんだか
二度手間みたい…
22
OSI参照モデルの階層構造
A C
もし Layer 2 スイッチ がいなくても…
Layer 3 に対応する機器は、同様に Layer 2 ヘッダ と Layer 3 ヘッダ の両方を処理します。
【Layer 3 ヘッダ】
送信元IP addr : 10.0.0.3
宛先IP addr : 10.0.0.1
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
IP addr :10.0.0.3/24
【Layer 2 ヘッダ】
送信元MAC addr : CC-CC-CC-CC-CC-CC
宛先MAC addr : AA-AA-AA-AA-AA-AA
データL3ヘッダ
データL2ヘッダ
あ、
MACアドレスが
僕宛だ
あ、
IPアドレスも
僕宛だ
【PC-A】
MAC addr : AA-AA-AA-AA-AA-AA
IP addr :10.0.0.1/24
Layer 2 スイッチ がいなくても、
Layer 2 ヘッダ が必要なの…?
データL2ヘッダ
23
10.0.0.0/2410.1.1.0/24
OSI参照モデルの階層構造
A’
B
C
L2SW
IPアドレス はネットワークを超えられる MACアドレス はネットワークを超えられない
MACアドレス で通信できるのは、同じ ネットワークアドレス の中だけです。
別な ネットワークアドレス にいる機器と通信するには、IPアドレス を使う必要があります。
別な ネットワーク にパケットを転送するには、Layer 3 の機器である ルータ が必要です。
Port 3
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
IP addr :10.0.0.3/24
Default Gateway : 10.0.0.254/24
【PC-A‘】
MAC addr : AA-AA-AA-AA-AA-AA
IP addr :10.1.1.1/24
Default Gateway : 10.1.1.254/24
そういえば、今までは
全部同じネットワークアドレスの
機器だけだったな…
Port 1
Router IP:10.0.0.254/24
MAC:DD-DD-DD-DD-DD-DD
IP:10.1.1.254/24
MAC:EE-EE-EE-EE-EE-EE
24
Layer 2
MACアドレスで通信できる範囲
Layer 2
MACアドレスで通信できる範囲
Layer 3
IPアドレスで通信できる範囲
10.0.0.0/2410.1.1.0/24
OSI参照モデルの階層構造
A’
B
C
L2SW
別な ネットワーク の通信相手と通信するときは…
①まず、同じ ネットワークアドレス にいる ルータ にデータを渡して、ルーティングしてもらう必要があります。
届けたいデータに、通信相手の IPアドレス を宛先にした Layer 3 ヘッダ を付けたら、
さらに、ルータ の MACアドレス を宛先にした Layer 2 ヘッダを付けて送信します。
Port 3
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
IP addr :10.0.0.3/24
Default Gateway : 10.0.0.254/24
【PC-A’】
MAC addr : AA-AA-AA-AA-AA-AA
IP addr :10.1.1.1/24
Default Gateway : 10.1.1.254/24
Port 1
Router
データL2ヘッダ
【Layer 3 ヘッダ】
送信元IP addr : 10.0.0.3
宛先IP addr : 10.1.1.1
【Layer 2 ヘッダ】
送信元MAC addr : CC-CC-CC-CC-CC-CC
宛先MAC addr : DD-DD-DD-DD-DD-DD
データL3ヘッダ
IP:10.0.0.254/24
MAC:DD-DD-DD-DD-DD-DD
IP:10.1.1.254/24
MAC:EE-EE-EE-EE-EE-EE
A’さん は違うNW
だから、ゲートウェイに
投げなきゃ
25
【ARPテーブル】
10.0.0.254 : DD-DD-DD-DD-DD-DD
あ、Layer 2 ヘッダの宛先はルータだけど、
Layer 3 ヘッダの宛先はA’さんだ!
10.0.0.0/2410.1.1.0/24
OSI参照モデルの階層構造
A’
B
C
L2SW
別な ネットワーク の通信相手と通信するときは…(つづき)
➁ルータは、Layer 2 ヘッダ の 宛先MACアドレス が自分の MACアドレス なので、
自分宛のフレームとして、Layer 2 ヘッダ を外して、Layer 3 ヘッダ を見ます。
Layer 3 ヘッダ の 宛先IPアドレス が自分の IPアドレス 以外なら、宛先へルーティングします。
Port 3
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
IP addr :10.0.0.3/24
Default Gateway : 10.0.0.254/24
【PC-A】
MAC addr : AA-AA-AA-AA-AA-AA
IP addr :10.1.1.1/24
Default Gateway : 10.1.1.254/24
おっ、ルータ では
二度手間じゃない感じ!
Port 1
Router
データL2ヘッダ
【Layer 3 ヘッダ】
送信元IP addr : 10.0.0.3
宛先IP addr : 10.1.1.1
【Layer 2 ヘッダ】
送信元MAC addr : CC-CC-CC-CC-CC-CC
宛先MAC addr : DD-DD-DD-DD-DD-DD
データL3ヘッダ
IP:10.0.0.254/24
MAC:DD-DD-DD-DD-DD-DD
IP:10.1.1.254/24
MAC:EE-EE-EE-EE-EE-EE
あ、
MACアドレスが
僕宛だ
でも
IPアドレスは
僕宛じゃない!
26
10.0.0.0/2410.1.1.0/24
OSI参照モデルの階層構造
A’
B
C
L2SW
別な ネットワーク の通信相手と通信するときは…(つづき)
➂ルータ も 宛先IPアドレス に向けて、ARP解決などの処理をしながら、パケット(フレーム)を転送します。
このとき、Layer 2 ヘッダ については改めて作り直し、データに付けて送信します。
Port 3
【PC-C】
MAC addr : CC-CC-CC-CC-CC-CC
IP addr :10.0.0.3/24
Default Gateway : 10.0.0.254/24
【Layer 2 ヘッダ】
送信元MAC addr : EE-EE-EE-EE-EE-EE
宛先MAC addr : AA-AA-AA-AA-AA-AA
データL2ヘッダ Port 1
Router IP:10.0.0.254/24
MAC:DD-DD-DD-DD-DD-DD
IP:10.1.1.254/24
MAC:EE-EE-EE-EE-EE-EE
IPアドレスは
Aさん 宛だから
転送するよ!
【Layer 3 ヘッダ】
送信元IP addr : 10.0.0.3
宛先IP addr : 10.1.1.1
データL3ヘッダ
【ARPテーブル】
10.1.1.1 : AA-AA-AA-AA-AA-AA
27
あ、Layer 2 ヘッダの宛先と送信元が
さっきまでと違う!
でも、Layer 3 ヘッダの宛先と送信元は
ずっと変わってない!
あ、
MACアドレスが
僕宛だ
あ、
IPアドレスも
僕宛だ
【PC-A】
MAC addr : AA-AA-AA-AA-AA-AA
IP addr :10.1.1.1/24
Default Gateway : 10.1.1.254/24
MACアドレス と IPアドレス の両方を使って、
別なネットワークまで通信できるんだね!
OSI参照モデルの階層構造
A’ C
L2SW
OSI参照モデルは、標準化されたネットワーク通信機能の階層構造
ネットワーク通信に関わる色々な機能を階層別に分類し、それぞれの機能の独立性を高めています。
それぞれの機器が、Layer 1 (電気信号)から自分の対応する Layer までの処理をします。
Router
28
L2SW
Layer 5
Layer 4
Layer 7
Layer 6
Layer 1
Layer 3
Layer 2
Layer 1
Layer 3
Layer 2
Layer 1
Layer 2
Layer 5
Layer 4
Layer 7
Layer 6
Layer 1
Layer 3
Layer 2
アプリケーション層まで! ネットワーク層まで!
データリンク層まで!
アプリケーション層まで!
アプリケーション層
プレゼンテーション層
セション層
トランスポート層
ネットワーク層
データリンク層
物理層
OSI参照モデルの階層構造
A C
L2SW
対応する各Layerについて、既定の処理をします
自分と接続されている機器が、どの Layer まで対応する機器だったとしても
接続相手によって処理を変える必要はありません。
Router
29
L2SW
接続相手が誰だろうが、自分は
同じように各Layerの処理をすればいいんだね~
Layer 5
Layer 4
Layer 7
Layer 6
Layer 1
Layer 3
Layer 2
データL2ヘッダ
ご参考まで!
OSI参照モデルについては
もう少し勉強してみてください…
30

More Related Content

Recently uploaded

20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
Seiya Shimabukuro
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
iPride Co., Ltd.
 
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
Osaka University
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
kitamisetagayaxxx
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
Osaka University
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
Takuya Minagawa
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
ssuserfcafd1
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
Shinichi Hirauchi
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
ARISE analytics
 

Recently uploaded (14)

20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
 
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

なんでIPで通信できるの?

  • 2. Layer 2 Layer 2 は MACアドレス で通信する 2
  • 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
  • 8. Layer 3 Layer 3 は IPアドレス で通信する 8
  • 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
  • 13. 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 スイッチは、MACアドレス しか理解できません 間に挟まっている以上は、Layer 2 スイッチ でも電気信号を処理する必要があります。 Layer 2 スイッチ が転送処理するには、宛先と送信元の MACアドレス の情報が必要です。 でも、Pingを実行したりするときも、IPアドレス のことしか考えたことないですよね…? Port 1 Port 3 Port 2 【PC-B】 IP addr :10.0.0.2/24 データL3ヘッダ 僕が間に挟まっているんだから、 僕に分かるように MACアドレス で 通信してもらう必要があるよ! 【Layer 3 ヘッダ】 送信元IP addr : 10.0.0.3 宛先IP addr : 10.0.0.1 ? ?? え…だって、PC-Aの IPアドレスしか 知らないよ? 13
  • 15. ARPで解決 A B C L2SW 【PC-C】 MAC addr : CC-CC-CC-CC-CC-CC IP addr :10.0.0.3/24 【PC-A】 MAC addr : AA-AA-AA-AA-AA-AA IP addr :10.0.0.1/24 通信するときは… 通信相手の IPアドレス だけでなく、MACアドレス も知っている必要があります。 Layer 3 の処理をする機器は、IPアドレス と MACアドレス を関連付ける ARPテーブル を持っています。 (ARP…Address Resolution Protocol:アドレス解決プロトコル) Port 1 Port 3 Port 2 【PC-B】 MAC addr : BB-BB-BB-BB-BB-BB IP addr :10.0.0.2/24 【ARPテーブル】 10.0.0.2 : BB-BB-BB-BB-BB-BB 【ARPテーブル】 10.0.0.3 : CC-CC-CC-CC-CC-CC 【ARPテーブル】 15
  • 16. ARPで解決 A B C L2SW 【PC-A】 MAC addr : AA-AA-AA-AA-AA-AA IP addr :10.0.0.1/24 通信相手の MACアドレス を知らないときは… ①特定の IPアドレス に対応する MACアドレス を問合せる ARP要求 をブロードキャストします。 (Layer 2 ヘッダの宛先MACアドレスは、ブロードキャストアドレスの FF-FF-FF-FF-FF-FF です。) Port 1 Port 3 Port 2 【PC-B】 MAC addr : BB-BB-BB-BB-BB-BB IP addr :10.0.0.2/24 【ARPテーブル】 10.0.0.2 : BB-BB-BB-BB-BB-BB 【ARPテーブル】 Aさん のことは IPアドレス しか知らないから、 MACアドレス を教えて! ブロードキャストは 全ポート転送~ (受信ポート以外) Cさん が僕の MACアドレス を 知りたがってる! 【PC-C】 MAC addr : CC-CC-CC-CC-CC-CC IP addr :10.0.0.3/24 僕じゃない… ARP要求L2ヘッダARP要求L2ヘッダ ARP要求L2ヘッダ 【ARP要求】 送信元 IP addr : 10.0.0.3 送信元MAC addr : CC-CC-CC-CC-CC-CC 宛先 IP addr : 10.0.0.1 宛先MAC addr : FF-FF-FF-FF-FF-FF 16
  • 17. ARPで解決 A B C L2SW 【PC-A】 MAC addr : AA-AA-AA-AA-AA-AA IP addr :10.0.0.1/24 通信相手の MACアドレス を知らないときは…(つづき) ➁該当の IPアドレス を持つ機器は、自分の MACアドレス を回答する ARP応答 を返信します。 ARP要求 と ARP応答 をやりとりした機器は、お互いの情報を自分の ARPテーブル に載せます。 これ以降は、4ページ目のような通信ができるようになります。 Port 1 Port 3 Port 2 【PC-B】 MAC addr : BB-BB-BB-BB-BB-BB IP addr :10.0.0.2/24 【ARPテーブル】 10.0.0.2 : BB-BB-BB-BB-BB-BB 10.0.0.1 : AA-AA-AA-AA-AA-AA 【ARPテーブル】 10.0.0.3 : CC-CC-CC-CC-CC-CC 宛先MACアドレス 見て転送~ 僕の MACアドレス を答えるよ! Cさんの IPアドレス と MACアドレス も 覚えておくね!※ Aさん がMACアドレス 教えてくれた! 【PC-C】 MAC addr : CC-CC-CC-CC-CC-CC IP addr :10.0.0.3/24 ※前頁の①ARP要求の中には、問合せ元の IPアドレス と MACアドレス の情報も含まれているため、 ARP要求を受信した機器も、相手の IPアドレス と MACアドレス の情報を入手できています。 ARP応答 L2ヘッダ ARP応答 L2ヘッダ 【ARP応答】 送信元 IP addr : 10.0.0.1 送信元MAC addr : AA-AA-AA-AA-AA-AA 宛先 IP addr : 10.0.0.3 宛先MAC addr : CC-CC-CC-CC-CC-CC 17
  • 18. ARPで解決 A B C L2SW 【PC-C】 MAC addr : CC-CC-CC-CC-CC-CC IP addr :10.0.0.3/24 【PC-A】 MAC addr : AA-AA-AA-AA-AA-AA IP addr :10.0.0.1/24 じゃあ、Layer 3 ヘッダはどこへ…? 結局 MACアドレス で通信するんだったら、 宛先IPアドレス と 送信元IPアドレス が入ってる Layer 3 ヘッダ は どこへ行ってしまうんでしょうか…? Port 1 Port 3 Port 2 【PC-B】 MAC addr : BB-BB-BB-BB-BB-BB IP addr :10.0.0.2/24 データL3ヘッダ 【Layer 3 ヘッダ】 送信元IP addr : 10.0.0.3 宛先IP addr : 10.0.0.1 IPアドレスって なんなの…? 僕にはよく分かりません… 18
  • 20. OSI参照モデルの階層構造 A B C L2SW Layer 3 ヘッダ は Layer 2 ヘッダ で包まれる Layer 3 ヘッダ は、Layer 2 フレーム のデータ部分の中にあります。 Port 1 Port 3 Port 2 データL2ヘッダ 【Layer 3 ヘッダ】 送信元IP addr : 10.0.0.3 宛先IP addr : 10.0.0.1 【PC-A】 MAC addr : AA-AA-AA-AA-AA-AA IP addr :10.0.0.1/24 【PC-B】 MAC addr : BB-BB-BB-BB-BB-BB IP addr :10.0.0.2/24 【PC-C】 MAC addr : CC-CC-CC-CC-CC-CC IP addr :10.0.0.3/24 【Layer 2 ヘッダ】 送信元MAC addr : CC-CC-CC-CC-CC-CC 宛先MAC addr : AA-AA-AA-AA-AA-AA データL3ヘッダ 20
  • 21. OSI参照モデルの階層構造 A B C L2SW Layer 2 スイッチ は Layer 2 ヘッダ のみ参照して転送します Layer 2 スイッチ は、基本的にフレームを転送するのが仕事です。 Layer 2 ヘッダ の 宛先MACアドレス と 送信元MACアドレス を見てフレームを転送するだけなので、 データ部分の中にある Layer 3 ヘッダ は処理しません。 Port 1 Port 3 Port 2 【Layer 3 ヘッダ】 送信元IP addr : 10.0.0.3 宛先IP addr : 10.0.0.1 【PC-A】 MAC addr : AA-AA-AA-AA-AA-AA IP addr :10.0.0.1/24 【PC-B】 MAC addr : BB-BB-BB-BB-BB-BB IP addr :10.0.0.2/24 【PC-C】 MAC addr : CC-CC-CC-CC-CC-CC IP addr :10.0.0.3/24 【Layer 2 ヘッダ】 送信元MAC addr : CC-CC-CC-CC-CC-CC 宛先MAC addr : AA-AA-AA-AA-AA-AA データL3ヘッダ データL2ヘッダ 宛先MACアドレス 見て転送~ 21
  • 22. OSI参照モデルの階層構造 A B C L2SW Layer 3 の機器 は Layer 2 ヘッダ と Layer 3 ヘッダを処理します Layer 3 に対応する機器は、Layer 2 ヘッダ と Layer 3 ヘッダ の両方を処理します。 Layer 2 ヘッダ の 宛先MACアドレス が自分のMACアドレスだったときは、自分宛のフレームとして、 Layer 2 ヘッダ を外して、データ部分の中にある Layer 3 ヘッダ を処理します。 Port 1 Port 3 Port 2 【Layer 3 ヘッダ】 送信元IP addr : 10.0.0.3 宛先IP addr : 10.0.0.1 【PC-B】 MAC addr : BB-BB-BB-BB-BB-BB IP addr :10.0.0.2/24 【PC-C】 MAC addr : CC-CC-CC-CC-CC-CC IP addr :10.0.0.3/24 【Layer 2 ヘッダ】 送信元MAC addr : CC-CC-CC-CC-CC-CC 宛先MAC addr : AA-AA-AA-AA-AA-AA データL3ヘッダ データL2ヘッダ あ、 MACアドレスが 僕宛だ あ、 IPアドレスも 僕宛だ 【PC-A】 MAC addr : AA-AA-AA-AA-AA-AA IP addr :10.0.0.1/24 なんだか 二度手間みたい… 22
  • 23. OSI参照モデルの階層構造 A C もし Layer 2 スイッチ がいなくても… Layer 3 に対応する機器は、同様に Layer 2 ヘッダ と Layer 3 ヘッダ の両方を処理します。 【Layer 3 ヘッダ】 送信元IP addr : 10.0.0.3 宛先IP addr : 10.0.0.1 【PC-C】 MAC addr : CC-CC-CC-CC-CC-CC IP addr :10.0.0.3/24 【Layer 2 ヘッダ】 送信元MAC addr : CC-CC-CC-CC-CC-CC 宛先MAC addr : AA-AA-AA-AA-AA-AA データL3ヘッダ データL2ヘッダ あ、 MACアドレスが 僕宛だ あ、 IPアドレスも 僕宛だ 【PC-A】 MAC addr : AA-AA-AA-AA-AA-AA IP addr :10.0.0.1/24 Layer 2 スイッチ がいなくても、 Layer 2 ヘッダ が必要なの…? データL2ヘッダ 23
  • 24. 10.0.0.0/2410.1.1.0/24 OSI参照モデルの階層構造 A’ B C L2SW IPアドレス はネットワークを超えられる MACアドレス はネットワークを超えられない MACアドレス で通信できるのは、同じ ネットワークアドレス の中だけです。 別な ネットワークアドレス にいる機器と通信するには、IPアドレス を使う必要があります。 別な ネットワーク にパケットを転送するには、Layer 3 の機器である ルータ が必要です。 Port 3 【PC-C】 MAC addr : CC-CC-CC-CC-CC-CC IP addr :10.0.0.3/24 Default Gateway : 10.0.0.254/24 【PC-A‘】 MAC addr : AA-AA-AA-AA-AA-AA IP addr :10.1.1.1/24 Default Gateway : 10.1.1.254/24 そういえば、今までは 全部同じネットワークアドレスの 機器だけだったな… Port 1 Router IP:10.0.0.254/24 MAC:DD-DD-DD-DD-DD-DD IP:10.1.1.254/24 MAC:EE-EE-EE-EE-EE-EE 24 Layer 2 MACアドレスで通信できる範囲 Layer 2 MACアドレスで通信できる範囲 Layer 3 IPアドレスで通信できる範囲
  • 25. 10.0.0.0/2410.1.1.0/24 OSI参照モデルの階層構造 A’ B C L2SW 別な ネットワーク の通信相手と通信するときは… ①まず、同じ ネットワークアドレス にいる ルータ にデータを渡して、ルーティングしてもらう必要があります。 届けたいデータに、通信相手の IPアドレス を宛先にした Layer 3 ヘッダ を付けたら、 さらに、ルータ の MACアドレス を宛先にした Layer 2 ヘッダを付けて送信します。 Port 3 【PC-C】 MAC addr : CC-CC-CC-CC-CC-CC IP addr :10.0.0.3/24 Default Gateway : 10.0.0.254/24 【PC-A’】 MAC addr : AA-AA-AA-AA-AA-AA IP addr :10.1.1.1/24 Default Gateway : 10.1.1.254/24 Port 1 Router データL2ヘッダ 【Layer 3 ヘッダ】 送信元IP addr : 10.0.0.3 宛先IP addr : 10.1.1.1 【Layer 2 ヘッダ】 送信元MAC addr : CC-CC-CC-CC-CC-CC 宛先MAC addr : DD-DD-DD-DD-DD-DD データL3ヘッダ IP:10.0.0.254/24 MAC:DD-DD-DD-DD-DD-DD IP:10.1.1.254/24 MAC:EE-EE-EE-EE-EE-EE A’さん は違うNW だから、ゲートウェイに 投げなきゃ 25 【ARPテーブル】 10.0.0.254 : DD-DD-DD-DD-DD-DD あ、Layer 2 ヘッダの宛先はルータだけど、 Layer 3 ヘッダの宛先はA’さんだ!
  • 26. 10.0.0.0/2410.1.1.0/24 OSI参照モデルの階層構造 A’ B C L2SW 別な ネットワーク の通信相手と通信するときは…(つづき) ➁ルータは、Layer 2 ヘッダ の 宛先MACアドレス が自分の MACアドレス なので、 自分宛のフレームとして、Layer 2 ヘッダ を外して、Layer 3 ヘッダ を見ます。 Layer 3 ヘッダ の 宛先IPアドレス が自分の IPアドレス 以外なら、宛先へルーティングします。 Port 3 【PC-C】 MAC addr : CC-CC-CC-CC-CC-CC IP addr :10.0.0.3/24 Default Gateway : 10.0.0.254/24 【PC-A】 MAC addr : AA-AA-AA-AA-AA-AA IP addr :10.1.1.1/24 Default Gateway : 10.1.1.254/24 おっ、ルータ では 二度手間じゃない感じ! Port 1 Router データL2ヘッダ 【Layer 3 ヘッダ】 送信元IP addr : 10.0.0.3 宛先IP addr : 10.1.1.1 【Layer 2 ヘッダ】 送信元MAC addr : CC-CC-CC-CC-CC-CC 宛先MAC addr : DD-DD-DD-DD-DD-DD データL3ヘッダ IP:10.0.0.254/24 MAC:DD-DD-DD-DD-DD-DD IP:10.1.1.254/24 MAC:EE-EE-EE-EE-EE-EE あ、 MACアドレスが 僕宛だ でも IPアドレスは 僕宛じゃない! 26
  • 27. 10.0.0.0/2410.1.1.0/24 OSI参照モデルの階層構造 A’ B C L2SW 別な ネットワーク の通信相手と通信するときは…(つづき) ➂ルータ も 宛先IPアドレス に向けて、ARP解決などの処理をしながら、パケット(フレーム)を転送します。 このとき、Layer 2 ヘッダ については改めて作り直し、データに付けて送信します。 Port 3 【PC-C】 MAC addr : CC-CC-CC-CC-CC-CC IP addr :10.0.0.3/24 Default Gateway : 10.0.0.254/24 【Layer 2 ヘッダ】 送信元MAC addr : EE-EE-EE-EE-EE-EE 宛先MAC addr : AA-AA-AA-AA-AA-AA データL2ヘッダ Port 1 Router IP:10.0.0.254/24 MAC:DD-DD-DD-DD-DD-DD IP:10.1.1.254/24 MAC:EE-EE-EE-EE-EE-EE IPアドレスは Aさん 宛だから 転送するよ! 【Layer 3 ヘッダ】 送信元IP addr : 10.0.0.3 宛先IP addr : 10.1.1.1 データL3ヘッダ 【ARPテーブル】 10.1.1.1 : AA-AA-AA-AA-AA-AA 27 あ、Layer 2 ヘッダの宛先と送信元が さっきまでと違う! でも、Layer 3 ヘッダの宛先と送信元は ずっと変わってない! あ、 MACアドレスが 僕宛だ あ、 IPアドレスも 僕宛だ 【PC-A】 MAC addr : AA-AA-AA-AA-AA-AA IP addr :10.1.1.1/24 Default Gateway : 10.1.1.254/24 MACアドレス と IPアドレス の両方を使って、 別なネットワークまで通信できるんだね!
  • 28. OSI参照モデルの階層構造 A’ C L2SW OSI参照モデルは、標準化されたネットワーク通信機能の階層構造 ネットワーク通信に関わる色々な機能を階層別に分類し、それぞれの機能の独立性を高めています。 それぞれの機器が、Layer 1 (電気信号)から自分の対応する Layer までの処理をします。 Router 28 L2SW Layer 5 Layer 4 Layer 7 Layer 6 Layer 1 Layer 3 Layer 2 Layer 1 Layer 3 Layer 2 Layer 1 Layer 2 Layer 5 Layer 4 Layer 7 Layer 6 Layer 1 Layer 3 Layer 2 アプリケーション層まで! ネットワーク層まで! データリンク層まで! アプリケーション層まで! アプリケーション層 プレゼンテーション層 セション層 トランスポート層 ネットワーク層 データリンク層 物理層
  • 29. OSI参照モデルの階層構造 A C L2SW 対応する各Layerについて、既定の処理をします 自分と接続されている機器が、どの Layer まで対応する機器だったとしても 接続相手によって処理を変える必要はありません。 Router 29 L2SW 接続相手が誰だろうが、自分は 同じように各Layerの処理をすればいいんだね~ Layer 5 Layer 4 Layer 7 Layer 6 Layer 1 Layer 3 Layer 2 データL2ヘッダ