グローバルIPアドレスは一つだけ
福岡にあるコンビニの一店舗には、レジ、発注用タブレット、防犯カメラ、事務所のパソコンがあります。全部で十台以上です。
けれども、通信会社との契約で、インターネット用のアドレスは一つだけです。
それでも全部の機器が、同時に本部のシステムとやりとりできます。そのしくみを見ていきます。
このレッスンのゴール
メモ
何台もの機器が一つのグローバルIPアドレスを分け合うしくみを説明できる。
キーワード
| ことば | いみ | れい |
|---|---|---|
| グローバルIPアドレス | インターネットで使える、重ならないアドレス | 203.0.113.8 |
| プライベートIPアドレス | 社内や店内だけで使うアドレス | 192.168.20.15 |
| デフォルトゲートウェイ | ほかのネットワークへの出口になる機器 | |
| NAT | 通り道でアドレスを書き換えるしくみ | |
| ポート転送 | 外から来た通信を中の機器へ送る設定 |
学生が入力するセルは、このプレビューでは空白です。
プライベートアドレスは中だけで使う
プライベートIPアドレスは、店や会社の中だけで使う番号です。10、172.16から172.31、192.168で始まる番号が、この用途に決まっています。
ほかの店でも同じ番号を使えます。そのかわり、インターネットからは直接届きません。
インターネットで使うのはグローバルIPアドレスです。こちらは世界で重ならないように配られます。
例: 店の機器のアドレス
| 機器 | アドレス | 種類 |
|---|---|---|
| ルーター(店内側) | 192.168.20.1 | プライベート |
| レジ | 192.168.20.15 | プライベート |
| 発注用タブレット | 192.168.20.31 | プライベート |
| 防犯カメラ | 192.168.20.40 | プライベート |
| ルーター(外側) | 203.0.113.8 | グローバル |
学生が入力するセルは、このプレビューでは空白です。
やってみよう: アドレスの種類を見分ける
ip = "192.168.20.15"
# 点で区切って、四つの数字にします
parts = ip.split(".")
first = int(parts[0])
second = int(parts[1])
print("最初の二つ:", first, second)
if first == 192 and second == 168:
print("プライベートアドレスです")
else:
print("プライベートアドレスではありません")
# ip を "203.0.113.8" に変えて、実行しましょう
ゲートウェイは外への出口
同じネットワークの中なら、機器どうしは直接やりとりできます。
相手がほかのネットワークにいるときは、デフォルトゲートウェイに送ります。店では、ふつうルーターがこの役をします。
ゲートウェイの設定が間違っていると、店内の印刷はできても、本部にはつながりません。
NATは出口で差出人を書き換える
ルーターは、外に出る通信の差出人を、自分のグローバルIPアドレスに書き換えます。これがNATです。
どの機器の通信かは、ポートの番号で覚えておきます。返事が来たら、表を見て元の機器に戻します。
こうして、十台以上の機器が一つのアドレスを分け合えます。
例: ルーターが覚えている表
| 中の機器 | 外に出るときの差出人 | 行き先 |
|---|---|---|
| 192.168.20.15:51000 | 203.0.113.8:40001 | 本部の売上システム |
| 192.168.20.31:52000 | 203.0.113.8:40002 | 本部の発注システム |
| 192.168.20.40:53000 | 203.0.113.8:40003 | 録画を預ける会社 |
学生が入力するセルは、このプレビューでは空白です。
よくある思い違い
注意
NATがあるので、外から中の機器に自由に入れる、と思う人がいます。実際は逆で、中から始めた通信の返事しか戻りません。外から入れたいときは、ポート転送を決めて設定します。