42
1 TCP/IP ir IP adresavimas Informatikos katedra, L.Kaklauskas 2004 metai

1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

Embed Size (px)

Citation preview

Page 1: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

1

TCP/IP ir IP adresavimas

Informatikos katedra, L.Kaklauskas2004 metai

Page 2: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

2

Standartai

Fizinis lygmuo

Tinklo lygmuo

Kanalinis lygmuo

OSI

Transporto lygmuo

Pristatomasis lygmuo

Ryšio seanso lygmuo

Taikomasis lygmuo

Transporto lygmuo

Tarptinklinės sąveikos lygmuo

Taikomasis lygmuo

Tinklo sąsajų lygmuo

TCP/IP

Page 3: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

3

Transporto lygmuoVeikia duomenų perdavimo valdymo protokolas TCP, kuris susietas su datagramų transporto protokolu UDP (User Datagram Protocol).Jo dėka duomenys perduodami tarp nutolusių taškų, o duomenų srautas dalijamas į segmentus ir perduodamas žemesniajam lygmeniui.

UDP protokolas duomenis perduoda datagramomis ir yra kaip tarpininkas tarp tinklo ir taikomojo lygmens tarnybų.

Page 4: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

4

IP adresavimasKompiuterių adresavimui Internete naudojama vieninga sistema, t.y. kiekvienas kompiuteris adresuojamas 32 bitų unikaliu adresu, dar vadinamu IP adresu.•11000001 11011011 10101000 00001111 - dvejetainėje sistemoje,

193.219.168.15 - dešimtainė “su tašku” sistema.

IP adresą sudaro 2 dalys: tinklo numeris ir mazgo numeris tinkle:

IP adresas = <tinklo numeris><mazgo numeris>Pirmą dalį - tinklo numerį, centralizuotai nustato Interneto

Tinklo Informacijos Centras (Internet Network Information Center (InterNIC)), šis numeris yra unikalus Internete. Antroji dalis tai tinklo mazgo arba kompiuterio skaitmeninis vardas.

Page 5: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

5

IP klasės

0 Tinklo numeris Mazgo numeris A klasė

1 baitas 3 baitai

4 baitai

1 Tinklo numeris Mazgo numeris B klasė 0

2 baitai 2 baitai

1 Mazgo numeris Tinklo numeris C klasė

1 baitas 3 baitai

1 0

1 Multicast grupės adresas 1 0 1 D klasė

1 Rezervuota 1 1 1 E klasė 0

Page 6: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

6

IP klasių charakteristikos

Klasė Vyriausi bitai Mažiausias tinklo numeris

Didžiausias tinklo numeris

Maksimalus mazgų kiekis tinkle

A 0 1.0.0.0 126.0.0.0 224

B 10 128.0.0.0 191.255.0.0 214

C 110 192.0.0.0 223.255.255.0 28

D 1110 224.0.0.0 239.255.255.255 Multicast

E 11110 240.0.0.0 247.255.255.255 Rezervuoti

Page 7: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

7

C klasės adreso iššifravimas

Klasės požymis Tinklo numeris Kompiuterio numeris tinkle

193.219.168.15 ≡ 11000001 11011011 10101000 00001111

00001 11011011 10101000 ≡ 121768 00001111 ≡ 15

Page 8: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

8

Susitarimai dėl IP adresų naudojimo

1. Jei IP adresas sudarytas tik iš nulių, tai jis reiškia to mazgo adresą, kuris šį paketą ir sugeneravo, paprastai naudojamas ICMP protokolo dėl pranešimų išsiuntinėjimo,2. Jei tinklo adresas sudarytas iš nulių, tai gavėjo adresas priklauso tam pačiam potinkliui kaip ir siuntėjo.3. Jei tinklo adresas sudarytas vien iš vienetų, tai toks informacijos paketas turi būti išsiųstas visiems tinklo, kuriam priklauso siuntėjas, potinkliams. Toks darbo režimas dar vadinamas ribotu plačiajuosčiu pranešimu (limite broadcast).4. Jei mazgo adresas sudarytas vien iš vienetų, tai informacijos paketas išsiuntinėjamas visiems nurodyto tinklo mazgams. Pavyzdžiui, 193.219.168.255. Tai plačiajuostis pranešimas – broadcast. Grupinis IP adresas – multicast (vienas=>daug) naudojasi IGMP (Internete Group Management Protocol) protololų, kad sudarytų plačiajuostes grupes.

