Featured image of post ネットワークインターフェース層とは?役割とルールで理解するレイヤー1の仕組み【第17回】

ネットワークインターフェース層とは?役割とルールで理解するレイヤー1の仕組み【第17回】

この記事でわかること

ネットワークインターフェース層には複数の「役者」が登場します。それぞれが解くべき問題と守るべきルールを持っています。

  • ケーブル:電気信号の「道」。2本の線をねじり合わせたツイストペア構造でノイズを打ち消す
  • ハブ:複数機器をつなぐ中継点。信号を全員へ送るため衝突(コリジョン)が起きる。それを防ぐルールが「半二重通信」
  • MACアドレス:機器ごとに割り当てられた世界に一つの識別番号。「誰に届けるか」を特定するための住所
  • スイッチ:MACアドレスを学習して宛先だけに届ける。衝突がなくなり、送受信を同時に行える「全二重通信」が実現する
  • フレーム:宛先・送信元・データをひとまとめにした「封筒」。スイッチはこれを読んで振り分けを判断する

はじめに

前回の記事では、TCP/IPモデルという「ネットワークの設計図」を学びました。その一番下の層が「ネットワークインターフェース層」です。

前回はこの層を「郵便で言うと、実際に道路を走って手紙を運ぶ部分」と説明しました。どんな仕組みが整っていても、物理的に運ぶ手段がなければデータは届きません。ネットワークインターフェース層は、その「運ぶ手段」を担う層です。

これまでの連載で、ケーブル・ハブ・スイッチ・MACアドレスをひとつひとつ学んできました。これらはバラバラに存在しているわけではありません。コンピュータ同士がデータをやり取りするには、解決しなければならない問題が段階的にあり、問題ごとに「担当する役者」と「守るべきルール」が決まっています。


コンピュータ同士がデータをやり取りするとき、何が必要か?

たとえば、あなたのパソコンから隣のパソコンにファイルを送ることを想像してください。

これを実現するには、いくつかの問題を順番に解決しなければなりません。

  1. そもそも、どうやって信号を届けるのか?
  2. 複数の機器が同じ回線を使うとき、どう管理するのか?
  3. たくさんある機器の中から、正しい相手を特定するには?
  4. 特定した相手だけに、効率よく届けるには?

ネットワークインターフェース層は、この4つの問題に答える層です。順番に見ていきましょう。


ルールとは「お互いが前提として共有するもの」

各役割を見ていく前に、大事なことをひとつ押さえておきます。

ネットワークにおける「ルール」とは、送る側と受け取る側の両方が、同じルールを知っていることを前提に成立するものです。

たとえば「通信を開始する際の最初の信号は何にするか」というルールを、送る側だけが知っていても意味がありません。受け取る側も同じルールで解釈しなければ、送られてきた信号のうち、どこまでがあいさつでどこからが本題のデータなのか判断が付きません。どちらか一方がルールを知らなかったり、守らなかったりすると、信号は届いても「意味のあるデータ」として成立しません。

前置きもなくいきなり話しかけられても理解できません

そしてこれは、ソフトウェアの話だけにとどまりません。ケーブル・ハブ・スイッチを作るメーカーも、このルールに乗っとって製品を開発しています。 だから、異なるメーカーのケーブルとスイッチを組み合わせても、同じルールを守っている限りきちんと通信できるのです。

ルールとは「誰もが守ることで、はじめて機能する約束事」です。


役割① 信号を物理的に届ける ─ ケーブル

問題:データは「なにか」に乗らないと動けない

コンピュータの中でデータは電気信号です。その信号を別のコンピュータへ届けるには、信号を運ぶ「道」が必要です。

ルール:ツイストペアケーブルを使う

この役割を担うのがケーブルです。

一般的に使われているのがツイストペアケーブル

  • Twist(ツイスト)= ねじる
  • Pair(ペア)= 対(2本1組)

2本の電線をらせん状によりあわせることで、外部からの電気的なノイズを打ち消し、信号を安定して伝えられる構造になっています。

ケーブルの役割は、ただ一つ。「電気信号の通り道になること」です。どんな高度な仕組みも、この物理的な道がなければ始まりません。


役割② 複数の機器をつなぐ ─ ハブ、そして半二重のルール

問題:1本の回線を複数人で共有すると信号がぶつかる

コンピュータが2台だけなら話は簡単ですが、現実には複数の機器をつなぐ必要があります。

複数の機器を1本の回線で共有すると、同時に送信したときに信号がぶつかって壊れるという問題が起きます。これを コリジョン(衝突) といいます。

登場したのがハブ

Hub(ハブ) は、複数のケーブルを1か所に集める中継点です。

Hub(ハブ) は、車輪の中心部を指す言葉。スポークが一点に集まるように、複数のケーブルを集約します。

ただし、ハブには大きな制約がありました。「届いた信号を、つながっている全員へそのまま送る」だけの機器だったのです。

【ハブ:届いた信号を全員へ送る】

   PC-A ──┐
   PC-B ──┼── ハブ ──→ PC-A, PC-B, PC-C, PC-D 全員に届く
   PC-C ──┤              (PC-B が PC-C 宛に送ったつもりでも)
   PC-D ──┘

これでは、複数の機器が同時に送信すると衝突が起きてしまいます。

ルール:半二重通信(交互にしか送れない)

この問題に対するルールが半二重通信です。

  • Half(ハーフ)= 半分
  • Duplex(デュプレックス)= 二重・双方向

「半分だけ双方向」、つまり送信と受信は交互にしか行えないというルールです。

