Ping nodi zote za IPv6 kwenye chaneli

Siku chache zimesalia hadi kuanza kwa mtiririko mpya kwa kiwango "Mhandisi wa Mtandao" kutoka OTUS. Katika suala hili, tungependa kushiriki nawe tafsiri ya nyenzo muhimu kwenye mada.

Ping nodi zote za IPv6 kwenye chaneli

Msururu wa machapisho ya blogu kuhusu vidokezo na mbinu za kutatua masuala ya ping ya IPv6 (Ombi la ICMPv6 Echo/Jibu la Echo)

Tafadhali kumbuka kuwa ninatumia Linux (haswa Fedora 31), hata hivyo syntax ya amri ya ping kwa mifumo mingine ya uendeshaji inapaswa kuwa sawa sana.

Ping nodi zote za IPv6 kwenye chaneli

Kidokezo cha kwanza na rahisi zaidi ni kubandika nodi zote za IPv6 kwenye kiunga.

IPv6 hutumia anwani za matangazo anuwai kwa aina zote za mawasiliano ya moja hadi nyingi. Hakuna matangazo (au matangazo) anwani za IPv6. Hii inatofautisha IPv6 na IPv4, ambapo kuna aina kadhaa za anwani za matangazo, kwa mfano, anwani ya "matangazo machache" 255.255.255.255 [RFC1122].

Hata hivyo, kuna anwani ya IPv6 ya "nodi nyingi" za IPv6, kwa hivyo tutatumia hiyo kuweka nodi zote za IPvXNUMX kwenye kiungo. (Anwani ya "matangazo" kwa kweli ni anwani maalum ya utangazaji anuwai, ambayo ni kikundi cha utangazaji anuwai ambacho kinajumuisha nodi zote. Kumbuka kwamba, kwa mfano, "kikundi" au biti ya anwani ya utangazaji anuwai imewashwa katika anwani za utangazaji za Ethernet kwenye safu ya kiungo. )

Anuani ya IPv6 ya njia nyingi za njia zote za kituo: ff02::1. ff inaashiria anwani ya IPv6 ya multicast. 0 inayofuata ni sehemu ya bendera yenye biti ambazo hazijawekwa.

Zaidi ya 2 inafafanua eneo la kikundi cha utangazaji anuwai. Tofauti na anwani za IPv4 za matangazo anuwai, anwani za IPv6 za utumaji anuwai zina wigo. Thamani ya upeo inaonyesha sehemu ya mtandao ambayo pakiti ya multicast inaruhusiwa kusambaza. Mara baada ya pakiti kufikia mpaka wa upeo maalum, pakiti lazima iangushwe, bila kujali kama sehemu yake ya Hop Count ni nonzero. Bila shaka, ikiwa hesabu ya kurukaruka inafikia sifuri kabla ya kufikia mpaka uliobainishwa wa kikundi cha utangazaji anuwai, pia huwekwa upya mara moja. Hapa kuna orodha kamili ya wigo wa utangazaji anuwai wa IPv6.

Mwishowe ::1 hubainisha kikundi cha utangazaji wa nodi nyingi.

Kuhusu anwani ff02::1 Ikumbukwe kwamba ni utata. Kwenye seva pangishi ya IPv6 iliyo na violesura vingi, kama vile kipanga njia au mwenyeji mwenye nyumba nyingi, anwani ff02::1 hakuna chochote ambapo unaweza kubainisha kiolesura kipi cha kutuma maombi ya mwangwi wa ICMPv6 au kutarajia kupokea majibu ya mwangwi wa ICMPv6 yanapofika. ff02::1 ni halali na inaweza kutumika kwenye violesura na njia zozote zilizoambatishwa kwenye nodi ya violesura vingi.

Kwa hivyo tunapobandika nodi zote za IPv6 kwenye kiungo, tunahitaji kwa namna fulani pia kuwaambia matumizi ping kwa IPv6, kiolesura cha kutumia.

Kufafanua Violesura - Chaguo la Mstari wa Amri

Kama tulivyoona tayari, anwani ya matangazo anuwai ya nodi zote tunayotaka kutumia ni - ff02::1 - haitoi taarifa yoyote kuhusu kiolesura cha kutuma na kupokea ombi la mwangwi la ICMPv6 na pakiti za majibu ya mwangwi.

Kwa hivyo, je, tunabainishaje kiolesura cha kutumika kwa nafasi ya anwani ya utangazaji anuwai au nafasi ya anwani ya Kiungo-Ya Karibu?