Page 9: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

9

Vietinio tinklo adresai

Iš A klasės tinklas su adresais 10.0.0.0 iki 10.255.255.255

Iš B klasės 16 numerių diapazonas 172.16.0.0 iki 172.31.0.0

Iš C klasės 255 numerių diapazonas 192.168.0.0 iki 192.168.255.0

Page 10: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

10

Tinklo kaukės maskavimas

•A klasei – 11111111.00000000.00000000.00000000 (255.0.0.0);•B klasei – 11111111. 11111111.00000000.00000000 (255.255.0.0);•C klasei – 11111111. 11111111.11111111.00000000 (255.255.255.0);

IP adresas 130.10.150.1 – 10000010.00001010.10010110.00000001Kaukė 255.255.192.0 – 11111111.11111111.11000000.00000000Sudauginus gauname130.10.128.0 – 10000010.00001010.10000000.00000000Mazgo numeris 0.0.22.1 – 00000000.00000000.00010110.00000001

Adresas 130.10.150.1 yra B klasės adresas, t.y. 130.10.0.0 yra tinklo numeris, 0.0.150.1 mazgo adresas. Jei jam pritaikysime kaukę 255.255.192.0, tai po bitą sudauginus gausime 130.10.128.0 tinklo numerį, o nemaskuota IP adreso dalis nurodys mazgo numerį – 0.0.22.1.

Page 11: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

11

DHCP, ARP

DHCP (Dinamic Host Configuration Protocol), automatiškai priskiria adresą prijungto ir dirbančio tinklo adresui.Adresų paskirstymo protokolas (Address Resolution Protocol, ARP) dinamiškai priskiriantis kiekvienam IP adresui LAN tinklo adresą (MAC).

IP adresas MAC adresas Įrašo tipas

193.219.168.15 007841AC8B12 Dinaminis

193.219.168.145 007841AC8A10 Statinis

194.219.55.10 007841EB1234 Dinaminis

Page 12: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

12

Simboliniai vardai Pilno vardo dedamosios skiriamos taškais ir rašomos tokia tvarka pavyzdžiui, tinklai.studentai.su.lt:1. galinio mazgo vardas, tai gali būti kompiuterio vardas pavyzdyje – tinklai,2. mazgų grupės vardas, organizacijos pavadinimas arba panašus darinys, pavyzdyje – studentai,3. stambesnės mazgų grupės vardas, pagrindinio domeno potinkliai, t.y. jungiančių organizacijų – konsorciumo ir pan. pavadinimas, pavyzdyje – su,4. aukščiausio lygio domeno pavadinimas, dažniausiai tai su geografine vieta susietas pavadinimas arba šalies ženklas, pavyzdyje – lt.

Page 13: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

13

Standartiniai sutrumpinimai .com – komercinės organizacijos.edu - mokslo įstaigos.net - organizacijos tiesiogiai susijusios su Internet.gov – US valstybinės organizacijos.mil – US karinės organizacijos.org – kitos ne pelno siekiančios organizacijos.CC – dviraidis šalies kodas (CC – country code), .lt – Lietuva, .fr – Prancūzija, .dk – Danija.2000 lapkričio 17, ICANN patvirtino naujas aukščiausio lygio sritis.biz (businesses).info (unrestricted use).name (for registration by individuals).pro (property:accountants, lawyers, physicians).museum (museums).aero (air-transport industry).coop (cooperatives)

Page 14: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

14

Domeninių vardų formavimas

Root

Com Net Net … Lt

3Com Alef Nsf su

Staf Help studentai

Tinklai

Šakninis domenas(šaknis)

Pirmo lygio domenai

Antro lygio domenai

Trečio lygio domenai

Page 15: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

15

Portai, soketai Vietinis tinklas gavęs IP adresą turi jį perduoti iškodavimui protokolų stekui. Tačiau kiekvienas duomenų paketas naudojamas tam tikrame servise, todėl reikia nurodyti serviso numerį. Šią veiklą taip pat organizuoja TCP ir UDP transporto lygio protokolai. IP paketo antraštėje paprastai nurodomas serviso kanalo (porto) numeris, kuris yra standartizuodamas (IANA) ir skelbiamas kaip prisikirtų kanalų sąrašas Assigned Nubers RFC.Pvz.: jei prievado numeris yra 53, tai sistema žinos, kad šį paketą reikės perduoti DNS tarnybai.IP adreso ir kanalo kombinacija dar vadinama soketu (socket). Paprastai užrašant soketą yra taikomas reikalavimas IP adresas: soketas. Pavyzdžiui 193.219.168.15:80.

