Idag kommer vi att studera protokollet IPv6. Den tidigare versionen av kursen CCNA krävde ingen djupgående förståelse av detta protokoll, men i den tredje versionen 200-125 är en djupgående studier av det obligatoriskt för att klara provet. Protokollet IPv6 utvecklades för ganska länge sedan, men det hittade länge ingen utbredd användning. Det är mycket viktigt för den fortsatta utvecklingen av internet, eftersom det syftar till att åtgärda bristerna hos det allmänt spridda protokollet IPv4.
Eftersom protokollet IPv6 är ett ganska omfattande ämne har jag delat upp det i två videolektioner: Dag 24 och Dag 25. Den första dagen kommer vi att fokusera på grundläggande begrepp, medan vi på den andra kommer att titta på konfigurationen av IP-adresser enligt protokollet IPv6 för Cisco-enheter. Idag kommer vi som vanligt att titta på tre ämnen: behovet av IPv6, formatet för IPv6-adresser och typerna av IPv6-adresser.

Hittills har vi i våra lektioner använt IP-adresser enligt protokoll v4, och du har vant dig vid att de ser ganska enkla ut. När du såg den adress som visas på denna bild förstod du precis vad det handlade om.
Men IP-adresser v6 ser helt annorlunda ut. Om du inte är bekant med principerna för skapandet av adresser i denna version av internetprotokollet kommer du först att bli förvånad över att en IP-adress av denna typ tar mycket mer plats. I den fjärde versionen av protokollet hade vi bara 4 decimaler, vilket var ganska enkelt, men föreställ dig att du måste ge den gode herr X hans nya IP-adress av typen 2001:0db8:85a3:0000:0000:8a2e:0370:7334.

Men oroa dig inte – i slutet av denna videolektion kommer vi att vara i en mycket bättre position. Låt oss först titta på varför det blev nödvändigt att använda IPv6.

Idag använder de flesta människor IPv4 och är ganska nöjda med det. Varför behövs det då en övergång till en ny version? För det första består IP-adresser av fjärde versionen av 32 bitar. Detta gör att man kan skapa ungefär 4 miljarder adresser på internet, vilket innebär att det exakta antalet IP-adresser är 2^32. När IPv4 skapades ansåg utvecklarna att ett sådant antal adresser var mer än tillräckligt. Om du minns delas adresserna i denna version in i 5 klasser: aktiva klasser A, B, C och reserverade klasser D (multicast) och E (forskning). Därmed, även om antalet fungerande IP-adresser utgjorde endast 75 % av de 4 miljarder, var protokollets skapare övertygade om att det skulle räcka för hela mänskligheten. Men på grund av den snabba utvecklingen av internet har bristen på lediga IP-adresser blivit kännbart år för år, och om det inte vore för användningen av NAT-teknik skulle de lediga IPv4-adresserna länge ha tagit slut. Faktum är att NAT blev räddaren för detta internetprotokoll. Det är därför behovet av att skapa en ny version av internetprotokollet, som är fri från bristerna i den fjärde versionen, uppstod. Du kanske frågar varför man gick direkt från den fjärde versionen till den sjätte. Det beror på att version 5, precis som versionerna 1, 2 och 3, var experimentella.
Så, IPv6-adresser har ett 128-bitars adressutrymme. Hur mycket tror du att antalet möjliga IP-adresser har ökat? Du kanske säger: "fyra gånger!" Men det är inte så, eftersom 2^34 redan är fyra gånger större än 2^32. Så värdet av 2^128 är otroligt stort – det är 340282366920938463463374607431768211456. Det är antalet IP-adresser som är tillgängliga via IPv6-protokollet. Det betyder att du kan tilldela en IP-adress till vad du vill: din bil, mobiltelefon, smartklocka. En modern människa kan ha en bärbar dator, flera smartphones, en smartklocka, ett smart hem — en TV som är ansluten till internet, en tvättmaskin ansluten till internet, ett helt hus kopplat till nätverket. Så här många adresser möjliggör konceptet "Internet of Things", som stöds av Cisco. Det betyder att i ditt liv är allt uppkopplat till internet, och alla behöver en egen IP-adress. Med IPv6 är detta möjligt! Varje människa på Jorden kan använda miljontals adresser på denna version för sina enheter, och det kommer fortfarande att finnas gott om lediga adresser kvar. Vi kan inte förutsäga hur teknologierna kommer att utvecklas, men vi kan hoppas att mänskligheten inte når en tid då det bara finns en dator kvar på Jorden. Man kan anta att IPv6 kommer att finnas kvar länge, länge. Låt oss titta på vad formatet för en IP-adress av sjätte version innefattar.

