በአንድ ሰርጥ ላይ ሁሉንም IPv6 ኖዶች ፒንግ

በተመጣጣኝ መጠን አዲስ ፍሰት እስኪጀምር ጥቂት ቀናት ይቀራሉ "የአውታረ መረብ መሐንዲስ" ከ OTUS. በዚህ ረገድ, በርዕሱ ላይ ጠቃሚ የሆኑ ቁሳቁሶችን ትርጉም ለእርስዎ ልናካፍላችሁ እንፈልጋለን.

በአንድ ሰርጥ ላይ ሁሉንም IPv6 ኖዶች ፒንግ

ለ IPv6 ፒንግ ጉዳዮች መላ ፍለጋ ጠቃሚ ምክሮች እና ዘዴዎች ላይ ተከታታይ የብሎግ ልጥፎች (ICMPv6 Echo Request/Echo ምላሽ)

እባክዎን ሊኑክስን እየተጠቀምኩ መሆኔን (በተለይ Fedora 31) ይሁን እንጂ ለሌሎች ኦፕሬቲንግ ሲስተሞች የፒንግ ትዕዛዝ አገባብ በጣም ተመሳሳይ መሆን አለበት ብለን ተስፋ እናደርጋለን።

በአንድ ሰርጥ ላይ ሁሉንም IPv6 ኖዶች ፒንግ

የመጀመሪያው እና ቀላሉ ጠቃሚ ምክር በአገናኝ ላይ ሁሉንም IPv6 ኖዶች ፒንግ ማድረግ ነው።

IPv6 ባለብዙ ካስት አድራሻዎችን ለሁሉም ከአንድ እስከ ብዙ የግንኙነት አይነቶች ይጠቀማል። ምንም የስርጭት (ወይም ስርጭት) IPv6 አድራሻዎች የሉም። ይህ IPv6 ን ከ IPv4 ይለያል, ብዙ አይነት የስርጭት አድራሻዎች አሉ, ለምሳሌ, "የተገደበ ስርጭት" አድራሻ 255.255.255.255 [RFC1122].

ነገር ግን፣ “ሁሉንም-ኖዶች ባለብዙ-ካስት” IPv6 አድራሻ አለ፣ ስለዚህ ያንን ሁሉንም IPv6 ኖዶች በአገናኙ ላይ ፒንግ ለማድረግ እንጠቀማለን። (የ"ብሮድካስት" አድራሻ በእውነቱ ልዩ ስም ያለው ባለብዙ ካስት አድራሻ ነው፣ እሱም ሁሉንም አንጓዎች የሚያካትት ባለብዙ ካስት ቡድን ነው። ለምሳሌ፣ "ቡድን" ወይም መልቲካስት አድራሻ ቢት በኤተርኔት ስርጭቱ አድራሻዎች በአገናኝ ንብርብር መብራቱን ልብ ይበሉ። ).

ለሰርጡ ሁለ-አንጓዎች ባለብዙ-ካስት IPv6 አድራሻ፡- ff02::1. ff የብዝሃ-ካስት IPv6 አድራሻን ያመለክታል። ቀጣዩ 0 ያልተስተካከሉ ቢት ያለው የባንዲራ ክፍል ነው።

ከዚህ በላይ 2 የብዝሃ-ካስት ቡድን አካባቢን ይገልጻል። እንደ መልቲካስት IPv4 አድራሻዎች፣ ባለብዙ-ካስት IPv6 አድራሻዎች ወሰን አላቸው። የወሰን እሴቱ የብዝሃ-ካስት ፓኬት እንዲተላለፍ የሚፈቀድበትን የአውታረ መረብ ክፍል ያሳያል። አንዴ ፓኬት ወደተገለጸው ወሰን ወሰን ከደረሰ፣የሆፕ ቆጠራ መስኩ ዜሮ ቢሆን ምንም ይሁን ምን ፓኬጁ መጣል አለበት። እርግጥ ነው፣ ወደተገለጸው የብዝሃ-ካስት ቡድን ድንበር ከመድረሱ በፊት የሆፕ ቆጠራው ዜሮ ከደረሰ፣ ወዲያውም እንደገና ይጀመራል። የተሟላ የአይፒቪ6 ባለብዙ-ካስት ወሰን ዝርዝር ይኸውና።

በመጨረሻም ::1 ሁለንተናዊ አንጓዎች ባለብዙ-ካስት ቡድንን ይገልጻል።

