Ping duk nodes IPv6 akan tashar

'Yan kwanaki sun rage har sai an fara sabon kwarara a ƙimar "Injininiya Network" daga OTUS. Dangane da wannan, muna so mu raba tare da ku fassarar abubuwa masu amfani kan batun.

Ping duk nodes IPv6 akan tashar

Jerin rubutun blog akan tukwici da dabaru don magance matsalolin IPv6 ping (ICMPv6 Echo Request/Echo Reply)

Da fatan za a lura cewa ina amfani da Linux (musamman Fedora 31), duk da haka tsarin umarnin ping don sauran tsarin aiki yakamata ya kasance kama da juna.

Ping duk nodes IPv6 akan tashar

Tukwici na farko kuma mafi sauƙi shine ping duk nodes na IPv6 akan hanyar haɗin.

IPv6 yana amfani da adiresoshin multicast don kowane nau'in sadarwa ɗaya-zuwa-yawa. Babu watsa shirye-shirye (ko watsa shirye-shirye) adiresoshin IPv6. Wannan ya bambanta IPv6 daga IPv4, inda akwai nau'ikan adiresoshin watsa shirye-shirye, alal misali, adireshin "iyakantaccen watsa shirye-shirye" 255.255.255.255 [RFC1122].

Koyaya, akwai adireshin IPv6 “duk-nodes multicast”, don haka za mu yi amfani da wannan don ping duk nodes na IPv6 akan hanyar haɗin. (Adireshin "watsawa" shine ainihin adireshin multicast mai suna na musamman, wanda rukuni ne na multicast wanda ya haɗa da duk nodes. Lura cewa, alal misali, "rukuni" ko adireshi mai yawa ana kunna shi a adiresoshin watsa shirye-shiryen Ethernet a layin haɗin gwiwa. ).

Duk-nodes multicast IPv6 adireshin don tashar: ff02::1. ff yana nuna adireshin IPv6 multicast. 0 na gaba shine ɓangaren tuta tare da ɓangarorin da ba a saita ba.

m 2 yana bayyana yanki na ƙungiyar multicast. Ba kamar adiresoshin IPv4 da yawa ba, adiresoshin IPv6 multicast suna da iyaka. Ƙimar iyaka tana nuna ɓangaren hanyar sadarwar da aka ba da izinin tura fakitin multicast. Da zarar fakiti ya isa iyakar ƙayyadaddun iyaka, dole ne a jefar da fakitin, ba tare da la'akari da ko filin Kididdigar Hop ɗin sa ba zero ba. Tabbas, idan adadin hop ɗin ya kai sifili kafin a kai ga ƙayyadadden iyakar ƙungiyar multicast, shima nan take za a sake saita shi. Anan ga cikakken jerin IPV6 ikon watsa labarai da yawa.

A ƙarshe ::1 Ƙayyadaddun ƙungiyõyin gungun multicast.

Game da adireshin ff02::1 Ya kamata a lura cewa yana da shubuha. A kan mai masaukin IPv6 tare da musaya masu yawa, kamar na'ura mai ba da hanya tsakanin hanyoyin sadarwa ko mai masaukin baki, adireshin ff02::1 Babu wani abu da za ku iya tantance wace keɓancewa don aika buƙatun echo na ICMPv6 zuwa ko tsammanin karɓar amsawar ICMPv6 lokacin da suka isa. ff02::1 yana da inganci kuma ana iya amfani da shi akan kowane musaya da tashoshi da aka haɗe zuwa kullin mu'amala mai yawa.

Don haka lokacin da muke ping duk nodes na IPv6 akan hanyar haɗin gwiwa, muna buƙatar ko ta yaya kuma mu gaya wa mai amfani ping don IPv6, wanda ke dubawa don amfani.

Ma'anar Maɓalli - Zaɓin Layin Umurni

Kamar yadda muka riga muka gani, duk-nodes multicast address muna son amfani da shi shine - ff02::1 - baya bayar da wani bayani game da wace keɓaɓɓen ke dubawa don aikawa da karɓar buƙatun echo na ICMPv6 da fakitin amsa echo.