Dessa adresser visas som 8 grupper av hexadecimala siffror. Det betyder att varje tecken i adressen har en längd på 4 bitar, vilket innebär att varje grupp av 4 sådana tecken består av 16 bitar, och hela adressen har en längd på 128 bitar. Varje grupp av 4 tecken separeras från nästa grupp med ett kolon, till skillnad från IPv4-adresser där grupperna separerades med punkter, eftersom punkten är den decimala representationen av siffror. Eftersom det är svårt att komma ihåg en sådan adress, finns det flera regler för att korta ner den. Den första regeln säger att grupper av enbart nollor kan ersättas med ett dubbelkolon. Denna operation kan utföras på varje IP-adress endast en gång. Låt oss titta på vad detta innebär.
Som ni ser i det angivna exemplet på adresser finns det tre grupper om 4 nollor. Det totala antalet kolon som separerar dessa grupper 0000:0000:0000 är 2. Därför, om man använder dubbelkolon ::, skulle det betyda att det i denna del av adressen finns grupper av nollor. Hur kan man då veta hur många grupper av nollor som denna dubbelkolon representerar? Om man ser till den förkortade formen av adressen kan man räkna 5 grupper om 4 tecken. Men eftersom vi vet att den fullständiga adressen består av 8 grupper, betyder det att dubbelkolon representerar 3 grupper om 4 nollor. Detta är den första regeln för den förkortade formen av adressen.

Den andra regeln säger att man kan utelämna ledande nollor i varje teckengrupp. Till exempel ser den 6:e gruppen i den fullständiga adressformen ut som 04FF, medan dess förkortade form ser ut som 4FF, eftersom vi har utelämnat den ledande nollan. Således betyder skrivningen 4FF inget annat än 04FF.
Genom att följa dessa regler kan man förkorta vilken IP-adress som helst. Men även efter förkortning ser denna adress inte riktigt kort ut. Senare kommer vi att titta på vad som kan göras åt detta, men kom bara ihåg dessa 2 regler så länge.
Låt oss titta på vad IP-adresserna för versionerna IPv4 och IPv6 består av.

Denna bild, som jag tog från Internet, förklarar mycket bra skillnaden mellan de två rubrikerna. Som ni ser är rubriken för IPv4-adressen mycket mer komplex och innehåller mer information än rubriken för IPv6. Om rubriken är komplex tar routern längre tid att bearbeta den för att fatta ett routningsbeslut, så därför fungerar routrar med enklare IP-adresser i den sjätte versionen mer effektivt. Det är därför IPv6 är mycket bättre än IPv4.
Längden på IPv4-rubriken från 0 till 31 bitar upptar 32 bitar. Omtaget den sista raden Options och Padding representerar IPv4-adressen en 20-byte adress, det vill säga dess minimala storlek är 20 byte. Längden på adresser i den sjätte versionen har ingen minimi-storlek, och en sådan adress har en fast längd på 40 byte.
I header för IPv4 anges först versionen, följt av längden på headern IHL. Som standard är detta 20 byte, men om det i headern anges ytterligare information Options kan det ha en större längd. Om du använder Wireshark kan du läsa värdet Version, vilket är 4, och värdet IHL, vilket är 5, vilket innebär fem vertikala block om 4 byte (32 bitar) i varje, utan att räkna med blocket Options.