ስለ አድራሻው ff02::1 አሻሚ መሆኑን ልብ ሊባል ይገባል. እንደ ራውተር ወይም መልቲሆምድ አስተናጋጅ ባሉ ብዙ በይነገጽ በ IPv6 አስተናጋጅ ላይ አድራሻው። ff02::1 የ ICMPv6 echo ጥያቄዎችን ወደ የትኛው በይነገጽ እንደሚልክ ወይም ሲደርሱ የ ICMPv6 echo ምላሾች እንደሚቀበሉ የሚጠብቁበት ምንም ነገር የለም። ff02::1 ልክ ነው እና ከባለብዙ-በይነገጽ መስቀለኛ መንገድ ጋር በተያያዙት ማናቸውንም መገናኛዎች እና ቻናሎች ላይ መጠቀም ይቻላል።

ስለዚህ ሁሉንም IPv6 ኖዶች በአገናኝ ላይ ስንሰፍር፣ እንደምንም ለፍጆታ መንገር አለብን ping ለ IPv6, የትኛውን በይነገጽ ለመጠቀም.

በይነገጾች መግለጽ - የትእዛዝ መስመር አማራጭ

አስቀድመን እንዳየነው፣ ልንጠቀምበት የምንፈልገው ሁለ-አንጓዎች ባለብዙ-ካስት አድራሻ - ነው። ff02::1 - የትኛውን በይነገጽ ICMPv6 ማሚቶ ጥያቄ እና ምላሽ ፓኬቶችን ለመላክ እና ለመቀበል ምንም አይነት መረጃ አይሰጥም።

ስለዚህ፣ ለባለብዙ-ካስት አድራሻ ቦታ ወይም ዩኒካስት Link-Local አድራሻ ቦታ ጥቅም ላይ የሚውለውን በይነገጽ እንዴት እንገልፃለን?

የመጀመሪያው እና በጣም ግልፅ የሆነው መንገድ እኛ እየተጠቀምንበት ላለው መተግበሪያ እንደ መለኪያ ማቅረብ ነው።

ለፍጆታ ping በአማራጭ እናቀርባለን -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 ~]$

ይህንን ሁለንተናዊ ኖዶች መልቲካስት ፒንግ በመጠቀም፣ ከ6 IPv6 ኖዶች ምላሾችን ተቀብለናል። ምላሾች ከLink-Local IPv6 መስቀለኛ መንገድ አድራሻዎች መጥተዋል፣ ከቅድመ-ቅጥያው ጀምሮ fe80::/10.

ping እስክናቋርጠው ድረስ የ ICMPv6 echo ጥያቄዎችን ላልተወሰነ ጊዜ መላክን አይቀጥልም፣ ብዙውን ጊዜ በ -c አማራጭ የሚላኩ የፓኬቶችን ብዛት እንገልፃለን። ነገር ግን ይህ በተጨማሪ የባለብዙ-ካስት ICMPv6 echo ጥያቄን ሲልክ ፒንግ ከአንድ በላይ ICMPv6 echo ምላሽን ከመቀበል እና ከማሳየት ይከለክላል። ይልቁንስ የ-w አማራጭን ተጠቅመን ፒንግ ከ1 ሰከንድ በኋላ ማጠናቀቅ እንዳለበት፣ ምንም ያህል የ ICMPv6 የማስተጋባት ጥያቄዎች ወይም የማስተጋባት ምላሾች ቢላኩ ወይም እንደተቀበሉ ለመግለጽ ነው።

ትኩረት መስጠት ያለብዎት ሌላው ነገር (DUP!) በሁለተኛው እና በሚቀጥሉት መልሶች ላይ ውፅዓት. እነዚህ እሽጎች እንደ የተባዙ ምላሾች ተለይተዋል ምክንያቱም በመጀመሪያ ደረጃ የተላኩት የግለሰብ ICMPv6 የማስተጋባት ጥያቄዎች ተመሳሳይ የICMP ቅደም ተከተል ዋጋ ስላላቸው ነው። የታዩት የ ICMPv6 መልቲካስት ማሚቶ ጥያቄ በርካታ ነጠላ ዩኒካስት ምላሾችን ስለሚያስገኝ ነው። የተባዙት ብዛት በስታቲስቲክስ ማጠቃለያ ላይም ተጠቁሟል።

በይነገጾች መግለጽ - ዞን መታወቂያ

ለአጠቃቀም በይነገጽን የሚያጋልጥበት ሌላው መንገድ እንደ IPv6 አድራሻ መለኪያ አካል ነው።