トランシーバーをイメージするとわかりやすいです。「どうぞ」と言って交互に話すあれです。片方が話している間、もう片方は待たなければなりません。

ハブを使う環境では、このルールによって衝突を防いでいました。ただし、「待ち時間が生まれる」という効率の問題は残ります。


役割③ 正しい相手を特定する ─ MACアドレス

問題:たくさんある機器の中から、誰に届ければいいのか?

ネットワーク上には複数の機器がつながっています。データを送るとき、「誰に届けるか」を識別する手段がなければ、正しい相手に届けられません。

ルール:MACアドレスで機器を一意に識別する

この役割を担うのがMACアドレスです。

MACMedia Access Control(メディア・アクセス・コントロール) の略です。

  • Media(メディア)= 媒体(ケーブルなどの伝送路)
  • Access(アクセス)= 接続・利用
  • Control(コントロール)= 管理・制御

「伝送路へのアクセスを管理するための識別子」という意味です。

MACアドレスはネットワーク機器に製造時から書き込まれた世界に一つの番号で、00:1A:2B:3C:4D:5E のような形式で表されます。

住所のようなものですが、住所と違うのは「自分で決める」のではなく「生まれながらに持っている」点です。


役割④ 正しい相手だけに届ける ─ スイッチ、そして全二重のルール

問題:全員に送るのは無駄で、セキュリティ上もよくない

ハブは届いた信号を全員へ送っていました。つまり、宛先ではない機器にもデータが届いてしまいます。これは無駄なだけでなく、情報が漏れるリスクもあります。

ルール:MACアドレスを学習して、宛先だけに届ける

この問題を解決したのが スイッチ(Switch) です。

Switch(スイッチ)= 切り替える、振り分ける

スイッチがハブと根本的に違うのは、「どのポートにどのMACアドレスの機器がつながっているかを学習して記憶する」点です。

【スイッチ:宛先の機器だけに届ける】

   PC-A ──┐
   PC-B ──┼── スイッチ ──→ PC-C だけに届く
   PC-C ──┤              (PC-B が PC-C 宛に送った場合)
   PC-D ──┘

スイッチはどうやって「誰がどこにいるか」を知るのか

スイッチは起動直後、どの機器がどのポートにいるかを知りません。データが届くたびに「送信元のMACアドレス」と「届いたポート番号」をセットで記録し、少しずつ全機器の場所を把握していきます。この記録をMACアドレステーブルといいます。

MACアドレステーブル(スイッチ内部の記録)

┌────────┬──────────────────────┐
│ ポート │   MACアドレス        │
├────────┼──────────────────────┤
│   1    │  00:1A:2B:3C:4D:01  │  ← PC-A
│   2    │  00:1A:2B:3C:4D:02  │  ← PC-B
│   3    │  00:1A:2B:3C:4D:03  │  ← PC-C
│   4    │  00:1A:2B:3C:4D:04  │  ← PC-D
└────────┴──────────────────────┘

データが届いたとき、スイッチはMACアドレステーブルを照合して「このデータは3番ポートへ届ければいい」と判断します。全員に送るのではなく、必要な相手だけへピンポイントに届けるのがスイッチのルールです。

さらに全二重通信も実現できる

スイッチが宛先を絞って届けるようになったことで、衝突が起きなくなりました。衝突がなくなれば、「交互に送る」ルール(半二重)をやめることができます。

これが全二重通信です。

  • Full(フル)= 完全な
  • Duplex(デュプレックス)= 二重・双方向

「完全に双方向」、つまり送信と受信を同時に行える状態です。電話のように、お互いが同時に話せます。スイッチの登場によって、ネットワークの通信効率は大幅に向上しました。


役割をつなぐ「封筒」 ─ フレーム

ここまでの役割とルールを実際に機能させるには、データを送るときに「宛先のMACアドレス」「送信元のMACアドレス」などの情報をひとまとめにして送る必要があります。

その「封筒」にあたるのが フレーム(Frame) です。

Frame(フレーム)= 額縁・枠。データを枠で包んだ構造体。

フレームには以下の情報が含まれています。

項目 役割
宛先MACアドレス どの機器に届けるか
送信元MACアドレス どの機器から送ったか
データ本体 実際に伝えたい内容
エラーチェック情報 壊れていないかを確認

スイッチはフレームの中にある宛先MACアドレスを読んで、MACアドレステーブルを照合し、どのポートへ届けるかを判断しています。フレームは、これまでの役割とルールが「実際に動くための形」です。


まとめ ─ 役割とルールの全体図

今回学んだ内容を、「問題 → 役割 → ルール」でまとめます。

問題 担当する役者 ルール
信号を物理的に届けたい ケーブル ツイストペアケーブルで電気信号を伝える
複数の機器をつなぎたいが衝突が起きる ハブ 半二重通信(送受信を交互に行う)
誰に届けるか特定したい MACアドレス 機器ごとに固有の番号で識別する
宛先だけに効率よく届けたい スイッチ MACアドレステーブルで学習・振り分け、全二重通信を実現
これらをひとまとめにして送りたい フレーム 宛先・送信元・データをひとつの封筒にまとめる

ネットワークインターフェース層は、「道具の集まり」ではなく「役割とルールの集まり」です。それぞれが解くべき問題を持ち、そのためのルールが存在しています。

次の記事では、TCP/IPモデルの第2層「インターネット層」に進みます。今回の「同じネットワーク内での届け方」から、「別のネットワークへの届け方」へ、スコープが広がります。