インターネットはどうやってデータを届けるの? パケットとルータ
インターネットでは、データを「パケット」という小さなかたまりに分けて送ります。各パケットには宛先の番号(IPアドレス)が書かれ、途中の「ルータ」という機器が、それを見て次々に中継します。届いたパケットは受け取った側で順番どおりに並べ直され、元のデータに戻ります。
この記事でわかること
- Webページを開いたとき、裏で起きていることの順番
- パケット・IPアドレス・ルータが、それぞれ何をしているか
- 通信の仕事を4つの「層」に分けて考える理由
- 何台もの機器を経由するのに速い理由と、待ち時間が生まれるところ
前提知識: 特にありません。スマホでWebページを見たことがあれば十分です。
身近なところでは
スマホでニュースのリンクをタップすると、多くの場合、数秒もかからずにページが表示されます。そのデータは、どこか遠くのコンピュータから届いています。このように、求めに応じてデータを渡すコンピュータを「サーバ」と呼びます。
この記事では、Webページを1つ開くときに裏で起きていることを、順番に見ていきます。大まかな流れは次のとおりです。
- サイトの名前(例: www.example.com)から、サーバの番号を調べる
- サーバとの間で、やり取りを始める準備をする
- 「このページをください」という依頼を送る
- ページのデータが、たくさんのかたまりに分かれて届く
- スマホの側で組み立て直し、画面に表示する
データは「パケット」に分けて送る
インターネットでは、写真もページの文章も、0と1の並びとして送ります。大きなデータは、一続きのままでは送りません。小さなかたまりに切り分けて、1つずつ送ります。このかたまりをパケットと呼びます。
パケットの先頭には、宛先や送り主の番号などを書いた部分がつきます。これを「ヘッダ」と呼びます。受け取った側は、ヘッダを手がかりにかけらを集め、元のデータに組み立て直します。
1つのパケットの大きさには上限があります。家庭の有線LANやWi-Fiでは、ふつう1,500バイトまでです(1バイトは0と1を8個並べた量)。1MB(100万バイト)の写真なら、約700個のパケットに分かれる計算です。
わざわざ切り分ける理由は、主に2つあります。1つは、1本の回線を大勢で分け合えることです。小さなパケットなら、いろいろな人の通信を少しずつ交互に流せます。もう1つは、途中で一部が失われても、そのかけらだけを送り直せばよいことです。
昔の固定電話は、逆の考え方でした。通話のあいだ、相手までの回線をまるごと確保します。話していない時間も、その回線はほかの人には使えません。データを分けて回線を分け合う方式は1960年代に考え出され、インターネットの土台になりました。
IPアドレス: パケットの宛先になる番号
パケットの宛先には、相手の機器を表す番号を書きます。この番号をIPアドレスと呼びます。スマホもパソコンもサーバも、インターネットにつながる機器にはIPアドレスが割り当てられます。
広く使われている形式では、IPアドレスを「192.0.2.10」のように書きます。0〜255の4つの数を、点で区切った形です。0と1で表すと32けたなので、作れる番号は約43億通りしかありません。これでは世界の機器の数に足りないため、けたを大きく増やした新しい形式(IPv6)への切り替えが進んでいます。違いは「IPv4とIPv6の違い」で表にまとめています。
IPアドレスを使って、パケットを相手まで届ける決まりごとをIPと呼びます。IPは、パケットを宛先に向けて送り出すことに専念します。届いたかどうかの確認は、IPの仕事ではありません。
ルータが「次の行き先」だけを選んで運ぶ
インターネットは、たくさんの小さなネットワークをつなぎ合わせたものです。家のネットワーク、会社のネットワーク、通信会社のネットワークなどがあります。ネットワークの境目にいて、パケットを隣のネットワークへ受け渡す機器をルータと呼びます。
ルータは、届いたパケットのヘッダから、宛先のIPアドレスを読みます。そして、自分の持つ表と照らし合わせて、隣のどのルータに渡すかを決めます。この表を経路表と呼びます。経路表には「この範囲の番号なら、あちらの隣へ」という対応が書かれています。
大切なのは、どのルータも相手までの道順の全部は知らない、という点です。知っているのは「次にどこへ渡せばよいか」だけです。送る前に道順を全部決めておくのではありません。パケットはルータからルータへ、バケツリレーのように運ばれます。
経路表は、ルータどうしが情報を交換して、自動的に作り直されます。どこかの回線が故障すると、その道を避けるように書き換わります。同じ相手へのパケットは、ふだんはほぼ同じ道を通ります。それでも、通信の途中で道が変わることがあり、そのあともパケットは届き続けます。
仕事を4つの「層」に分けて考える
ここまでの話には、いくつもの仕事が混ざっていました。隣の機器まで信号を届ける仕事、遠くの相手まで道を探す仕事、取りこぼしを防ぐ仕事などです。インターネットでは、こうした仕事を「層」に分けて、層ごとに通信の決まりごとを定めています。この決まりごとを「プロトコル」と呼びます。
層は、一般に次の4つで説明されます(TCP/IPの4階層と呼ばれます)。表では、上の層ほどアプリに近く、下の層ほど電波やケーブルに近くなります。
| 層 | 主なプロトコル | 受け持つ仕事 |
|---|---|---|
| アプリケーション層 | HTTP・HTTPS、DNS | ブラウザとサーバが交わす会話の中身 |
| トランスポート層 | TCP・UDP | 取りこぼしや順番の乱れを直す(TCP) |
| インターネット層 | IP | ネットワークをまたいで相手まで届ける |
| リンク層 | Wi-Fi・イーサネット | 隣の機器まで、電波や電気・光の信号で運ぶ |
いちばん下のリンク層は、つながっている隣の機器まで運ぶだけです。スマホのWi-Fiなら、家のルータまでが受け持ちです。その先はイーサネット(有線LANの規格)や光ファイバの回線で、また次の機器まで運ばれます。
いちばん上で、Webページのやり取りを決めているのがHTTPです。「このページをください」「はい、どうぞ」という会話の形を定めています。その会話を、下の層が順に引き受けて相手まで運びます。
層に分けると、ある層を入れ替えても、ほかの層はそのまま使えます。例えば、Wi-Fiを有線LANに替えても、ブラウザやIPを作り直す必要はありません。
資格試験の勉強では、同じ考え方を7つの層で整理したOSI参照モデルもよく出てきます。分け方が細かいだけで、「仕事ごとに層に分ける」という考え方は同じです。おおまかには、リンク層(ネットワークインタフェース層とも呼びます)がOSIの第1〜2層、インターネット層が第3層です。トランスポート層は第4層、アプリケーション層は第5〜7層です。
DNS: 名前から番号を調べる
人はサイトを「www.example.com」のような名前で覚えます。しかし、パケットの宛先に書けるのは番号(IPアドレス)です。そこで、名前を番号に変えるしくみを使います。これをDNS(ドメインネームシステム)と呼びます。
ブラウザは、まずDNSのサーバに「この名前の番号は?」と問い合わせます。答えをもらって、ようやくページのサーバにパケットを送れます。冒頭の流れの1番がこれです。答えはしばらく覚えておくので、毎回聞き直すわけではありません。
TCPとUDP: 確実さを取るか、身軽さを取るか
IPは、パケットを送り出すところまでが仕事です。途中で混みすぎたルータがパケットを捨てることも、到着の順番が入れ替わることもあります。それでもWebページが欠けずに表示されるのは、TCPという決まりごとのおかげです。
TCPでは、送る側がデータに通し番号をつけます。受け取った側は「ここまで届きました」と返事を送ります。返事が来ない分は、送る側がもう一度送ります。受け取った側は、番号を見て正しい順に並べ直します。
また、TCPはデータを送り始める前に、相手と短いあいさつを交わして準備をします。冒頭の流れの2番がこれです。このあいさつに、1往復分の時間がかかります。
もう一方のUDPは、番号の管理や送り直しをせず、パケットを送りっぱなしにします。手順が少ない分、待ち時間を短くできます。ビデオ通話や対戦ゲームのように、遅れて届くデータより「今」のデータが大事な用途で使われます。DNSの問い合わせにも、主にUDPが使われます。
新しいHTTP/3では、UDPの上にQUICという決まりごとを重ね、送り直しなどをQUICが受け持ちます。違いは「TCPとUDPの違い」と「HTTP/1.1・HTTP/2・HTTP/3の違い」で表にまとめています。
家のルータと、番号の書き換え(NAT)
家のWi-Fiの機器は、多くの場合、Wi-Fiの親機とルータを1台にまとめたものです。家の中のスマホやパソコンには、家の中だけで通じる番号が配られます。「192.168.」で始まる番号が多く使われます。この番号のままでは、インターネットの向こうから返事を送れません。
そこで、外へ出るパケットの送り主の番号を、家のルータがインターネット用の番号に書き換えます。ルータはどの通信がどの機器のものかを控えておき、返ってきたパケットを元の番号に戻して届けます。この書き換えをNATと呼びます。約43億個しかない番号を、多くの機器で分け合うための工夫です。
HTTPSと鍵マーク
途中の機器は、パケットの中身を読もうと思えば読めてしまいます。そこで、鍵を持つ相手にしか元に戻せない形にデータを変えてから送ります。これを「暗号化」と呼びます。
Webのやり取りを暗号化して送る方式がHTTPSです。HTTPSでは、通信の相手が本物のサーバかどうかも確かめます。
そのためにサーバは、「証明書」という電子的な身分証を示します。証明書は、信頼された発行機関が、サイトの名前の持ち主を確かめて保証したものです。ブラウザは、その保証を確かめてから通信を始めます。
アドレス欄の鍵マークは、この確認と暗号化ができていることを表してきました。ただし、鍵マークは「運営者が信頼できるサイト」という意味ではありません。だましサイトでも証明書は取れるからです。Chromeは2023年のバージョン117から、この誤解を避けるため、鍵マークを別のアイコンに替えています。
何台も経由するのに、なぜ速いのか
長い距離の通信には、主に光ファイバが使われます。光ファイバは、髪の毛ほどの細いガラスの線に光を通して、信号を送るケーブルです。その中を光は1秒に約20万km進みます。真空中の光の速さ(約30万km)の、およそ3分の2です。
1kmあたりにすると、約5マイクロ秒(1マイクロ秒は100万分の1秒)です。データを送ってから返事が戻るまでの時間をRTTと呼びます。東京と大阪は直線で約400kmなので、RTTは最短でも約4ミリ秒(1ミリ秒は1000分の1秒)です。実際のケーブルは直線ではないので、道のりはもっと長くなります。
東京とロサンゼルスは、地球の表面に沿った最短距離で約8,800kmです。光ファイバで往復すると、距離だけで約88ミリ秒かかります。米国の通信会社Verizonの公表値では、両都市の拠点の間の往復は、2026年初めの月平均で約110ミリ秒でした。差の約20ミリ秒は、ケーブルの遠回りと、途中の機器での処理や順番待ちによるものです。
ルータでの処理は、混んでいなければ短時間で済みます。遠い相手との通信では、待ち時間の大部分は、信号が距離を進む時間です。海を越える通信の大部分は、海底に敷かれた光ファイバのケーブルを通ります。調査会社TeleGeographyは2023年の検証で、大陸の間のデータの99%以上がそうだとしています。
よくある誤解
誤解: 自分とサーバの間に、専用の1本の線がつながっている
実際は、回線は大勢で分け合っていて、自分のパケットはほかの人のパケットと混ざって流れます。道順も前もって決まってはいません。ルータがその場その場で次の行き先を選び、途中で道が変わることもあります。電話の「回線がつながる」というイメージから生まれやすい誤解です。
誤解: Wi-Fiとインターネットは同じもの
実際は、Wi-Fiは、スマホと家のルータ(親機)の間を電波で結ぶしくみにすぎません。その先は、光ファイバなどの回線で通信会社のネットワークにつながっています。だから「Wi-Fiにはつながっているのに、インターネットが使えない」ことが起こります。
誤解: 回線速度の数字が大きいほど、反応も速くなる
実際は、「1Gbps」のような数字は、1秒間に送れるデータの量(帯域)です。返事が戻るまでの時間(RTT)とは別のものです。例えば100KBの小さなデータなら、100Mbpsで約8ミリ秒、1Gbpsで約0.8ミリ秒で送れます。しかし相手が米国にあれば、往復だけで100ミリ秒以上かかります。
このため、小さなやり取りでは、帯域を10倍にしても待ち時間はあまり縮みません。帯域の差がよく効くのは、大きなファイルのダウンロードです(ここではTCPの細かい動きを省いて単純化しています)。計算は「データ転送時間の計算ツール」で試せます。
数字で見る
| 項目 | 数字 | くらべると |
|---|---|---|
| 1つのパケットの大きさ(有線LAN・Wi-Fi) | ふつう最大1,500バイト | 1MBの写真で約700個 |
| IPv4のアドレスの数 | 約43億(2を32回かけた数) | 世界の人口より少ない |
| 光ファイバの中の光の速さ | 約20万km/秒 | 1kmあたり約5マイクロ秒 |
| 東京–大阪(直線約400km)の往復 | 約4ミリ秒 | 距離だけで決まる下限 |
| 東京–ロサンゼルス(最短約8,800km)の往復 | 約88ミリ秒(下限) | 実測は約110ミリ秒(Verizon、2026年初めの月平均) |
| 大陸の間のデータのうち海底ケーブルを通る割合 | 99%以上 | TeleGeographyの検証(2023年) |
「下限」は、光ファイバの中の速さで最短距離を往復した時間です。実際の往復時間は、これより短くはなりません。
もっと詳しく学ぶ
- 違いを表で見る: ハブ・スイッチ・ルータの違い(家や会社のネットワークの機器)
- 計算で試す: IPアドレス・サブネット計算(IPアドレスを「ネットワークの部分」と「機器の部分」に分ける計算)
- 次の一歩の用語: MACアドレス、デフォルトゲートウェイ、DHCP(家のネットワークのしくみ)
- HTTPSをもっと知る: 認証局(証明書を発行する機関)、TLS(HTTPSの暗号化の決まりごと)
- 経路を自分で見る: traceroute(パケットが通ったルータを一覧にするコマンド)
- 土台から読む: サーバもスマホも、中ではCPUが命令を実行しています。「CPUとは?」