mld_query

定期的にMLD General Queryを送信ツールのページです。
MLDv2(MLDv1)スヌーピング機能付のL2-SWをサーバと端末間に使用した際、動的にMLDスヌーピンを行うためにサーバでMLD General Queryを定期的に送信するツールを作成しました。これにより対応する端末がリスナーリポートを送信することになり、L2-SWでMLDスヌーピンが実行されます。
Cisco Catalyst C2960Gでの動作を確認しています。

コマンド仕様

  • コマンド形式
mld_query [-v] [-h] [-d] [-f log_facility] [-r <n>] [-t <sec>] [-x <msec>] <interface>
オプション機能
-vバージョンを表示します。
-hヘルプを表示します。
-dデーモンとして動作します。(セッションのデタッチ)
-f <log_facility>Syslog出力のファシリティを設定します。(デフォルト:user)
-r <n>Robustnessを指定します。(デフォルト:2)
-t <sec>Query Packetの送信周期を指定します。(125 sec)
-x <msec>最大応答遅延(デフォルト:10,000 ms)

参照規格

規格番号タイトル記事
1RFC 1883Internet Protocol, Version 6 (IPv6) Specification
2RFC 3810Multicast Listener Discovery Version 2 (MLDv2) for IPv6
3RFC 3542Advanced Sockets Application Program Interface (API) for IPv6
4RFC 2711IPv6 Router Alert Option

General Query Packet Format

Offset3130292827262524232221201918171615141312111009080706050403020100
00Version(4)Priority(4)Flow Label(24)
01Payload Length(16)Next Header=Hop by Hop Option(8)Hop Limit(8)
02Source Address(128)
03
04
05
06Destination Address(128)
07
08
09
10Next Header(8)=ICMPv6 OptionHdr Ext Len(8)=0Options(32+16)=Router Alart
11Options
12Type(8) =
Multicast Listener Query(130)
Code(8)=
00
Checksum(16)
13Maximum Response Code(16)Reserved(16)
14Multicast Address(128)
15
16
17
18Reserved(4)SQRV(3)Number of Sources (24) N=0
19Source Address(128) [1](None)
20
21
22
23Source Address(128) [2](None)
24
25
26
27..
28
4xN+15Source Address(128) [N](None)
4xN+16
4xN+17
4xN+18

※General Queryでは

  • Destination Address = ff02::1
  • Source Address = Link Local Address
  • Number of Sources = 0

MAX Response Code † Edit

  • msec単位の応答遅延時間を指定しますが、32768以上の値を指定する際は浮動小数点フォーマットになります。
  • 32768以上の場合は以下のようにコーディングされます。
0123456789ABCDEF
Max Response Code"1"expmant
  • 従って、最大応答遅延時間(res msec)は
f( code < 32768 )
{
      res = code;
}
else
{
      exp  = (code & 0x7000) >> 20;
      mant = code & 0x0fff;
      res = (mant | 0x1000) << (exp + 3);
}

S(Suppress Router-Side Processing) † Edit

  • S Flag="1"の場合、マルチキャストルータは通常のタイマー処理を停止します。
    IGMP General Queryの場合は”0”

QRV(Querier's Robustness Variable) † Edit

  • ロバストネスを指定します。パケットロスの補償として、メッセージの送信回数を指定します。
    通常は"2"が指定されます。

QQIC(Querier's Query Interval Code) † Edit

  • Querier側の送信間隔が指定されます。(単位:sec)

Eathernet Frame Format

Offset76543210Remarks
000xAA0xAA
010xAA0xAA
020xAA0xAA
030xAA0xAA
040xAA0xAA
050xAA0xAA
060xAA0xAA
070xAB0xAB
08Dist MAC(0)0x33
09Dist MAC(1)0x33
10Dist MAC(2)0x00
11Dist MAC(3)0x00
12Dist MAC(4)0x00
13Dist MAC(5)0x01
14Src MAC(0)
15Src MAC(1)
16Src MAC(2)
17Src MAC(3)
18Src MAC(4)
19Src MAC(5)
20Type(0)0x86
21Type(1)0xdd
22Payload(0)
23Payload(1)
......
22+NPayload(N)
23+NFCSX

GeneralQuery?では

  • Dist Mac = 33:33:00:00:00:01
  • Type = 0x86DD(IPv6)

添付ファイル: filemld_query-1.0.1-1.i386.rpm 469件 [詳細]

トップ   編集 編集(GUI) 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-04-24 (木) 17:12:09 (3658d)