Tjänstetypen Type of Service anger paketets natur – till exempel röstpaket eller datapaket, eftersom rösttrafik har företräde framför andra typer av trafik. Kort sagt, detta fält anger trafikens prioritet. Den totala längden Total Length är summan av längden på headern 20 byte plus längden på nyttolasten, som representerar de överförda uppgifterna. Om den är 50 byte, så kommer den totala längden att vara 70 byte. Paketidentifieringen Identification används för att kontrollera paketets integritet med hjälp av headerns kontrollsummaparameter Header Checksum. Om paketet är fragmenterat i 5 delar ska varje del ha samma identifierare – fragmentoffset Fragment Offset, vilket kan variera från 0 till 4, där varje paketfragment ska ha samma offset-värde. Flaggorna visar om fragmentoffset är tillåtet. Om du inte vill att data ska fragmenteras, ställer du in flaggan DF – don’t fragment. Det finns en flagga MF – more fragment. Detta betyder att om det första paketet är fragmenterat i 5 delar, sätts 0 för det andra paketet, vilket betyder – inga fler fragment! Samtidigt kommer den sista fragmentet av det första paketet att markeras 4, så att mottagande enhet enkelt kan avmontera paketet, det vill säga tillämpa defragmentering.
Observera färgerna som används på denna slide. Fälten markerade i röd färg representerar fält som har uteslutits från IPv6-headern. De blå fälten visar parametrar som övergått från den fjärde till den sjätte versionen av protokollet i modifierad form. De gula fälten förblev oförändrade i båda versionerna. Det gröna fältet visar ett fält som första gången endast förekommer i IPv6.
Fälten Identification, Flags, Fragment Offset och Header Checksum har uteslutits eftersom fragmentering inte längre förekommer i moderna datatransmissioner och kontrollsumman inte behövs. För många år sedan, vid långsamma datatransmissioner, var fragmentering ganska vanligt, men idag används Ethernet-standarden IEEE 802.3 med en MTU på 1500 byte överallt, och fragmentering förekommer inte längre.
TTL, eller paketets livslängd, är en nedräkningsräknare – när livslängden når 0, kasseras paketet. Det är faktiskt det maximala antalet hopp som kan göras inom detta nätverk. Fältet Protocol visar vilken protokoll, TCP eller UDP, som används i nätverket.
Header Checksum är en föråldrad parameter och har därför uteslutits från den nya versionen av protokollet. Därefter följer fälten för 32-bitars källadress och 32-bitars destinationsadress. Om vi har information i Options-raden, ändras värdet av IHL från 5 till 6, vilket visar att det finns ett extra fält i rubriken.
I IPv6-rubriken används också versionsfältet Version, och trafikklassen Traffic Class motsvarar fältet Type of Service i IPv4-rubriken. Flow Label liknar Traffic Class och används för att förenkla rutindragningen av homogena paketflöden. Payload Length anger längden på nyttolasten eller storleken på datafältet som ligger under rubriken. Längden på själva rubriken är 40 byte och är konstant, så den nämns ingetstans.
Fältet "nästa rubrik", Next Header, anger vilken typ av rubrik nästa paket kommer att ha. Det här är en mycket användbar funktion som anger typen av nästa transportprotokoll – TCP, UDP osv., och som kommer att vara mycket eftertraktad i framtida datatransmissionsteknologier. Även om du använder ditt eget protokoll kan du ta reda på vilket protokoll som kommer härnäst.
Det maximala antalet hopp, eller Hop Limit, är analogt med TTL i IPv4-rubriken, och är en mekanism för att förhindra cirkulering av rutindragning. Därefter följer fälten för 128-bitars källadress och 128-bitars destinationsadress. Hela rubriken är 40 byte stor. Som jag nämnde är IPv6 mycket enklare än IPv4 och mycket mer effektivt för routers att fatta routningsbeslut.
Låt oss se på typer av IPv6-adresser. Vi vet att unicast är en riktad överföring, där en enhet är direkt kopplad till en annan, och båda enheterna kan kommunicera med varandra. Multicast innebär sändning till flera mottagare samtidigt och betyder att flera enheter kan ansluta till en specifik enhet, som i sin tur kan kommunicera med flera andra enheter samtidigt. I detta avseende liknar multicast en radiostation vars signaler sprids överallt. Om du vill höra en specifik kanal måste du ställa in din radio på en viss frekvens. Om du minns videolektionen om RIP-protokollet vet du att detta protokoll använder den breda sändningsdomänen 255.255.255.255 för att skicka uppdateringar, där alla delnät är anslutna. Men endast de enheter som använder RIP-protokollet kommer att ta emot dessa uppdateringar.
En annan typ av sändning som inte förekom i IPv4 kallas Anycast. Den används när du har flera enheter med samma IP-adress och gör det möjligt att skicka paket till den närmaste mottagaren från en grupp av mottagare.

