IPv6
Интернет протокол верзија 6 (IPv6)је протоколслоја мреже,наследник интернет протокола верзије 4 (IPv4), осмишљен од стране IETFa (енгл.Internet Engineering Task Force).
IPv6 адреса
[уреди|уреди извор]IPv6je нови (али не још широко коришћен) стандардни интернет протокол, где су адресе 128 бита широке, што би, чак и са великим доделама нетблокова, требало да задовољи блиску будућност. Теоретски, постојало би тачно 2128,или 3.403×1038уникатних адреса домаћинских интерфејса. Када би земља била сачињена комплетно од зрна песка од 1cm³, онда би могла да се додели јединствена адреса сваком зрну у 300 милиона планета величине земље. Овај велики простор за адресе ће бити ретко попуњен, што омогућава да се поново кодира више информација за рутовање у саме адресе.
Адреса верзије 6 се пише као осам четвороцифрених хексадецималних бројева (8 пута по 16 битова) одвојених двотачкама. Један низ нула по адреси може да се изостави, па је 1080::800:0:417A исто што и 1080:0:0:0:0:800:0:417A.
Глобалне адресе које се шаљу ка једном одредишту се састоје из два дела: 64-битни део за рутирање и 64-битни идентификатор домаћина.
Нетблокови се одређују као модерне алтернативе IPv4: број мреже, кога прати коса црта и број значајних битова (у децималном запису). Пример: 12AB::CD30:0:0:0:0/60 укључује све адресе које почињу са 12AB00000000CD3.
IPv6 има доста побољшања у односу на IPv4, поред само већег простора за адресе, укључујући и самостално поновно одбројавање и обавезну употребу IPsec-а.
Структура
[уреди|уреди извор]Један IPv6 пакет има следећу општу форму:
Једино потребно заглавље се односи на IPv6 заглавље. Ово је фиксна величина са дужином од 40 бајтова, у поређењу са 20 бајтова помоћног дела IPv4. Следећа продужена заглавља су дефинисана:
- Заглавље Hop-by-Hop опција: Дефинишу специјалне опције које захтевају hop-by-hop процесирање.
- Заглавље рутирања: Обезбеђује проширено рутирање, слично изворишном рутирању у IPv4.
- Заглавље фрагмената: Садржи информације о фрагментацији и поновном склапању.
• Заглавље аутентичности: Овезбеђује интегритет и аутентичност сваког пакета. • Заглавље енкапсулације сигурности податка: Обезбеђује приватност. • Заглавље одредишних опција: Садржи факултативне информације које ће испитати одредишни чвор.
У случају када се користи више продужених заглавља, IPv6 препоручује да се редослед заглавља појави у следећем редоследу:
- IPv6 заглавље: Обавезно, мора увек да буде прво.
- Заглавље Hop-by-Hop опција
- Заглавље Дестинационих Опција: За опције које ће бити обрађене од стране првог одредишта које се појављује у пољу IPv6 Одредишне Адресе плус накнадних одредишта која су набројана у заглављу рутирања.
- Заглавље рутирања
- Заглавље фрагмената
- Заглавље аутентичности
- Заглавље енкапсулације сигурности податка
- Заглавље одредишних опција: За опције које ће бити обрађене само у крајњем одредишту пакета.
Слика приказује пример пример једног IPv6 пакета који укључује део сваког заглавља осим оних која су повезана са сигурношћу. IPv6 заглавље и свако продужено заглавље садрже поље Следеће Заглавље. Ово поље идентификује тип следећег заглавља. Ако је следеће заглавље једно од продужених заглавља, онда ово поље садржи идентификатор типа тог заглавља. У противном, ово поље садржи идентификатор протокола за протокол вишег слоја који користи IPv6 (обично протокол транспортног слоја), користе се исте величине као и поља IPv4 протокола. На слици, протокол вишег слоја је TCP, тако да се подаци виших слојева које носи IPv6 пакет садрже од заглавља TCP-a које прати блок апликационих података.
Типови
[уреди|уреди извор]IPv6 адресе су дугачке 128 бита. Адресе се додељују појединачним интерфејсима на чворовима, а не чворовима лично. Појединачни интерфејс може да има вишеструку unicast адресу. Било која од unicast адреса повезана са чворним интерфејсом може бити искоришћена како би јединствено представила тај чвор. Комбинација дугих адреса и вишеструких адреса по интерфејсу омогућава ефикасније рутирање у односу на IPv4. У IPv4, адреса генерално нема конструкцију која помаже рутирању и због тога рутер мора да води велику табелу путања рутирања. Дуже интернет адресе дозвољавају велики број адреса од стране хијерархија мрежа, добављача приступа, географије, предузећа итд. Такав број би требало да учини да табеле рутирања буду мање, а преглед табела бржи. Допуштање вишеструких адреса по интерфејсу би тренало да обезбеди претплатнику који користи вишеструке добављаче приступа по истом интерфејсу да има одвојену адресну гомилу код сваког добављача. IPv6 дозвољава три типа адреса:
- Unicast: Идентификатор за један интерфејс. Пакет послат unicast адреси се испоручује интерфејсу који је идентификован том адресом.
- Anycast: Идентификатор за више интерфејса (који припадају различитим чворовима). Пакет послат anycast адреси се испоручује неком од интерфејса који је идентификован том адресом (најближем, гледајући по протоколу рутирања).
- Multicast: Идентификатор за групу интерфејса (који припадају различитим чворовима). Пакет послат multicast адреси се испоручује свим интерфејсима који су идентификовани том адресом.
Ознака тока
[уреди|уреди извор]IPv6 стандард дефинише ток као последицу слања пакета са одређеног изворишта ка одређеном одредишту (unicast или multicast) при коме извориште тражи да интервентни рутери са пакетом посебно поступају. Ток је јединствено дефинисан тако што се комбинују изворишна и одредишна адреса са 20-битном ознаком протока која није нула. Стога, извориште додељује исту ознаку тока свим пакетима који су део истог тока.
Гледано из угла изворишта, ток је, у суштини, низ пакета које је генерисао један део апликације у изворишту, а која има исте захтеве транспортног сервиса. Ток може обухватати једну TCP конекцију или чак више TCP конекција. Једна апликација може да генерише један ток или више токова. Пример два тока је мултимедијални састанак, који може да има један ток за звук и други за графику, сваки са другачијим захтевима трансфера у погледу преноса података, кашњења или одступања од кашњења.
Ако се погледа из угла рутера, ток је низ пакета који деле атрибуте који утичу на то како ће се рутер понашати према овим пакетима. То убраја пут, додељивање средстава, захтеве одбацивања, обрачун и атрибуте сигурности. Рутер може другачије да се понаша према пакетима који нису са истог тока, укључујући додељивање другачијег простора у баферу, давањем другачијег првенства у случају прослеђивања и захтевом за другачијим квалитетом услуге од стране мрежа.
Не постоји посебан значај било које ознаке тока. Уместо тога, да би се обезбедио специјални поступак ток се мора објавити на неки други начин. На пример, извориште може да преговара са рутером или затражи од рутера специјали поступак испред времена на помоћу контролног протокола или у току трансмисије тако што ће поставити информацију у једно од продужених заглавља у пакету, као што је рецимо заглавље Hop-by-Hop опција. Примери специјалног поступка који могу бити затражени укључују неку врсту не стандардног квалитета сервиса и неку врсту сервиса у реалном времену.
У начелу, сви кориснички захтеви за одређеним током могу бити дефинисани у продуженом заглављу и укључени у сваки пакет. Ако желимо да оставимо концепт тока отворен да би се укључило мноштво захтева, овај план приступа могао би резултовати у веома великим заглављима пакета. Алтернатива, усвојена за IPv6, је ознака тока, у којој су захтеви тока дефинисани пре почетка тока и јединствена ознака тока је додељена току. У овом случају рутер мора да сачува информације захтева тока о сваком току.
Следећа правила важе за ознаке тока:
- Хостови или рутери који не подржавају поље Ознаке Тока морају да поставе поље на нулу када праве пакет, спроведу поља непромењена при прослеђивању пакета и игноришу поља када приме пакет.
- Сви пакети који су произведени у датом изворишту са истом ненултом Ознаком Тока морају да имају исту Одредишну Адресу, Изворишну Адресу, садржину заглавља Hop-by-Hop опција (ако је заглавље присутно) и садржај заглавља Рутирања (ако је ово заглавље присутно). Сврха је та да рутер може да обради пакет тако што ће једноставно погледати ознаку тока у табели без испитивања осталих заглавља.
- Извориште додељује току ознаку тока. Нова ознака тока мора бити изабрана (привидно) случајно и уједначено у опсегу од 1 до 220-1, под условом да извориште не искористи поново ознаку тока за нови ток док је постојећи ток у животу. Нула Ознака Тока је резервисана да назначи да се не користи ни једна ознака тока.
Ова последња тачка захтева мало разраде. Рутер мора да пружи неке информације о карактеристикама сваког активног тока који пролази кроз њега, вероватно у некој врсти табеле. Да би успешније и брже проследио пакет, поглед на табелу мора бити бржи. Једна алтернатива је да има табелу са 220(око милион) тачака, једна за сваку могућу ознаку тока што намеће непотребни меморијски терет рутеру. Још једна алтернатива је имати једну тачку у табели по активном току, укључити ознаку тока у сваку тачку, и тражити од рутера да претражује табелу сваки пут када наиђе пакет. Ово рутеру намеће непотребни терет при обради. Уместо тога, многи рутери користе неку врсту мешане табеле. Са оваквим приступом користе се табеле умерене величине и сваки ток се уврштава у табелу користећи функцију за меланзирање над ознакама токова. Меланзна функција може једноставно бити неколико најмање значајних бита (рецимо 8 или 10) ознаке тока или једноставно рачунање над 20 бита ознака токова које су уједначено дељене на њихове могуће опсеге.
Заглавље HOP-BY-HOP Опција
[уреди|уреди извор]Заглавље Hop-by-Hop опција носи факултативне информације које, уколико је ово поље присутно, морају бити испитане од стране сваког рутера који се налази на путањи. Ово поље се састоји од следећих поља:
- Следеће Заглавље (8 бита): Идентификује тип заглавља које иде одмах иза овог заглавља.
- Дужина продужености заглавља (8 бита): Дужина овог заглавља исказана у јединицама од 64 бита, не укључујући првих 64 бита.
- Опције: Поље променљиве дужине које се састоји од једне или више дефиниција опција. Свака дефиниција је састављена од три подпоља: Тип Опције (8 бита), које идентификује опцију; Дужина (8 бита), које одређује дужину поља Опције Података у бајтовим; и Опције Података, које је спецификација опција променљиве дужине.
У ствари користе се најнижих пет битова да би се описала нека одређена опција. Највиша два бита указују на то која ће се акција применити од стране чвора који који не препознаје овај тип опција, то су следеће акције: • 00 – Прескочи ову опцију и настави са обрадом заглавља. • 01 – Одбаци пакет. • 10 – Одбаци пакет и пошаљи ICMP поруку о проблему са параметима пекетовој изворишној адреси, показујући на не препознавање типа опција. • 11 – Одбаци пакет и само ако одредишна адреса није multicast адреса, пошаљи ICMP поруку о проблему са параметрима изворишној адреси пакета, показујући на непрепознатљив тип опција. Трећи највиши бит специфицира да ли се поље Опција Података не мења (0) или се може мењати (1) на рути од изворишта до одредишта. Подаци који се могу мењати морају бити искључени из рачунања аутентичности. Договор за Тип Опција се односи и на заглавље Дестинационих Опција. Четири hop-by-hop опција је тренутно одређено:
- Подметач 1: Користи се да би се предео заглавља са Опцијама напунио са једним бајтом.
- Подметач N: Користи се да би се предео са Опцијама напунио са N (N2) бајтова. Два пуњења уверавају да заглавље има више од 8 бајтова дужине. ≥
- Огроман Користан Терет: Користи се да би се послао IPv6 пакет са теретом који је дужи од 65 535 октета. Поље Опција Података ове опције је дугачко 32 бита и даје дужину пакета у октетима, укључујући IPv6 заглавље. За такве пакете, поље Дужина Података у IPv6 заглављу мора бити постављено на нулу и не сме бити присутно заглавље фрагмената. Са овом опцијом, IPv6 подржава величине пакета до 4 милиона бајта. Ово олакшава пренос великих видео пакета и омогућава IPv6 да најбоље искористи постојећи капацитет транмисионог медијума.
- Упозоравање рутера: Информише рутер да је садржај пакета користан за рутер и да треба руковати било којом контролом података на тај начин. Изостанак ове опције у IPv6 датаграму информише рутер да пакет не садржи информације које требају рутеру, па стога пакет може бити безбедно рутиран без даљег рашчлањивања пакета. Хостови који производе IPv6 пакете треба да укључе ову опцију под одређеним условима. Циљ ове опције је да обезбеди ефикасну помоћ протоколима као што су RSVP, који производе пакете који треба да буду испитани од стране успутних рутера за сврху контроле саобраћаја. Уместо да се зехтева од међу-рутера да гледају детаље продужених заглавља пакета, ова опција говори рутерима када је тако нешто потребно.
Заглавље Фрагмента
[уреди|уреди извор]У IPv6, фрагментацију могу одрадити само изворишне тачке, а не рутери који се налазе на путу пакета. Да би искористила комплетне предности међуумрежавања, изворишна тачка мора применити алгоритам за откривање пута, који јој омогућава да сазна која је најмања максимална трансмисиона јединица (Maximum Transmission Unit – MTU), коју подржава нека од мрежа на путу пакета. Знајући која је најмања MTU изворишна тачка ће фрагментовати, као што се од ње тражи, за сваку дату одредишну мрежу. У супротном, извориште мора да ограничи све пакете на 1280 бајтова, који је максимални MTU који мора да подржи свака мрежа. Заглавље фрагмента се састоји од следећих поља (слика 4.4):
- Следеће Заглавље (8 бита): Идентификује тип заглавља које је одмах после овог заглавља.
- Резервисано (8 бита): За будућу употребу.
- Офсет Фрагмената (13 бита): Показује где у оригиналном пакету је место корисном делу овог фрагмента. Мери се у јединицама од 64 бита. Ово значи да фрагмент (другачији од претходног фрагмента) мора да садржи поље података које је дуже од 64 бита.
- Рес (2 бита): Резервисано за будућу уптребу.
- М флег (1 бит): 1 = још фрагмената; 0 = последњи фрагмент.
- Идентификација (32 бита): Служи да јединствено идентификује оригинални пакет. Идентификатор мора бити јединствен за изворишну и одредишну адресу пакета за време док је пакет у интернету. Сви фрагменти са истим идентификатором, изворишном адресом и одредишном адресом се поново склапају како би се направио оригинални пакет.
Алгоритам фрагментације је исти као што је описано раније.
Заглавље рутирања
[уреди|уреди извор]Заглавље рутирања садржи листу једног или више успутних чворова које треба посетити на путу до одредишта пакета. Сва заглавља рутирања почињу 32-битним блоком који се састоји од четири 8-битних поља, праћена од стране података рутирања који су специфични за одређени тип рутирања. Четири 8-битна поља су следећа:
- Следеће Заглавље: Идентификује тип заглавља одмах после овог заглавља.
- Дужина продужености заглавља: Дужина овог заглавља исказана у јединицама од 64 бита, не укључујући првих 64 бита.
- Тип Рутирања: Идентификује одређену варијанту заглавља рутирања. Ако рутер не препозна вредност типа рутирања, он мора да одбаци пакет.
- Остало Сегмената: Број преосталих сегмената рутирања; то је број јасно набројаних међу-чворова које пакет мора да посети пре доласка до одредишта.
Једино специфично заглавље рутирања које је дефинисано RFC-ом 2460 је заглавље рутирања Тип 0. Када се користи Тип 0 заглавља рутирања, изворишна тачка не поставља крајњу одредишну адресу у IPv6 заглавље. Уместо тога, адреса је она која је последња у листи адреса у заглављу рутирања, а IPv6 заглавље садржи адресу првог жељеног рутера на траси. Заглавље рутирања неће бити испитивано док пакет не дође до тачке коју је наведена од стране IPv6 заглавља. У тачки, садржаји заглавља рутирања и IPv6 заглавља се ажурирају и пакет се прослеђује даље. Ажурирање се састоји од постављања следеће адресе коју треба посетити у IPv6 заглавље и декрементирању поља Остало Сегмената у заглављу рутирања.
Заглавље одредишних опција
[уреди|уреди извор]Заглавље Одредишних Опција, носи факултативне информације које, уколико је заглавље присутно, испитује само одредишна тачка пакета. Формат овог заглавља је исти као и формат заглавља Hop-by-Hop опција.