Page 16: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

16

IP maršrutizavimas

Page 17: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

17

TCP/IP duomenų paketo formavimas

TCP segmentas arba UDP datagrama

(transporto lygmuo)

IP paketas (tarptinklinės sąveikos lygmuo)

Vartotojo programa (taikomasis lygmuo)

Fizinio lygmens duomenys (tinklo sąsajų lygmuo)

TCP/IP

Duomenys

Vartotojo programos

antraštė

Duomenys

Vartotojo programos

antraštė

TCP antraštė

Duomenys

Vartotojo programos

antraštė

TCP antraštė

IP antraštė

Duomenys

Vartotojo programos

antraštė

TCP antraštė

IP antraštė

Fizinio lygmens protokolo antraštė

Fizinio lygmens protokolo pabaiga

Vartotojo programos duomenys

TCP segmentas

IP datagrama

Fizinio lygmens duomenų paketas(kadras)

Page 18: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

18

Fizinio lygmens IP duomenų paketas

Duomenys

Vartotojo programos

antraštė

TCP antraštė

IP antraštė

Fizinio lygmens protokolo antraštė

Fizinio lygmens protokolo pabaiga

Fizinio lygmens duomenų paketas(kadras)

IP datagrama yra inkapsuliuojama (įterpiama) į žemiau esantį tinklo kadrą, kurio dydis priklauso nuo naudojamos įrangos. Pavyzdžiui Ethernete kadro dydis lygus 1500 baitams. IP datagramas suskaido į fragmentus (jei to reikia), o po to sujungia. Kiekvienas potinklis, naudojantis TCP/IP protokų rinlinį, turi sugebėti perduoti ne mažesnę datagramą nei 576 baitų

Page 19: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

19

IP paketo (IPv4) antraštės struktūra

4 bitai versijos numeris

4 bitai antraštės ilgis

8 bitai serviso tipas PR D T R

16 bitų paketo identifikatorius

4 bitai gyvavimo laikas

4 bitai aukštesnio lygmens

protokolas

16 bitų bendras ilgis

13 bitų fragmento postūmis D M

3bitai požymiai

16 bitų kontrolinė suma

32 bitai IP siuntėjo adresas 32 bitai IP gavėjo adresas Nustatymai ir užpildymas

D u o m e n y s

A n

t r

a š

t ė

Versijos numeris -IP versija(IPv4, IPv6). Antraštės ilgis nurodo antraštės ilgį 32 bitų žodžiais. Serviso tipas tai - PR – 3 bitai nurodo paketo prioritetą, D – 1 bitas, 1- maršrutas turi būti trumpiausias ir su mažiausiai trikdžiais. T – 1 bitas, 1 - perduodamas maksimaliu greičiu. R – 1 bitas, 1-duomenys turi patikimai perduodami. Bendras ilgis nurodo visą paketo ilgį(max- 65353 baitų). Paketo identifikatorius - paketų atpažinimas, kai jis buvo suskaidyti į dalis. Požymiai - duomenų fragmentavimas, jei D –1, maršrutizatoriui uždraudžiama duomenis skaidyti, o M – 1, paketas yra tarpinis. Fragmento postūmis nurodo fragmento postūmį, atžvilgiu ištisinio paketo, ir naudojamas surenkant paketą iš fragmentų. Gyvavimo laikas - maksimalus paketo gyvavimo tinkle laikas sekundžių tikslumu. Aukštesnio lygmens protokolas - kokiam aukštesniojo lygmens protokolui skirti duomenys(TCP, UDP, ICMP, OSPF). Kontrolinė suma - kontrolė. Gavėjo ir siuntėjo - galinių taškų adresai. Nustatymai - tik tinklo derinimas. Užpildymas – naudojamas tam, kad antraštė tiksliai baigtųsi ties 32 bitų riba. Papildymui naudojami 0.

Page 20: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

20

IP paketo (IPv6) struktūra

4 bitai versija

4 bitai prioritetai

16 bitų paketo ilgis

24 bitai srauto žymė

8 bitai šuolių(hops) skaičius

8 bitai protokolas

128 bitai IP siuntėjo adresas

128 bitai IP gavėjo adresas

D u o m e n y s

A n

t r

a š

t ė

