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