2015年12月25日金曜日

IPv6ルーティングの設定の前段


設定作業の前に動作状況。先日トラフィックを眺めたルータとはまた別の機器で。

PC----L2----R1
    |---R2

今回はR2のほう。R2の電源ON後に発生するトラフィックは

VLAN1のアドレスについてぐらちゅーたすあrp
OSPFハロー

(ここからねくすとへっだーフィールドぷろとこる番号58が登場)

ネイバーそりしていしょんを未指定(::)から自分のリンクローカルアドレス宛

SNTPサーバアドレスに対するARP要求

ルータそりてぃていしょんを未指定(::)からマルチキャスト全ルータへ

syslogサーバアドレスに対するARP要求
 <---応答

ねいばーアドバタイズメント 自分のリンクローカルアドレスからマルチキャスト全ノード宛て
 (ICMP136の中身はターゲット:自分のリンクローカルアドレス&リンクレイヤアドレス)

マルチキャストリスナーレポートめっせーじv2 自分のリンクローカルアドレスからマルチキャスト::16へ

ルータそりしていしょん 自分のリンクローカルアドレスからマルチキャスト全ルータ
 (ICMP133の中身は自分のリンクレイヤアドレス)

4秒後にふたたび
ルータそりしていしょん 自分のリンクローカルアドレスからマルチキャスト全ルータ
 (ICMP133の中身は自分のリンクレイヤアドレス)


余談: Catalystが約5秒おきにSVIなアドレスのぐらちゅーたすあrpを投げる仕様のようだが、そんなだったか。

ともあれ設定。これまではインターフェースにautoconfigでアドレスをふっただけなのでルーティングテーブルはこんな状態。

R2#show ipv6 route
IPv6 Routing Table - default - 1 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
       B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP
       D - EIGRP, EX - EIGRP external, NM - NEMO, ND - Neighbor Discovery
       l - LISP
       O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
L   FF00::/8 [0/0]
     via Null0, receive
R2#


それから、下手に手を出す前に Ciscoの公式なコンフィギュレーションガイドを。

IPv6 アドレッシングと基本接続の実装
http://www.cisco.com/cisco/web/support/JP/docs/CIAN/IOS/IOS15_1M_T/CG/011/ip6-addrg_bsc_con.html?bid=0900e4b182530486

そういえばいつからv6対応だったのか?と思えば、12.0S、12. x T、12.2S ファミリ、12.3、12.4、15.0、および 15.1 のリリース トレインとのこと。機能とサポート状況の表を眺めると何とも項目の数が多いこと。

さておき、ここにIPv6の通信の初歩的な部分について再び。

---引用ここから---

IPv6 ネイバー ディスカバリ

IPv6 ネイバー ディスカバリ プロセスでは、ICMP メッセージおよび請求ノード マルチキャスト アドレスを使用して、同じネットワーク(ローカル リンク)上のネイバーのリンクレイヤ アドレスを判断し、ネイバーに到達可能かどうかを確認し、ネイバー ルータを追跡します。

ネイバー ディスカバリ機能の IPv6 スタティック キャッシュ エントリにより、IPv6 ネイバー キャッシュ内にスタティック エントリを作成できます。スタティック ルーティングでは、管理者が、各ルータの各インターフェイスの IPv6 アドレス、サブネット マスク、ゲートウェイ、および対応する MAC アドレスをテーブルに入力する必要があります。スタティック ルーティングによって、より詳細な制御が可能になりますが、テーブルの保守作業が増えます。ルートが追加または変更されるたびにテーブルを更新する必要があります。


---引用ひとまずここまで---

先生のところでは全く出てこなかったが "ネイバーでぃすかばりプロセス" なる概念がIPv6にはあるようだ。


---引用ここから---


ネイバー アドバタイズメント メッセージは、ローカル リンク上のノードのリンクレイヤ アドレスが変更されたときにも送信されます。このような変更がある場合、ネイバー アドバタイズメントの宛先アドレスは全ノード マルチキャスト アドレスです。

ネイバー請求メッセージは、ネイバーのリンクレイヤ アドレスが識別されたあとに、ネイバーの到達可能性の確認にも使用されます。ネイバー到達不能検出では、ネイバーの障害またはネイバーへの転送パスの障害が識別されます。この検出は、ホストとネイバー ノード(ホストまたはルータ)間のすべてのパスで使用されます。ネイバー到達不能検出は、ユニキャスト パケットだけが送信されるネイバーに対して実行され、マルチキャスト パケットが送信されるネイバーに対しては実行されません。


---引用ここまで---

ネイバーソリシテイションとアドバタイズメントは

・素性確認
・死活確認
・自分の素性が変わったら更新のお知らせ

