Faka wonke amanodi e-IPv6 esiteshini

Kusele izinsuku ezimbalwa kuze kuqale ukugeleza okusha ngenani "Unjiniyela Wenethiwekhi" kusuka ku-OTUS. Mayelana nalokhu, sithanda ukwabelana nawe ngokuhumusha kwezinto eziwusizo ngesihloko.

Faka wonke amanodi e-IPv6 esiteshini

Uchungechunge lokuthunyelwe kwebhulogi ngamathiphu namasu okuxazulula izinkinga ze-IPv6 ping (Isicelo se-ICMPv6 Echo/Impendulo ye-Echo)

Sicela uqaphele ukuthi ngisebenzisa i-Linux (ikakhulukazi i-Fedora 31), nokho i-syntax yomyalo we-ping yezinye izinhlelo zokusebenza kufanele ngethemba ukuthi ifane kakhulu.

Faka wonke amanodi e-IPv6 esiteshini

Ithiphu yokuqala nelula uku-ping wonke amanodi e-IPv6 kusixhumanisi.

I-IPv6 isebenzisa amakheli okusakaza okuningi kuzo zonke izinhlobo zokuxhumana okukodwa kuya kokuningi. Awekho amakheli e-IPv6 okusakaza (noma okusakaza). Lokhu kwehlukanisa i-IPv6 ne-IPv4, lapho kunezinhlobo ezimbalwa zamakheli okusakaza, isibonelo, ikheli “lokusakaza okulinganiselwe” 255.255.255.255 [RFC1122].

Nokho, kukhona ikheli le-IPv6 elithi “all-nodes multicast”, ngakho-ke sizolisebenzisa lokho ukuze sishaye wonke amanodi e-IPv6 kusixhumanisi. (Ikheli "lokusakaza" empeleni liyikheli nje eliqanjwe ngokukhethekile nge-multicast, okuyiqembu lokusakaza okuningi elihlanganisa wonke ama-node. Qaphela ukuthi, isibonelo, "iqembu" noma ibhithi lekheli lokusakaza okuningi livuliwe kumakheli okusakaza e-Ethernet kusendlalelo sesixhumanisi. ).

All-nodes multicast IPv6 ikheli lesiteshi: ff02::1. ff isho ikheli le-IPv6 le-multicast. Okulandelayo okungu-0 yingxenye yefulegi enamabhithi angamisiwe.

Isikhathi esilandelayo 2 ichaza indawo yeqembu lokusakaza okuningi. Ngokungafani namakheli e-IPv4 okusakaza okuningi, amakheli e-IPv6 okusakaza okuningi ane-scope. Inani le-scope libonisa ingxenye yenethiwekhi lapho iphakethe lokusakaza okuningi livunyelwe ukudluliselwa khona. Uma iphakethe selifike emngceleni wesikophu esishiwo, iphakethe kufanele lehliswe, kungakhathaliseki ukuthi inkambu yalo ye-Hop Count iyi-nonzero. Impela, uma isibalo se-hop sifinyelela kuziro ngaphambi kokufinyelela emngceleni weqembu le-multicast, siphinde sisethwe kabusha ngokushesha. Nalu uhlu oluphelele lwe-IPv6 ye-multicast scope.

Ekugcineni ::1 icacisa iqembu le-multi-nodes lazo zonke izindawo.

Mayelana nekheli ff02::1 Kumele kuqashelwe ukuthi ayicacile. Kusokhaya we-IPv6 onokuxhumana okuningi, okufana nerutha noma umsingathi onezindlu eziningi, ikheli ff02::1 akukho lapho ongacacisa khona ukuthi yisiphi isixhumi esibonakalayo ongathumela kuso izicelo ze-echo ze-ICMPv6 noma ulindele ukuthola izimpendulo ze-echo ze-ICMPv6 lapho zifika. ff02::1 iyasebenza futhi ingasetshenziswa kunoma yiziphi izixhumi ezibonakalayo namashaneli anamathiselwe ku-node ye-multi-interface.

Ngakho-ke uma sihlaba wonke ama-IPv6 node kusixhumanisi, sidinga ngandlela thize futhi sitshele isisetshenziswa ping ye-IPv6, isixhumi esibonakalayo okufanele sisetshenziswe.

Ukuchaza Interfaces - Command Line Option

Njengoba sesibonile, ikheli le-multi-nodes esifuna ukulisebenzisa lithi − ff02::1 - ayinikezi nganoma yiluphi ulwazi mayelana nokuthi yisiphi isixhumi esibonakalayo esingathumela futhi samukele isicelo se-echo se-ICMPv6 kanye namaphakethe empendulo e-echo.

Ngakho-ke, sikucacisa kanjani isixhumi esibonakalayo okufanele sisetshenziselwe indawo yamakheli okusakaza okuningi noma indawo yekheli le-Link-Local ye-unicast?

