Ping holl nodau IPv6 ar sianel

Ychydig ddyddiau sydd ar ôl tan ddechrau llif newydd ar y gyfradd "Peiriannydd Rhwydwaith" oddi wrth OTUS. Yn hyn o beth, hoffem rannu gyda chi gyfieithiad o ddeunydd defnyddiol ar y pwnc.

Ping holl nodau IPv6 ar sianel

Cyfres o bostiadau blog ar awgrymiadau a thriciau ar gyfer datrys problemau ping IPv6 (Cais Echo ICMPv6 / Ymateb Echo)

Sylwch fy mod yn defnyddio Linux (yn benodol Fedora 31), fodd bynnag, gobeithio y dylai cystrawen gorchymyn ping ar gyfer systemau gweithredu eraill fod yn debyg iawn.

Ping holl nodau IPv6 ar sianel

Y cyngor cyntaf a symlaf yw ping pob nod IPv6 ar y ddolen.

Mae IPv6 yn defnyddio cyfeiriadau aml-ddarllediad ar gyfer pob math o gyfathrebiadau un-i-lawer. Nid oes unrhyw gyfeiriadau IPv6 darlledu (neu ddarlledu). Mae hyn yn gwahaniaethu IPv6 o IPv4, lle mae sawl math o gyfeiriadau darlledu, er enghraifft, y cyfeiriad “darllediad cyfyngedig” 255.255.255.255 [RFC1122].

Fodd bynnag, mae yna gyfeiriad IPv6 “pob nod aml-gast”, felly byddwn yn defnyddio hwnnw i ping pob nod IPv6 ar y ddolen. (Mae cyfeiriad "darlledu" mewn gwirionedd yn gyfeiriad aml-ddarllediad a enwir yn arbennig yn unig, sef grŵp aml-ddarlledu sy'n cynnwys yr holl nodau. Sylwch, er enghraifft, bod y "grŵp" neu'r bit cyfeiriad aml-ddarllediad yn cael ei droi ymlaen mewn cyfeiriadau darlledu Ethernet ar yr haen gyswllt ).

Cyfeiriad IPv6 aml-gastiad pob nod ar gyfer y sianel: ff02::1. ff yn dynodi cyfeiriad IPv6 aml-ddarllediad. Y 0 nesaf yw'r rhan o'r faner gyda darnau heb eu gosod.

Pellach 2 yn diffinio arwynebedd grŵp aml-gast. Yn wahanol i gyfeiriadau IPv4 aml-ddarlledwr, mae gan gyfeiriadau IPv6 aml-ddarlledwr gwmpas. Mae'r gwerth cwmpas yn nodi'r rhan o'r rhwydwaith y caniateir anfon pecyn aml-gast drosto. Unwaith y bydd pecyn yn cyrraedd ffin y cwmpas penodedig, rhaid gollwng y pecyn, ni waeth a yw ei faes Hop Count yn nonzero. Wrth gwrs, os yw'r cyfrif hop yn cyrraedd sero cyn cyrraedd ffin benodol y grŵp aml-gast, caiff ei ailosod ar unwaith hefyd. Dyma restr gyflawn o gwmpas aml-ddarllediad IPv6.

O'r diwedd ::1 yn pennu grŵp aml-gastio holl nodau.

Am y cyfeiriad ff02::1 Dylid nodi ei fod yn amwys. Ar westeiwr IPv6 gyda rhyngwynebau lluosog, fel llwybrydd neu westeiwr amlgartref, y cyfeiriad ff02::1 nid oes dim lle gallwch nodi pa ryngwyneb i anfon ceisiadau adlais ICMPv6 ato neu ddisgwyl derbyn atebion adlais ICMPv6 pan fyddant yn cyrraedd. ff02::1 yn ddilys a gellir ei ddefnyddio ar unrhyw un o'r rhyngwynebau a'r sianeli sydd ynghlwm wrth y nod aml-rhyngwyneb.

Felly pan fyddwn yn ping holl nodau IPv6 ar ddolen, mae angen i ni rywsut hefyd ddweud wrth y cyfleustodau ping ar gyfer IPv6, pa ryngwyneb i'w ddefnyddio.

Diffinio Rhyngwynebau - Opsiwn Llinell Reoli

Fel y gwelsom eisoes, y cyfeiriad aml-ddarllediad holl-nodau yr ydym am ei ddefnyddio yw − ff02::1 - nid yw'n darparu unrhyw wybodaeth ynghylch pa ryngwyneb i anfon a derbyn pecynnau cais adlais a phecynnau ymateb adlais ICMPv6.

Felly, sut ydyn ni'n nodi'r rhyngwyneb i'w ddefnyddio ar gyfer y gofod cyfeiriad aml-gast neu ofod cyfeiriad unicast Link-Local?

