Ping sadaya titik IPv6 dina saluran

Sababaraha dinten tetep dugi ka mimiti aliran anyar dina laju "Insinyur Jaringan" ti OTUS. Dina hal ieu, kami hoyong bagikeun sareng anjeun tarjamahan tina bahan anu mangpaat dina topik éta.

Ping sadaya titik IPv6 dina saluran

Runtuyan tulisan blog ngeunaan tip sareng trik pikeun ngungkulan masalah ping IPv6 (ICMPv6 Echo Request/Echo Reply)

Punten dicatet yén kuring nganggo Linux (khusus Fedora 31), tapi sintaksis paréntah ping pikeun sistem operasi anu sanés kedahna sami.

Ping sadaya titik IPv6 dina saluran

Tip kahiji sareng pangbasajanna nyaéta ping sadaya titik IPv6 dina tautan.

IPv6 ngagunakeun alamat multicast pikeun sagala jinis komunikasi hiji-ka-loba. Henteu aya siaran (atanapi siaran) alamat IPv6. Ieu ngabédakeun IPv6 sareng IPv4, dimana aya sababaraha jinis alamat siaran, contona, alamat "siaran terbatas" 255.255.255.255 [RFC1122].

Nanging, aya alamat IPv6 "sadaya-titik multicast", janten kami bakal ngagunakeun éta pikeun ping sadaya titik IPv6 dina tautan. (A alamat "siaran" sabenerna ngan hiji husus ngaranna alamat multicast, nu mangrupakeun grup multicast nu ngawengku sakabéh titik. Catet yén, contona, "grup" atawa bit alamat multicast dihurungkeun dina alamat siaran Ethernet dina lapisan link. ).

Alamat IPv6 multicast sadaya-titik pikeun saluran: ff02::1. ff ngalambangkeun alamat IPv6 multicast. The 0 salajengna nyaéta bagian tina bandéra kalawan bit unset.

saterusna 2 nangtukeun wewengkon grup multicast. Teu kawas alamat IPv4 multicast, alamat IPv6 multicast boga wengkuan. Nilai wengkuan nunjukkeun bagian tina jaringan nu hiji pakét multicast diwenangkeun diteruskeun. Sakali pakét ngahontal wates wengkuan anu ditangtukeun, pakét éta kedah dileungitkeun, henteu paduli naha widang Hop Count na henteu nol. Tangtosna, upami jumlah hop ngahontal enol sateuacan ngahontal wates grup multicast anu ditangtukeun, éta ogé langsung direset. Ieu daptar lengkep ngeunaan lingkup multicast IPv6.

Tungtungna ::1 nangtukeun grup multicast sadaya-titik.

Ngeunaan alamatna ff02::1 Ieu kudu dicatet yén éta téh ambigu. Dina host IPv6 sareng sababaraha antarmuka, sapertos router atanapi host multihomed, alamatna ff02::1 aya nanaon dimana anjeun bisa nangtukeun mana panganteur pikeun ngirim ICMPv6 requests gema atawa nyangka nampa balesan gema ICMPv6 nalika aranjeunna anjog. ff02::1 nyaeta valid tur bisa dipaké dina salah sahiji interfaces jeung saluran napel titik multi-interface.

Janten nalika urang ping sadaya titik IPv6 dina tautan, urang kedah kumaha waé ogé nyarioskeun utilitas ping pikeun IPv6, nu panganteur ngagunakeun.

Nangtukeun Antarmuka - Pilihan Jalur Komando

Sakumaha anu parantos kami tingali, alamat multicast sadaya-titik anu urang hoyong dianggo nyaéta - ff02::1 - henteu masihan inpormasi ngeunaan antarmuka mana anu ngirim sareng nampi pamundut gema ICMPv6 sareng pakét balesan gema.

Janten, kumaha urang nangtukeun antarmuka anu bakal dianggo pikeun rohangan alamat multicast atanapi rohangan alamat Link-Lokal unicast?