Don haka, ta yaya za mu ƙididdige abin da za a yi amfani da shi don sararin adireshi da yawa ko unicast sararin adireshin Link-Local?

Hanya ta farko kuma mafi bayyane ita ce samar da shi a matsayin siga ga aikace-aikacen da muke amfani da su.

Don amfani ping muna ba da shi ta hanyar zaɓi -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 ~]$

Amfani da wannan duk-nodes multicast ping, mun sami amsoshi daga 6 IPv6 nodes. Amsoshi sun fito daga adiresoshin kumburin Link-Local IPv6, farawa da prefix fe80::/10.

cewa ping baya ci gaba da aika buƙatun echo na ICMPv6 har sai mun katse shi, yawanci muna ƙididdige adadin fakiti don aikawa ta zaɓi -c. Koyaya, wannan kuma yana hana ping karɓa da nunawa fiye da ɗaya amsa echo ICMPv6 lokacin aika buƙatar echo multicast ICMPv6. Madadin haka, mun yi amfani da zaɓi na -w don tantance cewa ping ya kamata ya cika bayan 1 seconds, komai yawan buƙatun echo na ICMPv6 ko amsa amsa da aka aika ko karɓa.

Wani abin lura kuma shine (DUP!) fitarwa akan amsoshi na biyu da na gaba. An gano waɗannan fakitin azaman kwafin martani saboda suna da ƙimar jeri na ICMP iri ɗaya kamar buƙatun echo ICMPv6 ɗaya wanda aka aiko da farko. Suna bayyana saboda sakamakon buƙatun echo multicast ICMPv6 a cikin amsawar unicast da yawa. Hakanan ana nuna adadin kwafi a cikin taƙaitaccen ƙididdiga.

Ƙayyadaddun Matsaloli - ID na Yanki

Wata hanyar da za a bijirar da keɓancewa don amfani ita ce wani ɓangare na sigar adireshin IPv6.

Za mu iya ganin misalin wannan a cikin fitarwa na ping, inda adiresoshin masu amsawa na IPv6 masu amsawa suma suna da ƙari. %enp3s2, alal misali:

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

Wannan hanyar tantance musaya an siffanta ta a cikin [RFC4007], "IPv6 Defined Address Architecture." Ko da yake galibi ana kiran su da tsarin mu'amala da tsarin aiki, a zahiri suna ayyana wani abu na gaba ɗaya - “yanki” ko “scope.”

Dalilin samun ƙarin yankuna na gabaɗaya ko yankuna masu iyaka shine, kamar yadda aka ambata a cikin [RFC4007], kumburin IPv6 na iya samun nau'ikan musaya na IPv6 daban-daban waɗanda aka haɗa su da tashar guda ɗaya. Waɗannan musaya ɗin mambobi ne na yanki ɗaya.

Ya kamata ya kasance mai yiwuwa a haɗa ƙungiyoyi masu yawa a cikin yanki a ƙarƙashin tsarin aiki; A halin yanzu ban sani ba ko wannan zai yiwu a ƙarƙashin Linux ko yadda ake yin shi.

Amfani da suffix %<zone_id>, za mu iya cire zaɓin layin umarni -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 ~]$

Martanin Adireshin Gida na Link-Local

Daga wannan duk-nodes multicast ping mun sami jimlar 6 na musamman martani.

Waɗannan martanin sun fito ne daga adiresoshin ƙungiyar mahaɗan Link-Local IPv6. Misali, ga amsar farko:

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

Unicast Link-Local IPv6 adiresoshin ana buƙatar akan duk musaya masu kunnawa na IPv6 [RFC4291], "IP Version 6 Address Architecture". Dalilin haka shi ne cewa kullin IPv6 koyaushe yana da adireshin IPv6 unicast, wanda aƙalla zai iya amfani da shi don sadarwa tare da sauran nodes akan hanyoyin haɗin gwiwarsa kai tsaye. Wannan ya haɗa da sadarwa tare da aikace-aikace akan wasu runduna ta hanyar adireshin mahaɗin mahaɗan Link-Local.