Njia ya kwanza na dhahiri zaidi ni kuipatia kama kigezo cha programu tunayotumia.

Kwa matumizi ping tunatoa kupitia chaguo -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 ~]$

Kwa kutumia ping hii ya matangazo anuwai ya nodi zote, tulipokea majibu kutoka nodi 6 za IPv6. Majibu yalitoka kwa anwani za nodi za Link-Local IPv6, kuanzia na kiambishi awali fe80::/10.

Hiyo ping haiendelei kutuma maombi ya mwangwi wa ICMPv6 kwa muda usiojulikana hadi tutakapoikatiza, kwa kawaida tunabainisha idadi ya pakiti za kutuma kupitia -c chaguo. Hata hivyo, hii pia huzuia ping kukubali na kuonyesha zaidi ya jibu moja la mwangwi la ICMPv6 wakati wa kutuma ombi la mwangwi wa ICMPv6. Badala yake, tulitumia chaguo la -w kubainisha kuwa ping inapaswa kukamilika baada ya sekunde 1, haijalishi ni maombi ngapi ya mwangwi wa ICMPv6 au majibu ya mwangwi yalitumwa au kupokelewa.

Jambo lingine la kuzingatia ni (DUP!) matokeo kwenye jibu la pili na linalofuata. Pakiti hizi zinatambuliwa kuwa nakala za majibu kwa sababu zina thamani sawa ya mfuatano wa ICMP kama maombi ya mwangwi ya ICMPv6 ambayo yalitumwa hapo kwanza. Zinaonekana kwa sababu ombi la mwangwi wa ICMPv6 husababisha majibu mengi ya mtu binafsi ya unicast. Idadi ya nakala pia imeonyeshwa katika muhtasari wa takwimu.

Kufafanua Violesura - Kitambulisho cha Eneo

Njia nyingine ya kufichua kiolesura cha matumizi ni kama sehemu ya parameta ya anwani ya IPv6.

Tunaweza kuona mfano wa hii kwenye pato la ping, ambapo anwani za wapashi wanaojibu wa IPv6 pia zina kiambishi tamati. %enp3s2, kwa mfano:

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

Mbinu hii ya kubainisha violesura imefafanuliwa rasmi katika [RFC4007], "IPv6 Defined Address Architecture." Ingawa kwa kawaida huitwa kiolesura cha mfumo wa uendeshaji, kwa hakika hufafanua jambo la jumla zaidiβ€”β€œeneo” au β€œupeo.”

Sababu ya kuwa na kanda za jumla zaidi au kanda za upeo ni kwamba, kama ilivyotajwa katika [RFC4007], nodi ya IPv6 inaweza kuwa na miingiliano kadhaa tofauti ya IPv6 iliyounganishwa kwenye chaneli sawa. Violesura hivi ni wanachama wa eneo moja.

Inapaswa kuwa inawezekana kuweka miingiliano mingi ndani ya ukanda chini ya mfumo wa uendeshaji; Hivi sasa sijui ikiwa hii inawezekana chini ya Linux au jinsi ya kuifanya.

Kwa kutumia kiambishi tamati %<zone_id>, tunaweza kuondoa chaguo la mstari wa amri -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 ~]$

Kiungo-Majibu ya Anwani ya Karibu

Kutoka kwa ping hii ya utangazaji anuwai ya nodi zote tulipokea jumla ya majibu 6 ya kipekee.

Majibu haya yalitoka kwa anwani za seva pangishi za unicast Link-Local IPv6. Kwa mfano, hapa kuna jibu la kwanza:

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

Anwani za IPv6 za Unicast Link-Local zinahitajika kwenye violesura vyote vinavyowezeshwa na IPv6 [RFC4291], "Toleo la 6 la IP Kushughulikia Usanifu". Sababu ya hii ni kwamba nodi ya IPv6 daima ina moja kwa moja anwani ya IPv6 ya unicast, ambayo inaweza angalau kutumia kuwasiliana na nodes nyingine kwenye viungo vyake vilivyounganishwa moja kwa moja. Hii ni pamoja na kuwasiliana na programu kwa wapangishi wengine kupitia anwani za seva pangishi za Link-Local.

