第3部 ネットワーク
第8章 ネットワークの基礎 — OSI参照モデルとTCP/IP
ブラウザにURLを入れると、なぜ世界の裏側にあるサーバーのページが手元に届くのでしょうか。ネットワークは一見複雑ですが、「役割を層に分ける」という発想を知ると、驚くほど見通しよく理解できます。第3部の入口として、その地図を手に入れましょう。
🎯 この章で学ぶこと
- ネットワークとは何か、LANとWANの違い
- 通信を「層(レイヤー)」に分けて考える理由
- OSI参照モデル7階層とTCP/IPモデル4階層の対応
- パケットとカプセル化、データが届く仕組み
- TCPとUDPの違い、ポート番号の役割
8.1 ネットワークとは — コンピュータ同士がデータをやり取りする
ネットワークとは、複数のコンピュータをつないで、互いにデータをやり取りできるようにした仕組みのことです。あなたがメールを送る、Webページを見る、社内の共有フォルダを開く——これらはすべて、コンピュータ間でデータが行き来した結果です。1台では「情報の孤島」だったコンピュータが、つながることで一気に世界へ広がります。
ネットワークは、その広がり(範囲)によって呼び分けられます。まず押さえたいのがLANとWANの違いです。
| LAN(ローカル・エリア・ネットワーク) | WAN(ワイド・エリア・ネットワーク) | |
|---|---|---|
| 範囲 | 建物・フロアなど狭い範囲 | 拠点間・都市間など広い範囲 |
| 身近な例 | 自宅や社内のネットワーク | インターネット、拠点をつなぐ回線 |
| 管理者 | 自分や自社 | 通信事業者(プロバイダ等) |
| 速さ・距離 | 速く、距離は短い | LANより遅く、距離は長い |
自宅のWi-FiにつながったスマホとPCは同じLANの中にいます。そのLANがルーターを通じてWAN(インターネット)につながり、世界中のサーバーへ届く——これが日常のネットワークの基本構図です。インターネットとは、世界中の無数のネットワークが相互接続した「ネットワークのネットワーク」だと考えてください。
8.2 通信を「層」で考える — なぜ階層に分けるのか
ネットワークの通信は、電気信号を送るという物理的な話から、Webページを表示するという人間に近い話まで、非常に幅広い内容を含みます。これらを一つのかたまりとして扱うと、あまりに複雑で手に負えません。そこで先人たちは、通信の役割をいくつかの層(レイヤー)に分けて整理しました。これがネットワークを理解する最大のカギです。
身近な例で考えましょう。あなたが友人に手紙を郵送するとき、役割は自然に分かれています。
| 担当 | やること | 相手側の対応する担当 |
|---|---|---|
| あなた(差出人) | 手紙の中身(メッセージ)を書く | 友人が中身を読む |
| 封筒・宛名書き | 宛先住所を書いて封をする | 受け取り側が開封する |
| 郵便局 | 宛先へ仕分け・配送する | 配達側の郵便局が届ける |
| トラック・道路 | 物理的に運ぶ | 物理的に運ばれてくる |
ここで大切なのは、各担当は自分の役割だけに集中し、隣の層のやり方には口出ししないという点です。あなたは手紙の中身を書くだけで、トラックがどの道を通るかは気にしません。郵便局は中身を読まず、宛名だけを見て運びます。この「役割分担」のおかげで、道路が舗装から高速道路に変わっても、あなたの手紙の書き方は変わりません。
層を分ける最大の利点は独立性です。ある層の技術が新しくなっても、他の層に影響しません。たとえば物理的な回線が銅線から光ファイバーに変わっても、その上でやり取りされるWebページの仕組みは一切変える必要がありません。逆に、Wi-Fiでも有線LANでも、上位のアプリは同じように動きます。この「差し替え可能な部品の積み重ね」という考え方は、コンピュータの世界のあらゆる場所に現れます(第1章のキャッシュ階層、第13章の仮想化なども同じ発想です)。
8.3 OSI参照モデル — 通信を7つの階層で整理する
OSI参照モデルは、ネットワーク通信の役割を7つの層に分けて整理した、世界共通の「地図」です。実際の通信をそのまま実装したものではなく、通信を理解し議論するための「ものさし」として使われます。IT部門で「これはレイヤー2の問題だ」「L4で止まっている」といった会話が出てくるのは、このモデルが共通言語になっているからです。
| 層 | 名前 | 役割(何を担当するか) | 身近な例・機器 |
|---|---|---|---|
| 第7層 | アプリケーション層 | 人が使うサービスの言葉を扱う | HTTP、メール、DNS |
| 第6層 | プレゼンテーション層 | データの表現形式・文字コード・暗号化 | 文字コード変換、TLS |
| 第5層 | セッション層 | 通信の開始・維持・終了の管理 | ログインセッション |
| 第4層 | トランスポート層 | 相手のどのアプリへ、確実に届けるか | TCP、UDP、ポート番号 |
| 第3層 | ネットワーク層 | 別のネットワークへ、宛先まで運ぶ | IPアドレス、ルーター |
| 第2層 | データリンク層 | 同じネットワーク内で隣へ渡す | MACアドレス、スイッチ |
| 第1層 | 物理層 | 電気・光・電波の信号として送る | LANケーブル、電波、コネクタ |
下の層ほど「物理的・機械的」で、上の層ほど「人間に近い」ことに注目してください。第1層はただの信号、第7層は私たちが直接触れるアプリです。データを送るときは第7層から第1層へと下り、受け取るときは第1層から第7層へと上がっていきます。
上から順に「アプリ・プレゼン・セッション・トランス・ネット・データ・物理」。第3〜4層(ネットワーク層・トランスポート層)は、IPアドレスやTCP/UDPという実務で毎日触れる主役なので、まずここをしっかり押さえましょう。第9章はネットワーク層(IP)、第11章はアプリケーション層(HTTPなど)を掘り下げます。
8.4 TCP/IPモデル — 実際に使われている4階層
OSIモデルは理解のための地図ですが、現実のインターネットはTCP/IPモデルという、もっとシンプルな4階層の仕組みで動いています。OSIの7層を実務向けにまとめ直したものと考えてください。両者の対応は次のとおりです。
| TCP/IPモデル(実際) | 対応するOSI層 | 代表的なプロトコル |
|---|---|---|
| アプリケーション層 | 第5〜7層 | HTTP、HTTPS、DNS、SMTP、SSH |
| トランスポート層 | 第4層 | TCP、UDP |
| インターネット層 | 第3層 | IP、ICMP |
| ネットワークインターフェイス層 | 第1〜2層 | イーサネット、Wi-Fi |
プロトコルとは、通信のための「約束事(手順や決まり)」のことです。相手と同じプロトコルを話せなければ通信は成立しません。人間が会話するのに共通の言語が必要なのと同じです。「TCP/IP」という名前は、この体系の中で特に重要な2つのプロトコル、TCP(トランスポート層)とIP(インターネット層)から取られています。
8.5 パケットとカプセル化 — データはどう包まれて送られるか
ネットワークを流れるデータは、そのまま一気に送られるのではなく、パケットという小さな単位に分割されて送られます。大きなファイルも、細切れのパケットに分けて送り、受け取った側で組み立て直します。道路が渋滞しても小さな荷物なら回り道でき、途中で1つ壊れてもその1つだけ送り直せばよい——分割にはこうした利点があります。
各パケットは、下の層へ降りるたびに、その層が必要とする情報(ヘッダ)を前に付け足されていきます。これをカプセル化といいます。手紙を封筒に入れ、その封筒をさらに宅配便の箱に入れ、その箱を配送伝票付きのパレットに載せる——という入れ子のイメージです。
| 層 | 付け足す情報(ヘッダ) | 包んだ後の呼び名 |
|---|---|---|
| アプリケーション層 | —(元のデータ本体) | データ |
| トランスポート層 | ポート番号など(TCP/UDP) | セグメント |
| インターネット層 | 送信元・宛先IPアドレス | パケット |
| ネットワークインターフェイス層 | 送信元・宛先MACアドレス | フレーム |
受け取った側は、逆に一枚ずつ包みを開けながら上の層へ渡していきます(非カプセル化)。各層のヘッダは、その層の担当者への「指示書」だと考えると分かりやすいでしょう。IPアドレスはネットワーク層への指示、ポート番号はトランスポート層への指示、というわけです。
8.6 TCPとUDP — 確実さのTCP、速さのUDP
トランスポート層には、性格の異なる2つの主役、TCPとUDPがいます。どちらも「相手のアプリまでデータを届ける」役目ですが、そのやり方が対照的です。
| TCP | UDP | |
|---|---|---|
| ひとことで | 確実さ重視(書留郵便) | 速さ重視(はがき・放送) |
| 接続 | 事前に接続を確立してから送る | 接続せず、いきなり送る |
| 届いたか確認 | する(確認応答・再送あり) | しない(届かなくても放置) |
| 順序 | 順番どおりに組み立て直す | 順序は保証しない |
| 速さ | やや遅い(手続きが多い) | 速い(手続きが少ない) |
| 主な用途 | Web、メール、ファイル転送 | 動画・音声通話、DNS、オンラインゲーム |
TCPが接続を確立するときに行うのが、有名な3ウェイハンドシェイクです。3回のやり取りで「送りますよ」「いいですよ」「では始めます」と互いに確認してから通信を始めます。
クライアント ──[1] SYN(接続したい)──────────▶ サーバー
クライアント ◀─[2] SYN+ACK(いいですよ・了解)── サーバー
クライアント ──[3] ACK(では始めます)─────────▶ サーバー
↓
接続確立。以降データをやり取り
この後もTCPは、データが届くたびに「受け取りました(ACK)」を返し、返事が来なければ再送します。だから多少回線が不安定でも、Webページやファイルは欠けずに届くのです。一方UDPは確認をしないぶん高速で、多少データが欠けても困らない動画配信や音声通話に向いています。「1フレーム落ちても通話は続けたい」——そんな用途にはUDPが最適なのです。
ポート番号 — どのアプリ宛てかを示す番号
1台のコンピュータでは、Webブラウザ・メールソフト・ビデオ会議など複数のアプリが同時に通信しています。届いたデータを「どのアプリに渡せばよいか」を区別するのがポート番号です。IPアドレスが「建物の住所」なら、ポート番号は「部屋番号」にあたります。よく使われる代表的なポートは覚えておくと実務で役立ちます。
| ポート番号 | プロトコル | 用途 |
|---|---|---|
| 22 | SSH | サーバーへの安全な遠隔ログイン(第11章) |
| 25 | SMTP | メールの送信(第11章) |
| 53 | DNS | 名前解決(第10章) |
| 80 | HTTP | Web(暗号化なし) |
| 443 | HTTPS | Web(TLSで暗号化) |
ブラウザで https://example.com を開くと、宛先IPアドレスの443番ポートに向けてTCP接続が張られます。「サーバーのどのサービスと話すか」がポート番号で決まる、と覚えておきましょう。
8.7 MACアドレスとIPアドレス — 物理の住所と論理の住所
データを宛先まで届けるには「住所」が要ります。ネットワークには2種類の住所があり、この違いは第9章以降を理解する土台になります。
| MACアドレス | IPアドレス | |
|---|---|---|
| 性質 | 物理的な住所(機器に固定) | 論理的な住所(状況で変わる) |
| 担当する層 | データリンク層(第2層) | ネットワーク層(第3層) |
| 役割 | 同じネットワーク内で隣へ渡す | 別のネットワークをまたいで届ける |
| 例 | 00-1A-2B-3C-4D-5E | 192.168.1.10 |
| たとえ | 機器そのものの製造番号 | 今いる場所の住所 |
MACアドレスは、ネットワーク機器(NIC、第1章参照)に製造時に割り当てられた、原則として変わらない固有の番号です。同じLANの中で「隣の機器へ渡す」ときに使われます。一方IPアドレスは、ネットワーク上の「今いる場所」を表す住所で、つなぐ場所によって変わります。引っ越すと住所が変わるのと同じで、会社のLANと自宅のWi-Fiでは別のIPアドレスになります。遠くのネットワークまで届ける「宛先」はIPアドレスが担います。MACアドレスとIPアドレス、サブネットの詳しい話は第9章で扱います。
層に分けて考える発想は、セキュリティでもそのまま武器になります。攻撃も防御も「どの層で起きているか」で整理できるからです。たとえば、通信を暗号化するTLS(第11章、HTTPS)はトランスポート層とアプリケーション層の間で働き、盗み見(盗聴)を防ぎます。ファイアウォールは主にネットワーク層〜トランスポート層で「どのIP・どのポートの通信を通すか」を制御します。DDoS攻撃も、回線をあふれさせるもの(下位層)か、アプリを疲弊させるもの(上位層)かで対策が変わります。「この問題はどの層の話か?」と切り分ける習慣は、トラブル対応(第9章のpingによる切り分け)でも、防御設計(🛡️ セキュリティ中級・上級コース第6章のネットワーク防御)でも、あなたを助けてくれます。層という共通言語を持つこと自体が、実務の第一歩です。
まとめ
- ネットワークはコンピュータ同士をつなぐ仕組み。狭い範囲がLAN、広い範囲がWAN(インターネット)
- 通信は役割を「層」に分けて整理する。層は独立していて差し替えができる
- OSI参照モデルは7階層の共通の地図、TCP/IPモデルは実際に使われる4階層
- データはパケットに分割され、各層でヘッダを付けられて(カプセル化)送られる
- TCPは確実さ重視(3ウェイハンドシェイク・再送)、UDPは速さ重視。宛先アプリはポート番号で区別する
- MACアドレスは物理の住所(同じLAN内)、IPアドレスは論理の住所(ネットワークをまたぐ)
練習問題
「動画のビデオ通話ではUDP、Webページの表示ではTCPが主に使われる」のはなぜでしょうか。両者の性質の違いから説明してください。
解答を見る
TCPは届いたかを確認し、欠けたデータを再送するため確実ですが、そのぶん手続きが多く遅れが生じます。Webページは1文字でも欠けると正しく表示できないため、確実さを優先してTCPが向いています。一方ビデオ通話は、多少データが欠けても会話は続けたく、それより遅延の少なさが重要です。再送を待って映像が固まるより、少しくらい乱れても今の映像を届けるほうがよいので、確認や再送をしない高速なUDPが向いているのです。
ブラウザで https://example.com を開いたとき、あなたのPCが送るパケットには「宛先IPアドレス」と「宛先ポート番号443」が含まれています。この2つはそれぞれ何を決めているか、住所のたとえで説明してください。
解答を見る
宛先IPアドレスは「どのコンピュータ(サーバー)へ届けるか」を決めます。これは建物の住所にあたります。宛先ポート番号443は「そのサーバーのどのサービス(アプリ)と話すか」を決めます。これは建物の中の部屋番号にあたり、443はHTTPS(暗号化されたWeb)の部屋です。つまり「example.comという建物の、Webサービスの部屋(443)を訪ねる」という指定になっています。IPアドレスがネットワーク層、ポート番号がトランスポート層の担当である点も押さえましょう。
「LANケーブルを光ファイバーに張り替えたが、Webサイトの表示方法(HTML)は何も変えなくてよかった」。これはネットワークのどんな考え方のおかげでしょうか。
解答を見る
通信を層に分けているおかげです。LANケーブルや光ファイバーは物理層(第1層)の話、HTMLはアプリケーション層(第7層)の話で、両者は独立しています。ある層の技術を差し替えても、他の層に影響しないよう設計されているため、物理的な回線が変わっても上位のWebの仕組みはそのまま使えます。これが「層に分ける」ことの最大の利点(独立性・差し替え可能性)です。