はじめに
リンクを押してからWebページが表示されるまでをOSI参照モデルにあてはめて理解するために書きました。
OSI参照モデルのデータの流れ
1. 自分のPC → DNSサーバ
まずドメイン名からIPアドレスを取得するため、DNSサーバに問い合わせます。
①送信側(自分のPC)での流れ
層の名前 | 役割 |
---|---|
アプリケーション層 | ブラウザが「www.〇〇.comのIPアドレスは?」のメッセージを作成 |
プレゼンテーション層 | DNSへは通常、暗号化や翻訳が要らないのでほぼ素通り |
セッション層 | セッション(同じ相手とのやり取り)を開始 |
トランスポート層 | UDPを使う |
ネットワーク層 | 宛先DNSサーバと自分のIPアドレスを書く |
データリンク層 | 宛先DNSサーバと自分のMACアドレスを書く |
物理層 | 電気や光信号に変換しケーブルやWi-Fiを通ってインターネット上に送り出す |
②受信側(DNSサーバ)での流れ
層の名前 | 役割 |
---|---|
物理層 | 電気や光信号にが届く |
データリンク層 | DNSサーバのMACアドレスを確認 |
ネットワーク層 | DNSサーバのIPアドレスを確認 |
トランスポート層 | UDPヘッダの中のポート番号を確認 |
セッション層 | セッション(同じ相手とのやり取り)を管理 |
プレゼンテーション層 | DNSへは通常、暗号化や翻訳が要らないのでほぼ素通り |
アプリケーション層 | メッセージ内容を読み、www.〇〇.comのIPアドレスを用意する |
2. DNSサーバ → 自分のPC
DNSサーバからドメイン名に対応するIPアドレスを受け取ります。
①送信側(自分のPC)での流れ
層の名前 | 役割 |
---|---|
アプリケーション層 | 「www.〇〇.comのIPアドレスはxxx.xxx.xx.xxだよ」のメッセージを作成 |
プレゼンテーション層 | DNSへは通常、暗号化や翻訳が要らないのでほぼ素通り |
セッション層 | セッション(同じ相手とのやり取り)を管理 |
トランスポート層 | UDPを使う |
ネットワーク層 | 宛先DNSサーバと自分のIPアドレスを書く |
データリンク層 | 宛先DNSサーバと自分のMACアドレスを書く |
物理層 | 電気や光信号に変換しケーブルやWi-Fiを通ってインターネット上に送り出す |
②受信側(DNSサーバ)での流れ
層の名前 | 役割 |
---|---|
物理層 | 電気や光信号にが届く |
データリンク層 | MACアドレスを確認 |
ネットワーク層 | IPアドレスを確認 |
トランスポート層 | UDPヘッダの中のポート番号を確認 |
セッション層 | セッション(同じ相手とのやり取り)を管理 |
プレゼンテーション層 | DNSへは通常、暗号化や翻訳が要らないのでほぼ素通り |
アプリケーション層 | メッセージ内容を読む |
3. 自分のPC → Webサーバ
次にHTMLファイルを取得するため、Webサーバに問い合わせます。
①送信側(自分のPC)での流れ
層の名前 | 役割 |
---|---|
アプリケーション層 | 「トップページのHTMLファイルをください」のメッセージを作成 |
プレゼンテーション層 | HTTPSで暗号化 |
セッション層 | セッション(同じ相手とのやり取り)を開始 |
トランスポート層 | TCPを使う |
ネットワーク層 | 宛先Webサーバと自分のIPアドレスを書く |
データリンク層 | 宛先Webサーバと自分のMACアドレスを書く |
物理層 | 電気や光信号に変換しケーブルやWi-Fiを通ってインターネット上に送り出す |
②受信側(Webサーバ)での流れ
層の名前 | 役割 |
---|---|
物理層 | 電気や光信号が届く |
データリンク層 | WebサーバのMACアドレスを確認 |
ネットワーク層 | WebサーバのIPアドレスを確認 |
トランスポート層 | TCPヘッダの中のポート番号を確認 |
セッション層 | セッション(同じ相手とのやり取り)を管理 |
プレゼンテーション層 | 暗号化されているメッセージを復号化 |
アプリケーション層 | メッセージ内容を読み、HTMLファイルを用意する |
4. Webサーバ → 自分のPC
WebサーバからHTMLファイルを受け取ります。
①送信側(Webサーバ)での流れ
層の名前 | 役割 |
---|---|
アプリケーション層 | HTMLファイルを用意しHTTPレスポンスを作成 |
プレゼンテーション層 | HTTPSで暗号化 |
セッション層 | セッション(同じ相手とのやり取り)を管理 |
トランスポート層 | TCPを使う |
ネットワーク層 | 宛先と自分のIPアドレスを書く |
データリンク層 | 次のルータなどの機器のMACアドレスと、自分のMACアドレスを書く |
物理層 | 電気や光信号に変換しケーブルやWi-Fiを通ってインターネット上に送り出す |
②受信側(自分のPC)での流れ
層の名前 | 役割 |
---|---|
物理層 | 電気や光信号にが届く |
データリンク層 | MACアドレスを確認 |
ネットワーク層 | IPアドレスを確認 |
トランスポート層 | TCPヘッダの中のポート番号を確認 |
セッション層 | セッション(同じ相手とのやり取り)を管理 |
プレゼンテーション層 | 暗号化されているメッセージを復号化 |
アプリケーション層 | HTMLファイルを受け取る |
まとめ
読んでいただきありがとうございます。
次回は各層の詳細をまとめていきたいと思います。
参考文献