🍑あわもり教室🫧 クラウドの「手前」を、ちゃんとやる。 はじめる
SET 0125分

Web通信の通り道と役割

ブラウザからWebサーバーまでの通り道をたどり、通信に使う決まりと役割を学びます。

このレッスンのメニュー

ブラウザでWebサイトを開くと、手元のコンピューターからWebサーバーへ要求が送られます。 Webサーバーが返したページのデータも、ルーターやアクセスポイントを通ってブラウザへ届きます。

このページでは、最初にデータが通る機器を確認します。 そのあとで、機器やソフトウェアがデータを正しく受け渡すための決まりを学びます。

ブラウザからWebサーバーまでの通り道

Wi-Fiを使う場合、手元のコンピューターが送ったデータは、まずアクセスポイントへ届きます。 アクセスポイントは、Wi-Fiでつながる機器を自宅や職場のネットワークへ接続します。

自宅や職場の外へ出るデータは、ルーターへ渡されます。 ルーターは、異なるネットワークの間でデータを次の行き先へ渡す機器です。 インターネット上では複数のルーターがデータを受け渡し、Webサーバーがあるネットワークまで運びます。

ブラウザからOS、アクセスポイント、複数のルーター、Webサーバーへデータが届く流れ
データは機器から機器へ渡され、最後にWebサーバーのプログラムへ届きます。

LAN、WAN、インターネットの関係

自宅、学校、会社の一つの拠点など、限られた範囲で機器をつなぐネットワークをLAN(Local Area Network)と呼びます。 手元のPCとアクセスポイントは、同じLANにつながっています。

離れたLAN同士をつなぐ広いネットワークをWAN(Wide Area Network)と呼びます。 通信事業者の回線や、会社の拠点間ネットワークが例です。

インターネットは、家庭、会社、学校、通信事業者、クラウド事業者などが管理する多数のネットワークを相互につないだものです。 一つの会社が管理する一個のWANではなく、管理者の異なるネットワーク同士が接続されています。

家庭や会社のLANがそれぞれルーターにつながり、通信事業者のWANとインターネットを通してクラウドのネットワークへ接続する図
LANの外へ送るデータはルーターへ渡します。複数のネットワークがつながってインターネットを形作ります。

ブラウザとWebサーバーは、利用者へ見せる内容を扱います。 途中のアクセスポイントやルーターは、その内容を画面に表示せず、データを次へ渡します。

データを受け渡すための決まり

別々に作られたブラウザ、OS、ルーター、Webサーバーが通信するには、データの並べ方や処理の順序を揃える必要があります。 たとえば、宛先をデータのどこへ書くか、受信したデータをどのプログラムへ渡すか、要求と返事をどう表すかを決めておきます。

通信する機器やソフトウェアが共有する、このような決まりをプロトコルと呼びます。 一回のWeb通信では、異なる役割を持つ複数のプロトコルを組み合わせます。

プロトコルこの通信で決めること主に処理するもの
HTTPブラウザが何を求め、Webサーバーが何を返すかブラウザとWebサーバー
TCPデータをどのプログラムへ渡し、欠けたときにどう送り直すか送信側と受信側のOS
IP異なるネットワークを越えて、どの宛先へ運ぶか送受信するOSとルーター
Ethernet、Wi-Fi現在つながっているネットワーク内で、次の機器へどう渡すかOS、アクセスポイント、スイッチなど

Webサーバーへ送るHTTPの要求をTCPで運ぶ場合、ブラウザはHTTPのデータをOSへ渡します。 OSはTCPとIPの処理を行い、ネットワークへ送ります。 ルーターはIPの宛先を使って、データを次のネットワークへ渡します。

受信側では、WebサーバーのOSがTCPとIPを処理します。 OSは受信したHTTPのデータを、待ち受けているWebサーバーのプログラムへ渡します。

通信の役割を層に分ける

Webサイトを開けない原因には、Wi-Fiが切れている、宛先までの経路がない、Webサーバーが要求を受け付けていない、といった違いがあります。 原因によって、確認する機器やソフトウェアも変わります。