Versija - IP naudojamą versiją. Prioritetas - perduodamos informacijos paketo prioritetas. Srauto žymė – naudojama datagramų fragmentų surinkimui. Paketo ilgis – bendras duomenų paketo ilgis. Protokolas nurodo kokiam aukštesniojo lygmens protokolui skirti duomenys(TCP, UDP, ICMP, OSPF), kaip ir IPv4. Šuolių skaičius – skaitliukas, kurio reikšmė sumažės vienetu, kai datagrama praeis mazgą. Toks šuolių registravimo būdas efektyvesnis nei paketo gyvavimo laikas. IP siuntėjo ir gavėjo adresų laukai padidinti nuo 32 iki 128 bitų. Didesnis ilgis leidžia panaudoti internetą kitos rūšies duomenų perdavimui, pavyzdžiui, skaitmeninė (kabelinė) televizija.

Page 21: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

21

Duomenų maršrutizavimo IP tinkluose ypatumai

1. Galinių tinklo taškų (host), kurie yra viename iš fizinių tinklų, prijungtų prie maršrutizatoriaus, adresai;

2. Galinių tinklo taškų (host) ar tinklų, apie kurių adresus maršrutizatorius turi informacijos, dažniausiai maršrutizavimo lentelėse;

3. Galinių tinklo taškų (host) ar tinklų, apie kurių adresą sužinoma iš gautos ICMP žinutės apie duomenų perdavimo maršrutą,

4. Duomenų perdavimo kryptis pagal nutylėjimą, skirta tiems gavėjams apie kuriuos konkrečios informacijos maršrutizatoriuje nėra.

Page 22: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

22

Maršrutizavimo IP tinkluose pavyzdys

stud1.tink1.lt

IP=193.100.100.101 Default: 199.100.100.1 MAC=123A123B00C1

Ethernet Tinklas(3 kl) – 193.100.100.0

FDDI Tinklas(2 kl) – 150.100.0.0

M3

stud2.tink2.lt

IP = 150.100.100.15 MAC=121A121AB121

M4

M1

M2

stud3.tink3.lt

IP=200.100.100.11 Default: 200.100.100.4 MAC=515A5C1B10C0

Ethernet Tinklas(3 kl) – 200.100.100.0

DNS serveris

IP=170.200.100.100 Default: 170.200.100.1

FDDI Tinklas(2 kl) – 190.100.0.0

IP=193.100.100.3 MAC=333A333B11C1 1 prievadas

IP=170.200.100.1 MAC=333A333B22C2 2prievadas

Ethernet Tinklas(2 kl) – 170.200.0.0

IP=200.100.100.4 MAC=444A444B22C2 2prievadas

IP=193.100.100.1 MAC=111A111B11C1 1 prievadas

IP=150.100.100.1 MAC=111A111B22C2 2 prievadas IP=150.100.100.2

MAC=222A222B11C1 1 prievadas

IP=190.100.100.2 MAC=222A222B22C2 2 prievadas

IP=190.100.100.4 MAC=444A444B11C1 1prievadas

Page 23: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

23

IP duomenų paketas parengtas perduoti Ethernet tinkle

MAC 111A111B11C1

IP 200.100.100.4

Ethernet antraštė IP antraštė IP duomenys

Page 24: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

24

Potinklių išskyrimas, naudojant kaukes 11000001 11011011 01100100 00000000 – IP 3 klasės tinklo adresas 193.219.100.0

11111111 11111111 11111111 11000000 – pasirinkta kaukė 255.255.255.192

___________________________________________________________________

11000001 11011011 01100100 00000000 – 1-as potinklis 193.219.100.0

11000001 11011011 01100100 01000000 – 2-as potinklis 193.219.100.64

11000001 11011011 01100100 10000000 – 3-as potinklis 193.219.100.128

11000001 11011011 01100100 11000000 – 4-as potinklis 193.219.100.192

Privalumai:2. Gaunamos informacijos srautai tiksliai ir efektyviai paskirstomi tarp

potinklių;3. Iš išorinio tinklo bus matomas tik vienas tinklas, t.y. bus paslėpta

tinklo struktūra nuo išorinio pasaulio, t.y. papildoma apsaugos priemonė.

Page 25: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

25

Potinklių IP paskirstymo lentelė, naudojant kaukes

1 bai-tas(bitais)

2 bai-tas(bitais)

3 bai-tas(bitais)

4 bai-tas(bitais)

Tinklo numeris Kompiuteriai

Kompiuterių IP adresai

