情報ネットワーク論 (2010)
TCPとUDP
プレゼンテーションモードでも利用可能
トランスポート層の役割
計算機はマルチタスク
同時に動いている複数のプログラム
どのプログラムが(相手ホストの)どのプログラムと話しているのか
=> ポート番号
クライアント・サーバー
サーバー = UNIX Daemon
HTTP サーバー / httpd / port 80
TELNET / telnetd / port 23
SSH / sshd / port 22
* / inetd / 複数のport
fork/exec ... オペレーティングシステム論(?)
TCP と UDP
TCP ... Transmission Control Protocol
信頼性を提供
http, smtp, pop3
ssh, https, smtps, pop3s
UDP ... User Datagram Protocol
信頼性無し(代わりに処理が早い etc)
ntp, domain(DNS)
音声/ビデオ
ネットワークファイルシステム (NFS -> TCPへ移行)
ポート番号
トランスポート層におけるアドレス
サーバーはポート番号固定 Well-Known
クライアントはポート番号は不定(短命)Ephemeral
通信の識別
相手(IP/Port) <-> 自分(IP/Port) +プロトコル で識別
同じHTTPサーバの別のページを開く
ターミナルを 2つ開いて、同じホストに同時ログインする
netstat で ESTABLISHED と出る
Well-Known Ports
IANA に登録
/etc/services
ssh=22 / smtp=25 / domain=53 / http=80 / pop3=110 / ntp=123 / ldap=389 / https=443 / pop3s=995
UDP Header
0
1
2
3
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
16 bit Source Port
16 bit Destination Port
16 bit Length
16 bit Cecksum
TCP Header
TCP の信頼性
シーケンス番号と確認応答
TCP の信頼性(2)
データパケットが喪失した場合
TCP コネクション確立
3 way handshake
SYN = コネクション確立要求 (シーケンス番号の Synchronize)
Server LISETEN -> ESTABLISHED
TCP コネクション終了
TCP は、全2重通信 (Full Duplex)
送信/受信の両方について別々に切断処理を行う
FIN = コネクション切断要求 (Final 最後)
ウィンドウ制御
スライディングウィンドウ制御
ウィンドウサイズまでは, ACK を待たない.
高速再送制御
ウィンドウ途中で取れなかったデータを明示的に要求する
ふくそう(輻輳)制御
ふくそうウィンドウ / スロースタート
ウィンドウなし
ウィンドウ制御
ふくそう制御
スロースタート (Slow Start)
受信側 ウィンドウ (W) ... 送信側 ふくそうウィンドウ (Wc)
W > Wc
Wc を小さい値から増やしていく。
ACK が来ない = Wc 大きくし過ぎ -> 小さい値に戻す
次週予告
2F 計算機実習室で実習を行います
要アカウント (パスワード)
本日の問題
次のアプリケーションに、UDP と TCP のどちらが適しているか
テレビ電話
ネットバンキング
画像(データ)のダウンロード
これを印刷