Man page - udplite(7)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

UDPLITE

名 前
書 式
説 明
ア ド レ ス の フ ォ ー マ ッ ト
ソ ケ ッ ト オ プ シ ョ ン
エ ラ ー
フ ァ イ ル
バ ー ジ ョ ン
バ グ
関 連 項 目
こ の 文 書 に つ い て

名 前

udplite - 軽 量 な ユ ー ザ ー デ ー タ グ ラ ム プ ロ ト コ ル

書 式

#include <sys/socket.h>

sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDPLITE);

説 明

こ れ は RFC 3828 に 書 か れ て い る 軽 量 な ユ ー ザ ー デ ー タ グ ラ ム プ ロ ト コ ル (Lightweight User Datagram Protocol; UDP-Lite) の 実 装 で あ る 。

UDP-Lite は UDP (RFC 768) の 拡 張 で 、 可 変 長 の チ ェ ッ ク サ ム を サ ポ ー ト し て い る 。 こ の プ ロ ト コ ル が 効 果 を 発 揮 す る の は 、 少 し だ け 壊 れ た デ ー タ グ ラ ム が あ っ た 場 合 に 、 そ の デ ー タ グ ラ ム を 下 位 レ イ ヤ ー の プ ロ ト コ ル に 廃 棄 さ せ る の で は な く 、 そ れ を 利 用 す る こ と が で き る よ う な 、 あ る 種 の マ ル チ メ デ ィ ア 転 送 に お い て で あ る 。

可 変 長 の チ ェ ッ ク サ ム の 対 象 範 囲 は setsockopt (2) オ プ シ ョ ン 経 由 で 設 定 さ れ る 。 こ の オ プ シ ョ ン が 設 定 さ れ て い な い 場 合 、 UDP と 異 な る の は 違 う IP プ ロ ト コ ル 識 別 子 (IANA 番 号 136) を 使 用 す る 点 だ け で あ る 。

UDP-Lite の 実 装 は udp (7) の 完 全 な 拡 張 、 す な わ ち API と API の 動 作 は 同 じ で あ る 。 こ れ に 加 え て 、 2 つ の ソ ケ ッ ト オ プ シ ョ ン が チ ェ ッ ク サ ム の 対 象 範 囲 を 制 御 す る た め に 提 供 さ れ て い る 。

ア ド レ ス の フ ォ ー マ ッ ト

UDP-Litev4 は ip (7) で 説 明 さ れ て い る sockaddr_in ア ド レ ス を 使 用 す る 。 UDP-Litev6 は ipv6 (7) で 説 明 さ れ て い る sockaddr_in6 ア ド レ ス を 使 用 す る 。

ソ ケ ッ ト オ プ シ ョ ン

UDP-Lite の ソ ケ ッ ト オ プ シ ョ ン を 設 定 /取 得 す る に は 、 オ プ シ ョ ン レ ベ ル 引 数 に IPPROTO_UDPLITE を 指 定 し て 、 取 得 時 に は getsockopt (2) を 、 設 定 時 に は setsockopt (2) を 呼 び 出 す 。 さ ら に 、 全 て の IPPROTO_UDP の ソ ケ ッ ト オ プ シ ョ ン が UDP-Lite ソ ケ ッ ト で も 使 用 で き る 。 詳 細 は udp (7) を 参 照 の こ と 。

以 下 の 2 つ が UDP-Lite に 固 有 の オ プ シ ョ ン で あ る 。
UDPLITE_SEND_CSCOV

こ の オ プ シ ョ ン は 送 信 側 の チ ェ ッ ク サ ム の 対 象 範 囲 を 設 定 す る 。 int 型 を 引 数 と し て 取 り 、 設 定 可 能 な 値 の 範 囲 は 0 か ら 2ˆ16-1 ま で で あ る 。

値 0 は デ ー タ グ ラ ム 全 体 が 常 に チ ェ ッ ク サ ム の 対 象 と な る こ と を 意 味 す る 。 値 1〜 7 は 不 正 で あ り (RFC 3828 の 3.1 章 )、 範 囲 の 設 定 と し て 最 小 値 で あ る 8 に 切 り 上 げ ら れ る 。

IPv6 の jumbograms (巨 大 な デ ー タ グ ラ ム ; RFC 2675) の 場 合 に は 、 UDP-Litev6 の チ ェ ッ ク サ ム の 対 象 範 囲 は 、 RFC 3828 の 3.5 章 に あ る よ う に 、 先 頭 か ら 2ˆ16-1 オ ク テ ッ ト ま で に 限 定 さ れ る 。 そ の た め 、 そ れ よ り 大 き な 値 は 2ˆ16-1 に 黙 っ て 切 り 詰 め ら れ る 。 現 在 の 対 象 範 囲 の 値 を 知 り た け れ ば 、 い つ で も getsockopt (2) を 使 っ て 値 を 問 い 合 わ せ る こ と が で き る 。

UDPLITE_RECV_CSCOV

こ れ は 受 信 側 の チ ェ ッ ク サ ム の 対 象 範 囲 を 設 定 す る も の で 、 使 用 さ れ る 引 数 形 式 と 値 の 範 囲 は UDPLITE_SEND_CSCOV と 同 じ で あ る 。 こ の オ プ シ ョ ン は 、 部 分 的 な チ ェ ッ ク サ ム 対 象 範 囲 を 持 つ ト ラ フ ィ ッ ク を 有 効 に す る の に 必 要 な わ け で は な く 、 ト ラ フ ィ ッ ク フ ィ ル タ ー と し て 機 能 す る 。 こ の オ プ シ ョ ン が 有 効 に す る と 、 カ ー ネ ル は 指 定 さ れ た チ ェ ッ ク サ ム 対 象 範 囲 よ り も 「 短 か い 」 対 象 範 囲 を 持 つ パ ケ ッ ト を 全 て 廃 棄 す る よ う に な る 。

UDPLITE_RECV_CSCOV の 値 が 実 際 の パ ケ ッ ト の チ ェ ッ ク サ ム 対 象 範 囲 よ り も 大 き い 場 合 、 受 信 し た パ ケ ッ ト は 黙 っ て 廃 棄 さ れ る 。 た だ し 、 シ ス テ ム ロ グ に 対 し て 警 告 メ ッ セ ー ジ が 生 成 さ れ る か も し れ な い 。

エ ラ ー

udp (7) に つ い て 書 か れ て い る 全 て の エ ラ ー は 返 る 可 能 性 が あ る 。 UDP-Lite 自 体 は 新 た な エ ラ ー は 追 加 し て い な い 。

フ ァ イ ル

/proc/net/snmp

UDP-Litev4 の 基 本 的 な 統 計 情 報 カ ウ ン タ ー 。

/proc/net/snmp6

UDP-Litev6 の 基 本 的 な 統 計 情 報 カ ウ ン タ ー 。

バ ー ジ ョ ン

UDP-Litev4/v6 は Linux 2.6.20 で 初 め て 登 場 し た 。

バ グ

glibc に よ る サ ポ ー ト が な い 場 合 は 、 以 下 の 定 義 を 行 う 必 要 が あ る 。

#define IPPROTO_UDPLITE 136
#define UDPLITE_SEND_CSCOV 10
#define UDPLITE_RECV_CSCOV 11

関 連 項 目

ip (7), ipv6 (7), socket (7), udp (7)

RFC 3828 for the Lightweight User Datagram Protocol (UDP-Lite).

Linux カ ー ネ ル ソ ー ス 内 の Documentation/networking/udplite.txt

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。