Tinklas, kaukė ir kompiuterių

kiekis 1 1

1 1

0 0

0 0

0 0

0 0

0 0

1 1

1 1

1 1

0 0

1 1

1 1

0 0

1 1

1 1

0 0

1 1

1 1

0 0

0 0

1 1

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 1

193.219.100.0 192.219.100.1 . . .

193.219.100.0 255.255.255.192 64

1 1

1 1

0 0

0 0

0 0

0 0

0 0

1 1

1 1

1 1

0 0

1 1

1 1

0 0

1 1

1 1

0 0

1 1

1 1

0 0

0 0

1 1

0 0

0 0

0 0

1 1

0 0

0 0

0 0

0 0

0 0

0 1

193.219.100.64 192.219.100.65 . . .

193.219.100.64 255.255.255.192 64

1 1

1 1

0 0

0 0

0 0

0 0

0 0

1 1

1 1

1 1

0 0

1 1

1 1

0 0

1 1

1 1

0 0

1 1

1 1

0 0

0 0

1 1

0 0

0 0

1 1

0 0

0 0

0 0

0 0

0 0

0 0

0 1

193.219.100.128 192.219.100.129 . . .

193.219.100.128 255.255.255.192 64

1 1

1 1

0 0

0 0

0 0

0 0

0 0

1 1

1 1

1 1

0 0

1 1

1 1

0 0

1 1

1 1

0 0

1 1

1 1

0 0

0 0

1 1

0 0

0 0

1 1

1 1

0 0

0 0

0 0

0 0

0 0

0 1

193.219.100.192 192.219.100.193 . . .

193.219.100.192 255.255.255.192 64

Page 26: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

26

Potinklių IP paskirstymo lentelė, naudojant kintamas kaukes

1 bai-tas(bitais)

2 bai-tas(bitais)

3 bai-tas(bitais)

4 bai-tas(bitais)

Tinklo numeris Kompiuteriai

Kompiuterių IP adresai

Tinklas, kaukė ir kompiuterių

kiekis 1 1

1 1

0 0

0 0

0 0

0 0

0 0

1 1

1 1

1 1

0 0

1 1

1 1

0 0

1 1

1 1

0 0

1 1

1 1

0 0

0 0

1 1

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 1

193.219.100.0 192.219.100.1 . . .

193.219.100.128 255.255.255.128 128

1 1

1 1

0 0

0 0

0 0

0 0

0 0

1 1

1 1

1 1

0 0

1 1

1 1

0 0

1 1

1 1

0 0

1 1

1 1

0 0

0 0

1 1

0 0

0 0

0 0

1 1

0 0

0 0

0 0

0 0

0 0

0 1

193.219.100.64 192.219.100.65 . . .

193.219.100.64 255.255.255.192 64

60 nenaudojamų adresų

1 1

1 1

0 0

0 0

0 0

0 0

0 0

1 1

1 1

1 1

0 0

1 1

1 1

0 0

1 1

1 1

0 0

1 1

1 1

0 0

0 0

1 1

0 0

0 0

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

0 0 1 1

0 1 0 1

193.219.100.252 192.219.100.253 192.219.100.254 192.219.100.255

193.219.100.252 255.255.255.252 4

Page 27: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

27

Tinklų maršrutizavimas, nenaudojant IP klasių

CIDR, Classless Inter Domain Routing. Vartotojui skiriamas ne atitinkamos adresų klasės potinklis, o keletas iš eilės einančių adresų, nurodant jų prefiksą (tinklo numerį) bei kaukę. Skirtų adresų kiekis visada yra lyginis. Pavyzdžiui, jei reikia tik 15 adresų tinklo sudarymui, tai gali būti skirtas potinklis 193.219.100.16 su kauke 255.255.255.240. Šiuo atveju tik vienas adresas bus nepanaudotas, nes vartotojui liks keturi paskutiniai bitai, t.y. bus galima skirti adresus 16-ai kompiuterių. Jei tokius adresus vartotojas išskaidys dar į potinklius, tai vis tiek adresų kiekis nepasikeis, o kiti matys tuos pačius IP adresus su ta pačia kauke. Naudojant tokį paskirstymą išsprendžiami du uždaviniai:1. taupiau panaudojami IP adresai, pavyzdžiui C klasės potinklį sudaro 256 IP adresai, o jei reikia tik 20, kiti lieka nepanaudoti,2. dėl sumažėjusio reikšminių bitų kiekio informacija greičiau perduodama per mazgus.

