
IT〜IPアドレス入門〜ネットの「住所」はどう使われるのか?サブネット・DNS・メール・Webまで一気に理解する
私たちは普段、
Webサイトを見る。
メールを送る。
ファイルをダウンロードする。
スマートフォンをWi-Fiにつなぐ。
こうしたことを何気なく行っている。
しかしネットワークの世界では、
「誰に送るのか」
が分からなければ、データを届けることはできない。
現実世界で荷物を送るために住所が必要なのと同じように、ネットワーク上のコンピュータにも住所が必要になる。
その代表が、
IPアドレス
である。
今回は、IPアドレスを出発点として、
・アドレスクラス
・グローバルIPアドレス
・プライベートIPアドレス
・NAT、NAPT
・サブネット
・DNS
・電子メール
・Web
・ファイル転送
までをつなげて整理していく。
【1 IPアドレスとは】
IPアドレスとは、
ネットワーク上のコンピュータや機器を識別するための番号
である。
現在広く使われているIPv4では、
32ビット
でIPアドレスを表現する。
ただし、
11000000101010000000000100011001
のような2進数のままでは、人間には非常に読みにくい。
そこで32ビットを8ビットずつ4つに区切り、それぞれを10進数で表す。
例えば、
192.168.1.25
といった形である。
この8ビットごとの単位を、
オクテット
という。
つまりIPv4アドレスは、
第1オクテット
第2オクテット
第3オクテット
第4オクテット
という4つの部分からできている。
【2 ネットワークアドレスとホストアドレス】
IPアドレスは大きく、
ネットワークを識別する部分
と
そのネットワーク内の機器を識別する部分
に分けて考える。
例えば学校に置き換えるなら、
ネットワークアドレス
=学校名
ホストアドレス
=その学校の生徒番号
のようなものだ。
どこのネットワークなのか。
そのネットワーク内の誰なのか。
この二つを組み合わせることで、通信相手を識別できる。
【3 アドレスクラス】
IPv4では、かつてネットワーク規模によってアドレスを分類する、
アドレスクラス
という考え方が使われていた。
代表的なのが、
クラスA
クラスB
クラスC
である。
■クラスA
非常に大規模なネットワーク向け。
ネットワーク部分が短く、ホスト部分が大きい。
そのため、一つのネットワーク内に大量の端末を配置できる。
■クラスB
中規模ネットワーク向け。
クラスAとクラスCの中間的な構成。
■クラスC
比較的小規模なネットワーク向け。
ネットワーク部分が長く、一つのネットワークに配置できる端末数は少ない。
そのほか、
クラスD
=マルチキャスト用
クラスE
=特殊用途・予約用
などがある。
【4 グローバルIPアドレス】
インターネット上で利用されるIPアドレスには、
グローバルIPアドレス
がある。
これは、
インターネット上で一意に割り当てられるIPアドレス
である。
世界中の機器が同じIPアドレスを勝手に使ってしまえば、
データをどこへ送ればよいのか分からなくなる。
そのためグローバルIPアドレスは、重複しないよう管理されている。
【5 プライベートIPアドレス】
ところが、家庭や会社の中にあるすべての機器へグローバルIPアドレスを割り当てる必要はない。
そこで使われるのが、
プライベートIPアドレス
である。
代表的な範囲は、
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255
である。
家庭のWi-FiにつないだスマートフォンやPCで、
192.168.X.X
のようなアドレスを見たことがある人も多いだろう。
これが典型的なプライベートIPアドレスである。
【6 グローバルIPとプライベートIPの違い】
簡単に言えば、
グローバルIP
=インターネット世界で使う住所
プライベートIP
=家庭や会社など内部ネットワークで使う住所
である。
マンションに例えるなら、
グローバルIP
=マンション全体の住所
プライベートIP
=各部屋番号
のように考えると分かりやすい。
【7 NAT】
では、プライベートIPアドレスしか持っていないコンピュータは、どうやってインターネットへ接続するのか。
そこで登場するのが、
NAT
である。
NATは、
Network Address Translation
の略。
プライベートIPアドレスとグローバルIPアドレスを変換する技術である。
例えば、
192.168.1.10
という内部アドレスを持つPCがインターネットへ通信するとき、
ルータがグローバルIPアドレスへ変換して外部へ送信する。
返ってきたデータは再び内部のプライベートIPアドレスへ戻される。
つまりルータが、
内部世界と外部世界の翻訳者
になっている。
【8 NAPT】
NATをさらに発展させたものが、
NAPT
である。
Network Address Port Translation
の略。
NAPTでは、
IPアドレスだけでなくポート番号も変換する。
これによって、
一つのグローバルIPアドレスを複数の端末で共有できる。
例えば家庭で、
スマートフォン
PC
テレビ
ゲーム機
が同時にインターネットへ接続できるのは、このような仕組みがあるからである。
IPアドレスだけを見ると同じ外部アドレスでも、
ポート番号によって、
「これはPCの通信」
「これはスマートフォンの通信」
と区別できる。
NAPTは、
IPマスカレード
などと呼ばれることもある。
【9 ループバックアドレス】
特殊なIPアドレスとして、
ループバックアドレス
がある。
代表的なのが、
127.0.0.1
である。
これは、
自分自身のコンピュータ
を表す。
ネットワークにデータを送り出さず、自分自身との通信確認などに利用する。
localhost
という言葉を見たことがある人もいるだろう。
これも自分自身を意味する。
【10 サブネットとは】
一つの大きなネットワークを、そのまま全員で使うと管理が難しくなる。
そこでネットワークをさらに小さく分割する。
これが、
サブネット化
である。
例えば会社全体を一つの巨大なネットワークにするのではなく、
営業部ネットワーク
総務部ネットワーク
企画部ネットワーク
のように分ける。
こうすることで、
管理しやすくなる
通信範囲を整理できる
無駄な通信を減らせる
セキュリティ管理もしやすくなる
といった利点がある。
【11 サブネットマスク】
IPアドレスのどこまでが、
ネットワーク部分
で、
どこからが、
ホスト部分
なのか。
これを区別するために使われるのが、
サブネットマスク
である。
例えば、
IPアドレス
192.168.1.25
サブネットマスク
255.255.255.0
という組み合わせなら、
192.168.1
の部分をネットワーク側として扱い、
最後の25の部分を端末側として扱う。
サブネットマスクは、2進数で考えると理解しやすい。
255は、
11111111
である。
0は、
00000000
である。
つまり、
255.255.255.0
は、
11111111.11111111.11111111.00000000
となる。
1の部分がネットワーク側。
0の部分がホスト側。
と考えればよい。
【12 CIDR】
現在では、
クラスA、B、C
のような固定的な分け方だけではなく、
CIDR
という考え方が使われる。
例えば、
192.168.1.0/24
のように表記する。
「/24」は、
先頭から24ビットがネットワーク部分
という意味である。
つまり、
255.255.255.0
と同じ意味になる。
ネットワークを柔軟な大きさに分割できるため、IPアドレスを効率的に利用できる。
【13 DNS〜人間用の名前とコンピュータ用の住所】
IPアドレスだけでも通信はできる。
しかし、
172.16.12.5
のような数字を大量に覚えるのは大変である。
そこで使われるのが、
DNS
である。
DNSは、
Domain Name System
の略。
人間が覚えやすい、
のようなドメイン名と、
コンピュータが通信に使うIPアドレス
を対応付ける仕組みである。
【14 DNSの流れ】
例えばブラウザに、
と入力したとする。
コンピュータはまず、
「example.comのIPアドレスは何ですか?」
とDNSサーバへ問い合わせる。
DNSサーバから、
「このIPアドレスです」
という回答を受け取る。
その後、そのIPアドレスを使って目的のサーバへ接続する。
つまりDNSは、
インターネットの電話帳
のような役割を持つ。
【15 電子メールはどう届くのか】
電子メールも複数のプロトコルによって成り立っている。
代表的なのが、
SMTP
POP3
IMAP4
である。
■SMTP
メールを送信するためのプロトコル。
送信者からメールサーバへ送るときや、メールサーバ同士でメールを転送するときに使われる。
■POP3
メールサーバからメールを受信するためのプロトコル。
メールを端末へ取り込んで利用する方式。
■IMAP4
メールをサーバ側に保存したまま管理する方式。
スマートフォン、PC、タブレットなど複数端末から同じメール環境を利用するときに便利である。
簡単に覚えるなら、
SMTP
=送る
POP3・IMAP4
=受け取る・読む
である。
【16 メールアドレスの構造】
例えば、
というメールアドレスがある。
@より左側は、
利用者を識別する部分。
@より右側は、
ドメイン名
である。
つまり、
「example.comという組織のabcという利用者」
というイメージになる。
【17 Webとは】
Webは、
World Wide Web
の略。
ブラウザからWebサーバへアクセスし、Webページを閲覧する仕組みである。
代表的な通信プロトコルが、
HTTP
と
HTTPS
である。
ブラウザから、
「このページをください」
と要求を送り、
Webサーバが、
HTMLなどのデータ
を返す。
ブラウザは受信したデータを解釈し、私たちが見ているWebページとして表示する。
【18 URL】
Webページの場所を指定するものが、
URL
である。
例えば、
https://www.example.com/index.html
というURLなら、
https
=利用する通信方式
www.example.com
=接続先のホスト名
index.html
=取得したいファイル
という構造になる。
【19 FQDN】
ホスト名を含めた完全なドメイン名を、
FQDN
という。
Fully Qualified Domain Name
の略である。
例えば、
のような形式である。
DNSは、このような名前をIPアドレスへ変換することで、目的のサーバへ通信できるようにしている。
【20 検索エンジン】
Web上には膨大なページが存在する。
その中から必要な情報を探すために利用するのが、
検索エンジン
である。
検索エンジンには、
ディレクトリ型
ロボット型
などの考え方がある。
ロボット型では、
クローラ
などのプログラムがWebページを巡回し、情報を収集する。
そして検索用のデータベースを作成する。
私たちが検索窓へ言葉を入力した瞬間に、世界中のWebページを一から探しているわけではない。
あらかじめ収集・整理された巨大な情報の中から検索しているのである。
【21 ファイル転送】
ネットワークを通してファイルを送受信することを、
ファイル転送
という。
代表的なプロトコルが、
FTP
である。
FTPは、
File Transfer Protocol
の略。
FTPサーバとクライアントの間で、
アップロード
ダウンロード
を行う。
■アップロード
自分の端末からサーバへファイルを送る。
■ダウンロード
サーバから自分の端末へファイルを受け取る。
普段何気なく使う言葉だが、
方向を理解しておくと分かりやすい。
自分からネットへ上げる
=アップロード
ネットから自分へ下ろす
=ダウンロード
である。
【22 すべてはつながっている】
ここまで見ると、
IPアドレス
DNS
TCP/IP
HTTP
SMTP
FTP
など、さまざまな言葉が出てきた。
最初は別々の知識に見える。
しかし実際には全部つながっている。
例えばWebサイトを見るなら、
①URLを入力する
②DNSでドメイン名からIPアドレスを調べる
③IPアドレスを使って相手のサーバを探す
④TCP/IPで通信する
⑤HTTPやHTTPSでWebページを要求する
⑥Webサーバがデータを返す
⑦ブラウザが表示する
という流れになる。
メールなら、
IP
DNS
SMTP
POP3またはIMAP4
などが組み合わさる。
ファイル転送なら、
IP
TCP
FTP
などが協力する。
【まとめ】
IPアドレスは、
ネットワーク世界における住所
である。
IPv4は32ビットで構成され、ネットワーク部分とホスト部分を使って通信相手を識別する。
内部ネットワークではプライベートIPアドレスを利用し、
NATやNAPT
によってグローバルIPアドレスへ変換してインターネットへ接続する。
さらに、
サブネットマスク
を使ってネットワークを小さく分割することもできる。
しかし人間が毎回IPアドレスを覚えるのは大変だ。
そこで、
DNS
がドメイン名をIPアドレスへ変換する。
そして、その基盤の上で、
WebならHTTP・HTTPS
メールならSMTP・POP3・IMAP4
ファイル転送ならFTP
といったプロトコルが働いている。
つまり、
Webを見る
メールを送る
ファイルを受け取る
という日常の操作の裏側には、
「名前を調べる」
「住所を特定する」
「経路を決める」
「通信方法を決める」
「データを届ける」
という大量の処理が存在する。
インターネットは、一つの巨大な仕組みで動いているのではない。
小さなルールと役割が何層にも積み重なり、
互いに仕事を分担することで動いている。
ITを勉強して面白いのは、
普段当たり前に使っているものの裏側に、
これほど緻密な仕組みが隠れていたことに気づく瞬間なのだと思う。