Y ffordd gyntaf a mwyaf amlwg yw ei ddarparu fel paramedr i'r cais yr ydym yn ei ddefnyddio.

Ar gyfer cyfleustodau ping rydym yn ei ddarparu trwy'r opsiwn -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 ~]$

Gan ddefnyddio'r ping aml-gastiad holl nodau hwn, cawsom ymatebion gan 6 nod IPv6. Daeth ymatebion o gyfeiriadau nodau IPv6 Link-Local, gan ddechrau gyda'r rhagddodiad fe80::/10.

Bod ping nid yw'n parhau i anfon ceisiadau adlais ICMPv6 am gyfnod amhenodol nes i ni dorri ar ei draws, fel arfer byddwn yn nodi nifer y pecynnau i'w hanfon trwy'r opsiwn -c. Fodd bynnag, mae hyn hefyd yn atal ping rhag derbyn ac arddangos mwy nag un ateb adlais ICMPv6 wrth anfon cais adlais aml-ddarlledu ICMPv6. Yn lle hynny, gwnaethom ddefnyddio'r opsiwn -w i nodi y dylai ping gwblhau ar ôl 1 eiliad, ni waeth faint o geisiadau adleisio ICMPv6 neu atebion adleisio a anfonwyd neu a dderbyniwyd.

Peth arall i roi sylw iddo yw (DUP!) allbwn ar yr ail ateb a'r atebion dilynol. Nodir y pecynnau hyn fel ymatebion dyblyg oherwydd bod ganddynt yr un gwerth dilyniant ICMP â'r ceisiadau adlais unigol ICMPv6 a anfonwyd yn y lle cyntaf. Maent yn ymddangos oherwydd bod cais adlais aml-ddarllediad ICMPv6 yn arwain at nifer o ymatebion unicast unigol. Mae nifer y copïau dyblyg hefyd wedi'u nodi yn y crynodeb o ystadegau.

Diffinio Rhyngwynebau - ID Parth

Ffordd arall o ddatgelu rhyngwyneb i'w ddefnyddio yw fel rhan o baramedr cyfeiriad IPv6.

Gallwn weld enghraifft o hyn yn yr allbwn ping, lle mae gan gyfeiriadau'r gwesteiwyr IPv6 a ymatebodd yr ôl-ddodiad hefyd %enp3s2, er enghraifft:

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

Disgrifir y dull hwn o nodi rhyngwynebau yn ffurfiol yn [RFC4007], "Pensaernïaeth Cyfeiriad Diffiniedig IPv6." Er mai rhyngwyneb y system weithredu y'u gelwir fel arfer, maent mewn gwirionedd yn diffinio rhywbeth mwy cyffredinol - "parth" neu "gwmpas."

Y rheswm dros gael parthau mwy cyffredinol neu barthau cwmpas yw, fel y crybwyllwyd yn [RFC4007], gall nod IPv6 gael sawl rhyngwyneb IPv6 gwahanol yn gysylltiedig â'r un sianel. Mae'r rhyngwynebau hyn yn aelodau o'r un parth.

Dylai fod yn bosibl grwpio rhyngwynebau lluosog o fewn parth o dan y system weithredu; Ar hyn o bryd nid wyf yn gwybod a yw hyn yn bosibl o dan Linux neu sut i wneud hynny.

Gan ddefnyddio'r ôl-ddodiad %<zone_id>, gallwn gael gwared ar yr opsiwn llinell orchymyn -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 ~]$

Ymatebion Cyfeiriad Cyswllt-Lleol

O'r ping aml-ddarllediad holl nodau hwn cawsom gyfanswm o 6 ymateb unigryw.

Daeth yr ymatebion hyn o gyfeiriadau gwesteiwr unicast Link-Local IPv6. Er enghraifft, dyma'r ateb cyntaf:

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

Mae angen cyfeiriadau IPv6 Unicast Link-Local ar bob rhyngwyneb wedi'i alluogi gan IPv6 [RFC4291], “Fersiwn IP 6 Yn Mynd i'r Afael â Phensaernïaeth”. Y rheswm am hyn yw bod gan nod IPv6 gyfeiriad IPv6 unicast yn awtomatig bob amser, y gall o leiaf ei ddefnyddio i gyfathrebu â nodau eraill ar ei gysylltiadau sydd wedi'u cysylltu'n uniongyrchol. Mae hyn yn cynnwys cyfathrebu â cheisiadau ar westeion eraill trwy gyfeiriadau gwesteiwr Link-Local.

