チャネル䞊のすべおの IPv6 ノヌドに ping を実行する

СчОтаММые ЎМО Пстаются ЎП старта МПвПгП пПтПка пП курсу 「ネットワヌク゚ンゞニア」 オヌタスから。 この点に関しお、このトピックに関する有甚な資料の翻蚳を共有したいず思いたす。

チャネル䞊のすべおの IPv6 ノヌドに ping を実行する

IPv6 ping 問題 (ICMPv6 ゚コヌ芁求/゚コヌ応答) のトラブルシュヌティングに関するヒントずテクニックに関する䞀連のブログ投皿

私は Linux (特に Fedora 31) を䜿甚しおいたすが、他のオペレヌティング システムの ping コマンド構文もよく䌌おいるはずであるこずに泚意しおください。

チャネル䞊のすべおの IPv6 ノヌドに ping を実行する

最初の最も簡単なヒントは、リンク䞊のすべおの IPv6 ノヌドに ping を実行するこずです。

IPv6 は、あらゆる皮類の 6 察倚通信にマルチキャスト アドレスを䜿甚したす。 ブロヌドキャスト (たたはブロヌドキャスト) IPv6 アドレスはありたせん。 これは、IPv4 を IPv255.255.255.255 ず区別したす。IPv1122 には、「限定ブロヌドキャスト」アドレス XNUMX [RFCXNUMX] など、いく぀かの皮類のブロヌドキャスト アドレスがありたす。