Indlela yokuqala nesobala kakhulu ukuyinikeza njengepharamitha kuhlelo esilusebenzisayo.

Okokusebenza ping sikunikeza ngenketho -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 ~]$

Ngokusebenzisa le ping ye-multicast-node, sithole izimpendulo ezivela ku-6 IPv6 node. Izimpendulo zivela kumakheli e-Link-Local IPv6 node, aqala ngesiqalo fe80::/10.

ukuthi ping ayiqhubeki nokuthumela izicelo ze-echo ze-ICMPv6 unomphela size siyiphazamise, sivamise ukucacisa inani lamaphakethe okufanele lithunyelwe ngenketho ethi -c. Nokho, lokhu futhi kuvimbela i-ping ekwamukeleni nasekuboniseni impendulo ye-echo engaphezu kweyodwa ye-ICMPv6 lapho ithumela isicelo se-echo se-ICMPv6 esisakazwa ngeningi. Esikhundleni salokho, sisebenzise inketho ethi -w ukucacisa ukuthi i-ping kufanele iqede ngemuva kwesekhondi elingu-1, kungakhathaliseki ukuthi zingaki izicelo ze-ICMPv6 echo noma izimpendulo ze-echo ezithunyelwe noma zamukelwe.

Okunye okumele ukunake ukuthi (DUP!) umphumela wempendulo yesibili nelandelayo. Lawa maphakethe akhonjwa njengezimpendulo eziyimpinda ngenxa yokuthi anenani elifanayo le-ICMP lokulandelana njengezicelo ze-echo ze-ICMPv6 ezithunyelwe kwasekuqaleni. Zivela ngenxa yokuthi isicelo se-ICMPv6 multicast echo siphumela ezimpendulweni eziningi ezingazodwana ze-unicast. Inombolo yezimpinda nayo ikhonjisiwe kusifinyezo sezibalo.

Ukuchaza I-interface - I-ID Yendawo

Enye indlela yokudalula isixhumi esibonakalayo ukuze sisetshenziswe njengengxenye yepharamitha yekheli le-IPv6.

Singabona isibonelo salokhu ekuphumeni kwe-ping, lapho amakheli abasingathi be-IPv6 abaphendulayo futhi anesijobelelo. %enp3s2isibonelo:

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

Le ndlela yokucacisa izindawo zokusebenzelana ichazwa ngokusemthethweni kokuthi [RFC4007], "IPv6 Defined Address Architecture." Nakuba ngokuvamile zibizwa ngokuthi i-interface yesistimu yokusebenza, empeleni zichaza okuthile okujwayelekile—“indawo” noma “ububanzi.”

Isizathu sokuba nezindawo ezivamile eziningi noma izindawo zobubanzi ukuthi, njengoba kushiwo ku-[RFC4007], i-IPv6 node ingaba nokuxhumana okuningana okuhlukile kwe-IPv6 okuxhunywe esiteshini esifanayo. Lezi zixhumanisi zingamalungu wendawo efanayo.

Kufanele kwenzeke ukuhlanganisa izixhumanisi zokusebenzelana eziningi ngaphakathi kwendawo ngaphansi kwesistimu yokusebenza; Okwamanje angazi ukuthi lokhu kungenzeka yini ngaphansi kwe-Linux noma ukuthi kwenziwa kanjani.

Ukusebenzisa isijobelelo %<zone_id>, singasusa inketho yomugqa womyalo -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 ~]$

Isixhumanisi-Izimpendulo Zekheli Lendawo

Kusukela kule ping ye-multi-node ye-multicast sithole isamba sezimpendulo ezi-6 eziyingqayizivele.

Lezi zimpendulo zivele kumakheli okusingatha we-Link-Local IPv6. Ngokwesibonelo, nansi impendulo yokuqala:

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

Amakheli e-Unicast Link-Local IPv6 ayadingeka kuzo zonke izixhumi ezibonakalayo ezinikwe amandla i-IPv6 [RFC4291], “Inguqulo ye-IP 6 Yokukhuluma Ngezakhiwo”. Isizathu salokhu ukuthi i-IPv6 node ihlale inekheli le-IPv6 le-unicast, engalisebenzisa okungenani ukuxhumana namanye ama-node kuzixhumanisi zayo ezixhumeke ngqo. Lokhu kuhlanganisa ukuxhumana nezinhlelo zokusebenza zabanye abasingathi ngamakheli okusingatha we-Link-Local.