Page 28: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

28

RIP (Routing Information Protocol)Darbo optimizavimui naudojami šuoliai (xop), srautai, patikimumas bei jų kombinacijos.1 etapas. Panaudodamas TCP/IP priemones maršrutizatorius sudaro minimalias maršrutų lenteles, į kurias įtraukiami tik tiesiogiai prijungti tinklai.2 etapas. Nustatęs kiekvieną maršrutą (inicializavęs), maršrutizatorius pradeda kiekvienam gretimam mazgui siųsti RIP pranešimus, panaudodamas UDP.3 etapas. Gavęs iš kaimynų analogiškus pranešimus pradeda pildyti lentelę, kartu naikindamas seną informaciją apie tą patį ryšį, tik su prastesnėmis charakteristikomis.4 etapas. Kiekvienas maršrutizatorius išsiunčia savo kaimynams informaciją apie savo artimiausius mazgus.5 etapas. Toks pat kaip ir trečias, t.y. priimami pranešimai iškoreguojamos maršrutų lentelės.Siekiant išvengti maršrutų, kurie dubliuoja jau esamą (kilpos), išskyrus tik tuos atvejus, kai siekiama patikimumo, galioja taisyklė, dar vadinama horizonto perskyrimu (split horizont), t.y. niekada maršrutizatorius nesiunčia kaimynui iš jo gautos informacijos.

Page 29: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

29

OSPF (Open Shortest Path First)Surask trumpiausią kelią pirmas

Pirma dalis. Kiekvienas maršrutizatorius brėžia ryšių grafą, kurio viršūnės yra IP tinklo mazgai. Tam siunčiami specialūs paketai, kurie nesikeičia tarpiniuose mazguose. Galiausiai visi tinklo maršrutizatoriai turi tą patį tinklo žemėlapį.Antra dalis. Kiekvienas maršrutizatorius save laiko to grafo centru ir ieško optimaliausio atstumo iki kitų. Radęs įsimena tik vieną žingsnį – iki artimiausio kaimyno ir jį įrašo į lentelę. Tam procesui naudojamas specialūs algoritmas.Lentelių atnaujinimui tarp mazgų siuntinėjamas specialus trumpas paketas “Hello”, jei tinklo būsena nesikeičia, tai ir lentelės nekinta. Nustačius bent vieną pasikeitimą, t.y. negavus pranešimo arba pasirodžius naujam grafai konstruojami iš naujo.

Page 30: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

30

TCP protokolas

Transportuoja duomenis, užtikrina srautų perdavimą ryšio kanalais. Naudojamas patikimam informacijos perdavimui . Taikomajame lygmenyje jį naudoja: FTP (File Transfer Protocol), TELNET – programa naudojama kai reikia prisijungti prie nutolusio Internet tinklo kompiuterio ir .t.t. Taikomojo lygmens procesai sąveikauja su TCP moduliu per kanalus (port). Taikomojo lygmens programos sąveikauja su transporto kontrolės (Transport Control Protocol, TCP) arba vartotojo datagramų (User Datagram Protocol, UDP) protokolais. Jie naudojami kaip taikomųjų programų paprogramės, atsakingos už informacijos perdavimą į tinklą.

Page 31: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

31

TCP protokolo funkcijos multipleksuojant ir demultipleksuojant srautus

FTP DNS Telnet …

21 k

anal

as

53 k

anal

as

23 k

anal

as

Duomenų perdavimas abiem kryptimis pilno duplekso režimu

TCP

Segmentas

Segmentas

Segmentas

Segmentas

Segmentas

Segmentas

Segmentas

Segmentas

Įein

anči

ų se

gmen

tų e

ilė

Išei

nanč

ių s

egm

entų

eilė

IP

Tinklo plokštė

Į tinklą

Page 32: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

32

TCP protokolo darbo modelis

4. Duomen esan i buferyjeų č ųperdavimas TCP programai

6. I kvie iamas IPš čmodulis

5. Duomen skaidymas ų įsegmentus, prijungiantkontrolinę informaciją

Tiltas,komutatorius

ir pan.

1. I kvie iamaš čTCP programa

2. Sujungiama (OPEN )

3. Perduodamas sinchrosignalas (SYN1 ,SYN2,SYN3)

10. Perduodami segmentai įTCP programą

9. Nutraukiamassujungimas (FIN)

7. Segmentai perkeliami įdatagramas

Kitas L AN tinklas

