コバヤシクエストLv5③〜TCP/IPモデル インターネット層〜

皆様こんにちは。
本日は、前回の続きでTCP/IPモデルのインターネット層を見てまいります。

インターネット層 総論

皆様は、普段メールを送信したりYouTubeで動画を見たりと、様々なデータの送受信を行っていると思います。
皆様がサーバーに対して動画データの送信をリクエストしても、どのルートで、またどのデバイスに対して、データを送信するのかを特定できなければ、YouTubeを見ることはできません。
その送受信を確実に行うための通信方法や中継方法を定めたプロトコルが、インターネット層でのルールとなります。

以下個別にインターネット層のプロトコルを見てまいります。

IPの仕組み

まず、そもそもIP(Internet Protocol)とは、ネットワーク上でデータを届けるための基本ルール(Protocol)を意味します。

たとえば、スマホでYouTube動画を見るとき、動画データは小さく分けられて送られてきます(下記のIPパケットの構造参照)。
IPはそれらを正しい相手に届けるための住所指定を行う役割を担います。この住所が前回も少し触れた「IPアドレス」です。

皆様のスマホも、YouTubeのサーバーも、それぞれ固有のIPアドレスを持っており、データの送り先情報をもとに通信が行われます。
IPは、住所であるIPアドレスへデータを届けるための郵便システムとたとえることができます。

大きいデータを小分けにするイメージ

IPパケットの構造

通信データは、「IPパケット」と呼ばれる単位に分けて送信されます。
これは、荷物を送るときに小分けにするようなもので、送り先や送り主の情報がついたデータの小包です。
小分けにすることで、多数の利用者の回線利用を可能にすることに加えて、送信エラーとなったパケットのみ再送信し通信回線の利用効率を高めることもできます(パケット交換方式)。

そしてIPパケットには大きく2つの部分があります。
1つは「ヘッダー」と呼ばれる住所ラベルのような部分で、送信元IPアドレスや宛先IPアドレスなどのさまざまな情報が含まれます。
もう1つは「ペイロード」(データ)と呼ばれる部分で、実際に送りたい内容、つまり動画の一部やメール本文などの中身が入っています。

パケット構造:出典Geeks forGeeks
https://www.geeksforgeeks.org/tcp-ip-packet-format/

そして、小分けに届いたパケットが受信側で再構成され、元のデータとして表示されます。

IPアドレス

IPアドレスは、インターネット上の機器一つひとつに割り当てられる「住所」です。
IPv4という形式では、たとえば「192.168.0.1」のように、0〜255の数字をドットで4つ区切った形をしています。

このIPアドレスは、「ネットワーク部」と「ホスト部」に分けられ、ネットワーク部はどのネットワークに属しているかを示し、ホスト部はそのネットワーク内のどの機器かを特定します。
現実世界に置き換えるなら、「東京都 新宿区 ○○町 1-2-3」がネットワーク部、「101号室」がホスト部とたとえることができます。

このように、データの配送ルール(IP)にしたがって、小分けのデータ(IPパケット)の配送住所を特定し(IPアドレス)、その住所内の具体的なデータ配送機器を識別(MACアドレス、ARP機能)することで、私たちは動画を見ることができています。

そして住所のような役割を果たすIPアドレスには、自宅等のLANの内側で利用されるものと外側で利用されるものの2種類があります。

グローバルIP

グローバルIPは、世界にひとつしかない「重複のないアドレス」です。
これはインターネットに直接接続される機器に割り当てられるIPで、他の誰とも重複しないように管理されています。

自宅や会社のルーターが、このグローバルIPを持ち、LANの外の世界との橋渡し役をしています。
スマートフォンで検索をしたときに皆様の家のLANから出ていく通信には、このグローバルIPが使われています。

プライベートIP

自宅でYouTubeを見るには、自宅内のどのデバイスが動画データを受信するのかを特定しなければなりません。
特定のLANの中だけで利用されるIPをプライベートIPと言います。

プライベートIPは、グローバルIPとは異なり世界で一意のものではなく、他のLANにおいて重複し得ます。
なぜなら、それぞれのLAN内でデータの送信先を識別できれば足りるからですね。

NAT(Network Address Translation)は、LAN内のプライベートIPアドレスをインターネットなどの外部ネットワークと通信するために、グローバルIPアドレスへ変換する技術です。

このNATの中でも、複数のプライベートIPからの通信を、1つのグローバルIPとポート番号に変換して外部と通信させる手法をNAPT(Network Address Port Translation)と呼び、Linuxなどではこれを「IPマスカレード」と呼ぶことがあります。

最後に関連知識ですが、LAN内でプライベートIPを割り当てる仕組みを、DHCP(Dynamic Host Configuration Protocol)と言います。


さて本日はインターネット層を見てまいりました。
IP、グローバルIP、プライベートIP、NATとたくさんの単語が出てきました。

NATはグローバルIPとプライベートIPの変換機能を、前回触れたARPはIPアドレスからMACアドレスを割り当てる機能を持ちます。
それぞれ比較をしながら記憶をすることが重要ですね。
ご覧いただきありがとうございました。

小林大洸

タイトルとURLをコピーしました