ለዚህ ምሳሌ በፒንግ ውፅዓት ውስጥ ማየት እንችላለን፣ ምላሽ የሚሰጡ የ IPv6 አስተናጋጆች አድራሻዎችም ቅጥያ አላቸው %enp3s2, ለምሳሌ:

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

ይህ በይነገጾችን የመግለጫ ዘዴ በ[RFC4007]፣ "IPv6 Defined Address Architecture" ውስጥ በይፋ ተገልጿል:: ምንም እንኳን እነሱ ብዙውን ጊዜ የስርዓተ ክወና በይነገጽ ተብለው ቢጠሩም ፣ ግን የበለጠ አጠቃላይ የሆነን ነገር ይገልጻሉ - “ዞን” ወይም “ወሰን”።

ተጨማሪ አጠቃላይ ዞኖች ወይም የቦታ ዞኖች እንዲኖሩት ምክንያት የሆነው፣ በ[RFC4007] ላይ እንደተጠቀሰው፣ የIPv6 መስቀለኛ መንገድ ከተመሳሳይ ቻናል ጋር የተገናኙ የተለያዩ የአይፒቪ6 በይነገጾች ሊኖሩት ይችላል። እነዚህ መገናኛዎች የአንድ ዞን አባላት ናቸው.

በስርዓተ ክወናው ስር ባለው ዞን ውስጥ ብዙ መገናኛዎችን ማቧደን መቻል አለበት; በአሁኑ ጊዜ ይህ በሊኑክስ ስር ይቻል እንደሆነ ወይም እንዴት ማድረግ እንዳለብኝ አላውቅም።

ቅጥያውን በመጠቀም %<zone_id>, የትእዛዝ መስመር አማራጩን ማስወገድ እንችላለን -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 ~]$

አገናኝ-አካባቢያዊ የአድራሻ ምላሾች

ከዚህ ሁሉም-ኖዶች መልቲካስት ፒንግ በድምሩ 6 ልዩ ምላሾችን አግኝተናል።

እነዚህ ምላሾች ከዩኒካስት Link-Local IPv6 አስተናጋጅ አድራሻዎች የመጡ ናቸው። ለምሳሌ የመጀመሪያው መልስ ይህ ነው።

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

ዩኒካስት ሊንክ-አካባቢያዊ IPv6 አድራሻዎች በሁሉም IPv6 የነቁ በይነገጽ [RFC4291]፣ "IP Version 6 አድራሻ አርክቴክቸር" ላይ ያስፈልጋሉ። ይህ የሆነበት ምክንያት የአይፒቪ6 ኖድ ሁል ጊዜ ዩኒካስት IPv6 አድራሻ ስላለው በቀጥታ በተገናኙት ማገናኛዎች ላይ ቢያንስ ከሌሎች ኖዶች ጋር ለመገናኘት ሊጠቀምበት ይችላል። ይህ በሊንክ-አካባቢያዊ አስተናጋጅ አድራሻዎች በሌሎች አስተናጋጆች ላይ ካሉ መተግበሪያዎች ጋር መገናኘትን ያካትታል።

ይህ እንደ IPv6 Neighbor Discovery እና OSPFv3 ያሉ ፕሮቶኮሎችን መንደፍ እና ትግበራን ቀላል ያደርገዋል። እንዲሁም በአስተናጋጆች ላይ ያሉ የዋና ተጠቃሚ አፕሊኬሽኖች በሰርጡ ላይ ሌላ ደጋፊ IPv6 መሠረተ ልማት ሳያስፈልጋቸው በሰርጡ ላይ እንዲገናኙ ያስችላቸዋል። በተገናኙት የ IPv6 አስተናጋጆች መካከል ቀጥተኛ ግንኙነት በግንኙነቱ ላይ IPv6 ራውተር ወይም DHCPv6 አገልጋይ አያስፈልግም።

አገናኝ-አካባቢያዊ አድራሻዎች በ10-ቢት ቅድመ ቅጥያ ይጀምራሉ fe8054 ዜሮ ቢት እና ከዚያ ባለ 64-ቢት በይነገጽ መለያ (አይአይዲ) ይከተላል። ከላይ ባለው የመጀመሪያ መልስ 2392:6213:a15b:66ff ባለ 64-ቢት IID ነው።

Looped Multicast

በነባሪ፣ የመልቲካስት እሽጎች ከውስጥ ወደ ላካቸው መስቀለኛ መንገድ ይመለሳሉ። ይሄ ለሁለቱም IPv6 እና IPv4 አድራሻዎች ይከሰታል።

