See tekst selgitab mõningaid üldisi taustateadmisi IPv4 ja IPv6 kohta.
Sissejuhatus
IPv4 on geniaalne protokoll, mis arendati välja arvutitevaheliseks suhtluseks võrgus. See võrk areneks järk-järgult Internetiks, maailma suurimaks seadmete võrguks. IPv4 arendajad ei kujutanud siiski ette, et Internet kasvaks eksponentsiaalselt nagu ta tegi. Kiiresti sai selgeks, et olemasolev IPv4 aadresside arv ei ole piisav massilise seadmete tulva jaoks, mis hakkasid omavahel ühenduma. Seetõttu arutati uue protokolli (IPv6) arendamist 1990. aastate keskel. 1998. aastal sai IPv6 IEFT-i (Interneti Inseneritöö Ülesannete Jõud) poolt Mustandstandardiks ja 2017. aastal sai sellest Interneti Standard. Alates IPv6 loomisest on olnud aeglane liikumine IPv6 standardile üleminekul ja IPv4 aegumisel. Kahjuks pole see lihtne, kuna IPv4 on Internetis kindlalt juurdunud.
Üleminek on olnud aeglane, kuid viimastel aastatel on olnud palju suurem surve luua IPv6 Internetis. IPv6 kasutuselevõtt on viimase 5 aasta jooksul kasvanud umbes 5% -lt umbes 36% -ni ega näita aeglustumise märke. Kuid miks keegi tahaks kasutada IPv6? Kas sellel on eeliseid ja/või puudusi IPv4 ees? Kuidas erineb IPv6 IPv4-st? Kuidas see toimib?
Vastan nendele küsimustele ja veelgi enam. Käesolev artikkel eeldab, et lugeja teab juba, kuidas IPv4 töötab, vähemalt selle põhitõdesid.
Miks kasutada IPv6?
Kui paneksite IPv6 aadressi IPv4 aadressi kõrvale, võiks kergesti märkamata jääda, et üks on teise järeltulija. Neil on täiesti erinev notatsioon. Neil on siiski sama alussüsteem. Ainus erinevus on IP-aadressi kuvamiseks kasutatav numbrisüsteem. IPv4 aadresse kuvatakse nelja kolmest kümnendkohast punktidega eraldatult, samal ajal kui IPv6 aadressid kasutavad koolonitega eraldatud kaheksat nelja kuuluvat kümnendkorda.
Heksadetsimaalne IPv6: 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff
Kümnendkohane IPv4: 192.0.2.223
Kui vaadata IPv6 aadressi, võib see olla hirmutav ainuüksi selle lugemiseks, ja selle meeldejätmine on ebapraktiline. IPv6 arendajad on siiski rakendanud mõningaid kokkutõmbamistrikke, mis võivad lühendada IPv6 üldpikkust. Mõnikord võib see teha IPv6 aadressi isegi lühemaks kui IPv4 aadress. Kui teisendame IPv6 aadressi binaarsüsteemi, võib olla lihtsam aru saada, kuidas see on struktureeritud. Näiteks eespool olev IPv6 aadress binaarvormingus on järgmine:
0010000000000001:0000110110111000:1111111111111111:1111111111111111:1111111111111111:1111111111111111:1111111111111111:1111111111111111
See võib juba mõnele kellamaletada, kuna see näeb välja üsna sarnane IPv4 binaaraadressile, lihtsalt palju suurem. Kuigi IPv4 aadress koosneb 32 bittist, koosneb IPv6 aadress 128 bittist – nelja korra rohkem. Nagu olete võib-olla märganud, tähendab see, et saame luua 2 astmel 128 IPv6 aadressi. See oleks umbes 340 triljonit triljonit triljonit IPv6 aadressi! Seega on meil praktiliselt võimatu kunagi IPv6 aadresse otsa saada, nagu meil oli IPv4 aadressidega, millel oli ainult 2 astmel 32 (umbes 4,2 miljardit) võimalikku aadressi.
IPv6 pakub mitte ainult suuremat hulka saadaolevaid IP-aadresse, vaid on vajalik ka Interneti pikaajalise tervise ja arengu jaoks.
IPv6 eelised
IPv6 arendamisele lisati soov suurendada protokolli turvalisust. IP-turvalisus (IPsec) võimaldab tundliku teabe ohutut edastamist Internetis. Raamistik koosneb IEFT-i poolt välja töötatud avatud standarditest. IPsec pakub mitmeid võrgu turvalisuse teenuseid, mida kasutatakse andmete turvalisuse tagamiseks. Esiteks on andmete konf
identsiaalsus omadus, mis võimaldab saatjal pakette krüpteerida enne nende saatmist võrgus. See tagab, et ainult kavandatud sihtseade suudab paketi lugeda. Teiseks on andmete terviklikkuse kontroll vastuvõtja jaoks võimalik, võimaldades neil kontrollida IPsec-pakettide terviklikkust ja näha, kas andmeid on teel sihtkohta mingil viisil muudetud. Kolmandaks võimaldab andmete päritolu autentimine vastuvõtjal autentida pakettide allikat. Need täiustused võimaldavad teabe saatmist avalikus võrgus ilma muutmise, jälgimise või võltsimiseta.
IPv6 sisaldab ikkagi järgmisi eeliseid:
- NAT-i pole enam vaja, kuid seda saab ikkagi kasutada
- Automaatne konfigureerimine
- Privaatsete aadresside kokkupõrgete puudumine
- Päise vormingu lihtsustamine
- Parem multicast marsruutimine
Selgitan need üksikasjalikumalt järgmistes jaotistes.
IPv6 puudused
Kuigi IPv6-l on palju eeliseid, on mitmeid puudusi ja probleeme, mida IPv6 võib põhjustada lõppkasutajale.
Kõige ilmsem puudus on IPv6 aadresside pikkus. Nagu varem mainitud, koosneb IPv6 aadress kaheksast rühmast neljast heksadetsimaalsest numbrist. Sellise pika aadressi meeldejätmine või selle sisestamine terminalis haldustööde käigus võib olla valulik.
Enne IPv6 kasutamist tuleb IPv6 marsruutimine paljudel süsteemidel lubada. See toob kaasa rohkem tööd administraatoritele ja pikemad seadistamisajad. Selle puudusega seondub asjaolu, et paljud vanemad lõppkasutaja seadmed pole konfigureeritud IPv6 kasutamiseks.
Kuna suur osa maailmast on endiselt IPv4-l, võib ainult IPv6 süsteemide käitamine viia vähem liikluseni teie süsteemi või teie süsteemi võimetuseni suhelda IPv4 süsteemidega.
Kuidas on struktureeritud IPv6 aadress?
Olemuselt täidab IPv6 endiselt sama funktsiooni nagu IPv4. IPv6 aadressid on struktureeritud sarnaselt IPv4-le, neil on võrgu eesliide ja liides/hosti tuvastaja. IPv6 prefiksid on samad kui IPv4 aadressides kasutatavad alamvõrgu maskid. CIDR (Classless Inter-Domain Routing) notatsiooni kasutatakse IPv6-s maski kuvamiseks, kasutades võrgu bittide esindamiseks täisarvu vahemikus 1–128.
Võrgu eesliide Hosti tuvastaja
XXXX : XXXX : XXXX : XXXX : XXXX : XXXX : XXXX : XXXX
Näiteks 2001:db8:85a3:8d3:0000:0000:0000:001a/64
korral on 2001:db8:85a3:8d3::/64
võrgu eesliide ja võimalikud IPv6 aadressid vahemikus 2001:db8:85a3:8d3:0000:0000:0000:0001/64
kuni 2001:db8:85a3:8d3:ffff:ffff:ffff:ffff/64
.
( XXXX : XXXX : XXXX ) : XXXX : XXXX : XXXX : XXXX : XXXX
IPv6 aadressi võrgu eesliite esimesed 3 välja (märgitud sulgudes) sisaldavad saidi eesliidet. Eesliide kirjeldab avalikku topoloogiat, mis on tavaliselt teie saidile eraldatud Interneti-teenuse pakkujalt (ISP) või piirkondlikult Interneti-registrilt (RIR).
XXXX : XXXX : XXXX : ( XXXX ) : XXXX : XXXX : XXXX : XXXX
Järgmine neljas väli (märgitud sulgudes) on alamvõrgu eesliide, mis määratleb võrgu sisemise topoloogia ruuterile.
IPv6 aadresside kokkusurumine
Mainisin varem, et IPv6 aadresse saab kokku suruda, et muuta need lühemaks ja loetavamaks. Selle lihtsustusmeetodi jaoks kehtivad kaks reeglit. Esiteks võivad iga aadressi rühma (heksatetti) eest eemaldada juhtivad nullid. Näiteks
1001:0005:ffc0:0000:0000:5893:0032:0001
saab lihtsustada järgmiselt
1001:5:ffc0:0:0:5893:32:1
Me ei tohi eemaldada järgnevaid nulle, kuna marsruuterid eeldavad, et null tuli heksateti esiosast. Näiteks kui eemaldaksime järgneva heksateti lõpust nulli
ffc0
siis ruuter ei lisaks nulli tagasi heksateti lõppu, kui täidab nullid. Selle asemel paigutatakse null teiste numbrite ette järgmiselt:
0ffc
Teiseks võib eemaldada pidevad nullid. Selles näites oli meil 2 rühma nelja nulliga. See saab asendada järgmiselt
1001:5:ffc0::5893:32:1
Marsruuterid, kes loevad seda
aadressi, täidavad automaatselt puuduvad nullid. See saab aga teha ainult korra aadressis. Seega näeb meie IPv6 aadress juba palju loetavam välja.
Automaatkonfigureerimine
IPv6 hostidel on võime genereerida omaenda aadresse, muutes halduse lihtsamaks ja vähem aega nõudvaks. IPv6 liidese automaatse konfigureerimise jaoks toimub mitu sammu. Selle protsessi käigus luuakse link-lokaalne aadress. Link-lokaalne aadress on IPv6 aadress, mis võimaldab suhtlust samas võrgus asuvate hostide vahel. Aadressi saab määrata kahe mehhanismi abil – staatilise ja staatilise.
Staatilise aadressi automaatkonfigureerimine (SLAAC) ei vaja hostide käsitsi konfigureerimist ega serverite täiendavat konfigureerimist. See mehhanism võimaldab hostil automaatselt genereerida oma aadresse. Aadresse genereerimiseks kasutatakse ruuterite poolt reklaamitud kohalikku teavet ja mittekohalikku teavet. Ruuterid reklaamivad eesliiteid, mis määratlevad alamvõrgu või alamvõrgud, mis on seotud lingiga. Hostid genereerivad liidesetuvastaja, mis identifitseerib liidese alamvõrgul unikaalselt. Eesliidet ja liidesetuvastajat kombineerides moodustub unikaalne aadress. Kui ruutereid pole saadaval, võib host luua ainult link-lokaalseid aadresse.
Staatilise automaatkonfigureerimise mudeli korral saavad hostid liideseaadresse või konfiguratsiooniteavet ja parameetreid serverist. Seda saab võrrelda IPv4 DHCP protsessiga, ja teavet pakkuvaid servereid nimetatakse ka DHCPv6 serveriteks. Need serverid haldavad andmebaasi, mis kontrollib, milliseid aadresse on millistele hostidele määratud. Staatilise automaatkonfigureerimise protokoll võimaldab hostidel saada aadresse ja muud konfiguratsiooniteavet serverist. Staatiline ja staatiline automaatkonfigureerimine täiendavad sageli üksteist. Näiteks võiks host kasutada staatilise automaatkonfigureerimise abil oma aadresse konfigureerimiseks, kuid kasutada staatilise automaatkonfigureerimise abil muud teavet.
IPv6 aadresside tüübid
On mitmeid tüüpe IPv6 aadresse. Selles jaotises vaatleme iga tüüpi ja selgitame lühidalt, milleks neid kasutatakse ja kuidas need võrreldes IPv4-ga.
Aadressitüüp | Eesliide | Kasutatakse |
---|---|---|
Globaalne unicast | 2000::/3 | Avalikult marsruuditav |
Unikaalne kohalik | fc00::/7 | Marsruudis LAN-is |
Lingi kohalik | fe80::/10 | Ei ole marsruudis |
Multicast | ff00::/8 | Aadressid gruppidele |
Anükaast | 2000::/3 | Jagatud aadress |
Globaalne unicast
aadress on avalikult marsruuditav aadress, nagu avalik IPv4 aadress. Neid aadresse saab tuvastada eesliitega 2000::/3
. See tähendab, et esimesed 3 bitti tuvastavad Globaalne unicast
aadressi.
Unikaalne kohalik
aadress on sarnane IPv4 privaatse
le aadressile ega ole ülemaailmselt marsruuditav. Nendel aadressidel on eesliide fc00::/7
. Esimesed 7 bitti kasutades algab Unikaalne kohalik
aadress alati “f”-ga, millele järgneb kas “c” või “d”.
Lingi kohalikud
aadressid võivad olla kiired automaatsed IP-aadressid, mida saab genereerida ilma mõne teise seadme abita. Need aadressid pole võrgus marsruuditavad. Nagu varem mainitud, on need aadressid mõeldud ainult suhtlemiseks teiste seadmetega samas kohalikus võrgus. Neil on eesliide fe80::/10
. Võib-olla olete juba märganud mustrit. See näitab, et Lingi kohalikud
aadressid kasutavad esimesi 10 bitti ja alustavad “fe”-ga.
Multicast
aadressid on aadressid, mis on määratud seadmete grupile, kes kuulavad selle konkreetse Multicast
aadressi jaoks. Seda tüüpi aadressi on lihtne märgata, kuna need algavad alati “ff”-ga.
Lõpuks on Anükaast
aadressid. Need aadressid on huvitavad, kuna neid saab määrata mitmele seadmele. Andmed saadetakse seejärel selle aadressiga kõige lähemale seadmele. Anükaast
aadressidele pole konkreetset IP-vahemikku, ja neid kasutatakse Globaalne unicast
aadressidega samas vahemikus.
IPv4 kasutab ülekande
aadresse, mis võimaldavad seadmel saata paketi kõigile võrgus olevatele seadmetele. See aadressitüüp on IPv6-s tühistatud ja selle asemel kasutatakse Multicast
.
Päise vormingu lihtsustamine
IPv6 päis on lihtsustatud ja loobub teatud IPv4 päiseväljadest. See vähendab ribalaiuse kulu, hoolimata suurenenud aadressi suurusest. IPv6 päis on ainult kaks korda suurem kui IPv4 päis, ehkki aadress on neli korda pikem.
IPv6 päis | ||
---|---|---|
Versioon | Liiklusklass | Voo silt |
Paketi pikkus | Järgmine päis | Hüppelimiit |
Allika aadress | ||
Sihtkoha aadress |
IPv4 päis | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Versioon | IHL | Teenuse tüüp | Kogupikkus | ||||||||
Identifitseerimine | Lipud | Fragmentide nihutus | |||||||||
TTL | Protokoll | Päise kontrollsumma | |||||||||
Allika aadress | |||||||||||
Sihtkoha aadress | |||||||||||
Valikud | Täite |
Nagu näha, on IPv6 päise lihtsustamine põhjustanud mitmeid IPv4 päise välju kadumise. Vaatame välju, mis IPv6-s enam pole, ja analüüsime, kuidas IPv6 tegeleb selle teabe edastamisega. Väljad, mis on identsed, on märgitud võrdusmärgiga.
IPv4-päis | IPv6-päis | |||
---|---|---|---|---|
Versioon | 4 bitti | = | Versioon | 4 bitti |
IHL (Interneti päise pikkus) | 4 bitti | ≠ | Ei eksisteeri IPv6-s | – |
Teenuse tüüp | 8 bitti | = | Liiklusklass | 8 bitti |
Ei eksisteeri IPv4-s | – | ≠ | Voo silt | 20 bitti |
Kogupikkus | 16 bitti | = | Paketi pikkus | 16 bitti |
Identifitseerimine | 16 bitti | ≠ | Ei eksisteeri IPv6-s | – |
Lipud | 3 bitti | ≠ | Ei eksisteeri IPv6-s | – |
Fragmentide nihutus | 13 bitti | ≠ | Ei eksisteeri IPv6-s | – |
TTL (eluaeg) | 8 bitti | = | Hüppelimiit | 8 bitti |
Protokoll | 8 bitti | = | Järgmine päis | 8 bitti |
Päise kontrollsumma | 16 bitti | ≠ | Ei eksisteeri IPv6-s | – |
Allika aadress | 32 bitti | = | Allika aadress | 128 bitti |
Sihtkoha aadress | 32 bitti | = | Sihtkoha aadress | 128 bitti |
Valikud | 0-320 bitti | = | Laiendatud päised | 0-320 bitti |
Täite | Muutuva pikkusega | ≠ | Ei eksisteeri IPv6-s | – |
Liiklusklass ja voo silt
Liiklusklassi väli on paketi klassi või prioriteedi identifikaator ja täidab sama funktsiooni kui IPv4 Teenuse tüübi väli.
Voo sildi väli on ainus uus väli IPv6-s. See näitab vahepealsetele seadmetele, et pakett kuulub konkreetsele jadale pakettide vahel allika ja sihtkoha vahel. See väli eristab erinevaid liiklusvooge IPv6 marsruuterites.
Kandmepikkus on IPv6-s Total length väli ekvivalent ja näitab lihtsalt paketi andmeosa pikkust baitides.
Aja jooksul väli on nimetatud Hüppelimiidiks, kuna see kirjeldab välja funktsiooni täpsemalt.
Protokolli väli on nimetatud Järgmise päiseks ja määrab kindlaks protokolli kandjal, näiteks TCP, UDP või ICMPv6. Sellel väljal on mõned lisavõimalused võrreldes IPv4 Protokolli väljaga, näiteks Generic Routing Encapsulation (GRE), Encapsulating Security Payload (ESP) ja Open Shortest Path First (OSPF).
Enam ei ole NAT
NAT (Network Address Translation) on protokoll, mida kasutatakse kõige sagedamini kohalike/privaatsete IP-aadresside kaardistamiseks ühele avalikule IP-aadressile ja vastupidi, et pakkuda kohalikele hostidele Interneti-ühendust. NAT loodi spetsiaalselt lahendusena IPv4-aadresside ammendumise aeglustamiseks. Siiski muudab IPv6 suur aadressiruum selle, et pole enam vaja aadresse säästa, ja iga seadmele saab hõlpsasti anda ainulaadse ülemaailmselt marsruutitava aadressi. IPv6-s ei pruugi NAT-i enam vaja minna, kuid seda on ikkagi võimalik rakendada IPv6 võrgus. Seda kasutatakse peamiselt IPv4-aadresside tõlkimise abistamiseks IPv6 aadressideks.
Järeldus
Hetkel kasutab ülekaalukas enamus Interneti-seadmeid endiselt IPv4. IPv4 täielikuks asendamiseks IPv6 kasuks võtab siiski veel mitu aastat. Uuemate riikide, nagu Saksamaa, USA, Saudi Araabia ja Jaapan, ning riikide puhul, kus on suur rahvastik ja kasvav IT-sektor, nagu India ja Brasiilia, on uuema protokolli kasutuselevõtt edasi arenenud. Ennustatavas tulevikus elame siiski maailmas, kus on nii IPv4 kui ka IPv6, ning kus paljud süsteemid töötavad kahesuguse IP-piirde süsteemis. Alles siis, kui IPv6 on turuosa poolest ületanud IPv4, saame omada süsteeme, mis on ainult IPv6.
Allikad
- https://docs.oracle.com/cd/E19683-01/817-0573/chapter1-42/index.html
- http://www.csg.uzh.ch/teaching/ws0405/inteco/extern/talk12.pdf
- https://en.wikipedia.org/wiki/IPv6_address
- https://www.networkworld.com/article/3254575/what-is-ipv6-and-why-aren-t-we-there-yet.html
- https://www.researchgate.net/publication/4010090_Impact_of_IPv6_on_End-User_Applications
- https://www.google.com/intl/en/ipv6/statistics.html
- https://www.internetsociety.org/blog/2014/06/ipv6-for-the-end-user/
- https://labs.ripe.net/author/emileaben/measuring-world-ipv6-day-long-term-effects/
- https://www.hitechwhizz.com/2020/08/6-advantages-and-disadvantages-drawbacks-benefits-of-ipv6.html
- https://www.ietf.org/blog/sudden-changes-and-ipv6-everyone/
- http://www.vomodagroup.com/pdfs/how-will-ipv6-impact-your-network.pdf
- https://www.iana.org/assignments/ipv6-address-space/ipv6-address-space.xhtml
- https://www.rfc-editor.org/rfc/rfc5737.html
- https://en.wikipedia.org/wiki/IPv6_packet#Extension_headers
- https://www.networkcomputing.com/networking/six-benefits-ipv6
- https://www.setra.com/blog/ipsec-for-ipv6-is-it-more-secure-than-ipv4
- https://www.redhat.com/sysadmin/ipv6-packets-and-ipsec
- http://www.ipv6now.com.au/primers/IPv6PacketSecurity.php
- https://www.rfc-editor.org/rfc/rfc2402.html