インターネットの仕組みを体験しよう
IPアドレス、DNS、ネットワーク経路について、実際に調べながら学びましょう。
IPアドレスとは?
インターネット上の機器を識別するための「住所」のようなものです。
2種類の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
グローバルIPアドレス
インターネット上で一意に識別される
- 世界中で重複しない
- プロバイダから割り当てられる
- Webサーバなどに必要
📚 コラム: IPv4とIPv6
IPv4: 192.168.1.1 のような形式。約43億個のアドレスしか作れない。
IPv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 のような形式。事実上無限に作れる。
IPv4アドレスの枯渇により、IPv6への移行が進んでいます。
課題1: 自分のPCのIPアドレスを調べよう
コマンドプロンプトで調べる方法
Windowsでは ipconfig コマンドを使います。
コマンドプロンプト
> ipconfig
Wireless LAN adapter Wi-Fi:
IPv4 アドレス . . . . . . . . . . . .: 192.168.120.27
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 192.168.120.254💡 コマンドプロンプトは、Windowsメニューを開いて「cmd」と入力すると起動できます
用語解説
- IPv4 アドレス
- 自分のPCに割り当てられたプライベートIPアドレス
- サブネットマスク
- ネットワークの範囲を示す。255.255.255.0 なら同じネットワーク内は最大254台
- デフォルトゲートウェイ
- 外部ネットワークへの出口となるルーター(通常は「.1」や「.254」)
課題2: ネットワークの疎通確認をしよう(ping)
pingコマンドとは?
指定したIPアドレスの機器と通信できるか確認するコマンドです。
コマンド
> ping <IPアドレス>成功例
> ping 192.168.120.254
192.168.120.254 からの応答: バイト数=32 時間=2ms TTL=255
192.168.120.254 からの応答: バイト数=32 時間=3ms TTL=255
パケット: 送信=4, 受信=4, 損失=0 (0%)失敗例
> ping 192.168.120.253
宛先ホストに到達できません。
宛先ホストに到達できません。
パケット: 送信=4, 受信=0, 損失=4 (100%)結果の見方
- 時間 (ms)
- 応答にかかった時間。小さいほど速い
- TTL (Time To Live)
- パケットが経由できるルーター数の上限
- 損失
- 届かなかったパケットの割合。0%が理想
課題3: ドメイン名とDNS
DNSとは?
DNS (Domain Name System) は、ドメイン名をIPアドレスに変換する仕組みです。
ドメイン名www.example.com
→ DNSサーバに問い合わせ →
IPアドレス203.0.113.50
人間にとって覚えやすいドメイン名を、コンピュータが理解できるIPアドレスに変換します。
ドメイン名からIPアドレスを調べる(nslookup)
コマンドプロンプト
> nslookup www.example.com
名前: www.example.com
Address: 203.0.113.50いくつかのサイトのIPアドレスを調べてみよう
| ドメイン名 | IPアドレス |
|---|---|
| www.google.co.jp | |
| www.yahoo.co.jp | |
IPアドレスで直接アクセスしてみよう
調べたIPアドレスをブラウザのURL欄に入力してアクセスしてみましょう。
🤔 考えてみよう
うまくアクセスできるサイトと、できないサイトがあります。なぜでしょうか?
ヒントを見る
アクセスできない理由:
- バーチャルホスト: 1つのIPアドレスで複数のサイトを運営している場合、ドメイン名がないとどのサイトか判別できない
- HTTPS: SSL証明書はドメイン名に対して発行されるため、IPアドレスでアクセスすると証明書エラーになることがある
- CDN: コンテンツ配信ネットワークを使っている場合、IPアドレスが頻繁に変わる
課題4: ドメイン名を調べてみよう
ドメイン名の構造
wwwサブドメイン
.exampleセカンドレベル
.co組織種別
.jp国コード(TLD)
主なトップレベルドメイン(TLD)
- .jp
- 日本
- .com
- 商用(世界共通)
- .org
- 非営利団体
- .co.jp
- 日本の企業
- .ac.jp
- 日本の大学
- .ed.jp
- 日本の教育機関
課題5: サーバまでの経路を調べよう(tracert)
tracertコマンドとは?
目的地のサーバまでに経由するルーターを順番に表示するコマンドです。
コマンド
> tracert <IPアドレス または ドメイン名>実行例
> tracert www.example.com
www.example.com [203.0.113.50] へのルートをトレースしています
1 1 ms 1 ms 1 ms 192.168.1.1 ← ルーター(ゲートウェイ)
2 2 ms 1 ms 2 ms 192.168.210.1 ← 学校のルーター
3 11 ms 10 ms 11 ms 192.0.2.10 ← プロバイダ
4 11 ms 10 ms 10 ms 192.0.2.20 ← プロバイダ
5 12 ms 11 ms 12 ms 198.51.100.1 ← 中継地点
...
10 85 ms 84 ms 85 ms 203.0.113.50 ← 目的地!
トレースを完了しました。あなたのPC
→
ルーター
→
プロバイダ
→
...
→
Webサーバ
オンラインでtracerouteを試す
🤔 考えてみよう
国内のサーバと海外のサーバでは、経路にどのような違いがあるでしょうか?
ヒントを見る
- 海外のサーバは経由するルーターの数(ホップ数)が多くなる
- 応答時間(ms)が大きくなる
- 海底ケーブルを通るため、物理的な距離の影響を受ける
まとめ
ipconfig
自分のPCのIPアドレスを確認
ping
相手との通信確認
nslookup
ドメイン名→IPアドレス変換
tracert
経路の確認