2015年12月24日木曜日

RAによるグローバルユニキャストアドレス付与の経過

ICMPを用いたハードウェアアドレス解決方法、Neighbor Solicitation (ICMPタイプ135)を送って相手からNeighbor Advertisement (ICMPタイプ136)が返答されるあんなこんなやり取りとちょっと似ているかもだが。

順序立ててひも解くと、

ノードA: 

 オレ IPv6でグローバルユニキャストなアドレスやゲートウェイ必要!

 だから、Router Solicitation (じゃっぷ的にはるーた要請)送っちまうぜ!

 あて先はRAなルータ、不特定のルータだからマルチキャストでFE02::2さ!
 宛先MACは知らねーから、??すぉりしてっどノードマルチキャストアドレス??
 オレの リンクローカルアドレスはFE80::8988:88FE:FE88:8888、
 オレのMACアドレスは88:88:88:88:88:88。

  133ルーターそぉりしてぃしょんめっせーじ行けやー!


ノードB=RAなルータ:
 
 何や、ICMP133 ルーターすぉりしていしょんめっせーじ来たで!?

 134 ルーターあどばたいずめんと返さんとならんやないかメンドイわー。

 で、誰や相手は。IPv6アドレスがリンクローカルやな
 FE80::8988:88FE:FE88:8888
 んでもってMACアドレスは
 88:88:88:88:88:88
 かいな、わいのMACアドレスは
 22:22:22:22:22:22
 やで。ほれ、134ルーターあどばたいずめんと送るで、
 プリフィクス、げーとうぇい、それから有効期限や!!



ノードA: 

 おー、RAなルータはノードBさんやったんか!
 ぷりふぃくすありがとー、これでグローバルユニキャスト生成であとウハウハやねん!


ちゅーハナシと思ってんねんけど、ホンマかどうか知らんてゆうか、あからさまにアヤシイ以前にもかなりアヤシかったネタのコピペ。


で、誤認識どころか間抜け想像なネタはおいといて、リアルはどうなっているかというと


WinなPC ------ L2 -------- RAなルータ


と、そういえばL2のSPANポートな設定どうなっていたっけ!? 単純にWinなPCのトラフィックをモニタしよう段で、PCやルータをモニタする設定していたらワケがわからなくなる。


monitor session 1 source interface Fa0/7
monitor session 1 destination interface Fa0/1

って、設定入れたまんまだし。ここは接続ポートを変更して開始。まず、WinなPCとL2間のみ生きている状態でWindows8.1のDHCPv6リクエストパケット
これでWindows上の設定はどうなっているか。ipconfig /all からv6絡みを抜粋すると

 イーサネット アダプター イーサネット:

   DHCP 有効 . . . . . . . . . . . . . .: いいえ
   自動構成有効. . . . . . . . . . . . .: はい
   リンクローカル IPv6 アドレス. . . . .: fe80::ec3d:80d5:e7ea:9fa0%3(優先)
   DHCPv6 IAID . . . . . . . . . . . . .: 53765289
   DHCPv6 クライアント DUID. . . . . . .: 00-01-00-01-1D-A8-71-DE-34-64-A9-CE-39-95
   DNS サーバー. . . . . . . . . . . . .: fec0:0:0:ffff::1%1
                                          fec0:0:0:ffff::2%1
                                          fec0:0:0:ffff::3%1


IAIDと、DUIDってナニ?とここでも躓く、誤3blogの程度のすさまじい低さ。

IAID (Identity Association ID)についてはアットマークアイティさんのこちら。

Windows管理者のためのIPv6入門:
第5回 IPv6アドレスをDHCPで割り当てる
http://www.atmarkit.co.jp/ait/articles/1303/14/news095_2.html


DUIDについてCiscoさんのIPv6コンフィギュレーションガイドから、引用を一部。

DHCP for IPv6 の実装 ~ クライアントとサーバの識別

各 DHCPv6 クライアントとサーバは、DHCP Unique Identifier(DUID; DHCP 固有識別子)によって識別されます。DUID は、クライアント識別子およびサーバ識別子オプションで伝送されます。DUID はすべての DHCP クライアントとサーバで一意であり、特定のクライアントまたはサーバに固定されます。DHCPv6 では、クライアントとサーバの両方の識別子にリンク層アドレスに基づく DUID を使用します。デバイスは、最も小さい番号のインターフェイスの MAC アドレスを使用して DUID を形成します。ネットワーク インターフェイスは、デバイスに永続的に接続されていると見なされます。

IPv6 DHCP クライアントが 2 つのプレフィクスを要求し、そのプレフィクスの DUID が同じで IAID が 2 つの異なるインターフェイス上で異なる場合、これらのプレフィクスは 2 つの異なるクライアント用と見なされ、両方のインターフェイス情報が保持されます。

引用ここまで。詳しくはこちら。
http://www.cisco.com/cisco/web/support/JP/docs/CIAN/IOS/IOS15_1S/CG/009/ip6-dhcp.html?bid=0900e4b1825ae751


つまるところ、冒頭のただでさえしょぼい芸人ごっこは、根本的に劣悪なものということで。



さて、WindowsとL2の間を確認したところで、VLANにIPv6アドレスをautoconfigで設定しただけのルータをブートさせる。すると、

・自VLANアドレス宛のぐらちゅーたすARP
・OSPF Hello

に続いて

a. IPv6アドレスオールゼロからFE02::16宛のマルチキャストリスナーリポートv2
b. IPv6アドレスオールゼロからFE02::16宛のマルチキャストリスナーリポートv2
c. IPv6アドレスオールゼロからFE02::1:FF下位24ビット宛のネイバーソリシテーション


が見られた。aとbはソースも宛先も同じだが、ICMP 143 マルチキャストリスナレポートV2メッセージ中の

 Multicast Address change to exclude:

の値が異なる。前者はすべてのルータ、後者はこのルータのソシィリエいテッドノードアドレス。どうやら、すべてのルータおよび自身の要請ノードマルチキャストアドレスをソースとするマルチキャストは除外ですよ、と通告しているようだ。この動作は



ヤマハ アドバンストネットワーク > IPマルチキャストについて > IPマルチキャスト概要 
http://jp.yamaha.com/products/network/solution/multicast/outline/

アラクサラ MLDの動作
https://www.alaxala.com/jp/techinfo/archive/manual/AX7800R/HTML/10_10_/APGUIDE/0398.HTM


Multicast Listener Discovery によるところ、IPv4ならIGMPに相当する機能によるものであるようだ。が、個人的には何しろIPv4でマルチキャストの設計運用に関わったことがない、ちゅー以前に傲慢不勉強だったので全く知らなかった。バカ過ぎて痛い。が、傲慢もバカも痛がらずにジブン放置し続けるよりはずいぶんマシか。片っ端から手をつけるほかないわ。



以降を追うのは時間を要するので次回。






0 件のコメント:

コメントを投稿