前回の記事ではネットワークについて見てきた。
ところで、LANから送り出されたデータはどこを目指して旅をしているのだろうか?
今日はこの疑問に答えるべく、「IPアドレス」を、身近な感覚で説明していこう!
(なお、今回の説明では分かりやすさ重視のためMACアドレスの話は割愛して説明している。気になる人は別途QAコーナーを設ける予定なのでそちらを見てほしい)
目次
🏠 LANの中の通信ってどうなってるの?
家の中のスマホやパソコン、プリンタ、テレビなどは、同じ LAN(Local Area Network) に参加している。これは前回まで話してきた通りだ。
各電子機器は「住所」が分かればお互いに通信ができる。郵便のイメージだね。
この住所のことを IPアドレス と呼び、LAN内で使うものを特に プライベートIPアドレス と呼ぶ。
そして、このプライベートIPアドレスは、LANに参加するときに主に ルータ君 が割り当ててくれる。(この仕組みを DHCP(Dynamic Host Configuration Protocol:動的ホスト構成プロトコル) と呼ぶ)
お互いに住所(プライベートIPアドレス)が分かれば、誰に何をしてほしいか伝えることができるというわけだ。
Яei
図1👇:LANへの参加とプライベートIPアドレスの割り当て

図2👇:LANに参加した状態

この図で分かる通り、ネットワークがつながっていて、住所が分かっている状態。お互いに通信が可能な状態になるんだ。
🌐 IPアドレス足りない問題!
あなたの自宅にはネットにつないでいる電子機器は何台あるだろうか?筆者宅では10台あった。
一般家庭だけでもこれだけあるので、企業では何百、何千、何万とその数は増えていく。世界レベルでは…想像もつかないほどだ。
つまり、各機器に世界で一意なIPアドレスを割り当てていたら、いくらあっても足りない問題が起きる。
そこで、LANの外で通信する場合は、ルータ君の住所を代表して使うことになっている。このIPアドレスを グローバルIPアドレス と呼ぶ。
Яei
🌐 LANの外に出るにはどうなっているの?
家のLANを飛び出してインターネットにアクセスするには、世界で一つだけの グローバルIPアドレス が必要だ。
プライベートIPアドレスとグローバルIPアドレスの変換は、ルータ君の NAT(Network Address Translation) という機能が担っている。
ここで出てくる ポート番号 は、IPアドレスが家の住所なら、部屋番号のイメージ。
スマホのIPアドレス=家の住所、スマホ内のアプリ(パズドラ・メール・LINEなど)=部屋番号(ポート番号)
図1👇:パズドラアプリで通信

君のスマホアプリ「パズドラ」のログイン押下!スマホから送られたデータはルータ君のデフォルトゲートウェイを通ってパズドラサーバへの旅の始まり始まり。
図2👇:NAT変換でプライベートIPアドレスをグローバルIPアドレスに変換!

ルータ君はスマホのプライベートIPアドレス(とポート番号)をグローバルIPアドレスに変換する。この時に、スマホのパズドラからの依頼だと分かるように192.168.1.70:54321をポート番号40001と紐づけて管理しておいてくれる。
図3👇:ルータとパズドラサーバのやり取り

NAT変換されたグローバルIPアドレスを使ってルータ君はパズドラサーバとやり取りを行う。
返ってきた後の処理は逆の流れとなる。
まとめ:LAN、IP、ポート番号、NATの関係
今回の内容を整理するとこうなる。
| 用語 | 役割 | イメージ |
|---|---|---|
| MACアドレス | 機器固有の識別番号 | マイナンバー(誰の機器か分かる) |
| プライベートIPアドレス | LAN内での住所 | 家の住所(どの家に届けるか) |
| グローバルIPアドレス | LAN外に出るときの代表住所 | 郵便局に登録された家の住所(世界で一つだけ) |
| ポート番号 | 家の中の部屋番号 | 家の中のアプリやサービスの場所 |
| NAT | プライベートIPをグローバルIPに変換 | 郵便局の仕分け係(どの部屋に届けるか紐付け) |
-
LAN内ではプライベートIPで通信
-
LAN外ではルータ君がNATで変換して、グローバルIPとして外にデータを出す
-
ポート番号でアプリやサービス単位まで特定できる
次回は、この住所システムをさらに便利にする DNS(ドメインネームシステム) について解説予定。
数字の住所(IPアドレス)を、人間に分かりやすい名前に変換してくれる仕組みだ。
DNSを知れば、インターネットの旅がもっとスムーズに理解できるようになるよ!
