クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

一つのアドレスを分け合う

レッスンの全文をここで読めます。無料アカウントを作ると、コマンドをラボで実行し、クイズと課題に取り組めます。

45分のレッスンコマンドなし

グローバル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グローバル

学生が入力するセルは、このプレビューでは空白です。

やってみよう: アドレスの種類を見分ける

コード: python
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:51000203.0.113.8:40001本部の売上システム
192.168.20.31:52000203.0.113.8:40002本部の発注システム
192.168.20.40:53000203.0.113.8:40003録画を預ける会社

学生が入力するセルは、このプレビューでは空白です。

よくある思い違い

注意

NATがあるので、外から中の機器に自由に入れる、と思う人がいます。実際は逆で、中から始めた通信の返事しか戻りません。外から入れたいときは、ポート転送を決めて設定します。

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。