Wannan yana sauƙaƙe ƙira da aiwatar da ƙa'idodi kamar IPV6 Neighbor Discovery da OSPFv3. Hakanan yana ba da damar aikace-aikacen masu amfani na ƙarshe akan runduna don sadarwa akan tashar ba tare da buƙatar kowane kayan tallafi na IPv6 akan tashar ba. Sadarwa kai tsaye tsakanin rundunonin IPv6 da aka haɗa baya buƙatar na'ura mai ba da hanya tsakanin hanyoyin sadarwa na IPv6 ko uwar garken DHCPv6 akan haɗin.

Adireshin haɗin-gida suna farawa da prefix-bit 10 fe80, biye da 54 sifili ragowa sannan kuma mai ganowa na 64-bit (IID). A cikin amsar farko ta sama 2392:6213:a15b:66ff IID 64-bit ne.

Maɗaukaki Multicast

Ta hanyar tsoho, ana mayar da fakitin multicast a ciki zuwa kumburin da ya aika su. Wannan yana faruwa don duka IPv6 da IPv4 magance.

Dalilin wannan tsohuwar dabi'a shine lokacin da aka aika fakitin multicast, ana iya samun aikace-aikacen multicast na gida mai saurare wanda ke gudana akan mai aikawa da kansa, da kuma wani wuri a kan hanyar sadarwa. Wannan aikace-aikacen gida kuma dole ne ya karɓi fakitin multicast.

Za mu iya ganin wannan madauki na gida na multicast a cikin fitowar ping ɗin mu:

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

Amsa ta farko kuma mafi sauri (0,106 ms idan aka kwatanta da 0,453 ms) ya fito ne daga adireshin Link-Local wanda aka saita akan mahaɗin kanta. enp3s2.

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

Mai amfani ping yana ba da hanya don murkushe martanin multicast na gida ta amfani da siga -L. Idan muka aika ping ɗin multicast ɗin gabaɗaya tare da wannan tuta, to ana iyakance martani ga nodes masu nisa. Ba mu sami amsa daga adireshin Link-Local na hanyar sadarwa na aikawa ba.

[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-Addireshin Gida

Kamar yadda zaku iya tsammani, unicast adiresoshin Link-Local da kansu suma ba sa samar da isassun bayanai don nuna abin da za ku yi amfani da shi don isa gare su. Kamar yadda yake tare da duk-nodes multicast ping, muna kuma buƙatar ƙididdige masarrafar a matsayin siga na layin umarni ping ko ID na yanki tare da adireshi lokacin yin pining Link-Local adiresoshin.

Wannan lokaci za mu iya amfani -cdon iyakance adadin fakiti da martani da aka aika da karɓa ping, tunda muna yin 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 (duk) sauran adiresoshin IPv6?

A cikin wannan labarin, mun ga yadda ake ping duk nodes na IPv6 akan tashar ta amfani da adireshin IPv6 multicast multicast. ff02::1. Mun kuma ga yadda ake saka wace keɓancewa don amfani da duk-nodes multicast IPv6 address, tunda adireshin da kansa ba zai iya samar da wannan bayanin ba. Mun yi amfani da ko dai zaɓin layin umarni ping, ko ƙayyadaddun mahallin ta amfani da suffix %<zone_id>.

Sannan mun koyi game da adiresoshin Link-Local unicast, waɗanda adiresoshin da aka yi amfani da su don amsa duk-nodes multicast ICMPv6 buƙatun echo.

Mun kuma ga yadda ake mayar da fakitin multicast zuwa kumburin aikawa ta tsohuwa da kuma yadda ake kashe wannan don mai amfani. ping.

A ƙarshe, mun sanya adireshi guda ɗaya na Link-Local ta amfani da suffix %<zone_id>, tun da Link-Local adiresoshin kansu suma ba sa samar da bayanai game da mai fita waje.

To yaya game da ping duk sauran nodes da samun adiresoshin unicast na duniya (GUAs) (wato, adiresoshinsu na jama'a akan Intanet) ko na musamman na gida unicast adiresoshin (ULAs)? Zamu duba wannan a rubutu na gaba.

Wannan duka.

Kuna iya samun ƙarin bayani game da kwas ɗinmu a buɗaɗɗen rana bayanin kula.

source: www.habr.com

Add a comment