EN JA
IGMP(4)
IGMP(4) FreeBSD Kernel Interfaces Manual IGMP(4)

名称

igmpインターネットグループ管理プロトコル (Internet Group Management Protocol)

書式

#include < sys/types.h>
#include < sys/socket.h>
#include < netinet/in.h>
#include < netinet/in_systm.h>
#include < netinet/ip.h>
#include < netinet/igmp.h>

int
socket( AF_INET, SOCK_RAW, IPPROTO_IGMP);

解説

IGMP は、マルチキャストグループメンバシップ情報を伝播するために IPv4 ホストとルータによって使用される制御プレーンプロトコルです。通常、このプロトコルは、ユーザアプリケーションによってマルチキャストメンバシップ要求に対応して、カーネル自体を除いて、直接使用されません。ルーティングプロトコルは、直接 igmp と情報をやりとりするために生のソケットをオープンします。

FreeBSD 8.0 現在で、IGMP バージョン 3 が、実装されています。これは、アプリケーションが特定のソースからマルチキャストストリームを受信することにのみ関係する上流のマルチキャストルータと通信するために、ソース特有マルチキャスト (Source-Specific Multicast (SSM)) のサポートを追加しています。

SYSCTL 変数

net.inet.igmp.stats
この不明瞭な (opaque) 読み込み専用変数は、スタック全体の IGMPv3 プロトコル統計を netstat(1) に公開します。
net.inet.igmp.ifinfo
この不明瞭な読み込み専用変数は、リンクごとの IGMPv3 状態を ifmcstat(8) に公開します。
net.inet.igmp.gsrdelay
この変数は、グループとソース特有の問い合わせ (Group-and-Source Specific Queries (GSR)) を処理するために秒単位で時間閾値 (time threshold) を指定します。 GSR 問い合わせ処理が、ホスト上の状態を維持することを必要とするとき、メモリが割り当てられ、したがって、 Denial-of-Service (DoS) のための攻撃ポイントとなる可能性があります。この敷居中で 2 つ以上の GSR 問い合わせが受信されるなら、 DoS の可能性を軽減するために、それは、落とされます。
net.inet.igmp.default_version
この変数は、すべてのリンクで使用される IGMP のデフォルトバージョンを制御します。通常、この sysctl は、デフォルトで 3 設定されます。
net.inet.igmp.legacysupp
この変数が 0 でないなら、リンク上で受信された IGMP v1 と v2 メンバシップレポートは、別の方法でこのホストによって発行される IGMP v3 状態変更レポートを抑制することができます。通常、この sysctl は、デフォルトで有効にされます。
net.inet.igmp.v2enable
この変数が 0 でないなら、IGMP v2 メンバシップ問い合わせは、このホストによって処理され、後方互換性は、v2 'Old Querier Present' タイマの期限が切れるまで、有効にされます。通常、この sysctl は、デフォルトで有効にされます。
net.inet.igmp.v1enable
この変数が 0 でないなら、IGMP v1 メンバシップ問い合わせは、このホストによって処理され、後方互換性は、v1 'Old Querier Present' タイマの期限が切れるまで、有効にされます。通常、この sysctl は、デフォルトで有効にされます。
net.inet.igmp.sendlocal
この変数が 0 でないなら、224.0.0.0/24 リンクスコープ接頭辞のグループのための IGMP 状態変更が発行されます。ネットワーク中でマルチキャスト伝播を軽減するために IGMP トラフィックを詮索するレイヤ (層) 2 のデバイスでネットワーク環境で FreeBSD を配布するなら、この振る舞いは、推薦されます。通常、この sysctl は、デフォルトで有効にされます。
net.inet.igmp.sendra
この変数が 0 でないなら、IGMP v2 と v3 レポートは、IP Router Alert オプションを含みます。通常、この sysctl は、デフォルトで有効にされます。
net.inet.igmp.recvifkludge
この変数が 0 でないなら、それらのソースのように 0.0.0.0 を含む受信された IGMP レポートは、サブネットアドレスを含むように書き直されます。プライマリ IPv4 アドレスでまだ設定されていないリンク上のホストがあるとき、これは役に立ちます。通常、この sysctl は、デフォルトで有効にされます。

歴史

igmp このマニュアルページは、 FreeBSD 8.0 で再登場しました。
March 9, 2009 FreeBSD