Днес ще научим повече за протокола IPv6. Предишната версия на курса CCNA не изискваше дълбочинно познаване на този протокол, но в третата версия 200-125 неговото задълбочено изучаване е необходимо за успешно полагане на изпита. Протокол IPv6 е разработен доста отдавна, но дълго време не намери широко приложение. Той е от съществено значение за бъдещото развитие на интернет, тъй като е предназначен да елиминира недостатъците на широко разпространения протокол IPv4.
Понеже протоколът IPv6 е много обширна тема, я разделих на два видеоурока: Ден 24 и Ден 25. Първият ден ще се съсредоточим върху основните понятия, а на втория ще разгледаме настройката на IP адреси по протокола IPv6 за устройства от Cisco. Днес, както обикновено, ще разгледаме три теми: необходимостта от IPv6, формата на адресите IPv6 и типовете адреси IPv6.

Досега в уроците ни използвахме IP адреси по протокола v4 и вие сте свикнали да виждате, че те изглеждат доста просто. Когато видяхте адреса, представен на този слайд, веднага разбрахте за какво става въпрос.
Но IP адресите v6 изглеждат съвсем различно. Ако не сте запознати с принципа на генериране на адреси в тази версия на интернет протокола, най-напред ще се учудите, че IP адрес от този тип заема доста място. В четвъртата версия на протокола имахме само 4 десетични числа, и всичко беше ясно, но си представете, че трябва да обясните на мистър X неговия нов IP адрес от тип 2001:0db8:85a3:0000:0000:8a2e:0370:7334.

Но не се притеснявайте – в края на този видеоурок ще се окажем в много по-добра ситуация. Нека първо разгледаме защо възникна необходимостта от използването на IPv6.

Днес повечето хора използват IPv4 и са напълно доволни. Защо беше необходимо да преминем на нова версия? Първо, IP адресите от четвъртата версия се състоят от 32 бита. Това позволява да се създадат около 4 милиарда адреса в интернет, т.е. точното число на IP адресите е 2 на степен 32. В момента на създаването на IPv4, разработчиците смятаха, че такова количество адреси е повече от достатъчно. Ако се сещате, адресите от тази версия се делят на 5 класа: активни класове A, B, C и резервни класове D (мултикастинг) и E (изследвания). Така че, въпреки че броят на работещите IP адреси съставляваше само 75% от 4-те милиарда, създателите на протокола бяха уверени, че ще им стигнат на цялото човечество. Въпреки това, с бързото развитие на интернет, всяка година се усеща недостиг на свободни IP адреси, и ако не беше технологията NAT, свободните адреси на IPv4 отдавна щяха да свършат. Всъщност NAT стана спасение за този интернет протокол. Ето защо се появи необходимостта от създаването на нова версия на интернет протокола, освободена от недостатъците на четвъртата версия. Можете да питате защо преминаваме от четвърта версия директно на шеста. Това е свързано с факта, че версия 5, както и версиите 1, 2 и 3, бяха експериментални.
И така, IP адресите v6 разполагат с 128 бита адресно пространство. Как мислите, колко пъти е увеличило количеството на възможните IP адреси? Вероятно ще отговорите: «4 пъти!». Но това не е вярно, защото 234 вече е 4 пъти повече от 232. Така че стойността на 2128 е невероятно голяма – тя е равна на 340282366920938463463374607431768211456. Толкова много IP адреси са на разположение чрез протокола IPv6. Това означава, че можете да присвоите IP адрес на каквото искате: вашия автомобил, телефон, смарт часовник. Съвременният човек може да има лаптоп, няколко смартфона, смарт часовник, интелигентен дом — телевизор, свързан с интернет, пералня, свързана с интернет, цяла къща, свързана с интернет. Такова количество адреси позволява концепцията за „интернет на нещата“, която поддържа Cisco. Това означава, че всичките ви неща в живота са свързани с интернет и всички те имат нужда от собствен IP адрес. С IPv6 това е възможно! Всеки човек на Земята може да използва милиони адреси от тази версия за своите устройства и все пак ще останат твърде много свободни. Не можем да предвидим как ще се развиват технологиите, но можем да се надяваме, че човечеството няма да стигне до момента, в който на Земята ще остане само 1 компютър. Можем да предположим, че IPv6 ще просъществува много дълго време. Нека да разгледаме какво представлява форматът на IP адреса от шеста версия.

