LoginSignup
5
2

More than 1 year has passed since last update.

インターネットが繋がる仕組み

Last updated at Posted at 2023-01-03

記事を書いた目的

復習も兼ねて、インターネットが繋がる仕組みについてアウトプットしてみました。
誤りがありましたら、ご指摘いただけると嬉しいです。

目次

前提

インターネットとは

インターネットとは、別々のネットワークに属する機器同士が通信できるような環境のこと。

プロトコル

機器間でデータを通信させるため、「通信の決まりごと」が存在し、その決まりごとに従う必要がある。
仮に、通信の機器間で決まりごとを守れな場合、適切にデータの送受信ができなくなる。
この「通信の決まりごと」をプロトコルと呼ぶ。そして、実際の通信を行う際は、複数のプロトコルを組み合わせ、それらを、通信を行う機器間で一致させる(お互いに同じプロトコルを利用する)ことで、データの送受信(メールの送受信や、WebブラウザでAmazonのショッピングサイトを閲覧するなど)ができるようになる。

OSI参照モデル

通信が実現する際、用いられているプロトコルは一つではなく、複数の組み合わせで成り立っている。
この、「通信行う際の、複数のプロトコルの組み合わせ」の考え方(設計思想)の一つが、OSI参照モデルである。OSI参照モデルでは、プロトコルを7つの階層(第1層〜第7層)で分けて管理している。
OSI参照モデル

TCP/IPモデル

OSI参照モデルのように、7階層もあるような細分化されたモデルだと、通信の仕組みを新たに実装しづらいという背景もあるため、TCP/IPモデルという考え方(設計思想)がある。TCP/IPモデルは4階層で構成されていて、よりシンプルな形で体系づけされている。TCP/IPモデルは、第1層がネットワークインターフェース層、第2層がネットワーク層、第3層がトランスポート層、第4層がアプリケーション層という呼び方で構成されており、それぞれ異なる役割を持ち合わせることで通信が実現する。
TCP/IPモデル

カプセル化

送信したいデータに対して、TCP/IPモデルの階層を上(第4層)から下(第1層)にたどって、
各プロトコルのヘッダを付与する仕組みをカプセル化と呼ぶ。
※ヘッダとは、各階層のプロトコルを正しく機能させる制御情報のことである。

逆カプセル化

データを受信する際、カプセル化されたデータを認識するための仕組みを逆カプセル化と呼ぶ。
具体的な仕組みは、TCP/IPモデルの階層を下(第1層)から上(第4層)にたどって、各プロトコルのヘッダを解除していき、送信元から届いたデータを認識する。

インターネットが繋がる仕組み

とある端末Aによって、ブラウザからAmazonのショッピングサイトを閲覧する場合を想定する。

1.端末Aが、ブラウザで「Amazon.co.jp」を検索

このとき、端末Aは「Amazonのショッピングサイトを見たい!」という内容のデータを、Amazonのショッピングサイトを管理するサーバー(以下Webサーバー)に送信しようとする。

2.端末Aが、送信データをカプセル化

  1. この場合の通信プロコトルは、HTTPプロコトルを用いる。(TCP/IPモデル第4層)
  2. HTTPプロトコルは通信元と通信先での通信を保証するため、TCPを用いる。(TCP/IPモデル第3層)
  3. 宛先ポート番号は、今回の場合HTTPプロトコルを利用しているため、80番を使用する。(TCP/IPモデル第3層)
    • ポート番号とは、プログラムを識別するための番号のこと。今回のようにサイトを表示させたいときは、サイト表示先の80番ポートに対して接続しに行く。
    • たとえば、メールを送信したい場合は、メール送信先の25番ポートに対して接続しに行く。
    • Web接続(HTTPプロトコル)やメール送信(SMTPプロトコル)のようなメジャーなプログラムに対してはあらかじめポート番号は決まっている。
  4. 宛先IPアドレスの情報を取得する。(TCP/IPモデル第2層)
    • 宛先IPアドレスは「Amazon.co.jp」をもとに取得する。
    • 「Amazon.co.jp」のように、人間が組織名を識別するための名前をドメインと呼ぶ。
    • ドメインはIPアドレスと紐づけられている。
    • コンピュータはデータの宛先情報として("Amazon.co.jp"という文字列ではなく)IPアドレスを認識する。ドメインからIPアドレスを割り出す仕組みをDNS(Domain Name System)と呼ぶ。
  5. 送信データの転送先MACアドレス情報を取得する。(TCP/IPモデル第1層)
    • 宛先へデータを届けるため、データの転送先を決める必要がある。(端末AからWebサーバーへ直接データが届けられるわけではない。)
    • 転送先を決めるための情報はMACアドレスである。MACアドレスはIPアドレスと紐づいており、宛先IPアドレスをもとに、次の転送先、次の転送先・・・と、それぞれのMACアドレスを割り出しながら、転送先を都度確定させ、最終的にWebサーバーまで送信データが到達する。

3. 送信データは、ルーターを経由して、Webサーバーが存在するネットワークへ

  • 今回の場合、端末AとWebサーバーは異なるネットワークに存在しているため、ルーターと呼ばれるNW機器を経由してデータが転送される。
  • ルーターはカプセル化された送信データうち、TCP/IPモデル第2層のネットワーク層のヘッダ情報(IPアドレス情報)をもとに、転送先を決めている。

4. Webサーバーが、受信データを逆カプセル化

  1. Webサーバーが、カプセル化されたデータを受信し、それぞれの第1層から順に各階層のヘッダ情報を認識・取り外しながら、最後にデータを認識する。(逆カプセル化)
  2. Webサーバーが、端末Aに対し、第1項で要求されたWebページ(今回の場合Amazonのショッピングサイト)のデータを、第2項と同様の手順で送信する。

5. 端末Aのブラウザ上にAmazonのショッピングサイトが表示

Webサーバーから送信された4−2のデータを、端末Aが逆カプセル化し、ブラウザ上にAmazonのショッピングサイトが表示される。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2