Hii hurahisisha muundo na utekelezaji wa itifaki kama vile Ugunduzi wa Jirani wa IPv6 na OSPFv3. Pia huruhusu programu za watumiaji wa mwisho kwenye wapangishaji kuwasiliana kupitia chaneli bila kuhitaji miundombinu yoyote ya IPv6 inayotumika kwenye chaneli. Mawasiliano ya moja kwa moja kati ya wapangishi waliounganishwa wa IPv6 hauhitaji kipanga njia cha IPv6 au seva ya DHCPv6 kwenye muunganisho.

Unganisha-Anwani za Mitaa huanza na kiambishi awali cha biti-10 fe80, ikifuatiwa na biti sifuri 54 na kisha kitambulisho cha kiolesura cha 64-bit (IID). Katika jibu la kwanza hapo juu 2392:6213:a15b:66ff ni 64-bit IID.

Multicast iliyokatwakatwa

Kwa chaguo-msingi, pakiti za multicast zinarejeshwa ndani kwa nodi iliyozituma. Hii hutokea kwa anwani za IPv6 na IPv4.

Sababu ya tabia hii chaguo-msingi ni kwamba wakati pakiti za upeperushaji anuwai zinatumwa, kunaweza pia kuwa na programu ya utangazaji anuwai ya ndani inayoendeshwa kwenye seva pangishi yenyewe, na vile vile mahali pengine kwenye mtandao. Programu hii ya ndani lazima pia ipokee pakiti za matangazo mengi.

Tunaweza kuona kitanzi hiki cha ndani cha multicast kwenye pato letu la 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!)
...

Jibu la kwanza na la haraka zaidi (0,106 ms ikilinganishwa na 0,453 ms) linatokana na anwani ya Kiungo-Maeneo iliyosanidiwa kwenye kiolesura chenyewe. enp3s2.

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

Huduma ping hutoa njia ya kukandamiza maoni ya watangazaji anuwai wa ndani kwa kutumia kigezo -L. Tukituma ping ya matangazo anuwai ya nodi zote na bendera hii, basi majibu yanazuiliwa kwa nodi za mbali. Hatupokei jibu kutoka kwa Anwani ya Kiungo-Maeneo ya kiolesura cha kutuma.

[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 Link-Anwani za Mitaa

Kama unavyoweza kukisia, anwani za Unicast Link-Local zenyewe pia hazitoi maelezo ya kutosha kuashiria kiolesura cha kutumia kuzifikia. Kama ilivyo kwa ping za multicast za nodi zote, tunahitaji pia kubainisha kiolesura kama kigezo cha mstari wa amri ping au Kitambulisho cha eneo kilicho na anwani wakati wa kubandika anwani za Kiungo-Maeneo.

Wakati huu tunaweza kutumia -ckupunguza idadi ya pakiti na majibu yaliyotumwa na kupokewa ping, kwa kuwa tunafanya 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 ~]$

Ping (zote) anwani zingine za IPv6?

Katika nakala hii, tuliona jinsi ya kubandika nodi zote za IPv6 kwenye chaneli kwa kutumia anwani ya IPv6 ya nodi nyingi. ff02::1. Pia tuliona jinsi ya kubainisha kiolesura kipi cha kutumia na anwani ya IPv6 yenye nodi nyingi, kwani anwani yenyewe haiwezi kutoa taarifa hii. Tulitumia chaguo la mstari wa amri ping, au kubainisha kiolesura kwa kutumia kiambishi tamati %<zone_id>.

Kisha tukajifunza kuhusu anwani za Unicast Link-Local, ambazo ni anwani zinazotumiwa kujibu maombi ya mwangwi wa nodi nyingi za ICMPv6.

Tuliona pia jinsi pakiti za multicast zinarejeshwa kwa nodi ya kutuma kwa chaguo-msingi na jinsi ya kuzima hii kwa matumizi. ping.

Hatimaye, tuliweka anwani moja ya Kiungo-Maeneo kwa kutumia kiambishi tamati %<zone_id>, kwa kuwa anwani za Kiungo-Mitaa zenyewe pia hazitoi habari kuhusu kiolesura kinachotoka.

Kwa hivyo vipi kuhusu ping nodi zingine zote na kupata anwani zao za ulimwengu (GUAs) (yaani, anwani zao za umma kwenye Mtandao) au anwani zao za kipekee za unicast za ndani (ULA)? Tutaangalia hili katika chapisho linalofuata la blogi.

Hiyo ndiyo yote.

Unaweza kujua zaidi kuhusu kozi yetu kwenye noti za siku wazi.

Chanzo: mapenzi.com

Kuongeza maoni