Тези адреси се изобразяват като 8 групи от шестнадесетични числа. Това означава, че всеки символ от адреса има дължина 4 бита, така че всяка група от 4 такива символа е 16 бита, а целият адрес има дължина 128 бита. Всяка група от 4 знака е отделена от следващата група с двоеточие, за разлика от адресите IPv4, където групите бяха разделени със точки, тъй като точката е десетичен формат на представяне на числа. Понеже е трудно да запомните такъв адрес, съществуват няколко правила, които позволяват да се съкрати. Първото правило гласи, че групите, които се състоят само от нули, могат да бъдат заменени с двойно двоеточие. Такова действие може да се извърши на всеки IP адрес само 1 път. Нека разгледаме какво означава това.
Както виждате, в представения адреса има три групи с по 4 нула. Общият брой на двоеточията, разделящи тези групи 0000:0000:0000, е 2. Следователно, ако използваме двойно двоеточие ::, това ще означава, че в тази част от адреса се намират групи с нули. Как можем да разберем колко групи с нули представлява това двойно двоеточие? Ако погледнем съкратената форма на адреса, можем да преброим 5 групи по 4 знака. Но тъй като знаем, че пълният адрес се състои от 8 групи, това означава, че двойното двоеточие обозначава 3 групи с по 4 нула. Това е първото правило за съкратената форма на адреса.

Второто правило гласи, че можем да пропускаме началните нули във всяка група знаци. Например, 6-та група от пълната форма на адреса изглежда като 04FF, а нейната съкратена форма ще изглежда като 4FF, защото пропускаме началната нула. Така че записът 4FF означава просто 04FF.
Съгласно тези правила можем да съкратим всеки IP адрес. Въпреки това, дори след съкращаване, този адрес не изглежда действително къс. По-късно ще разгледаме какво можем да направим по въпроса, за сега просто запомнете тези 2 правила.
Нека разгледаме какви са заглавията на адресите версия IPv4 и IPv6.

Тази картинка, която взех от интернет, много добре обяснява разликата между двете заглавия. Както виждате, заглавието на адреса IPv4 е много по-сложно и съдържа повече информация от заглавието на IPv6. Когато заглавието е сложно, рутерът изразходва повече време за обработка, за да вземе решение за маршрутизация, затова при използване на по-прости IP адреси от шестата версия рутерите работят по-ефикасно. Ето защо IPv6 е значително по-добре от IPv4.
Дължината на заглавието на IPv4 от 0 до 31 бита заема 32 бита. Без да се включва последният ред Options и Padding, IP адресът версия 4 представлява 20-байтов адрес, тоест минималният му размер е 20 байта. Дължината на адреса на шестата версия няма минимален размер и този адрес има фиксирана дължина от 40 байта.
В заглавието на IPv4 първо е версията, след което се посочва дължината на заглавката IHL. По подразбиране тя е 20 байта, но ако в заглавката има допълнителна информация Options, може да има по-голяма дължина. Когато използвате Wireshark, можете да прочетете стойността на Version, равна на 4, и стойността на IHL, равна на 5, което означава пет вертикални блока по 4 байта (32 бита) всеки, без да се брои блока Options.