Mae hyn yn symleiddio dyluniad a gweithrediad protocolau megis IPv6 Neighbour Discovery ac OSPFv3. Mae hefyd yn caniatáu i gymwysiadau defnyddwyr terfynol ar westeion gyfathrebu dros y sianel heb fod angen unrhyw seilwaith IPv6 ategol arall ar y sianel. Nid oes angen llwybrydd IPv6 na gweinydd DHCPv6 ar y cysylltiad ar gyfer cyfathrebu uniongyrchol rhwng gwesteiwyr IPv6 cysylltiedig.

Mae cyfeiriadau Link-Local yn dechrau gyda rhagddodiad 10-did fe80, ac yna 54 did sero ac yna dynodwr rhyngwyneb 64-bit (IID). Yn yr ateb cyntaf uchod 2392:6213:a15b:66ff yn IID 64-did.

Multicast Dolen

Yn ddiofyn, mae pecynnau aml-gast yn cael eu dychwelyd yn fewnol i'r nod a'u hanfonodd. Mae hyn yn digwydd ar gyfer cyfeiriadau IPv6 a IPv4.

Y rheswm am yr ymddygiad rhagosodedig hwn yw, pan fydd pecynnau aml-ddarlledu yn cael eu hanfon, efallai y bydd cymhwysiad aml-ddarllediad lleol sy'n gwrando yn rhedeg ar y gwesteiwr anfon ei hun, yn ogystal â rhywle ar y rhwydwaith. Rhaid i'r cais lleol hwn hefyd dderbyn pecynnau aml-ddarllediad.

Gallwn weld y ddolen leol aml-ddarllediad hon yn ein hallbwn 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!)
...

Daw'r ymateb cyntaf a chyflymaf (0,106 ms o'i gymharu â 0,453 ms) o'r cyfeiriad Link-Local sydd wedi'i ffurfweddu ar y rhyngwyneb ei hun enp3s2.

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

Cyfleustodau ping yn darparu ffordd i atal adborth aml-ddarllediad lleol gan ddefnyddio'r paramedr -L. Os byddwn yn anfon ping aml-gast gyda'r faner hon, yna cyfyngir yr ymatebion i nodau pell. Nid ydym yn derbyn ymateb o gyfeiriad Link-Local y rhyngwyneb anfon.

[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-Cyfeiriadau Lleol

Fel y gallech ddyfalu, nid yw cyfeiriadau Link-Local unicast ar eu pen eu hunain ychwaith yn darparu digon o wybodaeth i nodi pa ryngwyneb i'w ddefnyddio i'w cyrraedd. Yn yr un modd â ping aml-gastiad pob nod, mae angen i ni hefyd nodi'r rhyngwyneb fel paramedr llinell orchymyn ping neu ID parth gyda chyfeiriad wrth pingio cyfeiriadau Link-Local.

Y tro hwn gallwn ddefnyddio -ccyfyngu ar nifer y pecynnau ac ymatebion a anfonir ac a dderbynnir ping, gan ein bod yn perfformio 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 (pob) cyfeiriad IPv6 eraill?

Yn yr erthygl hon, gwelsom sut i ping holl nodau IPv6 ar sianel gan ddefnyddio cyfeiriad IPv6 aml-nodyn ff02::1. Gwelsom hefyd sut i nodi pa ryngwyneb i'w ddefnyddio gyda chyfeiriad IPv6 aml-nodyn holl-nodau, gan na all y cyfeiriad ei hun ddarparu'r wybodaeth hon. Fe wnaethon ni ddefnyddio'r opsiwn llinell orchymyn naill ai ping, neu wedi pennu'r rhyngwyneb gan ddefnyddio'r ôl-ddodiad %<zone_id>.

Yna dysgon ni am gyfeiriadau Link-Local unicast, sef cyfeiriadau a ddefnyddir i ymateb i geisiadau adlais aml-gast ICMPv6 pob nod.

Gwelsom hefyd sut mae pecynnau aml-ddarllediad yn cael eu dychwelyd i'r nod anfon yn ddiofyn a sut i analluogi hyn ar gyfer y cyfleustodau ping.

Yn olaf, fe wnaethom pingio un cyfeiriad Link-Local gan ddefnyddio'r ôl-ddodiad %<zone_id>, gan nad yw cyfeiriadau Link-Local eu hunain ychwaith yn darparu gwybodaeth am y rhyngwyneb sy'n mynd allan.

Felly beth am ping pob nod arall a chael eu cyfeiriadau unicast byd-eang (GUAs) (hynny yw, eu cyfeiriadau cyhoeddus ar y Rhyngrwyd) neu eu cyfeiriadau unicast lleol unigryw (ULAs)? Edrychwn ar hyn yn y blogbost nesaf.

Dyna i gyd.

Gallwch ddarganfod mwy am ein cwrs yn nodiadau diwrnod agored.

Ffynhonnell: hab.com

Ychwanegu sylw