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

無料レッスン

IPアドレスとポート

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

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

在庫システムに入れない朝

大阪の物流会社の倉庫で、朝から在庫システムが開けません。

情報システム担当の人は、まず二つのことを確かめます。サーバーの機械は動いているか。その中の在庫システムは動いているか。

ネットワークでは、この二つを別々の番号で表します。このレッスンでは、その二つの番号を読めるようにします。

このレッスンのゴール

メモ

IPアドレスとポートが何かを説明できる。

キーワード

ことばいみれい
ネットワークつながってデータをやりとりする機器の集まり
サーバー頼まれた仕事に応えるコンピューター
クライアントサーバーに仕事を頼む側
IPアドレスネットワーク上の機器の番号192.168.10.20
ポート機器の中のプログラムの番号443
サービスの住所IPアドレスとポートの組み合わせ203.0.113.25:443

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

IPアドレスは機器を指す

ネットワークにつながる機器には、それぞれIPアドレスがあります。手紙の住所のようなものです。

よく使う形は、0から255までの数字を四つ、点で区切ったものです。

同じネットワークの中で、二つの機器が同じIPアドレスを使うことはできません。使うと、データがどちらに届くか決まらなくなります。

例: 倉庫のネットワーク

機器IPアドレス役割
在庫サーバー192.168.10.20在庫システムが動く
勤怠サーバー192.168.10.21出勤と退勤を記録する
事務所のパソコン192.168.10.105クライアント
プリンター192.168.10.50伝票を印刷する
ルーター192.168.10.1外のネットワークとつなぐ

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

ポートはプログラムを指す

一台のサーバーでは、いくつものプログラムが同時に動いています。

そこで、プログラムごとにポートという番号を付けます。IPアドレスが建物の住所なら、ポートは部屋番号です。

よく使うサービスには、決まった番号があります。たとえば、暗号化したWebは443番です。

仕事でよく見るポート

ポートサービス使う場面
22SSHサーバーに遠くからログインする
80HTTP暗号化しないWeb
443HTTPS暗号化したWeb
25SMTPメールを送る
5432PostgreSQLデータベース

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

やってみよう: 一台で動くもの

コード: bash
# 倉庫のサーバー一覧をファイルに書いておきます
printf "在庫システム 192.168.10.20:443\n勤怠システム 192.168.10.21:443\n管理用ログイン 192.168.10.20:22\nプリンター 192.168.10.50:9100\n" > services.txt

# 192.168.10.20 で動いているものを探します
grep "192.168.10.20" services.txt

# 192.168.10.20 を :443 に変えて、もう一度実行してみましょう

よくある思い違い

注意

IPアドレスが応答すれば、システムも動いている、と考える人が多いです。実際は、機械が動いていても、プログラムが止まっていることがあります。IPアドレスとポートは、別々に確かめます。

両側にIPアドレスとポートがある

つながりには、いつも両側があります。サーバー側は、決まったポートで頼みごとを待っています。

クライアント側も、自分のIPアドレスとポートを持っています。こちらのポートは、その場で大きな番号が自動で選ばれます。

書くときは「IPアドレス:ポート」の形にします。

やってみよう: 住所を分ける

コード: python
address = "203.0.113.25:443"

# 最後の「:」で、機械の番号とプログラムの番号に分けます
place = address.rfind(":")
ip = address[:place]
port = int(address[place + 1:])

print("IPアドレス:", ip)
print("ポート:", port)

# address を "198.51.100.7:22" に変えて、実行しましょう

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