通信に必要な役割を上下に分けたものを層(レイヤー)と呼びます。 上の層は利用者やアプリに近い処理を担当し、下の層はデータを信号として送る処理に近づきます。

OSI参照モデルは、通信の役割を七つの層に分けて説明するためのモデルです。 インターネットの説明では、役割を四つほどにまとめたTCP/IPモデルも使われます。

OSI参照モデル役割代表例
7 アプリケーション層アプリ同士がやり取りする内容を決めるHTTP、DNS、SSH
6 プレゼンテーション層データの表し方を揃える文字コード、暗号化
5 セッション層やり取りの開始、維持、終了を扱うセッション管理
4 トランスポート層どのプログラムへ届けるか、欠けたデータを送り直すかを扱うTCP、UDP、ポート番号
3 ネットワーク層異なるネットワークを越えて宛先へ運ぶIP、IPアドレス、経路
2 データリンク層同じネットワークにつながる次の機器へ渡すEthernet、Wi-Fi、MACアドレス
1 物理層ビットを電気、光、電波の信号として送るケーブル、光ファイバー、電波
HTTPのデータへTCP、IP、Ethernetの情報が順に加わる様子と、OSI参照モデルとTCP/IPモデルの対応
層に分けると、通信のどの役割を調べているかを区別できます。

送信するときは各層の情報が加わる

ブラウザはHTTPの要求を作り、OSへ送信を依頼します。 送信側のOSは、TCPのポート番号やIPのアドレスなど、データを運ぶために必要な情報を加えます。 同じネットワークへ送るための情報も加え、ネットワークインターフェースへ渡します。

受信側のOSは外側の情報から順に読みます。 最後に、HTTPの要求を待ち受けているWebサーバーへデータを渡します。

各層が、自分の役割に必要な情報を加える処理をカプセル化と呼びます。 ルーターはIPの情報を使うため、通常はHTTPに書かれたURLを読まずにデータを転送できます。

宛先を指定する四つの情報

通信相手を指定する情報は、使う場所によって異なります。

情報何を指定するか主に使うもの
ホスト名人が識別しやすい接続先の名前ブラウザ、OSの名前解決機能、DNSサーバー
IPアドレスネットワークを越えて届ける接続先送受信するOSとルーター
ポート番号一台のコンピューター内で通信を受け取るプログラムTCPやUDPを処理するOS
MACアドレス現在つながっているネットワーク内の接続先OS、スイッチ、ネットワークインターフェース

https://example.com:443/docsというURLでは、example.comがホスト名、443がポート番号、/docsがWebサーバーへ要求する場所です。 ブラウザはDNSを使い、ホスト名に対応するIPアドレスを調べます。

IPアドレスはネットワークインターフェースに設定されます。 コンピューターを別のネットワークへつなぐと、IPアドレスが変わることがあります。

最初にどこを確認するか

次の現象では、どの機器やソフトウェアから確認するか考えてみましょう。

  1. Wi-Fiの表示が切断になっている
  2. example.comの名前だけ調べられない
  3. 相手のIPアドレスまでは届くが、Webサーバーへ接続できない
  4. Webサーバーから404 Not Foundが返る

一つ目は手元のコンピューターとアクセスポイントの接続を確認します。 二つ目はホスト名をIPアドレスへ対応付けるDNSを確認します。 三つ目はポート番号の待ち受けや通信を許可する設定を確認します。 四つ目はHTTPの要求先とWebサーバーの設定を確認します。

次は、同じLANへ直接送るか、ルーターへ送るかを判断する

このページでは、LANの外へ送るデータをルーターへ渡すところまで確認しました。 次のIPアドレスとルーティングでは、PCが自分と宛先のIPアドレスを比べ、同じLANへ直接送るか、LANの出口にあるルーターへ送るかを決める仕組みを学びます。

このレッスンは完了

このページで扱った流れを確認したら、次の内容へ進みます。