ポート番号
平成14年7月18日
久保 正明
ポート?
2つの意味を持つ:
パソコン世界では、装置の物理コネクタをポートと呼ぶ。
TCP/IP環境では、逆多重化を示すためにポートの概念を使われる。
ネットワークフレーム
IP データグラム
TCP セグメント
FTP telnet SMTP
TCP header application data
ポート番号:
TCPセグメント
送信元ポート宛先ポート
クライアントとサーバー上の
アプリケーションプロセスを示す。
送信元ポー 宛先ポー
015 16 31
アプリケーションデータ
TCP
ヘッダ
(20 bytes)
UDP
送信元ポー 宛先ポー
015 16 31
アプリケーションデータ
UDP
ヘッダ
(8 bytes)
client
server
network
FT
P
telne
t
finge
r
FT
P
telne
t
finge
r
(21)
(23)
(75)
IPアドレスとポート番号は
論理接続の両端を示す。
ポート番号はどのように指定されるか。
サーバーの宛先ポート番号:
Well-known ポート番号。
範囲: 11023
システムプロセスに使用される。
IANA (Internet Assigned Number Authority)によってインターネット
全体に対して管理されている。
例:
ポート番号 キーワード
20
21
23
25
80
ftp-data
ftp
telnet
smtp
http
UNIX /etc/services というファイルにある。
Registered ポート番号。
IANAに対して登録されている。
ユーザーに使用される。
範囲: 1024 49151
例:
ポート番号 キーワード
1234
1257
1371
1461
10080
Infoseek Search Agent
Shockwave 2
Fujitsu Config Protocol
IBM Wireless LAN
Amanda
Private ポート番号。
ローカルシステムにおいて私的に使用できるポート。
範囲: 49152 65535
送信元ポート
client server
2000番に
データ
返して
2000
宛に返せばい
いの
データ送信元がデータを返してもらうときのポート番号
16ビットで表現
相手はこのポート宛にデータを返せばよい
クライアント側はアプリケーションによるポート番号の重複を避ける必要がある
ephemeral ポート(短命の)と呼ばれる。
UNIXでは,範囲: 1024 5000
宛先ポート
client server
21:ftp
22:ssh
79:finger
80:http
Httpからの
情報がほし
16ビットで相手のポート番号を指定
例えばブラウザでWebページをDLるときは
800000000001010000 )を入れる
port 1066 port 21
IP address 192.168.33.68
(zolfa) IP address 192.168.33.1
(yumi)
ftp client ftp server
論理接続
Example:
ftp コマンド
yumi FTP server (ver 6.0) ready
USER zaher
password required for zaher
PASS xxxxxxxxx
User zaher logged in
データ通信
zolfa % ftp yumi
1066 21
ftp コマンドの
メッセージ
192.168.33.68 192.168.33.1
IPデータグラム
IP
ヘッ
TCP
ヘッダ
ポート番号の扱い:
netstat は、TCPによって扱われたポート番号を示す。
zolfa % netstat n f inet
Active Internet connections
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp 0 0 192.168.33.68.1066 192.168.33.1.21 ESTABLISHED
-n : 数字でIPアドレスを示す。
-f inet : TCPUDPのポート番号しか示さない。
zolfa ftp クライアントの
ポート番号
yumi ftp サーバーの
ポート番号
実習:
ローカルホストから
1ftp yumi
2. telnet minako
netstat n f inet でクライアントプロセスとサーバープロセスの
ポート番号を調べてみる。