Полето Вид услуга Type of Service указва характера на пакета – например, гласов пакет или пакет от данни, тъй като гласовият трафик има приоритет пред другите видове трафик. С други думи, това поле указва приоритета на трафика. Общата дължина Total Length представлява сумата от дължината на заглавката от 20 байта плюс дължината на полезния товар, който представлява предаваните данни. Ако тя е 50 байта, общата дължина ще бъде 70 байта. Идентификацията на пакета Identification служи за проверка на целостта на пакета, използвайки параметъра Контрольна сума на заглавката Header Checksum. Ако пакетът е фрагментиран на 5 части, всяка от тях трябва да има еднакъв идентификатор – смещението на фрагмента Fragment Offset, което може да варира от 0 до 4, като всяка част от пакета трябва да има еднаква стойност на смещението. Флаговете показват дали фрагментацията е разрешена. Ако не искате фрагментацията на данните, настройвате флага DF – don’t fragment. Има флаг MF – more fragment. Това означава, че ако първият пакет е фрагментиран на 5 части, то за втория пакет ще се зададе 0, означаващ – повече няма фрагменти! В този случай последният фрагмент на първия пакет ще бъде етикетиран с 4, така че получаващото устройство лесно да може да деасемблира пакета, т.е. да извърши дефрагментиране.
Обърнете внимание на цветовете, използвани в този слайд. Червеното обозначава полета, които са били изключени от заглавката IPv6. Синьото показва параметри, които преминаха от четвърта в шеста версия на протокола в изменен вид. Жълтите полета останаха непроменени и в двете версии. Зеленото показва поле, което се появява за първи път само в IPv6.
Полета Identification, Flags, Fragment Offset и Header Checksum бяха изключени, защото в съвременни условия за предаване на данни фрагментацията не се случва и проверката на контрольната сума не е необходима. Преди много години, при бавна предаване на данни, фрагментацията беше доста често явление, но днес широко се използва Ethernet на IEEE 802.3 с MTU размер от 1500 байта, и фрагментацията вече не се среща.
TTL, или времето за живот на пакет, представлява брояч с обратно отброяване – когато времето за живот достигне 0, пакетът се отхвърля. Фактически, това е максималното количество хопове, които могат да бъдат извършени в дадената мрежа. Полето Protocol показва кой протокол, TCP или UDP, се използва в мрежата.
Header Checksum е остарял параметър, затова е изключен от новата версия на протокола. Налице са полетата на 32-битен адрес на източника и 32-битен адрес на дестинацията. Ако имаме информация в реда Options, стойността на IHL се променя от 5 на 6, показвайки, че в заглавието има допълнително поле.
В заглавието IPv6 също се използва версия Version, а клас трафика Traffic Class съответства на полето Type of Service в заглавието IPv4. Етикетът на потока Flow Label е подобен на Traffic Class и служи за улесняване на маршрутизацията на хомогенен поток от пакети. Payload Length означава дължината на полезната информация или размера на полето с данни, разположени под заглавието. Дължината на самото заглавие от 40 байта е постоянна и затова не се споменава.
Полето „следващо заглавие“, Next Header, указва какъв тип заглавие ще има следващият пакет. Това е много полезна функция, която задава типа на следващия транспортен протокол – TCP, UDP и т.н., и която ще бъде много търсена в последващите технологии за предаване на данни. Дори ако използвате собствен протокол, можете да разберете кой протокол ще е следващият.
Граничният брой хопове, или Hop Limit, е аналог на TTL в заглавието IPv4, това е механизъм за предотвратяване на зацикляне на маршрутизацията. Налице са полетата на 128-битен адрес на източника и 128-битен адрес на приемника. Цялото заглавие има размер 40 байта. Както казах, IPv6 е много по-прост от IPv4 и е много по-ефективен за вземане на решения за маршрутизация от рутера.
Нека разгледаме типовете IPv6 адреси. Знаем, че unicast е насочена предаване, при което едно устройство е свързано директно с друго и двете устройства могат да комуникират единствено помежду си. Multicast представлява предаване с многократен адрес и позволява на няколко устройства да се свържат едновременно с едно устройство, което от своя страна може да поддържа връзка с множество устройства. В това отношение, multicast е подобен на радиостанция, чиито сигнали се разпространяват навсякъде. Ако искате да чуете конкретен канал, трябва да настроите радиото на определена честота. Ако помните видеокурса за протокола RIP, знаете, че той използва широковещателен домейн 255.255.255.255 за разпространение на актуализации, свързани с всички подсети. Но тези актуализации получават само устройствата, които използват RIP протокол.
Друг тип предаване, който не е срещан в IPv4, е Anycast. Той се използва, когато имате множество устройства с един и същ IP адрес и позволява изпращане на пакети до най-близкия адресат в група получатели.

В контекста на Интернет, където имаме CDN мрежи, можем да дадем пример с услугата YouTube. Тази услуга се използва от много хора на различни места по света, но това не означава, че всички те се свързват директно към сървъра на компанията в Калифорния. YouTube разполага с многобройни сървъри по целия свят; например, сървърът на индийския YouTube се намира в Сингапур. Подобно, IPv6 има вграден механизъм за предаване по CDN технология, използваща географски разпределена мрежова структура, тоест използва Anycast.
Както забелязахте, тук липсва още един тип предаване, Broadcast, тъй като протоколът IPv6 не го използва. Но Multicast в този протокол функционира по аналогичен начин на Broadcast в IPv4, но по-ефективен начин.
Шестата версия на протокола използва три типа адреси: Link Local, Unique Site Local и Global. Запомнете, че в IPv4 един интерфейс има само един IP адрес. Нека предположим, че имаме два рутера, свързани помежду си, и всеки от интерфейсите на свързване ще има само 1 IP адрес. При използване на IPv6 всеки интерфейс автоматично получава IP адрес от тип Link Local. Тези адреси започват с FE80::/64.