8. I kvie iamas IP modulisš čir i skirami segmentai iš š

datagramų

Page 33: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

33

TCP darbo principai

Nors IP protokolas yra nepatikimas, tačiau TCP patikimai juos perduoda, tai užtikrinama naudojant patvirtinimų sistemą.

1. Gavęs duomenų bloką, gavėjas perduoda siuntėjui patvirtinimą apie sėkmingą priėmimą. Po kiekvieno pranešimo laukiama nurodytą laiką, kurį matuoja laikmatis, jei per jį negaunamas patvirtinimas apie priėmimą, TCP kartoja paketo persiuntimą.

2. Šiuolaikiniuose tinkluose naudojama greitesnė “slenkančio lango” schema. Siuntėjas iš karto siunčia keletą pranešimų ir tik po to laukia patvirtinimo, gavęs patvirtinimą apie sėkmingą duomenų priėmimą, TCP perstumia langą per tiek pozicijų, kiek paketų priima. Kai tinklas produktyviai dirba, siuntimo procesas gali vykti be pertraukų. Jei patvirtinimas negaunamas, lango slinkimas sustabdomas kol sulaukiama patvirtinimų visiems lango pranešimų paketams, jei pasibaigė laukimo limitas, pranešimas persiunčiamas pakartotinai.

Page 34: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

34

Transportinio lygmens kanalų numeriai

Prievado Nr. Protokolas Komentaras

13 Daytime Laiko protokolas 21 FTP Failų perdavimo protokolas 23 Telnet Nutolusio terminalo protokolas 25 SMTP Elektroninio pašto protokolas 37 Time Tikslaus laiko protokolas 43 Whois Paieškos (Kas yra kas) protokolas 69 TFTP Trivialus (supaprastintas) FTP 70 Gopher Meniu tipo paieškos protokolas 79 Finger Informacija apie vartotojus 80 HTTP WWW protokolas

110 POP3 Elektroninio pašto protokolas

Page 35: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

35

TCP paketo struktūra 16 bitų 16 bitų

Siuntėjo kanalo numeris Gavėjo kanalo numeris Sekos numeris

Patvirtinimo numeris Antraštės il-gis 4 bitai

Rezervas 6 bitai

U RG

A CK

PSH

RST

SYN

FI N

Lango dydis 16 bitų

Kontrolinė suma Skubumas Pasirinktys Užpildymas

Duomenys TCP duomenų segmentą sudaro 32 bitai. Siuntėjo kanalo (prievado) numeris nurodo

siuntėjo protokolo kanalo numerį. Gavėjo kanalo numeris nurodo adresato protokolo kanalo numerį. Sekos eilės numeris – pirmojo duomenų baito, esančio pakete, eilės numeris. Patvirtinimo numeris – sekančio duomenų baito, kurio laukia adresatas, numeris. Antraštės ilgis nurodomas 32 bitų žodžiais. Valdančios žymės (URG, ASK ir t.t.) – specialūs ženklai, nurodantys, paketo svarbumą, sinchronizavimą ir t. t. Lango dydis – priėmimo langas matuojamas baitais. Kontrolinė suma – duomenų paketo sumą. Skubumas – nurodo kaip sparčiai perduoti paketą. Parinktys – naudojamos papildomai kontrolinei informacijai perduoti. Užpildymas – naudojamas paketo papildymui iki reikiamo ilgio.

Page 36: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

36

UDP paketo struktūra

Datagramų protokolas UDP paprastas transportinio lygmens protokolas, panašus į IP. Protokolai yra nepatikimas, nereikalauja sujungimo, naudoja datagramas. UDP sugeba atpažinti kompiuteryje dirbančią taikomąją programą, kuriai skirti perduodami duomenys ir paskirstyti iš tinklo gaunamus duomenis tarp tokių programų. Taikomosios programos identifikuojamos pagal kanalo numerį. UDP antraštę sudaro aštuoni baitai. Nurodomi siuntėjo ir gavėjo kanalų numeriai, datagramos, įskaitant ir antraštę, ilgis bei duomenų lauko kontrolinė suma, kuri nėra būtina.

16 bitų 16 bitų Gavėjo prievado

numeris Siuntėjo prievado

numeris UDP pranešimo ilgis Kontrolinė suma

Duomenys

Page 37: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

37

Fragmentavimas

