Download presentation
Presentation is loading. Please wait.
1
第11章 UDPユーザ・データグラム・プロトコル
IPデータグラムのユーザ・インターフェース
2
UDP IP datagram … host と host の間 どのプロセスに届けるか
これにも問題がある プロセスは動的に生成・消滅 他のマシンから特定のプロセスの同定は困難 送信者(プロセス)に非通知で受信プロセスを入れ替えたいこともある. Reboot, kill & run, …
3
UDP (続き) 通信の相手は通信したい相手機能を持ったプロセス 一つのプロセスがいくつかの機能を扱うかもしれない
相手マシンのどのプロセスがファイルサーバかを知らないでもファイルサーバと通信したい. 一つのプロセスがいくつかの機能を扱うかもしれない → どの機能と通信したいかを指定しないと意味がない.
4
UDP (続き) Protocol port (正整数) ポート ○○○○○…○ 待ち行列
ポート ○○○○○…○ 待ち行列 プロセスはportから読む(データがなければblock) 送信は相手IPアドレスとprotocol port番号を指定 自分のポート番号も同時に知らせる(受信用)
5
UDP (user datagram protocol)
相手ホストの受信者を選択する仕組みを持つ(port number) unreliable, connectionless メッセージ到着の確認をしない. 順序を保たない. 流量制御のフィードバックをしない. 紛失・順不同・多重配送 UDPを用いた応用プログラムで,LANではうまく動くのにinternでは劇的に動作不能となることがある.
6
UDP message の format src port (または0) dst port
length Header を含めて全octet数 UDP checksum
7
Checksum の範囲 Psuedo header 正しい相手に着いたかどうかのチェック proto = 17 (UDP)
8
プロトコルの階層
9
Encapsulation UDP UDP data header IP IP datagram data header frame
Frame data
10
階層化の矛盾 アドレス dest. IP addr これはわかっている src IP addr 不明
どのネットワーク経由になるかで異なってくる. → UDP では決められない. 二つの選択 IP 層に頼む. UDP 層でIP datagram を作ってしまう.
11
階層化と checksum 強い相互作用 (checksum) 階層化は機能を分離する…に反するか? 主に実装上の理由,効率の点から
UDP IP UDPはIPに比し実質的にたいして新しいことはやっていない. 主に実装上の理由,効率の点から
12
Port の取り扱い port はOSによって割り当てられる. 到着UDP Queue の長さを指定 port があるか?
No- port unreachable queue に余地があるか? No- discard
13
Demultiplexing IP層 ホスト間のインターネット通信を分担 UDP層 ホスト内の発信元・宛先を識別
14
ポート番号 どの機能にはどのポート番号を使うかの合意が必要である. 中央のauthorityが決めて公布(予約済み番号) ダイナミックな結合
universal assignment “well-known port assignments” ダイナミックな結合 必要なつどネットワークプログラムに割り当ててもらう. 相手ポートは問い合わせる.
15
ポート番号の割り当て IANA (Internet Assigned Numbers Authority) RFC1700
ftp://ftp.isi.edu/in-notes/iana/assignments/port-numbers well-known ports registered ports e.g X Window server dynamic or private ports (ephemeral) 後ろの1/4
16
予約済みポート番号 /etc/services を見よ
17
UDP UDP はIPとは独立したIPの上位層であるが,IPとUDPは密接な相互結合がある.
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.