Тези IP адреси се използват само за локални връзки. Хората, които работят с Windows, познават много подобни адреси като 169.254.X.X – това са адреси, които автоматично се конфигурират по протокола 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:: обозначава адреси от вида FE80.0.0.0/, където след слеша се намира частта на адресите на хоста. Тези адреси са различни за нашето устройство и свързания с него интерфейс и се конфигурират автоматично. Частта на хоста използва MAC-адрес. Както е известно, MAC-адресът представлява 48-битен адрес, състоящ се от 6 блока по 2 шестнадцатерични числа. Тази система е използвана от Microsoft, докато Cisco използва 3 блока по 4 шестнадцатерични числа.

В нашия пример ще използваме последователността на Microsoft от вида 11:22:33:44:55:66. Как устройството получава своя MAC-адрес? Тази последователност от числа в адреса на хоста, представляваща MAC-адрес, се разделя на две части: отляво са три групи 11:22:33, отдясно са три групи 44:55:66, а между тях се добавя FF и FE. Така се създава 64-битов блок на IP-адреса на хоста.

Както е известно, последователността от вида 11:22:33:44:55:66 представлява MAC-адрес, уникален за всяко устройство. Като поставим между двете групи от числа на MAC-адреса FF:FE, получаваме уникален IP-адрес на това устройство. По този начин се създава IP-адрес от тип Local Link, който се използва само за установяване на връзка между съседни устройства без специална конфигурация и специални сървъри. Такъв IP-адрес може да се използва само в рамките на един сегмент от мрежата и не може да се използва за външна комуникация извън този сегмент.
Следващият тип адрес е Unique Site Local Scope, който отговаря на вътрешни (private) IP адреси на протокола IPv4 от тип 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16. Причината, поради която се използват вътрешни private и външни public IP адреси, е технологията NAT, за която говорихме в предишните уроци. Unique Site Local Scope е технология, която създава вътрешни IP адреси. Можете да кажете: «Имран, нали ти каза, че всяко устройство може да има свой IP адрес, именно затова преминахме на IPv6», и ще сте абсолютно прави. Но някои хора предпочитат да ползват концепцията за вътрешни IP адреси от съображения за сигурност. В същото време NAT служи като защитна стена, и външните устройства не могат произволно да се свързват с устройствата, разположени в мрежата, тъй като те имат локални IP адреси, недостъпни от външната интернет мрежа. Въпреки това, NAT създава много проблеми, свързани с VPN, например, за протокола ESP. За осигуряване на сигурност протоколът IPv4 използва IPSec, но в протокол IPv6 е вграден механизъм за сигурност, което прави връзката между вътрешни и външни IP адреси много проста.
За това IPv6 има два различни типа адреси: ако адресите Unique Local съответстват на вътрешни IP адреси IPv4, то адресите Global съответстват на външни адреси IPv4. Много хора предпочитат изобщо да не използват адреси от тип Unique Local, други не могат без тях, така че това е предмет на постоянно обсъждане. Смятам, че ще получите много повече предимства, ако използвате само външни IP адреси, най-вече що се отнася до мобилността. Например, моето устройство ще има същия IP адрес, независимо от това къде се намирам – в Бангалор или Ню Йорк, така че без проблем мога да използвам всяко от устройствата си от всяка точка на света.
Както вече казах, IPv6 има вграден механизъм за сигурност, който позволява създаването на сигурен VPN тунел между мястото, където е разположен вашият офис, и вашите устройства. По-рано ни беше необходим външен механизъм за създаването на такъв VPN тунел, но в IPv6 това е вграден стандартен механизъм.
Тъй като днес обсъдихме доста въпроси, прекъсвам нашия урок, за да продължим дискусията относно шестата версия на интернет протокола IP в следващото видео. Като домашно задание ще ви помоля да научите добре какво представлява шестнадесетичната система за числене, тъй като за разбирането на IPv6 е много важно да се разбере преобразуването от двоична в шестнадесетична система и обратно. Например, трябва да знаете, че 1111=F и така нататък, просто се обърнете към Google, за да разберете това. В следващия видеоурок ще се опитам да практикуваме заедно това преобразуване. Препоръчвам ви да прегледате днешния видеоурок няколко пъти, за да нямате въпроси относно засегнатите теми.

Благодарим ви, че останахте с нас. Харесват ли ви нашите статии? Искате ли да видите повече интересни материали? Подкрепете ни, като направите поръчка или ни препоръчате на познати. 30% отстъпка за потребителите на Хабра на уникален аналог на entry-level сървъри, който създадохме специално за вас: (с налични опции за RAID1 и RAID10, до 24 ядра и до 40GB DDR4).
Dell R730xd на половин цена? Всичко това само при нас в Нидерландия! Dell R420 — 2x E5-2430 2.2GHz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от 99 $! Чете се за това
Източник: habr.com
