IP protokolas; IPv4; IPv6

InformatikaReferatasVidutinio ilgio1 979 žodžių10 min. skaitymo

VYTAUTO DIDŽIOJO UNIVERSITETAS

INFORMATIKOS FAKULTETAS

IP protokolas; IPv4; IPv6

Referatas

Priėmė: dėst. R. Valterytė

2005 03 31

Atliko: stud. V. Dzedulionis

2005 03 31

Kaunas, 2005

………………………………………………………11

Įvadas

Interneto protokolai yra populiariausi atvirųjų tinklų protokolai, kadangi jie gali būti labai sėkmingai taikomi tiek vietiniuose tinkluose, tiek globaliniuose tinkluose. Interneto protokolai tai ryšio taisyklių rinkiniai. Labiausiai žinomi protokolai yra šie: Transmission Control

Protocol (TCP) ir Internet Protocol (

Ip

Interneto protokolai buvo sukurti aštuntojo dešimtmečio viduryje, kai

Gynybos perspektyviųjų tyrimų agentūra DARPA nusprendė sukurti paketų perdavimu paremtą tinklą, per kurį galėtų susijungti pastate esantys kompiuteriai. To pasekoje buvo sukurtas Interneto protokolų rinkinys

(TCP/IP). Jis buvo užbaigtas aštuntojo dešimtmečio pabaigoje.

Nepraėjus daug laiko TCP/IP buvo panaudotas UNIX operacinėje sistemoje.

Tai padarė TCP/IP protokolą pagrindiniu interneto protokolu.

Dabar TCP/IP protokolų stekas tapo žinomiausia sudėtinių tinklų kūrimo priemonė. Iki 1996 metų populiariausias buvo kompanijos Novell IPX/SPX

protokolų stekas, tačiau vėliau jis prarado populiarumą ir naujuoju lyderiu tapo TCP/IP.

Šiame referate bus aptartas IP protokolas ir jo esamos populiariausios versijos (IPv4 ir

IPv6

Protokolas

Interneto protokolas (taisyklių rinkinys), reglamentuojantis kompiuterių adresavimą, duomenų skaidymą į paketus prieš siunčiant ir surinkimą juos atsiuntus, jų maršrutų parinkimą. Dabar daugiausia paplitusi ketvirtoji versija IPv4, naudojanti 32 bitų IP adresus. Tikimasi, kad ją pakeis šeštoji 128 bitų versija IPv6. IP protokolas kartu su TCP protokolu sudaro TCP/IP protokolą, kuris yra pagrindinis interneto protokolas. IP

protokolas buvo sukurtas, tam kad būtų galima sujungti skirtingų kompanijų pagamintus LAN ir komutuojamų paketų tinklus.

Internetinis protokolas (IP) yra TCP/IP protokolų rinkinio protokolas adresuojantis ir maršrutizuojantis duomenis, jis atsako už vieno duomenų paketo gabenimą iš mazgo į kitą mazgą. IP protokolas paskirsto duomenų maršrutą nuo vieno kabineto iki visos firmos tinklo, tada į regioninius tinklus, o galiausiai – į globalų Internetą. Visi protokolai iš

TCP/IP protokolų rinkinio (išskyrus ARP ir RARP) naudoja IP protokolą.

Duomenų sėkmingas persiuntimas įvykdomas vykdant adresavimą. IP protokolo standartas tiksliai apibrėžia, kad kiekvienas pagrindinis kompiuteris (host) turi unikalų 32 bitų numerį (IPv4), kuris vadinamas pagrindinio kompiuterio tarptinklinio protokolo adresu (Internet Protocol address), kuris dažnai trumpinamas IP adresas (IP address) arba interneto adresas

(Internet address) . Kiekvienas paketas, siunčiamas internetu, turi siuntėjo (source) 32 bitų IP adresą ir gavėjo (destination) adresą. IP

priskiria vietinius IP adresus fiziniams tinklo adresams, suteikia adresus, kuriais naudojasi įvairūs maršrutizatoriai.

Dabar populiariausia IP protokolo versija yra 4

(IPv4

Dabartinė IP versija prisitaikė prie pasikeitimų aparatinės dalies technologijoje. IP protokolas buvo sukurtas labai senai, tuomet vietinių tinklų technologijos nebuvo dar tokios populiarios. Pradinis sumanymas ir toliau dirbo gerai per kelias aparatinės dalies technologijų kartas. TP

dabar dirba tinkluose, kurių greitis yra keliomis eilėmis didesnis, nei tinklų kurie buvo naudojami, kai protokolas buvo sukurtas. Dar daugiau, kai kurie modernūs tinklai siūlo freimo dydį, kuris yra žymiai didesnis, nei galimas freimo dydis, kai TP buvo sukurtas.

1.1 IP protokolo paketo struktūra (IPv4)

IP deitagrama sudaryta iš antraštės ir tekstinės dalies.

Antraštė turi fiksuotą 20 baitų dalį ir kintamo ilgio nebūtinąją dalį.

32 bitai

0 4 8

6 9 4

|Versija|IHL |Paslaugos tipas |Bendras ilgis |

|Identifikacija |DF |MF |Fragmento poslinkis|

|Gyvavimo trukmė |Protokolas |Antraštės kontrolinė suma |

| Šaltinio adresas |

|Tikslo adresas |

|Nebūtinoji dalis |Padding |

20 bitų

1 pav. IP paketo antraštės struktūra

Versijos laukas (4 bitai) leidžia perduoti deitagramas iš kompiuterių, naudojančių senesnes IP protokolo versijas.

IHL (4 bitai) – ilgis 32 bitų žodžiais. Mažiausia yra 5 žodžiai

(20 baitų), daugiausia – 15 žodžių (60 baitų). Nebūtinoji dalis (40 baitų).

Paslaugos tipo laukas susideda iš keleto laukų. Prioriteto laukas – 3 bitai: 0 – normalus paketas (mažiausias prioritetas), 7 – tinklo valdymo paketas (aukščiausias prioritetas). Be jų yra dar trys vėliaviniai bitai: D (Delay), T (Throughput), R (Reliability). Jais nurodoma, kas yra svarbiausia – vėlinimas, pralaida, patikimumas. Maršrutizatorius pagal tai gali parinkti paketo perdavimo kelią. Likusieji 2 bitai nenaudojami.

Bendras ilgis (2 baitai) – viso paketo ilgis (antraštė +

duomenys).

Identifikacijos laukas. Naudojamas fragmentuotų paketų atpažinimui. Visi deitagramos fragmentai turi tą pačią identifikacijos reikšmę.

DF (1 bitas) Don’t Fragment. Bitas uždraudžia fragmentuoti paketą.

MF (1 bitas) More Fragments. Jis informuoja, kad šis paketas yra tarpinis (ne paskutinis). Likęs bitas rezervuotas.

Fragmento numeris (Fragment offset). Jis užima 13 bitų ir nusako paketo duomenų poslinkį baitais tarp bendro pradinio sufragmentuoto duomenų lauko pradžios ir esamo paketo duomenų lauko pradžios. Naudojamas surenkant/išskaidant paketų fragmentus perduodant juos tarp tinklų su skirtingo dydžio duomenų perdavimo vienetais. Poslinkis turi būti kartotinis 8.

Egzistavimo trukmė (1 baitas). Didžiausia trukmė – 255 s.

Egzistavimo trukmė kiekviename maršrutizatoriuje sumažinama priklausomai nuo eilės dydžio. Kaskart kai pereinama per maršrutizatorių egzistavimo trukmė sumažinama vienetu. Prieš pasiekiant adresatą, kai trukmė tampa lygi nuliui, paketas sunaikinamas.

Protokolo laukas užima vieną baitą ir nurodo, kokiam aukštesniojo lygio protokolui priklauso duomenų lauko skiltyje patalpinta informacija (pvz., tai gali būti TCP protokolo segmentai, UDP deitagramos,

ICMP ar OSPF paketai).

Antraštės kontrolinė suma užima 2 baitus ir yra perskaičiuojama kiekviename maršrutizatoriuje, kadangi bent vieno lauko reikšmė pasikeičia

( juk kinta gyvavimo trukmė). Jei kontrolinė suma neteisinga, paketas atmetamas.

Adresų laukuose yra tinklo numeris ir kompiuterio tinkle –

numeris.

Nebūtinoji dalis (Options). Ši dalis paprastai nereikalinga normaliam duomenų perdavimui. Ji padaryta tam, kad naujesnės protokolo versijos galėtų patalpinti reikalingą informaciją. Taip pat eksperimentuojama, tikrinamos naujos idėjos. Kadangi laukelių skaičius nebūtinojoje dalyje nebūtinai yra 32, tai dar naudojamas paketo antraštės išlyginimas, pridedant daugiau nulinių skilčių.

2. IPv6

IPv6 – tai nauja interneto protokolo (IP) versija, sukurta tam, kad pakeistų dabar naudojamą IPv4 protokolą ir išspręstų su juo susijusias problemas.

Naujoji versija gerokai patobulinta tokiose srityse, kaip:

saugumas, mobilumas, paslaugos kokybės užtikrinimas, tinklo architektūros bei marštutizavimo dinamiškumas. Todėl IPv6 geriausiai pritaikytas dažnai kintančių parametrų tinklams.

Kad kuo sklandžiau pereiti nuo IPv4 prie IPv6 buvo sugalvotas ne vienas mechanizmas, kurie yra nuolat tobulinami. Tikimasi, kad IPv6 po truputį pakeis IPv4, nors abu protokolai veiks kartu visą perėjimo laikotarpį.

Lyginant su IPv4, naujoji versija suteikia žymiai didesnę adresų erdvę (adreso ilgis padidėjo nuo 32 bitų iki 128). IPv6 adresai užrašomi nauja forma: tai šešioliktaine skaičiavimo sistema koduojami adresai, atrodantys maždaug taip: 2001:08e0:7d83:7d88:4f84:4c74:1d83:22b4. Prefiksai nurodomi CIDR formate, pvz: /64.

2.1 IPv6 sukūrimo motyvai

Pirmoji motyvacija IPv6 sukūrimui kilo iš ribotos pačių adresų erdvės. Kuriant IP protokolą, egzistavo tik keli tinklai su keletu kompiuterių. IP kūrėjai nusprendė adresams naudoti 32 bitus, tai leido internetui turėti virš milijono tinklų. Tačiau dabartinis internetas auga eksponentiškai, padvigubėdamas mažiau kaip per metus. Dabartiniu augimo tempu, kiekvienas galimas tinklo prefiksas greitai bus panaudotas ir didesnis augimas bus negalimas.

Antroji motyvacija IP protokolo pasikeitimui kilo iš naujų interneto taikomųjų programų. Programos, siuntinėjančios audio ir video duomenis turi pristatyti juos reguliariais intervalais. Išlaikant tokią informacijos tėkmę per internetą be pertraukimų, IP protokolas turi galėti dažnai keisti maršrutus. Nekreipiant dėmesio į tai, kad dabartinio TP

paketo antraštė turi lauką, kuris gali būti naudojamas aptarnavimo tipui aprašyti, protokolas nenustato aptarnavimo tipo, kuris galėtų būti naudojamas audio ir video perdavimui realiuoju laiku.

2.2 IPv6 pagrindinės savybės

IPv6 išlaikė daug savybių, kurios IPv4 padarė tokiu populiariu.

IPv6 yra orientuotas į darbą be sujungimo – kiekvienas paketas turi paskirties adresą ir maršrutas jam yra parenkamas nepriklausomai. Kaip ir

IPv4 paketo antraštė turi maksimalų sekančių perdavimų skaičių iki tol, kol bus sunaikintas. Ir dar daugiau IPv4 savybių išlaiko naujasis protokolas. Nepaisant pagrindinių koncepcijų išlaikymo, IPv6 keičia visas detales. Pavyzdžiui, IPv6 naudoja didelius adresus ir visiškai naują paketo antraštės formatą. Pagaliau IPv6 naudoja eilę fiksuoto dydžio antraščių pasirenkamos informacijos valdymui, vietoje vienos antraštės su kintamo ilgio pasirinkimo laukais.

Naujos IPv6 savybės gali būti sugrupuotos į penkias pagrindines kategorijas:

Adreso dydis. Vietoje 32 bitų kiekvienas IPv6 adresas turi 128

bitus. Gaunama adresinė erdvė yra pakankamai didelė aprūpinti pastovų interneto augimą daugelį metų.

Antraštės formatas. IPv6 paketo antraštė yra visiškai skirtinga nuo IPv4 antraštės. Beveik kiekvienas laukas antraštėje buvo pakeistas, o kai kurie pakeitė vietą.

Plėtinio antraštės. Priešingai nei IPv4, kuris naudoja vienintelį antraštės formatą visiems paketams, IPv6 šifruoja informaciją į atskiras antraštes. Antraštė susideda iš pagrindinės IPv6 antraštės, po kurios yra kelios (arba nėra iš viso) plėtinio antraštės, po kurių seka duomenys.

Audio ir video priemonės. IPv6 turi mechanizmą, kuris leidžia siuntėjui ir gavėjui nustatyti aukštos kokybės kelią tinkle ir susieti paketus su šiuo keliu. Nežiūrint į tai, kad mechanizmas yra skirtas naudoti su audio ir video programomis, kurios reikalauja aukšto našumo garantijų, mechanizmas taip pat gali būti naudojamas susieti paketus su žemos kainos keliais.

Išplečiamas protokolas. Priešingai IPv4, IPv6 nenustato visų galimų protokolo savybių. Vietoje to, projektuotojai pasiūlė schemą, kuri leidžia siuntėjui pridėti papildomos informacijos į paketą. Išplėtimo schema daro IPv6 lankstesniu, nei IPv4 ir reiškia, kad naujos savybės gali būti pridėtos į projektą, jei reikia.

2.3 IPv6 protokolo paketo struktūra

Paketas susideda iš pagrindinės antraštės, po kurios eina nulis arba daugiau plėtinio antraščių po kurių eina duomenys.

IPv6 pagrindinė antraštė nors ir yra du kart didesnė už IPv4

antraštę, tačiau turi mažiau informacijos. Daugiausia vietos antraštėje yra atiduota dviem laukam, kurie identifikuoja siuntėją ir gavėją. Kaip ir IPv4

šaltinio adreso laukas nurodo siuntėją ir tikslo adreso laukas identifikuoja gavėją. Kiekvienas adresas užima šešiolika baitų, keturis kartus daugiau, nei IPv4 adresas.

Prie šaltinio ir paskirties adresų pagrindinė antraštė papildomai turi penkis laukus. Laukas VERS identifikuoja protokolą kaip 6 versijos.

Laukas PAYLOAD LENGTH atitinka IPv4 paketo ilgio lauką. Priešingai IPv4

PAYLOAD LENGTH nurodo tik nešamų duomenų ilgį; antraščių ilgis neįskaitomas. Laukas HOP LIMIT atitinka IPv4 lauką TIME-TO-LIVE. IPv6

interpretuoja HOP LIMIT griežtai – paketas bus sunaikintas, jei šio lauko reikšmė taps nulis prieš paketui ateinant į paskirties tašką.

0 4

16 24 31

|VERSION |FLOW LABEL |

|(Versija) | |

|PAYLOAD LENGTH (Bendras ilgis) |NEXT HEADER |HOP LIMIT |

| | |(gyvavimo |

| | |trukmė) |

|SOURCE ADDRESS (Siuntėjo adresas) |

|DESTINATION ADDRESS (Tikslo adresas) |

2 pav. IPv6 paketo antraštės struktūra

Laukas FLOW LABEL yra skirtas naudoti su naujomis programomis, kurios reikalauja našumo garantijų. Žymė gali būti naudojama susieti paketą su atitinkamu tinklo keliu. Žymė yra padalinta į dvi dalis. Viena naudojama nustatyti informacijos mainų klasę, o kita naudojama nurodyti specifinį kelią. Informacijos mainų klasė nustato pagrindines savybes, kurių paketui reikia.

Laukas NEXT HEADER yra laukas, kuris nurodo einamosios antraštės tipą, pro kurią eina informacija. Pavyzdžiui, jei paketas turi plėtinio antraštę, laukas NEXT HEADER nurodo jos tipą. Jei plėtinio antraštės nėra, laukas NEXT HEADER nurodo paketo nešamų duomenų tipą. Kadangi standartas nustato unikalią reikšmę kiekvienam galimam antraštės tipui, niekada nėra abejonių apie lauko NEXT HEADER interpretavimą. Gavėjas naudoja NEXT HEADER

lauką kiekvienoje antraštėje nustatymui kas seka iš paskos. Jei reikšmė lauke atitinka tipą, naudojamą duomenims, gavėjas perduoda paketą į programinės įrangos modulį, kuris valdo duomenis. Jei reikšmė NEXT HEADER

lauke atitinka kitą antraštę, IP protokolo programinė įranga nagrinėja antraštę ir interpretuoja jos turinį. Kai baigia su antrašte, IP protokolas naudoja NEXT HEADER lauką nustatyti duomenys ar kita antraštė eina toliau.

Kai kurių tipų antraštės turi fiksuotą dydį, ir IPv6 programinė įranga žino, kur prasideda atitinkama antraštė ar sekantis elementas.

Pavyzdžiui, pagrindinė antraštė turi fiksuotą dydį keturiasdešimt baitų.

Kai kurios antraštės neturi fiksuoto ilgio. Tokiais atvejais antraštė turi turėti pakankamai informacijos, leidžiančios IPv6 nustatyti, kur antraštė pasibaigia.

2.4 IPv6 adresavimas

IPv6 priskiria unikalų adresą kiekvienam sujungimui tarp kompiuterio ir fizinio tinklo. Taigi, jei kompiuteris jungia tris fizinius tinklus, tai jis yra pažymėtas trimis adresais. Taip pat panašiai IPv4,

IPv6 atskiria kiekvieną tokį adresą į prefiksą, kuris identifikuoja tinklą, ir sufiksą, kuris identifikuoja individualų kompiuterį tinkle.

Nepaisant panašumo, IPv6 adresavimas labai skiriasi nuo IPv4

adresavimo. Visų pirma, visos adreso detalės yra skirtingos. Antra, IPv6

nustato rinkinį specialių adresų, kurie visiškai skiriasi nuo IPv4

specialių adresų. IPv6 neturi specialių adresų transliavimui duotu tinklu.

Kiekvienas IPv6 adresas yra vieno iš trijų pagrindinių tipų:

Vienatipis (unicast). Adresas nurodo vienintelį kompiuterį. Paketas, pasiųstas šiuo adresu yra nukreipiama trumpiausiu keliu į kompiuterį.

Daugiatipis (multicast). Adresas atitinka kompiuterių grupę bendru atveju daugelyje vietų. Narystė grupėje gali pasikeisti bet kuriuo metu. Kai paketas yra pasiunčiamas tokiu adresu, IPv6 pristato vieną paketo kopiją kiekvienam grupės nariui.

Grupinis (cluster). Adresas nurodo grupę kompiuterių, kurie bendrai naudoja adreso prefiksą (pav., visi yra vienoje vietoje). Paketas, pasiųstas tokiu adresu, nukreipiamas trumpiausiu keliu ir tada pristatomas tiksliai vienam iš kompiuterių (pav., kompiuteriui, kuris yra arčiausiai siuntėjui).

Literatūra

1.

http://www.cisco.com/en/US/tech/tk827/tk369/technologies_white_paper0918

6a00800d6979.shtml [žiūrėta 2005/03/30].

2. Liudvikas Kazlauskas Kompiuterių tinklai -1 dalis. Šiauliai – Šiaulių universiteto leidykla, 2003

3. http://www.webopedia.com/TERM/I/IP.htm [žiūrėta 2005/03/28].

4. http://www.protocols.com/pbook/tcpip1.htm [žiūrėta 2005/03/28].

5. http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ip.htm [žiūrėta 2005/03/30].

6. http://techno.su.lt/~bernotas/kt [žiūrėta 2005/03/28].

7. http://www.ipv6.lt [žiūrėta 2005/03/28].

8. http://playground.sun.com/pub/ipng/html/ipng-main.html [žiūrėta

2005/03/28].

9. http://www.yale.edu/pclt/COMM/TCPIP.HTM [žiūrėta 2005/03/28].