Cara anu pangheulana sareng paling atra nyaéta nyayogikeunana salaku parameter pikeun aplikasi anu kami anggo.

Pikeun utiliti ping urang nyadiakeun eta ngaliwatan pilihan -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 ~]$

Nganggo ping multicast sadaya-titik ieu, kami nampi réspon ti 6 titik IPv6. Tanggapan asalna tina alamat titik IPv6 Link-Lokal, dimimitian ku awalan fe80::/10.

yen ping teu neruskeun ngirim ICMPv6 requests gema salamina dugi kami ngaganggu eta, urang biasana nangtukeun jumlah pakét pikeun ngirim via pilihan -c. Nanging, ieu ogé nyegah ping tina nampi sareng nampilkeun langkung ti hiji balesan gema ICMPv6 nalika ngirim pamundut gema ICMPv6 multicast. Gantina, kami nganggo pilihan -w pikeun nangtukeun yén ping kedah réngsé saatos 1 detik, henteu paduli sabaraha pamundut gema ICMPv6 atanapi balesan gema anu dikirim atanapi ditampi.

Hal séjén anu kudu diperhatikeun nyaéta (DUP!) kaluaran dina jawaban kadua jeung saterusna. pakét ieu diidentifikasi minangka duplikat réspon sabab boga nilai runtuyan ICMP sarua salaku requests gema ICMPv6 individu anu dikirim dina tempat munggaran. Éta muncul kusabab pamundut gema multicast ICMPv6 nyababkeun sababaraha réspon unicast individu. Jumlah duplikat ogé dituduhkeun dina kasimpulan statistik.

Nangtukeun Interfaces - ID Zona

Cara séjén pikeun ngalaan antarmuka pikeun dianggo nyaéta salaku bagian tina parameter alamat IPv6.

Urang tiasa ningali conto ieu dina kaluaran ping, dimana alamat host IPv6 anu ngaréspon ogé gaduh sufiks. %enp3s2Contona:

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

Metoda ieu nangtukeun interfaces sacara resmi dijelaskeun dina [RFC4007], "Arsitéktur Alamat Ditetepkeun IPv6." Sanajan aranjeunna biasana disebut panganteur sistem operasi, aranjeunna sabenerna nangtukeun hal nu leuwih umum-a "zona" atawa "wengkuan".

Alesan pikeun ngabogaan zona leuwih umum atawa zona wengkuan éta, sakumaha disebutkeun dina [RFC4007], hiji titik IPv6 bisa mibanda sababaraha interfaces IPv6 béda disambungkeun ka channel sarua. Antarmuka ieu mangrupikeun anggota zona anu sami.

Sakuduna mungkin pikeun grup sababaraha interfaces dina zone dina sistem operasi; Ayeuna kuring henteu terang naha ieu mungkin dina Linux atanapi kumaha ngalakukeunana.

Ngagunakeun sufiks %<zone_id>, urang tiasa nyabut pilihan garis paréntah -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 ~]$

Link-Lokal Alamat Tanggapan

Tina ping multicast sadaya-titik ieu kami nampi total 6 réspon unik.

Réspon ieu asalna tina alamat host IPv6 Link-Lokal Unicast. Contona, ieu jawaban kahiji:

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

Unicast Patalina-Lokal alamat IPv6 diperlukeun dina sakabéh interfaces IPv6-diaktipkeun [RFC4291], "IP Vérsi 6 alamat Arsitéktur". Alesan pikeun ieu nyaéta titik IPv6 salawasna otomatis gaduh alamat IPv6 unicast, anu sahenteuna tiasa dianggo pikeun komunikasi sareng titik-titik sanés dina tautan anu langsung nyambung. Ieu kalebet komunikasi sareng aplikasi dina host anu sanés liwat alamat host Link-Lokal.

Ieu simplifies rarancang jeung palaksanaan protokol saperti IPv6 Neighbor Discovery jeung OSPFv3. Éta ogé ngamungkinkeun aplikasi pangguna akhir dina host pikeun komunikasi dina saluran tanpa meryogikeun infrastruktur IPv6 anu sanés dina saluran éta. Komunikasi langsung antara host IPv6 disambungkeun teu merlukeun hiji router IPv6 atanapi DHCPv6 server on sambungan.