1. Patikrinama ar leidžiama fragmentacija. Jei ne, datagrama bus atmesta ir bus grąžinta klaida siuntėjui.2. Atsižvelgiant į maksimalią leistiną reikšmę, duomenų laukas yra dalinamas į tiek dalių, kad jos yra 8 baitams, išskyrus paskutinę duomenų dalį.3. Gautos dalys talpinamos į datagramas, kurių antraštėje yra originalios kopija, papildyta informacija apie fragmentavimą.4. Kiekvienas fragmentas siunčiami kaip paprasta IP datagramos. 5. Galiniame taške (gavėjas), duomenys surenkami į vieną datagramą.

Page 38: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

38

SLIP paketo struktūra END END Duomenys Triukšmas END Duomenys END

Protokolo kadras sudarytas iš datagramų, kurios turi 1 baito pabaigos žymę c0 (END), kai kada ji panaudojama ir pradžioje. Jei tarp dviejų END simbolių nėra datagramos, tai tinklo triukšmas vis tiek interpretuojamas kaip duomenys, bet iškoduojant toks paketas dėl beprasmiškumo yra atmetamas. Jis negali pagal IP adresus sujungti vieno taško su kitu, šį darbą turi atlikti kitas protokolas, nekontroliuoja klaidingų perdavimų, nesugeba multipleksuoti tinko lygmens protokolų.

Page 39: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

39

PPP paketo struktūra

PPP ryšio seansas vykdomas, panaudojant keletą procedūrų:1. susijungimas, panaudojant kanalinio lygmens protokolą LCP, kad suderinti ryšio parametrus,2. autentifikavimas, t.y. panaudojant slaptažodžio nustatymo protokolą PAP (Password Authentication Protocol), vykdomas prieigų nustatymas prie nurodytos sistemos,3. tinklinio lygmens sujungimo nustatymas, panaudojant tinklo valdymo protokolą NCP (Network Control Protocol).

Žymė Adresas Valdymo laukas Protokolas FCS Duomenys Žymė 1 baitas 1 baitas 1 baitas 2 baitai Iki 1500 baitų 2-4 baitai 1 baitas

Žymė yra skaičius 7e ir yra kaip kadrų skirtukas. Adresas – šešioliktainis skaičius, nurodantis visų stočių adresus. Valdymos laukas identifikuoja aukšto lygmens kanalo valdymo protokolą HDLC (High-level Data Link Control). Protokolas skirtas duomenis suformavusio protokolo identifikavimui, kuris nustatomas pagal lenteles. Duomenys – tai informacija, neviršijanti 1500 baitų. Kontrolinė suma skirta perduodamo duomenų paketo klaidų kontrolei. Žymė – kadro pabaiga

Page 40: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

40

PPP sujungimo schema

Kanalo nėra

Nustatomas kanalas Identifikavimas

Kanalo kokybės tikrinimas

Identifikuojamas

Nutraukiamas kanalas

Atidaromas kanalas

Tinklinio lygmens protokolų

konfigūravimas

Pradeda darbą LQR protokolas

Nesėkmė Sėkmingai

Ne Taip

Ne

Taip

Page 41: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

41

LCP, PAP, IPCP LCP (Link Control Protocol) protokolas valdo ryšio kanalą ir naudojamas PPP sistemose, kad nustatytų efektyviausią sujungimą iš visų galimų. Duomenų kadras sudarytas iš trijų dalių: pirmoji skirta kadrotipo nurodymui, t.y. ar kadras klausia apie konfigūracija, ar laukia, ar nutraukia ir pan., antroji – nurodo pranešimo ilgį, trečioji – saugo įvairius konfigūravimo parametrų elementus, naudojamus sujungimo parametrų derinimui.

PAP (Password Authentication Protocol) identifikuoja vartotoją ir naudojamas tik tada, kai sistemos protokolai neturi kitos išeities, nes jis nėra ypatingai saugus. Šių trūkumų neturi CHAP (Challenge Handshake Authentication Protocol) identifikavimo protokolas su išankstiniu iškvietimo suderinimu, nes perduoda ir kodo raktą, kuris pagal specialų algoritmą padeda iškoduoti slaptažodį.

IPCP (Internet Network Control Pacet) interneto tinklo valdymo protokolas naudojamas ry-šio parametrų nustatymui kiekvienam tinklinio lygmens protokolui, kad vėliau juos galėtų sujungti ir PPP seanso metu perduoti gavėjui

Page 42: 1 paskaita tcp_ip_ir_ip_adresavimas_marsrutizavimas

42

ėkmės