I fallet med Internet, där vi har CDN-nätverk, kan vi ta ett exempel med YouTube. Många människor i olika delar av världen använder denna tjänst, men det betyder inte att alla ansluter direkt till företagets server i Kalifornien. YouTube har många servrar spridda över hela världen; till exempel ligger min indiska YouTube-server i Singapore. På liknande sätt har IPv6 ett inbyggt mekanism för CDN-överföring som använder en geografiskt distribuerad nätverksstruktur, vilket innebär att det använder Anycast.
Som du har märkt saknas ännu en typ av sändning, Broadcast, eftersom IPv6-protokollet inte använder det. Men Multicast i detta protokoll fungerar liknande som Broadcast i IPv4, endast på ett mer effektivt sätt.
Шестая версия протокола использует три типа адресов: Link Local, Unique Site Local и Global. Мы помним, что в IPv4 один интерфейс имеет только один IP-адрес. Предположим, что у нас есть два роутера, связанные друг с другом, так вот, каждый из интерфейсов подключения будет иметь только 1 IP-адрес. При использовании IPv6 каждый интерфейс автоматически получает IP-адрес типа Link Local. Эти адреса начинаются с FE80::/64.

Данные IP-адреса используются только для локальных соединений. Люди, работающие с Windows, знают очень похожие адреса вида 169.254.Х.Х – это адреса, автоматически конфигурируемые по протоколу IPv4.
Если компьютер обращается к DHCP серверу за получением IP-адреса, но по какой-то причине не может установить с ним связь, в устройствах Microsoft имеется механизм, который позволяет компьютеру присвоить IP-адрес самому себе. При этом адрес будет примерно такой: 169.254.1.1. Аналогичная ситуация возникнет, если у нас имеется компьютер, свитч и роутер. Предположим, роутер не получил IP-адрес от DHCP-сервера и автоматически назначил сам себе такой же IP-адрес 169.254.1.1. После этого он через свитч разошлет по сети широковещательный ARP-запрос, в котором спросит, не имеет ли какое-то сетевое устройство этот адрес. Получив запрос, компьютер ответит ему: «Да, у меня точно такой же IP-адрес!», после чего роутер назначит себе новый случайный адрес, например, 169.254.10.10, и снова разошлет по сети ARP-запрос.

Если никто не сообщит, что имеет такой же адрес, то он оставит адрес 169.254.10.10 себе. Таким образом, устройства в локальной сети могут вообще не использовать DHCP-сервер, пользуясь механизмом автоматического назначения IP-адресов самим себе, чтобы установить друг с другом связь. Вот в чем заключается автоконфигурация IP-адресов, с которой мы встречались много раз, но никогда не использовали.
Аналогичным образом в протоколе IPv6 имеется механизм назначения локальных IP-адресов Link Local, начинающихся с FE80::. Слеш 64 означает разделение адресов сети и адресов хоста. При этом первые 64 означают сеть, а вторые 64 – хост.

FE80:: betyder adresser av typen FE80:0:0:0/ där värddelen av adresserna kommer efter snedstrecket. Dessa adresser är olika för vår enhet och det anslutna gränssnittet och konfigureras automatiskt. Delar av värden använder MAC-adresser. Som bekant är en MAC-adress en 48-bitars IP-adress som består av 6 block med 2 hexadecimala siffror. Microsoft använder detta system, medan Cisco använder 3 block med 4 hexadecimala siffror.

I vårt exempel kommer vi att använda Microsofts sekvens av typen 11:22:33:44:55:66. Hur tilldelas en enhets MAC-adress? Denna sekvens av siffror i värdadressen, som representerar MAC-adressen, delas in i två delar: till vänster finns tre grupper 11:22:33, till höger tre grupper 44:55:66, och mellan dem läggs FF och FE. På så sätt skapas ett 64-bitars block av värdadressen.

