<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor></dfn> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターネット</anchor>で使われる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">トランスポート層プロトコル</anchor>の1つです。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TCP</anchor> と並び非常によく使われています。</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <cite xml:lang="en">RFC 768 - User Datagram Protocol</cite> (<time>2014-11-23 14:23:14 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc768">http://tools.ietf.org/html/rfc768</anchor-external></li></ul></refs></section><section><h1>性質</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">信頼性</anchor>を持ちません。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">再送制御</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フロー制御</anchor>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">輻輳制御</anchor>は行いません。ただし<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">検査和</anchor>を含めることはできます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">状態</anchor>を持ちません。</p></section><section><h1>データグラム</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor> では通信に用いるデータの単位を<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>データグラム</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">datagram</rt></rubyb>と呼んでいます。</p><figure class="packet"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> UDP データグラムの書式</figcaption><dl><dt>width</dt><dd>32</dd></dl><ol><li>16 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">送信元ポート</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(0〜15 ビット)</weak></li><li>16 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宛先ポート</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(16〜31 ビット)</weak></li><li>16 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">長さ</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(32〜47 ビット)</weak></li><li>16 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">検査和</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(48〜63 ビット)</weak></li><li>32... <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(64 ビット〜)</weak></li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <strong><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">送信元ポート<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">source port</rt></rubyb></strong>:<ul><li>省略可能 (未使用時は零)</li><li>送信プロセスのポートを示します。</li><li>他に情報が無ければ、返答のためのポートと理解して構いません。</li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <strong><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宛先ポート<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">destination port</rt></rubyb></strong>:<ul><li>特定の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターネット宛先番地</anchor>の文脈で意味があります。</li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <strong><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">長さ<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">length</rt></rubyb></strong>:<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データグラム</anchor>の長さです。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">頭部</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ</anchor>を共に含みます。</li><li>従って、最小値は8です。</li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 16ビット<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">整数</anchor>ですから、最大値は 2<sup>16</sup>-1 = 65535
です。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>分を除外すると <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">payload</anchor> の最大長は 65527
バイトです。</p></section><section><h1>検査和</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <strong><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">検査和<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">checksum</rt></rubyb></strong>:<ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IP</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">頭部</anchor>から作った<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">擬似頭部</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">頭部</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ</anchor>に、</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">偶数</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オクテット</anchor>になるように末尾に零の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オクテット</anchor>を加えたものの、</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1の補数</anchor>和の</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">16ビット</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1の補数</anchor></li></ol></p><ul><li>誤った<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">経路</anchor>に送られたことを検出できます。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TCP</anchor>と同じ方法を使っています。</li><li>算出した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">検査和</anchor>が零なら、すべて1にします
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1の補数</anchor>として等しい)。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">検査和</anchor>の欄が零なら、転送者が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">検査和</anchor>を生成しなかったことを表します。<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">虫取り</anchor>や、上位プロトコルが<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">検査和</anchor>を要求していない時につかいます。</li></ul></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <strong><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">擬似頭部<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">pseudo header</rt></rubyb></strong>:
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">検査和</anchor>の計算に用いる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">擬似頭部</anchor>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IP</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">頭部</anchor>に含まれる次の情報で、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">頭部</anchor>の前に置きます。</p><figure class="packet"><dl><dt>width</dt><dd>32</dd></dl><ol><li>32 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">送信元番地</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(0〜31 ビット)</weak></li><li>32 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宛先番地</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(32〜63 ビット)</weak></li><li>8 零 <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(64〜71 ビット)</weak></li><li>8 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(72〜79 ビット)</weak></li><li>16 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">長さ</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(80〜95 ビット)</weak></li></ol></figure></section><section><h1>下位層</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor> は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IP</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">上位層</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>として使います。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <strong>IP 界面</strong>:
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor>モジュールは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IP</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">頭部</anchor>から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">送信元</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宛先</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IP番地</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>欄を決定できなければなりません。</p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP/IP</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">界面</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">受信</anchor>操作に対する応答として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IP</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">頭部</anchor>も含めた全体を返すのもありです。
また、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor>側が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IP</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">頭部</anchor>も埋めて渡すのもありです。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IP</anchor>側では欄の整合性を検証して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IP</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">頭部</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">検査和</anchor>を計算することになります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <strong>プロトコル番号</strong>:
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IP</anchor>における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル番号</anchor>は17です。</p></section><section><h1>上位層</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">下位層</anchor>として使った<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>としては、次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション層プロトコル</anchor>があります。<figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TFTP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSDP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FSP</anchor></li></ul></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> また次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">下位層</anchor>にも使われています。<figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTLS</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DCCP-UDP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SOAP/UDP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">QUIC</anchor></li></ul></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> 次の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> があります。<figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Socket</anchor></li></ul></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <strong>利用者界面</strong>:
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者界面</anchor>は、次の機能を提供するべきです。<ul><li>新しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">受信ポート</anchor>の作成。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">受信ポート</anchor>での<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">受信</anchor>操作。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ・オクテット</anchor>と、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">送信元ポート</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">送信元番地</anchor>を返す。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データグラム</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">送信</anchor>操作。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">送信元</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宛先</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ポート</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">番地</anchor>を指定。</li></ul></p></section><section><h1>派生プロトコル</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor> から派生した次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>が存在しています。<figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP-Lite</anchor></li></ul></figure></p></section><section><h1>URL scheme</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor> を使ったアクセスを表すために <dfn><code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">udp:</anchor></code></dfn>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor> が使われることがあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">トランスポート層プロトコル</anchor>であり、その上位の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション層プロトコル</anchor>なしに
「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UDP</anchor>」を使うとだけ言っても意味がありません。 <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">udp:</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> が何を表しているのかは、それ自体では自明ではありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PHP</anchor> が実装しています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <code class="URI example" xml:lang="en">udp://:1234/{e06d8023-db46-11cf-b4d1-00805f6cbbea}</code>
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Media Player Classic</anchor></src></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <cite xml:lang="en">UDP Tracker Protocol Extensions</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Michael C. Toren &lt;mct@toren.net&gt;</anchor>著, <time>2016-07-26 06:49:09 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.bittorrent.org/beps/bep_0041.html">http://www.bittorrent.org/beps/bep_0041.html</anchor-external></figcaption><blockquote><p>Prior to the extensions defined in this document, UDP tracker URLs that contained PATH and QUERY components were completely valid, but those components were invisible to the tracker. For example, from the tracker's perspective, the URL:</p><p>udp://tracker.example.com:80/dir?a=b&amp;c=d</p><p>and the URL:</p><p>udp://tracker.example.com:80</p><p>were completely indistinguishable. This differs from the HTTP-based Tracker Protocol, and places restrictions on how a UDP tracker URLs may be used in practice.</p><p>Our primary motivation was to develop an extension to the UDP protocol to allow the PATH and QUERY components to be sent to UDP trackers. Rather than implementing a protocol change that only addressed this one issue, we chose to define an extension mechanism to allow future extensions to be easily added without risk of breaking the existing protocol.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <cite xml:lang="en">FFmpeg Protocols Documentation</cite>
(<time>2017-01-22 02:22:36 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://ffmpeg.org/ffmpeg-protocols.html#udp">https://ffmpeg.org/ffmpeg-protocols.html#udp</anchor-external></figcaption><blockquote><p>User Datagram Protocol.</p><p>The required syntax for an UDP URL is:</p><p>udp://hostname:port<strong>[</strong>?options<strong>]</strong></p><p>options contains a list of &amp;-separated options of the form key=val.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <cite xml:lang="en">FFmpeg Protocols Documentation</cite>
(<time>2017-01-22 02:22:36 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://ffmpeg.org/ffmpeg-protocols.html#udp">https://ffmpeg.org/ffmpeg-protocols.html#udp</anchor-external></figcaption><blockquote><p>Use ffmpeg to stream over UDP to a remote endpoint:</p><p>ffmpeg -i input -f format udp://hostname:port</p><p>Use ffmpeg to stream in mpegts format over UDP using 188 sized UDP packets, using a large input buffer:</p><p>ffmpeg -i input -f mpegts udp://hostname:port?pkt_size=188&amp;buffer_size=65535</p><p>Use ffmpeg to receive over UDP from a remote endpoint:</p><p>ffmpeg -i udp://<strong>[</strong>multicast-address<strong>]</strong>:port ...</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <cite>www.twitch.tvの名前が引けない、もしくはチェックサムが0x0000のUDPパケットの件のまとめ - (ひ)メモ</cite>
(<time>2017-07-10 19:26:18 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://d.hatena.ne.jp/hirose31/20160127/1453870603">http://d.hatena.ne.jp/hirose31/20160127/1453870603</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <cite xml:lang="en">VLC command-line help - VideoLAN Wiki</cite>
(<time>2017-10-10 19:17:15 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://wiki.videolan.org/VLC_command-line_help/">https://wiki.videolan.org/VLC_command-line_help/</anchor-external></figcaption><blockquote><p>udp://<strong>[</strong><strong>[</strong>&lt;source address&gt;<strong>]</strong>@<strong>[</strong>&lt;bind address&gt;<strong>]</strong><strong>[</strong>:&lt;bind port&gt;<strong>]</strong><strong>]</strong></p><p>UDP stream sent by a streaming server</p></blockquote></figure></section></body></html>