「データリンク層とネットワーク層って、結局どっちも“データを運ぶ”んでしょ?」──ここで毎回モヤるの、めちゃくちゃ普通です。
L2/L3/L4は“運び方”が似て見えて、見ている情報(MAC・IP・ポート)と責任範囲がまるで違います。
この記事では、代表プロトコル(Ethernet/IP/TCP/UDP)とセットで、違いが混ざらない形に整理します。

1 まず「違いを見る物差し」を作ろう
1-1 層(レイヤ)は何を分けている?
1-1-1 レイヤ化は「担当分け」の考え方
ネットワークの話がややこしいのは、「同じ“通信”でも、やる事が何種類もある」からです。
そこで出てくるのが層(レイヤ)です。
層は、通信の仕事を段(だん)ごとに分けて、整理するための考え方です。(キーエンス)
例えば、友だちにスマホでメッセージを送る時でも、実は裏で色々起きています。
- まずはケーブルや電波でつながる
- 次に近くの機械同士でデータを受け渡しする
- それから遠くの相手までの道(経路)を選び
- 最後にアプリ同士でちゃんと会話出来る様にする
このうち、この記事で大事なのは **L2(データリンク層)・L3(ネットワーク層)・L4(トランスポート層)**の3つです。
キーエンスの説明でも、OSI参照モデルは7階層に分けて整理する考え方だと書かれています。(キーエンス)
そして現場(実際の仕事)では、トラブルが起きたときに「どの層で止まっているか」を分けて考えると、原因に近付き易いです。
たとえば、L2が壊れていたらL3やL4をいくら調べても直らない、という事が起こります。
だから層の考え方は、暗記よりも「順番に切り分ける道具」として役に立ちます。(NTT)
1-2 プロトコルとは何?層とは何が違う?
1-2-1 プロトコル=「ルール」、層=「ルールが働く場所」
プロトコルは、すごく簡単に言うと「通信のルール(約束)」です。
例えば「こういう形でデータを作って送る」「届かなかったらどうする」みたいな決まりです。(IETF Datatracker)
一方で**層(レイヤ)**は、「通信の仕事を担当で分けた場所」だと思ってください。
- 層(レイヤ)=担当の場所(住所)
- プロトコル=その担当で使うルール(道具)
例えば、L3(ネットワーク層)でよく出るルールが IP です。
IPは「どこに届けるか」を決めるためのルールで、宛先を**固定長のアドレス(IPアドレス)**で表して、データを運ぶ仕組みだと説明されています。(IETF Datatracker)
L4(トランスポート層)でよく出るルールが TCP と UDP です。
TCPは「順番通りに、確実に届ける」事を大事にしたルール、UDPは「軽くて速い」代わりに“確実さは弱い”ルール、という違いがあります。(IETF Datatracker)
ここまでを一言でまとめると、
- 層=役割分担
- プロトコル=その役割で使う通信ルール
です。
2 データリンク層(L2)=「近くの相手に渡す係」
2-1 L2は「同じネットワーク内(近所)」を届ける
2-1-1 フレーム化・間違いチェックなどをする
L2(データリンク層)は、ざっくり言うと**“近所の配達係”**です。
ここでいう近所とは、「同じLAN(同じスイッチにつながる範囲)」の様な、直接つながっている範囲です。
NTTの解説でも、L2は「直接接続されたデジタル機器同士の通信」を実現する方法(EthernetやLANの手順など)を決めている、と説明されています。(NTT)
L2がやる事は、主に次の様な物です。
- データを“かたまり”にして送る(フレームにする)
- 途中で壊れていないかチェックする(エラー検出)
- 送る速さを調整する(場合によって)
OracleのTCP/IPモデルの説明でも、データリンク層は「フレーミング(framing)」や「エラー制御(error control)」を行う、と書かれています。(Oracle Documentation)
ここが大事ポイントで、L2がうまく動いていないと、上の層(L3/L4)をどれだけ頑張っても通信はうまくいきません。
例えば「Wi-Fiはつながってる表示なのに、実はデータがうまく流れてない」みたいなとき、L2の問題が原因の事があります。
2-2 L2の代表:MACアドレスとEthernet
2-2-1 スイッチが得意な世界と、出来ない事
L2でよく出てくるのが MACアドレス と **Ethernet(イーサネット)**です。
NTTの解説にも、L2の例としてEthernetなどが挙げられています。(NTT)
MACアドレスは超簡単に言うと、**機械(LANカード)についた“近所用の番号”**です。
これを見て「同じネットワークの中で、どの機械に渡すか」を決めます。
スイッチ(L2スイッチ)は主にこのMACアドレスを使って、データを正しい方向へ流します。(NTT)
ただし、L2には弱点があります。
それは **“遠く(別のネットワーク)までは行けない”**事。
例えば家の中の部屋を移動するならドアを開ければいいけど、別の町へ行くなら地図と道路が必要ですよね。
L2は「家の中の移動」は得意だけど、「別の町へ行く道案内」は担当外です。
そこで次のL3(ネットワーク層)の出番になります。
3 ネットワーク層(L3)=「遠くまで届ける道案内係」
3-1 L3は「別のネットワークへ」届ける
3-1-1 IPで「どこへ」を決める
L3(ネットワーク層)は、L2より広い範囲を担当します。
ひと言で言うと、別のネットワークをまたいで、相手まで届ける係です。
キヤノンITソリューションズの解説でも、L3は通信経路の選択(ルーティング)や中継を行い、代表的なプロトコルとしてIPなどが挙げられています。(Canon(Japan))
ここで主役になるのが IPアドレス です。
IP(Internet Protocol)は、データ(datagram)を「送信元から宛先へ運ぶ」ための仕組みで、宛先は固定長のアドレスで表される、とRFCでも説明されています。(IETF Datatracker)
ポイントは、L3が見ているのはMACアドレスではなくIPアドレスだという事。
- L2:近所用の番号(MAC)で渡す
- L3:遠くの住所(IP)で届ける
だから「同じWi-Fiの中ではつながるけど、インターネットに出られない」みたいな時は、L3(IP設定や経路)の問題が疑われます。
3-2 ルーティングの考え方(経路選択)
3-2-1 ルーティング表は「道案内メモ」
ルーティングを中学生向けに言うなら、「遠くに送る時に、次にどこへ渡すか決める事」です。
例えば、あなたが荷物を日本全国へ送る郵便局だとして、いきなり目的地の家まで全部知ってる必要はありません。
「次はこの集配センターに送る」と分かれば十分です。
この「次に渡す相手」を **ネクストホップ(next hop)**と言います。
ネクストホップは「次に送るルータ(など)のIPアドレス」のことだ、と説明されています。(JumpCloud)
そして、どの宛先ならどこへ渡すかをまとめたメモが **ルーティングテーブル(経路表)**です。
IPの説明でも、データは“相互接続されたネットワーク”の中で運ばれ、宛先アドレスを見て中継されていく、という考え方が基本にあります。(IETF Datatracker)
よくあるL3トラブルは、例えばこんな感じです。
- IPアドレスやサブネットの設定ミス
- デフォルトゲートウェイ(最初に渡す先)が違う
- ルーティングの設定が足りない/間違い
L3は“遠くへ届ける”担当なので、ここがズレると「どこにも届かない」か「途中までしか行けない」になります。
4 トランスポート層(L4)=「アプリ同士をちゃんと会話させる係」
4-1 L4は「通信の品質」を決める
4-1-1 分割・順番・再送で「ちゃんと届く」を作る
L4(トランスポート層)は、IPで相手の家(端末)まで届いた後に、その端末の中のどのアプリと会話するか、そして会話をちゃんと成立させるかを担当します。
キヤノンITソリューションズの解説でも、L4は通信の品質をコントロールし、TCP/UDPを使い分ける層だと説明されています。(Canon(Japan))
ここで有名なのが TCP です。
TCPは、送るデータを「セグメント」にまとめ、必要な情報を付けて、順番どおりに、確実に届けるための仕組みを持っています。
RFCでも、TCPはセグメントに制御情報を入れて「信頼できる順序付きの伝送」を行う、と説明されています。(IETF Datatracker)
中学生向けに言うと、TCPは「プリントの束を、1枚も落とさず、順番通りに相手に渡す」感じです。
- もし落ちたら「もう一回送って」と言える
- 順番がバラバラなら並べ直せる
こういう“丁寧さ”があるので、Web閲覧やメールなどでよく使われます。
4-2 TCP/UDPとポート番号で整理
4-2-1 TCPは確実、UDPは軽くて速い
L4にはTCPだけでなく UDP もあります。
UDPは、出来るだけ仕組みをシンプルにして、軽く・速く送るための方式です。
RFCではUDPは「IPを土台にして、データグラム方式の通信を使えるようにする」プロトコルだと書かれています。(RFCエディタ)
UDPは中学生向けに言うと、「大事なプリント」ではなく「ちょっとした連絡」をポンっと送る感じです。
- 送った後「届いた?」の確認を標準ではしない
- 届かなかったらアプリ側で工夫が必要
だから、音声通話・動画の配信・オンラインゲームなど「多少欠けてもいいから遅れない方がいい」場面で使われ易いです(※ここはサービス側の設計によります)。
そしてもう1つ、L4を理解するカギが ポート番号です。
IPアドレスが「家の住所」なら、ポート番号は「部屋番号」です。
つまり同じスマホ(同じIP)でも、
- ブラウザ(Web)
- ゲーム
- 通話アプリ
みたいに、どのアプリに渡すかをポート番号で決めます。
ポート番号の範囲はIANAが整理していて、
- 0〜1023(System Ports)
- 1024〜49151(User Ports)
- 49152〜65535(Dynamic/Private Ports)
という分け方が公式に説明されています。(iana.org)
5 L2/L3/L4を一気に整理して覚える
5-1 フレーム/パケット/セグメントの違い
5-1-1 “名前が変わる”のは、情報が付け足されるから
「フレーム」「パケット」「セグメント」は、最初は別物に見えて混乱します。
でも大事なのは、上の層のデータに、下の層が必要な情報を付け足していくという流れです。
- L2で必要な情報(MACなど)を付ける → フレーム
- L3で必要な情報(IPなど)を付ける → パケット(データグラム)
- L4で必要な情報(TCP/UDPなど)を付ける → セグメント(など)
IPのRFCでも、IPが運ぶ単位を「datagram」と呼び、宛先アドレスで運ぶ仕組みが説明されています。(IETF Datatracker)
つまり、名前が変わるのは「中身が別物になった」というより、**“外側のラベル(ヘッダ)が増えた”**と考えると分かり易いです。
5-2 比較:MAC/IP/ポートで見分ける
5-2-1 宛先に何を使っているかで、迷いが消える
L2/L3/L4を見分ける一番楽な方法は、宛先として何を見ているかで決める事です。
- L2:MACアドレス(近所の相手)
- L3:IPアドレス(遠くの住所)
- L4:ポート番号(アプリ=部屋番号)
OSIの層の並び(L2がデータリンク、L3がネットワーク、L4がトランスポート)は、キーエンスの表でもはっきり示されています。(キーエンス)
また、TCP/IPの層モデルで「データリンク層がフレーミングやエラー制御をする」という説明は、Oracleの資料にもあります。(Oracle Documentation)
この3つ(MAC/IP/ポート)を軸にすると、「今の話はどの層?」が決めやすくなります。
例えば、
- VLANやスイッチの話 → L2っぽい
- ルーティングやゲートウェイ → L3っぽい
- “443が閉じてる”みたいな話 → L4っぽい
という感じで整理できます。
6 実務の切り分け(トラブルのとき超大事)
6-1 基本は「下から上へ」見る
6-1-1 L1→L2→L3→L4の順に潰す理由
通信トラブルで一番よくある失敗は、「いきなり上の層(L4)から疑って時間を溶かす」事です。
お勧めの考え方は、下の層から順にOKか確認する事。
順番の理由はシンプルで、下がダメなら上は絶対に動かないからです。
例えば、道路が通行止めなら(下の層がNG)、宅配の配り方(上の層)を工夫しても届かないのと同じです。
NTTの解説でも、L2〜L4はネットワーク領域で、それぞれ役割や機器が違う事が説明されています。(NTT)
だから現場では、大体こう見ます。
- L1:ケーブル/Wi-Fi/リンクが上がってる?
- L2:同じLANでデータは流れてる?(スイッチ/VLANなど)
- L3:IP設定や経路は正しい?(ゲートウェイ/ルーティング)
- L4:ポートは開いてる?TCP/UDPは成立?(FW等)
6-2 コマンドで層を切る(例:ping)
6-2-1 ping/経路確認/ポート確認の使い分け
層の理解は、コマンドと結びつくと一気に強くなります。
ここでは考え方だけ、易しく説明します。
- ping:相手に「届く?」と尋ねる感じ
これは主に「IP的に届くか」(L3寄り)を見るのに使われます(ただしL1/L2がダメなら当然失敗します)。L3の役割としてIPなどが紹介されている通り、まず“住所(IP)で届くか”の確認になります。(Canon(Japan)) - 経路確認(途中のルータを見る系):どこで止まってるかを見る
「途中で止まってる」ならL3(経路やルーティング)の可能性が上がります。 - ポート確認(443が通る?など):アプリに届くか(L4)を見る
L4はポート番号が重要で、IANAもポート番号の範囲を定義しています。(iana.org)
つまり「届く/届かない」を、L3の問題なのか、L4の問題なのかに分けるだけで、原因に近付き易くなります。
7 良くある誤解と、覚え方のコツ
7-1 混乱しがちなプロトコルの位置
7-1-1 ARP/ICMP/TLSは“またぎもの”が多い
ネット記事でよく揉めるのが「ARPはL2?L3?」「TLSはどこ?」みたいな話です。
ここは、“大体どの目的か”で覚えるのがお勧めです。
- ARP:IPアドレスとMACアドレスをつなぐ“橋渡し”みたいな存在
- ICMP:pingなどで使われる“通信チェック”の仕組み(IPと関係が深い)
- TLS(SSL/TLS):暗号化して安全にする仕組みで、上の層側で語られる事が多い
キヤノンITソリューションズの解説でも、TLSが上位層側の例として挙げられています。(Canon(Japan))
大事なのは「厳密に何層か」を丸暗記するより、何のためのプロトコルかで理解する事です。
7-2 覚え方:宅配便で覚える
7-2-1 住所=IP、部屋番号=ポート、近所配達=MAC
最後に、一番覚え易い例えでまとめます。
- L2(近所配達):表札(MAC)を見て、同じ町内で渡す
- L3(遠くの住所):住所(IP)を見て、次の中継地点へ送る(ルーティング)
- L4(部屋番号):同じ家(IP)の中で、部屋番号(ポート)でアプリに渡す
さらに、TCPは確実に届ける、UDPは軽く速い。(IETF Datatracker)
この例えが頭に入ると、L2/L3/L4の違いはかなり混ざらなくなります。
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ MAC / IP / ポート を 1枚で覚える図 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
【結論(これだけ暗記)】
近所に渡す → MAC(L2)
遠くへ届ける → IP(L3)
アプリまで届ける → ポート(L4)
─────────────────────────────────────────────────────
L2:データリンク層(近所の配達)
─────────────────────────────────────────────────────
見る番号:MACアドレス(機械の“近所用の番号”)
届く範囲:同じLAN(同じスイッチの中)だけ
やること:データを「フレーム」にして渡す/間違いチェック
よく出る機械:スイッチ(L2スイッチ)
例え:町内会の配達。表札(MAC)を見て届ける。
─────────────────────────────────────────────────────
L3:ネットワーク層(遠くへの道案内)
─────────────────────────────────────────────────────
見る番号:IPアドレス(“住所”)
届く範囲:別のネットワークをまたいで遠くまで
やる事:次にどこへ送るか決める(ルーティング)/中継する
よく出る機械:ルータ(L3スイッチ)
例え:住所(IP)を見て、次の配送センターへ回す。
─────────────────────────────────────────────────────
L4:トランスポート層(アプリの部屋番号)
─────────────────────────────────────────────────────
見る番号:ポート番号(“部屋番号/受付番号”)
届く範囲:相手の端末の中で「どのアプリに渡すか」まで
やる事:会話を成立させる
- TCP:確実に届ける(抜けたら送り直す)
- UDP:軽くて速い(確実さは弱め)
よく出る機械:ファイアウォール/ロードバランサ(L4の話題で出がち)
例え:同じ住所(IP)の家でも、部屋番号(ポート)で届け先が変わる。
─────────────────────────────────────────────────────
おまけ:ポート番号の「3つのゾーン」(よく出る)
─────────────────────────────────────────────────────
0–1023 :有名どころ(well-known / system)
1024–49151 :登録(registered / user)
49152–65535 :一時的(dynamic / private)
─────────────────────────────────────────────────────
【秒速チェック(トラブルのときの考え方)】
1) 近所(MAC/L2)がOK?
2) 住所(IP/L3)で届く?
3) 部屋番号(ポート/L4)まで通る?
出典メモ(安心して覚えるための根拠)
- ポート番号の3範囲は IANA の公式レジストリに明記されています。(iana.org)
- IPは「固定長アドレスで識別される宛先へデータグラムを送る」ための仕組みとして定義されています(RFC 791)。(IETF Datatracker)
- MACアドレス(EUI-48 / 48ビット)は IEEE の資料で、IEEE 802で使われるハードウェアのアドレスとして説明されています。(standards-support.ieee.org)
- L2(データリンク層)が「フレーミング」や「エラー制御」を行う説明は Oracle のTCP/IP解説にもあります。(docs.oracle.com)
まとめ
ネットワークの「データリンク層(L2)」「ネットワーク層(L3)」「トランスポート層(L4)」の違いは、何を見て、どこまで届ける担当かで決まります。
層(レイヤ)は通信の仕事を段階に分けて整理する考え方で、プロトコルはその段階で使う「通信のルール」です。(Canon(Japan))
1) まず“3つの合言葉”で覚える
- L2(データリンク層)=MACを見る(近所に渡す)
同じLAN(同じスイッチにつながる範囲)の中で、MACアドレスを使って相手を見分け、データを渡します。データは「フレーム」という形にまとめられ、送っている途中で壊れていないかチェックする情報も付きます。(itmanage.co.jp) - L3(ネットワーク層)=IPを見る(遠くへ届ける)
別のネットワークをまたいで相手に届けるために、IPアドレス(住所みたいなもの)を使います。IPは「固定長のアドレスで識別される宛先へ、データグラム(かたまり)を送る」ための仕組みとして説明されています。(IETF Datatracker) - L4(トランスポート層)=ポートを見る(アプリに渡す)
同じ相手の端末(同じIP)でも、端末の中にはWeb・ゲーム・通話などアプリがたくさんあります。そこでポート番号(部屋番号みたいなもの)を使い、「どのアプリへ渡すか」を決めます。さらに通信の“品質”もここで決まり、代表がTCP/UDPです。(itmanage.co.jp)
2) TCPとUDPは“性格が違う”
- TCP:確実に届けたい
TCPはデータを「セグメント」にまとめ、順番通りに届くようにしたり、届かなければ送り直したりして、信頼出来る通信を作ります。RFCでも「信頼できて順序どおりの伝送」をするための制御情報をセグメントに入れる、と説明されています。(IETF Datatracker) - UDP:軽くて速く送りたい
UDPは仕組みがシンプルで、軽く・速く送る考え方です(その代わり“確実さ”はアプリ側の工夫に任せることが多いです)。UDPがIPの上で動くプロトコルであることもRFCに書かれています。(iana.org)
3) フレーム/パケット/セグメントは「呼び方が変わるだけ」
データは上の層から下の層へ行くたびに、その層で必要な情報(ヘッダ)が“外側に追加”されます。
- L2の情報が付くと フレーム
- L3の情報が付くと パケット(IPデータグラム)
- L4の情報が付くと セグメント(TCPなど)
という感じで、中身が魔法みたいに変わるのではなく、ラベルが増えて呼び名が変わるイメージです。(itmanage.co.jp)
4) トラブルのときは「下から上へ」見るのが最短
通信がうまくいかないときは、基本はこう考えると迷いにくいです。
- (まず)物理:ケーブル/Wi-Fiがつながってる?
- L2:同じLANの中でフレームは流れてる?(MACの世界)
- L3:IPで目的地へ行ける?(経路や設定の世界)
- L4:ポートが通る?TCP/UDPの会話ができる?
理由はシンプルで、下が壊れていたら上は絶対に動かないからです。OSI参照モデルは、こういう切り分けをし易くするための整理の仕方として説明されています。(Canon(Japan))
5) ポート番号は「3つのゾーン」だけ押さえればOK
ポート番号にはよく使われる区分があり、IANA(番号を管理している団体)が次の3範囲として説明しています。(iana.org)
- 0–1023:System Ports(有名どころ)
- 1024–49151:User Ports
- 49152–65535:Dynamic/Private Ports(一時的に使われやすい)
最後に:1行でまとめ
MAC(L2)=近所、IP(L3)=住所、ポート(L4)=部屋番号。
この1行が頭に入ると、L2/L3/L4とプロトコルの違いはかなり混ざらなくなります。(Canon(Japan))
コメント