Som bekant representerar sekvensen 11:22:33:44:55:66 en MAC-adress som är unik för varje enhet. Genom att sätta FF:FE mellan de två grupperna i MAC-adressen får vi en unik IP-adress för denna enhet. På så sätt skapas en lokal länkad IP-adress, som används endast för kommunikation mellan grannar utan särskild konfiguration och speciella servrar. En sådan IP-adress kan endast användas inom ett och samma nätverkssegment och kan inte användas för extern kommunikation utanför detta segment.
Den nästa typen av adress är Unique Site Local Scope, som motsvarar interna (privata) IPv4-adresser av typen 10.0.0.0/8, 172.16.0.0/12 och 192.168.0.0/16. Anledningen till att man använder interna privata och externa offentliga IP-adresser beror på NAT-teknologin, som vi har diskuterat i tidigare lektioner. Unique Site Local Scope är en teknologi som skapar interna IP-adresser. Du kanske säger: "Imran, du sa att varje enhet kan ha sin egen IP-adress, och det är därför vi gick över till IPv6", och du har helt rätt. Men vissa människor föredrar att använda konceptet med interna IP-adresser av säkerhetsskäl. Här används NAT som en brandvägg, vilket gör att externa enheter inte kan kommunicera fritt med enheter som är placerade inom nätverket, eftersom de har lokala IP-adresser som är oåtkomliga från det externa internet. För övrigt skapar NAT många problem när det gäller VPN, exempelvis för ESP-protokollet. För att säkerställa säkerhet använde IPv4 IPSec, men i IPv6 finns det en inbyggd säkerhetsmekanism, vilket gör att kommunikationen mellan interna och externa IP-adresser etableras mycket enkelt.
För detta har IPv6 två olika typer av adresser: om Unique Local-adresserna motsvarar interna IPv4-adresser, så motsvarar Global-adresserna externa IPv4-adresser. Många människor föredrar att överhuvudtaget inte använda adresser av typen Unique Local, medan andra inte kan klara sig utan dem, vilket gör detta till ett ämne för ständiga debatter. Jag anser att du kommer att få mycket fler fördelar om du bara använder externa IP-adresser, framför allt när det gäller rörlighet. Till exempel kommer min enhet att ha samma IP-adress oavsett var jag befinner mig – i Bangalore eller New York, så att jag utan problem kan använda någon av mina enheter var som helst i världen.
Som jag redan har sagt, har IPv6 en inbyggd säkerhetsmekanism som möjliggör skapandet av en säker VPN-tunnel mellan platsen där ditt kontor finns och dina enheter. Tidigare behövde vi en extern mekanism för att skapa en sådan VPN-tunnel, men i IPv6 är detta en inbyggd standardmekanism.
Eftersom vi idag har diskuterat tillräckligt med ämnen avbryter jag vår lektion för att fortsätta diskussionen om den sjätte versionen av internetprotokollet IP i nästa video. Som en hemuppgift ber jag er att noggrant studera vad det hexadecimala talsystemet innebär, eftersom det är mycket viktigt för att förstå IPv6 att förstå omvandlingen av det binära talsystemet till hexadecimalt och vice versa. Till exempel borde ni veta att 1111 = F, och så vidare, kolla bara på Google för att ta reda på det. I nästa videolektion kommer jag att försöka öva med er på en sådan omvandling. Jag rekommenderar att ni ser dagens videolektion flera gånger så att ni inte har några frågor om de ämnen som har tagits upp.

Tack för att ni stannar med oss. Gillar ni våra artiklar? Vill ni se mer intressant material? Stöd oss genom att göra en beställning eller rekommendera oss till vänner, 30% rabatt för Habr-användare på vårt unika alternativ till entry-level servrar, som vi har designat för er: (alternativ med RAID1 och RAID10 finns tillgängliga, upp till 24 kärnor och upp till 40GB DDR4).
Dell R730xd till halva priset? Bara hos oss i Nederländerna! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — från $99! Läs om
Källa: habr.com
