Upload
myciokas
View
1.825
Download
6
Embed Size (px)
Citation preview
1
TCP/IP ir IP adresavimas
Informatikos katedra, L.Kaklauskas2004 metai
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
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ų.
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.
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
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
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
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.
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
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.
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
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.
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)
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
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.
16
IP maršrutizavimas
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)
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ų
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.
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.
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.
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
23
IP duomenų paketas parengtas perduoti Ethernet tinkle
MAC 111A111B11C1
IP 200.100.100.4
Ethernet antraštė IP antraštė IP duomenys
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ė.
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
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
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.
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.
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.
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ą.
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ą
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ų
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.
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
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.
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
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ą.
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ų.
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
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
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
42
ėkmės