Alamat Link-Lokal dimimitian ku awalan 10-bit fe80, dituturkeun ku 54 nol bit lajeng a 64-bit panganteur identifier (IID). Dina jawaban kahiji di luhur 2392:6213:a15b:66ff mangrupakeun IID 64-bit.

Looped Multicast

Sacara standar, pakét multicast dipulangkeun sacara internal kana titik anu ngirimkeunana. Ieu kajadian pikeun alamat IPv6 sareng IPv4.

Alesan pikeun kabiasaan standar ieu nyaéta nalika pakét multicast dikirim, tiasa ogé aya aplikasi multicast lokal anu ngupingkeun dijalankeun dina host anu ngirim sorangan, kitu ogé dimana waé dina jaringan. Aplikasi lokal ieu ogé kedah nampi pakét multicast.

Urang tiasa ningali loop lokal multicast ieu dina kaluaran ping kami:

[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!)
...

Réspon anu pangheulana sareng panggancangna (0,106 ms dibandingkeun sareng 0,453 ms) asalna tina alamat Link-Lokal anu dikonpigurasi dina antarmuka sorangan. enp3s2.

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

Utiliti ping nyadiakeun cara pikeun ngurangan eupan balik multicast lokal ngagunakeun parameter -L. Upami urang ngirimkeun ping multicast sadaya-titik sareng bandéra ieu, maka résponna dugi ka titik jauh. Kami henteu nampi réspon ti alamat Patalina-Lokal tina antarmuka pangirim.

[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 Patalina-Alamat Lokal

Sakumaha anjeun panginten, alamat Link-Lokal unicast nyalira ogé henteu masihan inpormasi anu cukup pikeun nunjukkeun antarmuka mana anu dianggo pikeun ngahontalana. Salaku kalawan ping multicast sadaya-titik, urang ogé kudu nangtukeun panganteur salaku parameter garis paréntah ping atanapi ID zona sareng alamat nalika ping alamat Link-Lokal.

Waktos ieu urang tiasa nganggo -cpikeun ngawatesan jumlah pakét sareng réspon anu dikirim sareng ditampi ping, saprak urang ngalakukeun ping unicast.

[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 ~]$

Ping (sadayana) alamat IPv6 séjén?

Dina artikel ieu, urang ningali kumaha ping sadaya titik IPv6 dina saluran nganggo alamat IPv6 multicast sadaya titik. ff02::1. Urang ogé ningali kumaha nangtukeun interface mana anu dianggo sareng alamat IPv6 multicast sadaya titik, sabab alamatna sorangan henteu tiasa masihan inpormasi ieu. Kami nganggo pilihan garis paréntah ping, atawa nangtukeun interface maké sufiks %<zone_id>.

Teras urang diajar ngeunaan alamat Patalina-Lokal unicast, anu mangrupikeun alamat anu dianggo pikeun ngaréspon sadaya-titik multicast ICMPv6 pamundut gema.

Kami ogé ningali kumaha pakét multicast dipulangkeun ka titik pangirim sacara standar sareng kumaha nganonaktipkeun ieu pikeun utilitas. ping.

Tungtungna, urang ping hiji alamat Link-Lokal tunggal ngagunakeun ahiran %<zone_id>, Kusabab alamat Link-Lokal sorangan ogé henteu masihan inpormasi ngeunaan antarmuka anu kaluar.

Janten kumaha upami ping sadaya titik anu sanés sareng kéngingkeun alamat unicast globalna (GUAs) (nyaéta, alamat umumna dina Internét) atanapi alamat unicast lokal unikna (ULA)? Urang bakal ningali ieu dina tulisan blog salajengna.

Éta sadaya na.

Anjeun tiasa mendakan langkung seueur ngeunaan kursus kami di catetan poé kabuka.

sumber: www.habr.com

Tambahkeun komentar