Podporni in nadzorni protokoli

Protokol ICMPv6

Internetni protokol za svoje delovanje potrebuje dodaten kontrolni kanal, ki omogoča izmenjavo meta podatkov in protokol IPv6 ni izjema.

ICMPv6 (Internet Control Message Protocol version 6) je nov kontrolno-nadzorni protokol, ki je osnovan na podlagi svojega predhodnika (ICMP), pri tem pa zagotavlja dodatne podporne funkcije drugim protokolom.

Protokol ICMPv6 podpira 36 kontrolnih funkcij, a naprave uporabljajo ICMPv6 sporočila večinoma za naslednje osnovne funkcije:

  • sporočanje napak pri prenosu (cilj je nedosegljiv, paket je prevelik, čas je potekel …),
  • odkrivanje največje prenosne enote, ki se lahko prenese do končnega vozlišča (uporaba dodatnega mehanizma Path MTU Discovery),
  • omrežne diagnostične funkcije kot so PING in TRACEROUTE z uporabo ICMPv6 sporočil Echo Request in Echo Reply,
  • omogočanje delovanja protokola MLD (Multicast Listener Discovery), ki uporablja ICMPv6 sporočila za odkrivanje prisotnosti multicast prejemnikov in njihovih zahtev po vključevanju v določeno multicast skupino.

Vse kode in funkcija protokola ICMPv6 so zbrane na IANA spletnem mestu.

PREBERITE VEČ:

IANA: Internet Control Message Protocol version 6 (ICMPv6) Parameters

Protokol Neighbour Discovery

ND (Neighbour Discovery) je skupek ICMPv6 sporočil in procesov preko katerih lahko vozlišče IPv6 dobi pomembne omrežne parametre in informacije o drugih napravah v lokalnem omrežju, na katerega je povezano.

S pomočjo ICMPv6 sporočil Neighbour Discovery izvaja naslednje pomembne funkcije:

  • samodejno nastavljanje omrežnih parametrov posamezne naprave (je del protokola SLAAC – Stateless Address Autoconfiguration),
  • odkrivanje podvojenih naslovov IPv6 v fazi pridobivanja naslova (uporaba protokola DAD – Duplicate Address Detection),
  • iskanje sosedov v omrežju, njihovih link-local naslovov ter vzdrževanje stanja njihove razpoložljivosti in poti do posameznih sosedov,
  • izvajanje prevajanja naslovov v primeru, ko pozna naslov IPv6 vozlišča, ne pa tudi njegovega Ethernet MAC naslova (enaka funkcija kot protokol ARP v omrežju IPv4),
  • iskanje usmerjevalnikov v omrežju in povezovanje z njimi. 

Protokol MLD 

V omrežju IPv6 je upravljanje multicast skupin omogočeno z naborom ICMPv6 sporočil, ki sestavljajo protokol MLD (Multicast Listener Discovery). Njegova glavna naloga je, da prepozna prisotnost naprav, ki želijo sprejemati multicast pakete z določenega multicast naslova.

Multicast skupina je poljubna skupina prejemnikov, ki želi prejemati določen podatkovni tok. Ta skupina nima fizičnih ali geografskih mej, saj se lahko nahaja kjerkoli v internetu ali v katerem koli zasebnem omrežju. Če se prejemnik želi  naročiti na določen multicast podatkovni tok, se mora prijaviti (registrirati) pri svojem lokalnemu usmerjevalniku, pri čemer za signalizacijo uporablja protokol MLD in sporočila ICMPv6.

Prednost multicast protokola je v njegovi učinkovitosti, saj usmerjevalniki z multicast funkcionalnostjo podatkovni tok usmerjajo teoretično neomejenemu številu uporabnikov, pri čemer je potrebna samo ena kopija multicast podatkov za posamezno podomrežje. V protokolu IPv4 je to funkcijo opravljal protokol IGMP.

PREBERITE VEČ:

Članek: IGMP and MLD comparison

Path MTU Discovery (PMTUD)

Protokol IPv6 dovoljuje drobljenje (fragmentacijo) paketov IP samo pošiljateljem, ne pa tudi vmesnim usmerjevalnikom in ostalim napravam na poti.

To prinaša veliko prednosti:

  • poenostavi glavo paketa IP, saj osnovna glava paketa nima polja za fragmentacijo,
  • povečuje varnost, ker se ne uporablja drobljenja,
  • omogoča učinkovitejše in hitrejše procesiranje paketov skozi usmerjevalnike, preko katerih paketi potujejo do končnega cilja.

IPv6 standard zahteva, da morajo vse povezave IPv6 omogočati največjo prenosno enoto (MTU) velikosti najmanj 1280 oktetov (pri IPv4 je ta vrednost več kot pol nižja – 576 oktetov). Z večjo MTU vrednostjo se poveča učinkovitost, saj se lahko skozi povezavo prenaša večje datagrame, obenem pa se zmanjša potreba po drobljenju paketov.

Ker se lahko skozi povezavo pošlje tudi pakete večje od 1280 oktetov, se za določitev optimalne velikosti paketa uporablja mehanizem imenovan Path MTU Discovery. Ta pred samim začetkom pošiljanja podatkov vzpostavi komunikacijo s končnim vozliščem in s pomočjo ICMPv6 signalizacijskih paketov ugotovi, koliko je največja prenosna enota, ki jo še podpirajo vse povezave v verigi do končnega cilja.

Pomembno pri tem je, da se na požarnih pregradah ICMPv6 sporočil o napakah ne sme blokirati, saj v nasprotnem primeru komunikacija ne bo vzpostavljena. Usmerjevalnik, ki ima manjši MTU kot je velikost poslanega paketa bo namreč tega zavrgel in pošiljatelju vrnil ICMPv6 paket s sporočilom »Packet too big, MTU=xxxx«. V kolikor pošiljatelj tega sporočila ne dobi in ustrezno ne prilagodi velikosti paketa, bo usmerjevalnik vse prevelike pakete zavrgel in komunikacija z naslovno napravo bo onemogočena.

PREBERITE VEČ:

Članek: IPv6 MTU Gotchas and other ICMP issues
Članek: Troubleshooting Path MTU and TCP MSS Problems