የዚህ ነባሪ ባህሪ ምክንያቱ የመልቲካስት እሽጎች በሚላኩበት ጊዜ፣ በራሱ በላኪ አስተናጋጅ ላይ እና በአውታረ መረቡ ላይ የሆነ ቦታ ላይ የሚሰራ ሰሚ የሀገር ውስጥ መልቲካስት አፕሊኬሽን ሊኖር ስለሚችል ነው። ይህ የአካባቢ መተግበሪያ የብዝሃ-ካስት ፓኬቶችን መቀበል አለበት።

በእኛ የፒንግ ውፅዓት ውስጥ ይህንን ባለብዙ-ካስት አካባቢያዊ loop ማየት እንችላለን፡-

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

የመጀመሪያው እና ፈጣኑ ምላሽ (0,106 ሚሴ ከ 0,453 ሚሴ ጋር ሲነጻጸር) በራሱ በይነገጹ ላይ ከተዋቀረው Link-Local አድራሻ የመጣ ነው። enp3s2.

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

መገልገያ ping መለኪያውን በመጠቀም የአካባቢን የብዝሃ-ካስት ግብረመልስ ለማፈን መንገድ ይሰጣል -L. በዚህ ባንዲራ ሁለንተናዊ ኖዶች መልቲካስት ፒንግ ከላክን ምላሾች በርቀት ኖዶች ብቻ የተገደቡ ናቸው። ከላኪው በይነገጽ አገናኝ-አካባቢያዊ አድራሻ ምላሽ አላገኘንም።

[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 ወይም የዞን መታወቂያ ከአድራሻ ጋር የሊንክ-አካባቢያዊ አድራሻዎችን ፒንግ ሲያደርጉ።

በዚህ ጊዜ መጠቀም እንችላለን -cየተላኩ እና የተቀበሏቸውን እሽጎች እና ምላሾች ብዛት ለመገደብ 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 ~]$

ፒንግ (ሁሉም) ሌሎች IPv6 አድራሻዎች?

በዚህ ጽሑፍ ውስጥ ሁሉንም-ኖዶች ባለብዙ-ካስት IPv6 አድራሻ በመጠቀም ሁሉንም IPv6 ኖዶች በሰርጥ ላይ እንዴት እንደሚሰኩ አይተናል ff02::1. እንዲሁም አድራሻው ራሱ ይህንን መረጃ ሊሰጥ ስለማይችል ከሁሉም-ኖዶች ባለብዙ ተካፋይ IPv6 አድራሻ ጋር እንዴት እንደሚገለፅ አይተናል። ሁለቱንም የትእዛዝ መስመር አማራጭን ተጠቀምን። ping፣ ወይም ቅጥያውን ተጠቅመው በይነገጹን ገለጹ %<zone_id>.

ከዚያ ስለ ዩኒካስት Link-Local አድራሻዎች ተምረናል፣ እነዚህም አድራሻዎች ለሁሉም-ኖዶች መልቲካስት ICMPv6 የማስተጋባት ጥያቄዎች።

እንዲሁም የመልቲካስት እሽጎች በነባሪ ወደ መላኪያ መስቀለኛ መንገድ እንዴት እንደሚመለሱ እና ይህንን እንዴት ለፍጆታ እንደሚያሰናክሉ አይተናል። ping.

በመጨረሻ፣ ቅጥያውን ተጠቅመን ነጠላ-Link-Local አድራሻን አስገባን። %<zone_id>የሊንክ-አካባቢያዊ አድራሻዎች እራሳቸው ስለ ወጭ በይነገጽ መረጃ ስለማይሰጡ.

ስለዚህ ስለ ፒንግ ምን ማለት ይቻላል ሁሉም ሌሎች ኖዶች እና የአለምአቀፍ ዩኒካስት አድራሻዎቻቸውን (GUAs) (ማለትም፣ በበይነመረቡ ላይ ያሉ የህዝብ አድራሻዎቻቸውን) ወይም ልዩ የአካባቢያቸውን ዩኒካስት አድራሻዎች (ULAs) ያግኙ? ይህንን በሚቀጥለው ብሎግ ፖስት ውስጥ እንመለከታለን።

ይኼው ነው.

ስለእኛ ኮርስ በ ላይ የበለጠ ማወቅ ይችላሉ። ክፍት የቀን ማስታወሻዎች.

ምንጭ: hab.com

አስተያየት ያክሉ