Lokhu kwenza ukuklama nokusebenza kube lula kwezivumelwano ezifana ne-IPv6 Neighbor Discovery kanye ne-OSPFv3. Iphinde ivumele izinhlelo zokusebenza zabasebenzisi bokugcina kubabungazi ukuthi baxhumane ngesiteshi ngaphandle kokudinga noma iyiphi enye ingqalasizinda ye-IPv6 esekela isiteshi. Ukuxhumana okuqondile phakathi kwabasingathi be-IPv6 abaxhunyiwe akudingi irutha ye-IPv6 noma iseva ye-DHCPv6 ekuxhumekeni.

Amakheli e-Link-Local aqala ngesiqalo esingu-10-bit fe80, kulandele amabhithi aziro angu-54 bese kuba isihlonzi esibonakalayo esingu-64-bit (IID). Kule mpendulo yokuqala engenhla 2392:6213:a15b:66ff i-IID engu-64-bit.

I-Loop Multicast

Ngokuzenzakalelayo, amaphakethe okusakaza okuningi abuyiselwa ngaphakathi endaweni ewathumele. Lokhu kwenzeka kukho kokubili ikheli le-IPv6 ne-IPv4.

Isizathu salokhu kuziphatha okuzenzakalelayo ukuthi lapho amaphakethe okusakaza okuningi ethunyelwa, kungase futhi kube khona uhlelo lokusebenza lendawo lokusakaza okuningi olulalelayo olusebenza kumsingathi othumelayo uqobo, kanye nasendaweni ethile kunethiwekhi. Lolu hlelo lokusebenza lwasendaweni kufanele futhi lwamukele amaphakethe okusakaza okuningi.

Singabona le loop yendawo ye-multicast ekuphumeni kwethu kwe-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!)
...

Impendulo yokuqala neshesha kakhulu (0,106 ms uma kuqhathaniswa no-0,453 ms) ivela ekhelini le-Link-Local elilungiselelwe kusixhumi esibonakalayo ngokwaso. enp3s2.

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

Okusetshenziswayo ping inikeza indlela yokucindezela impendulo yendawo yokusakaza okuningi usebenzisa ipharamitha -L. Uma sithumela i-ping ye-multi-nodes enaleli fulegi, izimpendulo zikhawulelwe kumanodi akude. Asiyitholi impendulo evela ekhelini le-Link-Local le-interface yokuthumela.

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

Isixhumanisi se-Ping-Amakheli Endawo

Njengoba ungase uqagele, amakheli e-unicast Link-Local ngokwawo awanikezi ulwazi olwanele ukuze abonise ukuthi isiphi isixhumi esibonakalayo okufanele sisetshenziswe ukuze sifinyelele kuwo. Njengawo wonke ama-node multicast ping, sidinga futhi ukucacisa isixhumi esibonakalayo njengepharamitha yomugqa womyalo ping noma i-ID yendawo enekheli lapho uthayipha amakheli e-Link-Local.

Lesi sikhathi singasebenzisa -cukunciphisa inani lamaphakethe nezimpendulo ezithunyelwe nezitholiwe ping, njengoba senza i-unicast 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 ~]$

I-Ping (wonke) amanye amakheli e-IPv6?

Kulesi sihloko, sibonile ukuthi u-ping kanjani wonke ama-IPv6 node esiteshini kusetshenziswa ikheli le-IPv6 le-multi-node le-multicast. ff02::1. Siphinde sabona ukuthi singacacisa kanjani ukuthi yisiphi isixhumi esibonakalayo okufanele sisetshenziswe nekheli le-IPv6 le-multi-node, njengoba ikheli ngokwalo lingakwazi ukunikeza lolu lwazi. Sisebenzise inketho yomugqa womyalo ping, noma ucacise isixhumi esibonakalayo usebenzisa isijobelelo %<zone_id>.

Sabe sesifunda mayelana namakheli e-unicast Link-Local, okungamakheli asetshenziselwa ukuphendula kuzo zonke izikhala ze-multicast ICMPv6 echo izicelo.

Siphinde sabona ukuthi amaphakethe e-multicast abuyiselwa kanjani endaweni yokuthumela ngokuzenzakalelayo nokuthi ukukhubaza kanjani lokhu kuhlelo lokusebenza. ping.

Ekugcineni, sibhale ikheli elilodwa le-Link-Local sisebenzisa isijobelelo %<zone_id>, njengoba amakheli e-Link-Local ngokwawo nawo awanikezi ulwazi mayelana nesixhumi esibonakalayo esiphumayo.

Manje-ke kuthiwani nge-ping wonke amanye ama-node futhi uthole amakheli awo e-unicast global (ama-GUA) (okungukuthi, amakheli awo omphakathi ku-inthanethi) noma amakheli awo ahlukile endawo e-unicast (ama-ULA)? Sizobheka lokhu eposini lebhulogi elilandelayo.

Yilokho kuphela.

Ungathola okwengeziwe mayelana nesifundo sethu ku amanothi osuku oluvulekile.

Source: www.habr.com

Engeza amazwana