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

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

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

Днес повечето хора използват IPv4 и са напълно доволни. Но защо беше необходимо да преминем на нова версия? Първо, IP адресите от 4-та версия се състоят от 32 бита. Това позволява да бъдат създадени около 4 милиарда адреса в интернет, тоест точното число на IP адресите е 2^32. В момента на създаването на IPv4 разработчиците смятаха, че такова количество адреси е повече от достатъчно. Ако си спомняте, адресите от тази версия се делят на 5 класа: активни класове A, B, C и резервни класове D (мултикастинг) и E (изследвания). Така че, въпреки че количеството работещи IP адреси представляваше само 75% от 4-те милиарда, създателите на протокола бяха убедени, че ще стигнат за цялото човечество. Обаче с бързото развитие на интернет, с всяка изминала година, започна да се усеща недостиг на свободни IP адреси и ако не беше използването на технологията NAT, свободните адреси IPv4 отдавна щяха да свършат. Всъщност NAT стана спасител на този интернет протокол. Ето защо възникна необходимостта от създаване на нова версия на интернет протокола, лишена от недостатъците на 4-та версия. Можете да се запитате защо преминаха от четвъртата версия направо на шестата. Това е свързано с факта, че версия 5, както и версии 1, 2 и 3, бяха експериментални.
Така, IP адресите v6 разполагат с 128-битово адресно пространство. Как мислите, в колко много пъти се увеличи броят на възможните IP адреси? Вероятно ще кажете: „4 пъти!“. Но не е така, защото 2^34 е вече 4 пъти повече от 2^32. Така че стойността 2^128 е невероятно голяма - равна на 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-битов IP-адрес, състоящ се от 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
