OSI 参照モデル | TCP/IP モデル | TCP/IP プロトコル | 実装 |
---|---|---|---|
アプリケーション層 | アプリケーション層 | HTTP, DNS, DHCP, SSH, MIME, TLS | アプリケーション プログラム |
プレゼンテーション層 | |||
セッション層 | |||
トランスポート層 | トランスポート層 | TCP, UDP | OS |
ネットワーク層 | インターネット層 | IP, ICMP, ARP, IPSec | |
データリンク層 | ネットワーク インターフェイス層 | イーサネット (有線) IEEE 802.11(Wi-Fi/無線) | デバイスドライバー Network Interface |
物理層 |
ネットワーク、LAN、WAN とは
現在は、主に無線の場合 Wi-Fi、有線の場合イーサネットで繋げた状態を指します。
具体的には、家庭や企業内で使用するネットワークのことです。
WAN の具体例は以下のとおりです。
- 特定のプライベートな LAN とだけ通信可能な「専用回線・広域イーサネット・VPN」
- 不特定多数の LAN と通信可能な「インターネット」
プライベートな通信網が構成されるWANは、限られたユーザーのみがアクセスするネットワークだという点で、インターネットとは全く別のものなのです。
(中略)なお、日常的に利用しているインターネット通信もWANの1つです。
https://www.ntt.com/business/services/network/internet-connect/ocn-business/bocn/knowledge/archive_101.html
TCP/IP プロトコルでは、イーサネットがデータリンク層に相当します。
ちなみに、無線 LAN の代表的な規格は Wi-Fi (IEEE 802.11) です。
イーサネットフレームとは
イーサネットフレームは歴史的な経緯から以下のような種類があります。
- Ethernet IIフレーム (= DIX【DEC, Intel, Xerox】フレーム) ☆主流
- IEEE 802.3 フレーム
- IEEE 802.2 Logical Link Control (LLC)フレーム
- IEEE 802.2 Subnetwork Access Protocol (SNAP) フレーム
今回は最も使われている Ethernet II フレームについて説明します。
フォーマット
Ethernet II フレームのフォーマットは、以下のとおりです。
フィールド | フィールドの説明 |
---|---|
プリアンブル (後述) | イーサネットフレームの始まりを示す 物理層で生成・破棄される |
送信先 MAC アドレス (後述) | イーサネットフレーム送信先の MAC アドレス |
送信元 MAC アドレス (後述) | イーサネットフレーム送信元の MAC アドレス |
タイプ | 使用するプロトコルを表す ・0x0800 IPv4 ・0x0806 ARP ・0x809b AppleTalk ・0x8100 IEEE802.1Q ・0x8137 IPX ・0x86dd IPv6 |
データ | データ本体 データが 46byte 未満なら、パディング (ダミーの0) で埋める |
FCS | 受信したフレームの誤り検知のためのデータ |
物理層で送信する以下の信号は、どこからイーサネットフレームを示すのかわかりません。
そこで、「今からイーサネットフレームを送るよ!」という合図 (プリアンブル) を使います。
MAC アドレスは、以下の部分に割り当てる番号で、通信相手を識別するために利用します。
送信元 (自分) の MAC アドレスの確認方法
送信先 (相手) の MAC アドレスの確認方法
MAC アドレスのフォーマット
MAC アドレスはベンダーが NIC 生産時に、以下のフォーマットで割り当てます。
I/G, G/L ビットによって、通信方式 (後述) が以下のように決定します。
I/G ビット | G/L ビット | |
---|---|---|
0 | ユニキャスト | グローバルアドレス |
1 | マルチキャストアドレス。MAC アドレスが 01-00-5E から始まる ブロードキャストアドレス。全ビットが 1(FF-FF-FF-FF-FF-FF) | ローカルアドレス |
通信方式の分類
通信方式には次の4種類が存在します。
ブロードキャストを示す送信先 MAC アドレスは FF-FF-FF-FF-FF-FF です。
マルチキャストを示す送信先 MAC アドレスは 01-00-5E から始まります。
データリンク層のネットワーク機器
データリンク層で利用するネットワーク機器は以下の2つです。
- ブリッジ
- L2 スイッチ(スイッチング・ハブ)
MAC アドレスで通信を制御
ブリッジが、送信先 MAC アドレスを元に通信を制御する様子を見てみます。
コリジョンドメインを分割
右のブリッジはコリジョンドメインが異なるため、データを同時送信しても衝突が発生しません。
全二重通信でコリジョンドメインはポートごとに分割
L2 スイッチは、ポートがたくさんあるブリッジです。
(新製品を売る時は、名前を変えたほうが新しい製品な感じがするでしょう?)
この頃から、「スイッチングハブ」の名称が使われるようになったが、実体はあくまでもマルチポートブリッジであった。
https://ja.wikipedia.org/wiki/スイッチングハブ#第一世代
ネットワーク機器ごとの比較
L2 スイッチ (スイッチングハブ) は全ての機能を持つので、現在では L2 スイッチを使います。
(現在、リピーター、リピーターハブ、ブリッジは使いません)
L2 スイッチの機能
L2 スイッチは、MAC アドレステーブル (ポートと MAC アドレスの対応表) を持ちます。
L2 スイッチは、この MAC アドレステーブルに関する3つの機能を持ちます。
- フラッディング (MAC アドレステーブルに送信先が無い時)
- フィルタリング (MAC アドレステーブルに送信先がある時)
- エージング
他人宛のフレームを受け取った PC 00:00:00:00:00:03 は、データを破棄
ポート | MAC アドレス |
---|---|
ポート | MAC アドレス |
---|---|
1 | 00:00:00:00:00:01 |
なお、MAC アドレステーブルはデータを受け取ったポートの MAC アドレスを記録します。
ポート | MAC アドレス |
---|---|
1 | 00:00:00:00:00:01 |
ポート | MAC アドレス |
---|---|
1 | 00:00:00:00:00:01 |
2 | 00:00:00:00:00:02 |
今回は、MAC アドレステーブルに一致する MAC アドレスが存在するため、フラッディングではなく、フィルタリングをしています。
エージングにより、一定時間で MAC アドレステーブルの古いエントリは削除されます。
ポート | MAC アドレス |
---|---|
新しいコンピュータに繋ぎ変えた時、一定時間で古いコンピュータのエントリが消えて便利です。
データリンク層を使った通信例
最後に、データリンク層を使った実際の通信を見てみます。
■通信例
ホスト 192.168.0.1 から、ホスト 192.168.0.2 に ping (ICMP) ※を送信します。
※ルーターを経由しないので、データリンク層のネットワークだけで通信が完結します
- PC1 の MAC アドレスを調べるために、PC0 が ARP をブロードキャスト
- 自分の IP アドレスと一致したホストだけ、自分の MAC アドレスを含めた ARP を返す
- PC0 が MAC アドレスを元に、PC1 に ICMP を送る
関連記事
OSI 参照モデルの L2/データリンク層に関する説明は以上となります。
OSI 参照モデル | TCP/IP モデル | TCP/IP プロトコル | 実装 |
---|---|---|---|
アプリケーション層 | アプリケーション層 | HTTP, DNS, DHCP, SSH, MIME, TLS | アプリケーション プログラム |
プレゼンテーション層 | |||
セッション層 | |||
トランスポート層 | トランスポート層 | TCP, UDP | OS |
ネットワーク層 | インターネット層 | IP, ICMP, ARP, IPSec | |
データリンク層 | ネットワーク インターフェイス層 | イーサネット (有線) IEEE 802.11(Wi-Fi/無線) | デバイスドライバー Network Interface |
物理層 |