学習背景
AWS関連資格取得のために学習を進めているが、どうしてもネットワーク周りの知識をつける必要がでてきた。
せっかくなので知識の整理もかねて「パソコンでwebサイトを閲覧する」際どういったことが起こっているのか、ほげ太郎くんがネットサーフィンをしている様子を例に①~⑦のステップに分けて徐々に理解できるようまとめてみる。
ある程度、知識が無い人でもわかるように書いたつもりだが、情報を端折っている部分もあるので、気になるワードなどは調べてもらえると!
出てくるワード
- IPアドレス
- グローバルIPアドレス
- プライベートIPアドレス
- ドメイン名
- DNS(ドメインネームサービス)
- ISP(インターネットサービスプロバイダー)
- NAT
- NAPT(IPマスカレード)
①IPアドレス
ある日ほげ太郎くんは思いました。
「よーし、今日もあべひろしのwebサイトでも見るか」
サイトを見るためにはIPアドレス(インターネット上の住所)が分かればよいです。
②ドメイン名
ほげ太郎くんはあべひろしが大好きなのでIPアドレスまで知っていますが普通の人は知りません。
IPアドレスを人間が理解できる形に置き換えたのがドメイン名です。
たとえば、「example.co.jp」というドメイン名では、「example」が3LD、「.co」が2LD、「.jp」がTLDです。
③DNS
しかしドメイン名は人間語なのでコンピュータは理解できません。
そこでDNSサーバさんに頼んで「ドメイン名をIPアドレスに変換(正引き)」してもらいます。
④グローバルIPアドレス
ところであべひろしのサイトはとあるwebサーバ上にあります。
ほげ太郎くんのパソコンから「222.158.205.72」へリクエストを送ると
webサーバはほげ太郎くんのパソコンにレスポンスとしてHTMLを返すのでサイトが見れるわけです。
ただ、webサーバから見るとほげ太郎くんのIPアドレスがないとどこにレスポンスを返せばよいのかが分かりません。
なのでほげ太郎くんのパソコンにもIPアドレスが設定されています。(厳密には違いますが、その話は後述)
これまで出てきたIPアドレスという言葉は全て「グローバルIPアドレス」を指しており、全世界で一意の値です。
⑤ISP
グローバルIPアドレスは数が限られており、ISP(インターネットサービスプロバイダー)が管理しています。
ISPとはNTTやKDDIなどの通信キャリアを指します。
なのでほげ太郎くんが自宅でネットワークを使うためには(グローバルIPアドレスを使うためには)、各種通信キャリア(ISP)と契約する必要があります。
あとはISPが勝手にグローバルIPアドレスを割り振ってくれます。
※ほげ太郎くんのパソコンのグローバルIPアドレスはそのときに空いているものが割り振られるので常に違います
⑥プライベートIPアドレス、NAT
さてグローバルIPアドレスですが、実は直接パソコンに割り振られているわけではありません。
自宅を例に考えてみると、ほげ太郎くんのパソコンには「プライベートIPアドレス」が割り振られおり、
グローバルIPアドレスはルーターに割り振られています。
ネットワークにつなげるためにプライベートIPアドレスがグローバルIPアドレスへの変換が行われているのです。
このグローバルIPアドレスとプライベートIPアドレスを紐付けて変換する技術を「NAT」と言います。
⑦NAPT(IPマスカレード)
おや、ほげ太郎くんの自宅に彼女が遊びにきたようです。
ほげ太郎「今日もあべひろしのサイト見るか」
ほげ美「ネイルサロンの予約しよっと」
どうやら二人は同時にネットサーフィンをするようです。
しかし困ったことにNATでは1つのグローバルIPアドレスで一度にインターネットができるのは1台だけで、複数台のパソコン等でインターネットはできません。
この問題を解決するのが、NAPT(IPマスカレード)です。
NATにポートの概念を持たせたパワーアップ版で、1つのグローバルIPアドレスと複数のプライベートIPアドレスをポート番号を利用してマッピングします。
最後に
自分で調べてまとめてみると理解度がぐっと上がって良いと改めて思った。
DNSの仕組みやLANについては詳しく触れられなかったが、別の機会にまとめたい。
参考
LAN、ISP、インターネット
https://www.soumu.go.jp/hakusho-kids/life/what/what_03.html
NAPT(IPマスカレード)
https://wa3.i-3-i.info/word11979.html