Ievads
IPv4 ir izcil protokols, kas tika izstrādāts, lai ļautu datoriem sazināties tīklā. Šis tīkls pakāpeniski attīstījās par internetu, vislielāko ierīču tīklu uz Zemes. IPv4 izstrādātāji tomēr neiedomājās, ka internets izaugs eksponenciālā tempā. Drīz kļuva skaidrs, ka esošais IPv4 adresu daudzums nepietiks masveida ierīču plūsmas apvienošanai. Tādēļ 1990. gadu vidū tika apspriesta jauna protokola (IPv6) izstrāde. 1998. gadā IPv6 kļuva par IETF (Interneta inženiertehnisko uzdevumu grupa) standartprojektu, un 2017. gadā tas kļuva par interneta standartu. Kopš IPv6 radīšanas ir bijusi lēna pāreja uz IPv6 standartu un IPv4 neaktualizēšanu. Diemžēl tas nav viegli, jo IPv4 ir stingri iestājies internetā.
Pāreja ir bijusi lēna, bet pēdējo gadu laikā ir bijis daudz lielāks spiediens uz IPv6 ieviešanu internetā. Pēdējo 5 gadu laikā IPv6 pieņemšana ir palielinājusies no aptuveni 5% līdz aptuveni 36%, un nav pazīmju, ka tas palēninātos. Bet kāpēc kāds vēlētos izmantot IPv6? Vai tam ir priekšrocības un/vai trūkumi salīdzinājumā ar IPv4? Kā IPv6 atšķiras no IPv4? Kā tas strādā?
Es atbildēšu uz šiem jautājumiem un citiem. Šajā rakstā tiek pieņemts, ka lasītājs jau zina, kā darbojas IPv4, vismaz pamatjēgas.
Kāpēc izmantot IPv6?
Ja blakus novietotu IPv6 adresi līdz IPv4 adresei, būtu viegli nepamanīt to, ka viena ir otras pēctecis. Tām ir pilnīgi atšķirīga notācija. Tomēr tās izmanto to pašu bāzes sistēmu. Vienīgā atšķirība ir IP adreses attēlošanas veidā. IPv4 adreses tiek attēlotas kā četras grupas ar trīs decimāliem cipariem, kas atdalīti ar punktiem, bet IPv6 adreses izmanto astoņas grupas ar četriem heksadecimāliem cipariem, kas atdalīti ar kolonām.
Heksadecimāla IPv6: 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff
Decimāla IPv4: 192.0.2.223
Ja skatāties uz IPv6 adresi, to var būt grūti tikai lasīt, un to ir nepraktiski atcerēties. IPv6 izstrādātāji ir ieviesuši dažus saspiešanas trikus, kas var tikt piemēroti IPv6, lai saīsinātu kopējo adreses garumu. Tas dažreiz pat var padarīt IPv6 adresi īsāku nekā IPv4 adrese. Ja pārvēršam IPv6 adresi binārajā formātā, var būt vieglāk saprast, kā tas ir strukturēts. Piemēram, iepriekšējā IPv6 adrese binārajā formātā izskatās šādi:
0010000000000001:0000110110111000:1111111111111111:1111111111111111:1111111111111111:1111111111111111:1111111111111111:1111111111111111
Varbūt tas jau kellei saka kaut ko, jo tas izskatās diezgan līdzīgi kā IPv4 binārā adrese, tikai daudz lielāka. Kamēr IPv4 adrese sastāv no 32 bitiem, IPv6 adresei ir 128 biti – četras reizes vairāk. Kā jau, iespējams, pamanījāt, tas nozīmē, ka varam izveidot 2 pakāpi 128 IPv6 adreses. Tas būtu aptuveni 340 triljoni triljoni triljoni IPv6 adreses! Tāpēc mums ir būtiski neiespēt izbeigt IPv6 adreses tāpat kā mēs to izdarījām ar IPv4 adresēm, kuru bija tikai 2 pakāpēs 32 (aptuveni 4.2 miljardi) iespējamās adreses.
IPv6 ne tikai nodrošina lielāku pieejamo IP adresu skaitu, bet ir arī nepieciešams interneta ilgtermiņa veselībai un attīstībai.
IPv6 priekšrocības
IPv6 izstrādes sastāvā bija vēlme palielināt protokola drošību. IP drošība (IPsec) nodrošina drošu veidu, kā pārraidīt jutīgu informāciju pa internetu. Šī struktūra sastāv no atvērtām normām, ko izstrādājusi IETF. IPsec nodrošina vairākus tīkla drošības pakalpojumus, kas tiek izmantoti datu nodrošināšanai. Pirmkārt, datu konfidencialitāte ir funkcija, kas ļauj sūtītājam šifrēt paku pirms tās nosūtīšanas pa tīklu. Tas nodrošina, ka tikai paredzētā mērķa ierīce var lasīt paku. Otrkārt, datu integritātes validācija ir iespējama saņēmējam, ļaujot viņiem pārbaudīt IPsec paketu integritāti un pārliecināties, vai dati kādā veidā nav mainījušies ceļā uz mērķi. Treškārt, datu avota autentifikācija ļauj saņēmējam autentificēt sūtīto paketes avotu. Šie uzlabojumi ļauj informāciju nosūtīt publiskā tīklā, neveicot modificēšanu, novērošanu vai viltot.
IPv6 joprojām ietver šādas priekšrocības:
- NAT vairs nav nepieciešams, bet joprojām var tikt izmantots
- Automātiska konfigurācija
- Nav vairāk privātu adresu sadursmju
- Galvenes formāta vienkāršošana
- Labi vairākpakalpojumu maršrutēšana
Es šīs priekšrocības izskaidrošu sīkāk nākamajās sadaļās.
IPv6 trūkumi
Lai gan IPv6 ir daudz priekšrocību, ir arī vairāki trūkumi un problēmas, ko IPv6 var izraisīt galīgajam lietotājam.
Visuzkrītošākais trūkums ir IPv6 adreses garums. Kā iepriekš minēts, IPv6 adrese sastāv no astoņām grupām ar četriem heksadecimāliem cipariem. Atcerēties tik garu adresi vai to ievadīt terminālī administratīvā darba laikā var būt sāpīgi.
IPv6 maršrutēšanai ir jābūt iespējotai daudzos sistēmās, pirms to var izmantot. Tas rada vairāk darba administratoriem, rezultējot ilgākiem iestatīšanas laikiem. Šo trūkumu papildina fakts, ka daudzas vecās galalietotāju ierīces nav konfigurētas, lai izmantotu IPv6.
Ņemot vērā, ka lielākā daļa pasaules joprojām izmanto IPv4, IPv6 vienīgi sistēmas var novest pie mazāka datu plūsmas uz jūsu sistēmu vai jūsu sistēma nevarēs sazināties ar IPv4 sistēmām.
Kā ir IPv6 adrese strukturēta?
Būtībā IPv6 kalpo tādai pašai funkcijai kā IPv4. IPv6 adreses ir strukturētas līdzīgi kā IPv4, tās ir ar tīkla prefiksu un interfeisa/rēķinātāja identifikatoru. IPv6 prefiksi ir tie paši, kas tiek izmantoti IPv4 adresēs. CIDR (Klases nedefinēta starptīkla maršrutēšana) notācija tiek izmantota IPv6, lai rādītu masku, izmantojot skaitli no 1-128, lai parādītu tīkla bitus.
Tīkla prefikss Rezerves identifikators
XXXX : XXXX : XXXX : XXXX : XXXX : XXXX : XXXX : XXXX
Piemēram, 2001:db8:85a3:8d3:0000:0000:0000:001a/64
, 2001:db8:85a3:8d3::/64
ir tīkla prefikss, un iespējamās IPv6 adreses diapazonā ir 2001:db8:85a3:8d3:0000:0000:0000:0001/64
līdz 2001:db8:85a3:8d3:ffff:ffff:ffff:ffff/64
.
( XXXX : XXXX : XXXX ) : XXXX : XXXX : XXXX : XXXX : XXXX
IPv6 Adrešu Saspiešana
Iepriekš minēju, ka IPv6 adreses var saspiest, lai tās būtu īsākas un vieglāk lasāmas. Šim vienkāršošanas metodēm ir divas noteikumu grupas. Pirmkārt, vadlīnijas nulles var tikt noņemtas no jebkuras grupas (heksetē) adresē. Piemēram,
1001:0005:ffc0:0000:0000:5893:0032:0001
var tikt vienkāršotā uz
1001:5:ffc0:0:0:5893:32:1
Mums nav atļauts noņemt pēdējās nulles, jo tad maršrutētāji uzskatīs, ka nulle nāca no hekseta priekšpuses. Piemēram, ja mēs noņemtu pēdējo nulli no šī hekseta,
ffc0
Maršrutētājs neiegūtu nulli atpakaļ hekseta beigās, aizpildot nullus. Tā vietā nulle tiktu novietota priekšā citiem cipariem, šādi:
0ffc
Otrkārt, mēs varam noņemt turpinātas nulles. Šajā piemērā mums bija 2 grupas pa četrām nullēm. To var aizstāt ar
1001:5:ffc0::5893:32:1
Maršrutētāji, kas lasa šo adresi, automātiski aizpilda trūkstošās nulles. To var tomēr izdarīt tikai vienreiz adresē. Un tāpēc mūsu IPv6 adrese jau izskatās daudz lasāmāka.
Automātiska Konfigurācija
IPv6 resursdatori spēj ģenerēt savu adresi, padarot administrēšanu vieglāku un ātrāku. Ir vairākas darbības, kas notiek, lai automātiski konfigurētu interfeisu IPv6. Šajā procesā tiek izveidota lokālā saites adrese. Lokālās saites adrese ir IPv6 adrese, kas ļauj saziņai starp resursdatoriem, kas atrodas uz vienas un tās pašas tīkla. Adrese var tikt noteikta, izmantojot divus mehānismus – bezstāvokļa un stāvstāvokļa mehānismus.
Bezstāvokļa adrešu automātiskā konfigurācija (SLAAC) neprasa resursdatoru manuālu konfigurēšanu un papildu serveru konfigurāciju. Šis mehānisms ļauj resursdatoram automātiski ģenerēt savas adreses. Adrešu ģenerēšanai tiek izmantota vietējā informācija un maršrutētājiem reklamētā nevietējā informācija. Maršrutētāji reklamē prefiksus, kas identificē apakštīklu vai apakštīklus, kas saistīti ar saiti. Resursdatori ģenerē interfeisa identifikatoru, kas unikāli identificē interfeisu tīklā. Apvienojot prefiksu un interfeisa identifikatoru, tiek veidota unikāla adrese. Resursdators var ģenerēt tikai lokālās saites adreses, ja nav pieejami maršrutētāji.
Stāvstāvokļa automātiskā konfigurācijas modelī resursdatori iegūst interfeisa adreses vai konfigurācijas informāciju un parametrus no servera. To var salīdzināt ar DHCP procesu no IPv4, un serveri, kas sniedz informāciju, sauc parī vēl par DHCPv6 serveriem. Šie serveri uztur datu bāzi, kas pārbauda, kuras adreses ir piešķirtas kuriem resursdatoriem. Stāvstāvokļa automātiskā konfigurācijas protokols ļauj resursdatoriem iegūt adreses un citu konfigurācijas informāciju no servera. Bezstāvokļa un stāvstāvokļa automātiskā konfigurācija bieži vien papildina viena otru. Piemēram, resursdators var izmantot bezstāvokļa automātisko konfigurāciju, lai konfigurētu savas adreses, bet izmantot stāvstāvokļa automātisko konfigurāciju, lai iegūtu citu informāciju.
IPv6 Adrešu Veidi
Pastāv vairāki IPv6 adrešu veidi. Šajā sadaļā mēs apskatīsim katru veidu un īsi paskaidrosim, ko tie izmanto un kā tie salīdzināmi ar IPv4.
Adreses Tips | Priekšējums | Izmantots priekš |
---|---|---|
Globāla unikāla | 2000::/3 | Publiski maršrutējama |
Unikāli lokāla | fc00::/7 | Maršrutējama lokālajā tīklā |
Saistes lokāla | fe80::/10 | Nav maršrutējama |
Multicast | ff00::/8 | Adreses grupām |
Anikāsts | 2000::/3 | Koplietota adrese |
globāla unikāla
adrese ir publiski maršrutējama adrese, tāpat kā publiska IPv4 adrese. Šīs adreses var identificēt ar priekšējo 2000::/3
. Tas nozīmē, ka pirmie 3 biti identificē globālu unikālu
adresi.
Unikāli lokāla
adrese ir līdzīga IPv4 privātajai adresei un nav globāli maršrutējama. Šīm adresēm ir priekšējo fc00::/7
. Izmantojot pirmos 7 bitus, unikāli lokāla
adrese vienmēr sāksies ar “f”, pēc tam nāk vai nu “c”, vai nu “d”.
Saistes lokālas
adreses var uzskatīt par ātri ģenerējamām IP adresēm, kas var tikt veidotas bez jebkāda cita ierīces palīdzības. Šīs adreses nav maršrutējamas pa tīklu. Kā iepriekš minēts, šīs adreses ir paredzētas tikai saziņai ar citām ierīcēm uz vienas lokālās tīkla. Tiem ir priekšējais fe80::/10
. Jūs varbūt jau esat pamanījuši modeli. Tas norāda, ka saistes lokālās
adreses izmantos pirmos 10 bitus, lai sāktu ar “fe”.
Multicast
adreses ir adreses, kas piešķirtas ierīču grupai, kas klausīsies konkrētajā multicast
adresē. Šāda veida adrese vienmēr sākas ar “ff”.
Visbeidzot mums ir anikāsta
adreses. Šīs adreses ir interesantas tādēļ, ka tās var tikt piešķirtas vairākām ierīcēm. Dati tiks nosūtīti tuvākajai ierīcei ar šo adresi. Nav konkrēta IP diapazona anikāsta
adresēm, un tās izmanto to pašu diapazonu kā globāli unikālās
adreses.
IPv4 izmanto raidīšanu (broadcast)
adreses, kas ļauj ierīcei nosūtīt paketi visām tīkla ierīcēm. Šis adrešu tips ir atcelts IPv6, un tā vietā tiek izmantota multicast
.
Galvenes Formāta Vienkāršošana
IPv6 galvene ir vienkāršota un atmet dažus IPv4 galvenes laukus. Tas samazina joslas platumu, neskatoties uz palielināto adreses izmēru. IPv6 galvene ir tikai divreiz lielāka par IPv4 galveni, lai gan adrese ir četrkārši garāka.
IPv6 galvene | ||
---|---|---|
Versija | Traffic class | Flow label |
Payload garums | Nākamā galva | Hops limits |
Avota adrese | ||
Galamērķa adrese |
IPv4 galvene | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Versija | IHL (interneta galves garums) | Pakalpojuma tips | Kopējais garums | ||||||||
Identifikācija | Karogi | Fragmenta nobīde | |||||||||
TTL (laiks dzīvot) | Protokols | Galvenes kontrolsumma | |||||||||
Avota adrese | |||||||||||
Galamērķa adrese | |||||||||||
Opcijas | Pildījums |
Kā mēs varam redzēt, IPv6 galvenes vienkāršošana ir izraisījusi daudzu IPv4 galvenes lauku izzušanu. Apsveriet laukus, kas IPv6 vairs nepastāv, un analizējiet, kā IPv6 nodrošina šīs informācijas pārnešanu. Lauki, kas ir identiski, ir atzīmēti ar vienlīdzības zīmi.
IPv4-Galvene | IPv6-Galvene | |||
---|---|---|---|---|
Versija | 4 biti | = | Versija | 4 biti |
IHL (Interneta galves garums) | 4 biti | ≠ | Neeksistē IPv6 | – |
Pakalpojuma tips | 8 biti | = | Traffic class | 8 biti |
Neeksistē IPv4 | – | ≠ | Plūsmas etiķete | 20 biti |
Kopējais garums | 16 biti | = | Payload garums | 16 biti |
Identifikācija | 16 biti | ≠ | Neeksistē IPv6 | – |
Karogi | 3 biti | ≠ | Neeksistē IPv6 | – |
Fragmenta nobīde | 13 biti | ≠ | Neeksistē IPv6 | – |
TTL (Dzīves ilgums) | 8 biti | = | Hop limits | 8 biti |
Protokols | 8 biti | = | Nākamā galva | 8 biti |
Galvenes kontrolsumma | 16 biti | ≠ | Neeksistē IPv6 | – |
Avota adrese | 32 biti | = | Avota adrese | 128 biti |
Galamērķa adrese | 32 biti | = | Galamērķa adrese | 128 biti |
Opcijas | 0-320 biti | = | Pagarinātās galvenes | 0-320 biti |
Pildījums | Maināma garums | ≠ | Neeksistē IPv6 | – |
Traffic class lauks ir paketes klases vai prioritātes identifikators un kalpo tādai pašai funkcijai kā IPv4 Pakalpojuma tips lauks.
Plūsmas Etiķete
Plūsmas etiķetes lauks ir vienīgais jaunais lauks IPv6. Tas norāda starppakalpojumu ierīcēm, ka pakete pieder konkrētai secībai paketēs starp avotu un galamērķi. Šis lauks atšķir dažādas plūsmas IPv6 maršrutētājiem.
Payload garums ir Kopējā garuma lauka ekvivalents IPv6, un vienkārši parāda datu daļas garumu baitos.
Laika dzīves lauks ir pārdēvēts par Hops limits, jo tas precīzāk apraksta lauka funkciju.
Protokola lauks ir pārdēvēts par Nākamā galva un norāda protokolu payload, piemēram, TCP, UDP vai ICMPv6. Šim laukam ir dažas papildu opcijas salīdzinājumā ar Protokola lauku IPv4, piemēram, Generic Routing Encapsulation (GRE), Encapsulating Security Payload (ESP) un Open Shortest Path First (OSPF).
Bez Više NAT
NAT (Network Address Translation) ir protokols, ko visbiežāk izmanto, lai atspoguļotu vietējās/privātās IP adreses uz vienu publisku IP adresi un otrādi, lai nodrošinātu vietējiem resursiem piekļuvi Internetam. NAT tika izstrādāta kā pagaidu risinājums, lai palēninātu neizbēgamās IPv4 adreses izsīkuma izsīkumu. Tomēr lielais IPv6 adreses telpas izmērs to maina, jo vairs nav nepieciešams taupīt adreses, un katrai ierīcei var viegli piešķirt unikālu globāli maršrutējamu adresi. IPv6 varbūt vairs nav nepieciešams izmantot NAT, bet to vēl joprojām var ieviest IPv6 tīklā. To galvenokārt izmanto, lai palīdzētu tulkot IPv4 adreses uz IPv6 adresēm.
Secinājums
Pašlaik vairums ierīču internetā joprojām izmanto IPv4. Pirms IPv4 tiek pilnībā aizstāts ar IPv6, pagās vēl daži gadi. Tomēr jaunāka protokola pieņemšana ir turpinājusies tālāk attīstītajās valstīs visā pasaulē, piemēram, Vācijā, ASV, Saūda Arābijā un Japānā, un valstīs, kurās liela iedzīvotāju skaits ar augošu IT nozari, piemēram, Indijā un Brazīlijā. Paredzams, ka nākotnē dzīvosim pasaulē, kurā ir gan IPv4, gan IPv6, un daudzās sistēmās darbosies divkārša IP sistēma. Tikai tad, kad IPv6 pārsniegs IPv4 tirgus daļu, mēs varēsim izveidot sistēmas, kas ir tikai IPv6.
Avoti
- 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