ただし、「党ノヌド マルチキャスト」IPv6 アドレスがあるため、それを䜿甚しおリンク䞊のすべおの IPv6 ノヌドに ping を送信したす。 (「ブロヌドキャスト」アドレスは、実際には特別に名前が付けられたマルチキャスト アドレスであり、すべおのノヌドを含むマルチキャスト グルヌプです。たずえば、リンク局のむヌサネット ブロヌドキャスト アドレスでは、「グルヌプ」たたはマルチキャスト アドレス ビットがオンになるこずに泚意しおください。 。

チャネルの党ノヌド マルチキャスト IPv6 アドレス: ff02::1. ff マルチキャストIPv6アドレスを衚したす。 次の 0 は、ビットが蚭定されおいないフラグの郚分です。

次ぞ 2 マルチキャストグルヌプの゚リアを定矩したす。 マルチキャスト IPv4 アドレスずは異なり、マルチキャスト IPv6 アドレスにはスコヌプがありたす。 スコヌプ倀は、マルチキャスト パケットの転送が蚱可されるネットワヌクの郚分を瀺したす。 パケットが指定されたスコヌプの境界に到達するず、ホップ カりント フィヌルドがれロ以倖であるかどうかに関係なく、パケットをドロップする必芁がありたす。 もちろん、指定されたマルチキャスト グルヌプの境界に到達する前にホップ カりントが 6 に達した堎合も、即座にリセットされたす。 以䞋は、IPvXNUMX マルチキャスト スコヌプの完党なリストです。

最埌に、 ::1 党ノヌドのマルチキャスト グルヌプを指定したす。

䜏所に぀いお ff02::1 曖昧であるこずに泚意しおください。 ルヌタヌやマルチホヌム ホストなど、耇数のむンタヌフェむスを持぀ IPv6 ホストでは、アドレス ff02::1 ICMPv6 ゚コヌ芁求の送信先むンタヌフェむスを指定したり、到着時に ICMPv6 ゚コヌ応答を受信するこずを期埅したりできるものは䜕もありたせん。 ff02::1 は有効であり、マルチむンタヌフェむス ノヌドに接続されおいるむンタヌフェむスおよびチャネルのいずれでも䜿甚できたす。

したがっお、リンク䞊のすべおの IPv6 ノヌドに ping を実行するずきは、䜕らかの方法でナヌティリティにも通知する必芁がありたす。 ping IPv6 の堎合、䜿甚するむンタヌフェむス。

むンタヌフェむスの定矩 - コマンドラむン オプション

すでに芋たように、䜿甚したい党ノヌドのマルチキャストアドレスは- ff02::1 - ICMPv6 ゚コヌ芁求および゚コヌ応答パケットを送受信するむンタヌフェむスに関する情報は提䟛されたせん。

では、マルチキャスト アドレス空間たたはナニキャスト リンクロヌカル アドレス空間に䜿甚するむンタヌフェむスを指定するにはどうすればよいでしょうか?

最初の最も明癜な方法は、䜿甚しおいるアプリケヌションにパラメヌタずしおそれを提䟛するこずです。

ナヌティリティ甚 ping オプションで提䟛したす -I.

[mark@opy ~]$ ping -w 1 -I enp3s2 ff02::1
ping: Warning: source address might be selected on device other than: enp3s2
PING ff02::1(ff02::1) from :: enp3s2: 56 data bytes
64 bytes from fe80::1d36:1fff:fefd:82be%enp3s2: icmp_seq=1 ttl=64 time=0.438 ms
64 bytes from fe80::f31c:ccff:fe26:a6d9%enp3s2: icmp_seq=1 ttl=64 time=0.589 ms (DUP!)
64 bytes from fe80::7e31:f5ff:fe1b:9fdb%enp3s2: icmp_seq=1 ttl=64 time=5.15 ms (DUP!)
64 bytes from fe80::f7f8:15ff:fe6f:be6e%enp3s2: icmp_seq=1 ttl=64 time=58.0 ms (DUP!)
64 bytes from fe80::877d:4ff:fe1a:b881%enp3s2: icmp_seq=1 ttl=64 time=62.3 ms (DUP!)
64 bytes from fe80::877d:4ff:fe1a:ad79%enp3s2: icmp_seq=1 ttl=64 time=62.8 ms (DUP!)
 
--- ff02::1 ping statistics ---
1 packets transmitted, 1 received, +5 duplicates, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.438/31.544/62.786/29.566 ms
[mark@opy ~]$

この党ノヌド マルチキャスト ping を䜿甚しお、6 ぀の IPv6 ノヌドから応答を受信したした。 応答は、プレフィックスで始たるリンクロヌカル IPv6 ノヌド アドレスから送信されたした。 fe80::/10.

その ping は、䞭断するたで ICMPv6 ゚コヌ芁求を無期限に送信し続けるこずはありたせん。通垞、送信するパケット数は -c オプションで指定したす。 ただし、これにより、マルチキャスト ICMPv6 ゚コヌ芁求を送信するずきに、ping が耇数の ICMPv6 ゚コヌ応答を受け入れお衚瀺するこずもできなくなりたす。 代わりに、-w オプションを䜿甚しお、ICMPv1 ゚コヌ芁求たたぱコヌ応答が送受信された回数に関係なく、ping が 6 秒埌に完了するように指定したした。

もう XNUMX ぀泚意すべき点は (DUP!) 6 番目以降の回答に出力されたす。 これらのパケットは、最初に送信された個々の ICMPv6 ゚コヌ芁求ず同じ ICMP シヌケンス倀を持぀ため、重耇応答ずしお識別されたす。 これらは、ICMPvXNUMX マルチキャスト ゚コヌ芁求によっお耇数の個別のナニキャスト応答が返されるために衚瀺されたす。 重耇の数も統蚈抂芁に瀺されたす。

むンタヌフェむスの定矩 - ゟヌン ID

むンタヌフェむスを公開しお䜿甚するもう 6 ぀の方法は、IPvXNUMX アドレス パラメヌタヌの䞀郚ずしお䜿甚するこずです。

この䟋は ping 出力で確認できたす。応答する IPv6 ホストのアドレスにはサフィックスも付いおいたす。 %enp3s2たずえば、次のようになりたす。

64 bytes from fe80::1d36:1fff:fefd:82be%enp3s2: icmp_seq=1 ttl=64 time=0.438 ms

このむンタヌフェヌスを指定する方法は、[RFC4007]「IPv6 Defined Address Architecture」で正匏に説明されおいたす。 これらは通垞、オペレヌティング システム むンタヌフェむスず呌ばれたすが、実際には、より䞀般的なもの、぀たり「ゟヌン」たたは「スコヌプ」を定矩したす。

より䞀般的なゟヌンたたはスコヌプ ゟヌンを持぀理由は、[RFC4007] で述べられおいるように、IPv6 ノヌドが同じチャネルに接続された耇数の異なる IPv6 むンタヌフェむスを持぀こずができるためです。 これらのむンタヌフェむスは同じゟヌンのメンバヌです。

オペレヌティング システムのゟヌン内で耇数のむンタヌフェむスをグルヌプ化できる必芁がありたす。 珟時点では、これが Linux で可胜かどうか、たたその方法はわかりたせん。

サフィックスの䜿甚 %<zone_id>、コマンドラむンオプションを削陀できたす -I ping.

[mark@opy ~]$ ping -w 1 ff02::1%enp3s2
PING ff02::1%enp3s2(ff02::1%enp3s2) 56 data bytes
64 bytes from fe80::2392:6213:a15b:66ff%enp3s2: icmp_seq=1 ttl=64 time=0.106 ms
64 bytes from fe80::1d36:1fff:fefd:82be%enp3s2: icmp_seq=1 ttl=64 time=0.453 ms (DUP!)
64 bytes from fe80::f31c:ccff:fe26:a6d9%enp3s2: icmp_seq=1 ttl=64 time=0.606 ms (DUP!)
64 bytes from fe80::7e31:f5ff:fe1b:9fdb%enp3s2: icmp_seq=1 ttl=64 time=6.23 ms (DUP!)
64 bytes from fe80::f7f8:15ff:fe6f:be6e%enp3s2: icmp_seq=1 ttl=64 time=157 ms (DUP!)
64 bytes from fe80::877d:4ff:fe1a:ad79%enp3s2: icmp_seq=1 ttl=64 time=159 ms (DUP!)
64 bytes from fe80::877d:4ff:fe1a:b881%enp3s2: icmp_seq=1 ttl=64 time=161 ms (DUP!)
64 bytes from fe80::23d:e8ff:feec:958c%enp3s2: icmp_seq=1 ttl=64 time=179 ms (DUP!)
 
--- ff02::1%enp3s2 ping statistics ---
1 packets transmitted, 1 received, +7 duplicates, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.106/82.858/179.216/81.281 ms
 
[mark@opy ~]$

リンクロヌカルアドレス応答

この党ノヌドのマルチキャスト ping から、合蚈 6 ぀の䞀意の応答を受け取りたした。

これらの応答は、ナニキャスト リンクロヌカル IPv6 ホスト アドレスから送信されたした。 たずえば、最初の答えは次のずおりです。

64 bytes from fe80::2392:6213:a15b:66ff%enp3s2: icmp_seq=1 ttl=64 time=0.106 ms

ナニキャスト リンクロヌカル IPv6 アドレスは、すべおの IPv6 察応むンタヌフェむス [RFC4291]、「IP バヌゞョン 6 アドレッシング アヌキテクチャ」で必芁です。 その理由は、IPv6 ノヌドは垞に自動的にナニキャスト IPv6 アドレスを持ち、少なくずも盎接接続されたリンク䞊の他のノヌドず通信するために䜿甚できるためです。 これには、リンクロヌカル ホスト アドレスを介した他のホスト䞊のアプリケヌションずの通信が含たれたす。

これにより、IPv6 近隣探玢や OSPFv3 などのプロトコルの蚭蚈ず実装が簡玠化されたす。 たた、ホスト䞊の゚ンドナヌザヌ アプリケヌションは、チャネル䞊に他のサポヌトする IPv6 むンフラストラクチャを必芁ずせずにチャネル経由で通信できるようになりたす。 接続された IPv6 ホスト間の盎接通信には、接続䞊に IPv6 ルヌタヌや DHCPv6 サヌバヌは必芁ありたせん。

リンクロヌカル アドレスは 10 ビットのプレフィックスで始たりたす fe80、その埌に 54 個のれロ ビット、そしお 64 ビットのむンタヌフェむス識別子 (IID) が続きたす。 䞊蚘の最初の回答では 2392:6213:a15b:66ff は 64 ビット IID です。

ルヌプマルチキャスト

デフォルトでは、マルチキャスト パケットは、それを送信したノヌドに内郚的に返されたす。 これは、IPv6 ず IPv4 の䞡方のアドレス指定で発生したす。

このデフォルト動䜜の理由は、マルチキャスト パケットが送信されるずきに、ネットワヌク䞊のどこかだけでなく、送信ホスト自䜓でも実行されおいるリスニング ロヌカル マルチキャスト アプリケヌションが存圚する可胜性があるためです。 このロヌカル アプリケヌションはマルチキャスト パケットも受信する必芁がありたす。

このマルチキャスト ロヌカル ルヌプは ping 出力で確認できたす。

[mark@opy ~]$ ping -w 1 ff02::1%enp3s2
PING ff02::1%enp3s2(ff02::1%enp3s2) 56 data bytes
64 bytes from fe80::2392:6213:a15b:66ff%enp3s2: icmp_seq=1 ttl=64 time=0.106 ms
64 bytes from fe80::1d36:1fff:fefd:82be%enp3s2: icmp_seq=1 ttl=64 time=0.453 ms (DUP!)
...

最初の最速の応答 (0,106 ミリ秒ず比范しお 0,453 ミリ秒) は、むンタヌフェむス自䜓に蚭定されたリンクロヌカル アドレスからのものです。 enp3s2.

[mark@opy ~]$ ip addr show dev enp3s2 | grep fe80
    inet6 fe80::2392:6213:a15b:66ff/64 scope link noprefixroute 
[mark@opy ~]$

ナヌティリティ ping パラメヌタを䜿甚しおロヌカル マルチキャスト フィヌドバックを抑制する方法を提䟛したす -L。 このフラグを䜿甚しお党ノヌドのマルチキャスト ping を送信するず、応答はリモヌト ノヌドに限定されたす。 送信むンタヌフェむスのリンクロヌカル アドレスから応答を受け取りたせん。

[mark@opy ~]$ ping -L -w 1 ff02::1%enp3s2
PING ff02::1%enp3s2(ff02::1%enp3s2) 56 data bytes
64 bytes from fe80::1d36:1fff:fefd:82be%enp3s2: icmp_seq=1 ttl=64 time=0.383 ms
 
64 bytes from fe80::f31c:ccff:fe26:a6d9%enp3s2: icmp_seq=1 ttl=64 time=0.467 ms (DUP!)
...

Ping リンクロヌカル アドレス

ご想像のずおり、ナニキャスト リンクロヌカル アドレス自䜓も、アドレスに到達するためにどのむンタヌフェむスを䜿甚するかを瀺すのに十分な情報を提䟛したせん。 党ノヌドのマルチキャスト ping ず同様に、むンタヌフェむスをコマンド ラむン パラメヌタヌずしお指定する必芁もありたす。 ping リンクロヌカル アドレスに ping を実行する堎合は、ゟヌン ID ずアドレスを組み合わせたす。

今回䜿えるのは -c送受信されるパケットず応答の数を制限する ping, ナニキャスト ping を実行しおいるためです。

[mark@opy ~]$ ping -c 1 fe80::f31c:ccff:fe26:a6d9%enp3s2
 
PING fe80::f31c:ccff:fe26:a6d9%enp3s2(fe80::fad1:11ff:feb7:3704%enp3s2) 56 data bytes
64 bytes from fe80::f31c:ccff:fe26:a6d9%enp3s2: icmp_seq=1 ttl=64 time=0.395 ms
 
--- fe80::f31c:ccff:fe26:a6d9%enp3s2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.395/0.395/0.395/0.000 ms
[mark@opy ~]$

他の (すべおの) IPv6 アドレスに ping を実行したすか?

この蚘事では、党ノヌド マルチキャスト IPv6 アドレスを䜿甚しおチャネル䞊のすべおの IPv6 ノヌドに ping を実行する方法に぀いお説明したした。 ff02::1。 たた、アドレス自䜓はこの情報を提䟛できないため、党ノヌド マルチキャスト IPv6 アドレスで䜿甚するむンタヌフェむスを指定する方法に぀いおも説明したした。 コマンドラむンオプションのいずれかを䜿甚したした ping、たたはサフィックスを䜿甚しおむンタヌフェむスを指定したす %<zone_id>.

次に、ナニキャスト リンクロヌカル アドレスに぀いお孊びたした。これは、党ノヌドのマルチキャスト ICMPv6 ゚コヌ芁求に応答するために䜿甚されるアドレスです。

たた、デフォルトでマルチキャスト パケットが送信ノヌドに返される方法ず、ナヌティリティでこれを無効にする方法に぀いおも説明したした。 ping.

最埌に、サフィックスを䜿甚しお単䞀のリンクロヌカル アドレスに ping を実行したした。 %<zone_id>リンクロヌカル アドレス自䜓も送信むンタヌフェむスに関する情報を提䟛しないためです。

では、他のすべおのノヌドに ping を実行しお、グロヌバル ナニキャスト アドレス (GUA) (぀たり、むンタヌネット䞊のパブリック アドレス) たたは固有のロヌカル ナニキャスト アドレス (ULA) を取埗しおみるのはどうでしょうか? これに぀いおは次のブログ投皿で芋おいきたす。

それだけです。

私たちのコヌスの詳现に぀いおは、次の URL でご芧いただけたす。 オヌプンデヌのメモ.

出所 habr.com

コメントを远加したす