少なくとも3つの機能があると。


---引用ここから---

ネイバーから返信された請求ネイバー アドバタイズメント メッセージは、転送パスがまだ機能しているという肯定確認応答です(請求フラグが値 1 に設定されたネイバー アドバタイズメント メッセージは、ネイバー請求メッセージへの返信としてだけ送信されます)。非請求メッセージでは、送信元ノードから宛先ノードへの一方向パスだけが確認されます。請求ネイバー アドバタイズメント メッセージは、両方向のパスが機能していることを示します。

(注) 請求フラグが値 0 に設定されたネイバー アドバタイズメント メッセージは、転送パスがまだ機能していることを示す肯定確認応答とは見なされません。


---引用ここまで---

ICMPメッセージ中に32ビットの"Flags"が在り、この先頭から3ビットが、


1ビット目が ルータ
2ビット目が ソリシテッド
3ビット目が オーバーライド

そして4-32ビットはレザーブドとなっている。Ciscoのドキュメント中の「請求フラグ」とはおそらくこれのようだ。ネイバーソリティテイション中にこのフラグスは無く、アドバタイズメンにだけ在る。ルータアドバタイズメントではフラグスの項目がまた全く異なる。


1ビット目 マネージドアドレスコンフィギュレーション
2同上 アザーコンフィギュレーション
3 ホームエージェント
4-5 PRF(デフォルトルータぷリファレンス)
6 プロキシ
7 リザーブド

8ビット目は未使用か?


これに続いて16ビットで ルータライフタイム (この例では1800秒だった)
32ビットで リーチャブルタイム (ここでは0ミリ秒だった)
やはり32ビットで リトランスタイマー (0ミリ秒)


となっている。次に、技術としてもっとずっと初期段階な内容のこの記述


--- 引用ここから ---

ネイバー請求メッセージは、ユニキャスト IPv6 アドレスがインターフェイスに割り当てられる前にそのアドレスが一意であることを確認するために、ステートレス自動設定プロセスでも使用されます。新規のリンクローカル IPv6 アドレスに対しては、アドレスがインターフェイスに割り当てられる前に、最初に重複アドレス検出が実行されます(重複アドレス検出の実行中、新規アドレスは一時的な状態のままです)。具体的には、ノードは未指定の送信元アドレスと一時的なリンクローカル アドレスをメッセージの本文に含むネイバー請求メッセージを送信します。そのアドレスが別のノードですでに使用されている場合、ノードは一時的なリンクローカル アドレスを含むネイバー アドバタイズメント メッセージを返します。別のノードが同じアドレスの一意性を同時に検証している場合は、そのノードもネイバー請求メッセージを返します。ネイバー請求メッセージの返信としてネイバー アドバタイズメント メッセージが受信されず、同じ一時アドレスの検証を試行している他のノードからのネイバー請求メッセージも受信されない場合、最初のネイバー請求メッセージを送信したノードは、一時的なリンクローカル アドレスを一意であると見なし、そのアドレスをインターフェイスに割り当てます。

リンク上のすべての IPv6 ユニキャスト アドレス(グローバルまたはリンクローカル)が一意であることを検証する必要がありますが、リンクローカル アドレスの一意性が確認されるまでは、リンクローカル アドレスに関連付けられている他の IPv6 アドレスに対して重複アドレス検出は実行されません。Cisco IOS ソフトウェアでの重複アドレス検出のシスコ実装では、64 ビット インターフェイス識別子から生成されるエニーキャスト アドレスまたはグローバル アドレスの一意性は確認されません。



--- 引用ここまで ---

Neighbor の solicitation と Advertisement のごく基本的な動作について極めて初歩的な説明である。文書の性質上少々冗長な感はあるがたいへんすっきりした内容だ。

はて!? 私がIPv6のおべんきょうに取り掛かってからずいぶん経っているような気がするが、なぜ今頃になってこの記述を読んでいるのだろうか???つまり、そもそも学ぶべき対象は正しく選択しなければならないということ。



続いてルータアドバタイズメントについて。引用はきりがないので箇条書きで。

・タイプフィールド値134
・定期的に送信
・ステートレスを正常に稼働させるためにプリフィクスは/64
・全ノードマルチキャスト
・自動設定のためのプリフィクス情報とこのライフタイムを含む
・ステートレス/ステートフルいずれかを指定するフラグ
・デフォルトルータにかかる情報
・ホストがつかうべきホップリミットやMTU
・アドバタイズメントは要請(タイプ133)に対する応答としても使用
・ホストはデフォでシステムスタート時に要請を出す
 この時のソースは未指定(::)


ルータの設定にたどり着くまでもうちょっとかかりそうだ。


0 件のコメント:

コメントを投稿