Академический Документы
Профессиональный Документы
Культура Документы
TCP/IP protokolski
stek
Mr Nenad Krajnovi
E-mail: krajko@etf.bg.ac.yu
1
Application layer
Presentation layer
Session layer
Transport layer
Network layer
Data link layer
Physical layer
Fiziki sloj
obezbeuje transparentni prenos niza
bita preko fizikog medijuma za prenos
moe biti point-to-point ili point-tomultipoint, half duplex ili full duplex
definie naponske nivoe, tip konektora,
signalizaciju na nivou konektora i slino
moe biti bakarni kabl, optiki kabl,
(satelitski) radio link, laserski snop...
3
Sloj veze
obezbeuje pouzdan protokolski interfejs
iznad fizikog sloja nezavisno od sloja mree
obezbeuje detekciju greke a neki put i
korekciju greke
uspostavlja peer-to-peer vezu izmeu dva
entiteta koji komuniciraju
formira okvir (frame) u koji pakuje podatke
deli se na MAC i LLC podsloj
4
Mreni sloj
osnovna funkcija je da obezbedi prenos
podataka s kraja na kraj sloene mree
korienjem adresa obezbeuje
jedinstveno adresiranje za entitete u
mrei
formira pakete koji se prenose kroz
mreu
5
Transportni sloj
obezbeuje pouzdan prenos podataka
izmeu dva entiteta koji komuniciraju
garantuje prenos bez greaka, redosled
podataka koji se prenose
povezuje vie sesija koje meusobno
komuniciraju
Sloj sesije
predstavlja vezu korisnika i mree
uspostavlja vezu izmeu korisnika i
maine
obezbeuje razmenu parametara za rad
aplikacije
primer je login procedura u vezi
terminal-to-mainframe
7
Sloj prezentacije
zaduen za presentaciju podataka koji
se prenose u zavisnosti od ureaja za
prezentaciju
Primer su display i tekstualni ureaj tipa
tampaa
Sloj aplikacije
softver koji generie podatke koje treba
prenositi
Aplikacija
TCP / UDP
ICMP, ARP, RARP
IP
MAC
Fiziki sloj
10
Fiziki sloj
Fiziki sloj
Koaksijalni kabl:
kabl RG-58 (50),
RG-59 (75)
UTP (Unshielded Twisted Pair)
kategorije 3, 4, 5, 5e, 6 (predlozi za
CAT 7); STP (Shielded TP), FTP (Foiled
TP), S-FTP (Shielded Foiled TP)
Optiki kabl: monomodni i multimodni
12
13
Pair
15
Sloj veze
C
16
Sloj veze
Uvode se adrese na sloju veze da bi
bilo mogue adresirati ureaje
Token ring (4 i 16 Mb/s), ethernet
(10Mb/s), fast ethernet (100Mb/s),
gigabit ethernet (1Gb/s), FDDI
(100Mb/s)
17
Mreni sloj
LAN 1
LAN 2
18
Mreni sloj
Uvode se adrese na mrenom sloju da
bi bilo mogue jednoznano oznaiti
svaki raunar u mrei
To su IP adrese
IP (Internet Protocol) je protokol
mrenog sloja na Internetu (RFC 791)
Obezbeuje vezu izmeu svaka dva
raunara na Internetu
19
IP format datagrama
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version|
IHL
|Type of Service|
Total Length
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Identification
|Flags|
Fragment Offset
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Time to Live |
Protocol
Header Checksum
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Source Address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Destination Address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Options
Padding
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
20
IP polja u datagramu
Version (4 bita) verzija IP protokola;
trenutno se koristi V4 a postepeno se i
prelazi na V6
IHL Internet Header Length (4 bita)
duina zaglavlja IP datagrama;
minimalna validna vrednost je 5; ovime
se oznaava gde poinju podaci
21
IP polja u datagramu
Type of service (ToS) (8 bita)
inicijalno zamiljeno da se ovim bitima
definie koji servis je u pitanju; na ovaj
nain je trebalo da se ostvari
mehanizam za kontrolu kvaliteta servisa
0
1
2
3
4
5
6
7
+-----+-----+-----+-----+-----+-----+-----+-----+
|
|
|
|
|
|
|
|
PRECEDENCE
| D | T | R | 0 | 0 |
|
|
|
|
|
|
|
+-----+-----+-----+-----+-----+-----+-----+-----+
22
IP polja u datagramu
otal Length (16 bita) duina
datagrama izraena u broju okteta
Maksimalna duina je 65535 okteta
Svaki host mora da prihvati datagram
minimalne duine 576 okteta
24
IP polja u datagramu
Identification (16 bita) omoguava ponovno
sastavljanje IP datagrama ako je tokom
transporta dolo do fragmentacije
Flags (3 bita) bit 0 mora biti 0
Bit 1: (DF) 0 = May Fragment, 1 = Don't Fragment.
Bit 2: (MF) 0 = Last Fragment, 1 = More Fragments.
IP Fragmentation &
Reassembly
Svaki link ima definisan MTU
(Maximum Transmission Unit)
Ako je paket vei od MTU
vrednosti tada se on
segmentira na vie manjih
paketa
Ponovno sastavljanje paketa
je tek na krajnjem odreditu
Za ponovno sastavljanje
paketa koriste se biti u IP
zaglavlju
reassembly
26
IP polja u datagramu
Time to Live TTL (8 bita) polje koje
se umanjuje za jedan prilikom svakog
prolaska kroz ruter; kada dostigne
vrednost 0 datagram se odbacuje; ovim
mehanizmom se spreava veno
postojanje lutajuih paketa
Protocol (8 bita) oznaava koji je
protokol koji se nalazi u IP datagramu
27
IP polja u datagramu
Header Checksum (16 bita) polje
kojim se verifikuje ispravan prenos
zaglavlja IP datagrama
Source, Destionation Address (po 32
bita) ovo su IP adrese koje
jednoznano odreuju svaki raunar na
Internetu
28
IP polja u datagramu
Options (proizvoljna duina) polje koje
moe a ne mora da postoji u
datagramu; koristi se za razne stvari
Padding (razliita duina) polje koje
se dodaje da bi zaglavlje imalo duinu
celobrojnog umnoka od 32 bita
29
Message Protocol
31
Code
0
0
1
2
3
4
5
6
7
0
0
0
0
0
0
description
echo reply (ping)
destination network unreachable
destination host unreachable
destination protocol unreachable
destination port unreachable
fragmentation needed and DF set
source route failed
destination network unknown
destination host unknown
source quench (congestion control - not used)
echo request (ping)
route advertisement
router discovery
TTL expired
bad IP header
32
ARP Address
Resolution Protocol
Svaki raunar koji je na mrei mora da ima
odgovarajuu IP adresu
IP adresa obezbeuje globalno rutiranje
paketa do odredita
Da bi stigao do samog odredita na lokalnoj
mrei, IP datagram mora da se enkapsulira u
ethernet paket sa odgovarajuom MAC
adresom
ARP uspostavlja vezu izmeu MAC i IP
adrese
33
Transportni sloj
WAN 1
LAN 1
Obezbeuje
pouzdan
transport u
sloenoj mrei
WAN 2
LAN 2
34
Transportni sloj
Na Internetu je to TCP (Transmission Control
Protocol) definisan u RFC 793
Ima zadatak da obezbedi pouzdan transport
podataka kroz mreu
Reava problem paketa koji su stigli u
promenjenom redosledu, sa grekom, koji su
se izgubili i slino
Obezbeuje multipleksiranje podataka koji
pripadaju razliitim aplikacijama
35
TCP multipleksiranje
Aplikacija 1
Aplikacija 2
Aplikacija 3
TCP
IP
Communication
network
36
TCP zaglavlje
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Source Port
|
Destination Port
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Sequence Number
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Acknowledgment Number
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data |
|U|A|P|R|S|F|
|
| Offset| Reserved |R|C|S|S|Y|I|
Window
|
|
|
|G|K|H|T|N|N|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Checksum
|
Urgent Pointer
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Options
|
Padding
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
data
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
37
TCP zaglavlje
Source, Destination Port (po 16 bita)
adrese na 4. sloju kojim se definie
kojoj aplikaciji pripada koji paket
Sequence Number (32 bita) broj kojim
se identifikuje redni broj prvog okteta
unutar toka podataka; ako je SYN bit
jednak 1 tada je ovo inicijalni broj
38
TCP zaglavlje
Acknowledgment Number (32 bita)
kada je ACK bit postavljen na 1 tada je
ovo SN sledeeg paketa koji se oekuje
da bude primljen; time se potvruje da
su svi ostali paketi regularno stigli
Data offset (4 bita) oznaava gde
poinju podaci u okviru paketa
39
TCP zaglavlje
Reserved (6 bita)
Control bits (6 bita)
URG: Urgent Pointer field significant
ACK: Acknowledgment field significant
PSH: Push Function
RST: Reset the connection
SYN: Synchronize sequence numbers
FIN: No more data from sender
TCP zaglavlje
Checksum (16 bita) polje za
verifikaciju ispravnog prenosa podataka
i zaglavlja
41
LISTEN
receive SYN
------------------send SYN,ACK
FIN WAIT-1
rcv ACK of FIN
--------------------x
close
-------------delete TCB
SEND
-----------send SYN
receive SYN
SYN
rcvd
CLOSE
----------snd FIN
close
-------------delete TCB
active OPEN
---------------create TCB,
snd SYN
SYN
sent
send ACK
rcv ACK of SYN
--------------------x
ESTAB
CLOSE
----------snd FIN
rcv FIN
----------snd ACK
rcv FIN
----------snd ACK
CLOSE wait
CLOSE
----------snd FIN
FIN WAIT-2
closing
rcv FIN
----------snd ACK
Time wait
LAST-ACK
Timeout = 2MSL
--------------------delete TCB
CLOSED
45
46
UDP zaglavlje
0
7 8
15 16
23 24
31
+--------+--------+--------+--------+
|
Source
|
Destination
|
|
Port
|
Port
|
+--------+--------+--------+--------+
|
|
|
|
Length
|
Checksum
|
+--------+--------+--------+--------+
|
|
data octets ...
+---------------- ...
47
Mreni ureaji
Aplikacija
Gateway
Aplikacija
TCP / UDP
IP
MAC
Fiziki sloj
Layer4 switch
Ruter
Bridge, layer2 switch
Repeater
TCP / UDP
IP
MAC
Fiziki sloj
48
Repeater
Vri regeneraciju digitalnih signala bez
analize sadraja
Ne proverava da li je dolo do greke u
prenosu
Moe biti realizovan kao hub (kada se
koriste UTP kablovi)
49
Realizacija repeater-a
SA DA
SA DA
SA DA
SA DA
SA DA
SA DA
SA DA
50
Bridge
Logiki deli LAN mreu na vie celina
Transparentan je za krajnjeg korisnika
Proverava da li je dolo do greke u
prenosu i odbacuje neispravne pakete
Prosleuje pakete na osnovu MAC
adresa
Povezuje delove LAN mrea
realizovane razliitim tehnologijama
51
Layer 2 switch
Ima identinu funkciju kao i bridge
Omoguava wire-speed prosleivanje
paketa
Hardverski realizovana funkcija
prosleivanje korienjem ASIC ipova
52
SA DA
SA DA
SA DA
53
54
Realizacija rutera
LAN 1
IP-DA
IP-DA
WAN
IP-DA
LAN 2
55
LAN 3
IP-DA
LAN 2
56
Layer 4 switch
Praktino je isto to i ruter s tom
razlikom to za rutiranje saobraaja
koristi informacije iz zaglavlja 4. sloja
paketa
57
Gateway
Ranije je ovaj termin korien za ruter
Danas se ovim oznaava ureaj koji
povezuje razliite aplikacije tako to
izmeu njih razmenjuje samo podatke
To znai da gateway mora da ima
realizovan kompletan protokolski stek
sa obe mrene arhitekture
Primer: Internet SNA gateway
58
Primer gateway-a
TCP/IP
podatak
XYZ
podatak
X
X
X
X
X
59