Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol...
Transcript of Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol...
Povezivanje mreža korištenjem TCP/IP-a
Računalne mreže
TCP/IP
TCP – Transmission Control Protocol L4 protokol
end-to-end protokol
IP – Internet Protocol L3 protokol
routed protokol
razlika routed i routing
TCP/IP razvijen od strane DARPA
Defence Advanced Research Project Agency
postao dio standardne UNIX distribucije
koristi se u LAN/MAN/WAN okruženjima
TCP/IP
relacija TCP/IP – OSI
OSI – 7 slojeva
TCP/IP – 5 slojeva
network interface
data link
physical
data link
physical
network
application
presentation
session
transport
medium
network
network
interface
transport
application
medium
TCP/IP
Aplikacijski sloj
definira aplikacije koje se koriste
Prijenos datoteka: TFTP, FTP, NFS
E-mail: SMTP
Udaljeni rad: Telnet, rlogin
Upravljanje mrežom: SNMP
Upravljanje imenima: DNS
TCP/IP
Transportni sloj (Layer 4)
Omogućava segmentiranje i ponovno sastavljanje tokova podataka iz više aplikacija u jedan L4 tok podataka
end-to-end logička veza (logička veza između krajnjih točaka komunikacije -računala)
transportni sloj osigurava
kontrolu toka (flow control)
sliding window
pouzdanost
sequence number
acknowledgments
TCP/IP
dva L4 protokola
TCP (Transmission Control Protocol)
UDP (User Datagram Protocol)
TCP
konekcijski (connection oriented)
prvo uspostava konekcije onda prijenos podataka
što TCP radi?
segmentira tokove podataka u manje pakete na izvorištu
sastavlja pakete u jedan tok podataka na odredištu
ponovno šalje određeni paket ako se paket izgubi
osigurava virtualni kanal između aplikacija
TCP/IP
UDP
bezkonekcijski protokol
connectionless
nema potvrde prijenosa
no acknowledgment
pouzdanost prijenosa ovisi o višim slojevima
TCP/UDP format zaglavlja
TCP
konekcijski
stanice stalno razmjenjuju podatke o vezi
primjer: telefonski poziv
postoji protokol koji potvrđuje da su dvije strane povezane (npr. Halo, Bok…)
source port (16) destination port (16)
sequence number (32)
acknowledgment number (32)head. length
(4)reserved (6) code (6) window (16)
checksum (16) urgent (16)
options (0 ili 32 bita)
data (varijabilno)
20
okte
ta
bit 0 bit 15 bit 16 bit 31
TCP/UDP format zaglavlja
UDP
bezkonekcijski
primjer: slanje običnog pisma poštom
pošaljemo i nadamo se da će stići
source port (16) destination port (16)
length (16) checksum (16)
data (varijabilno)
8 o
kte
ta
bit 0 bit 15 bit 16 bit 31
TCP/UDP portovi
TCP/UDP
portovi se koriste za prosljeđivanje informacija višim slojevima
koriste se da bi se istodobno omogućilo više različitih veza preko iste mreže
21 23 25 53 69 161 520
TCP UDP
brojevi
portova
FT
P
Te
lne
t
SM
TP
DN
S
TF
TP
SN
MP
RIP
transportni
sloj
aplikacijski
sloj
TCP/UDP portovi
portovi
well-known
portovi dodjeljeni pojedinim aplikacijama 0-1023
‘slobodni’ portovi ≥ 1023
dinamički se pridružuju
www.iana.org
iMac iMac
stanica A stanica B
source
port
destination
port...
1086 23 ...
SP DP
telnet B
Uspostava TCP konekcije
TCP zahtijeva uspostavu konekcije prije slanja podataka (three-
way handshake) korak 1: st. A st. B
moj broj sekvence 100 ACK broj 0 ACK bit nije postavljen SYN bit postavljen
korak 2: st. B st. A
očekujem 101 moj broj sekvance 300 ACK bit postavljen SYN bit postavljen
korak 3: st. A st. B
očekujem 301 moj broj sekvence 101 ACK bit postavljen SYN bit postavljen
početni seq. brojevi nisu uvijek isti
pošalji SYN
(seq=101; ctl=SYN)
1
SYN primljen
pošalji SYN, ACK
(seq=300; ACK=101;
ctl=SYN, ACK)
2
SYN primljen
uspostavljena veza
(seq=101; ACK=301;
ctl=ACK)
3
iMac iMac
stanica A stanica B
TCP potvrda primitka
window size
veličina prozora određuje koliko će podataka stanica primiti odjednom
primjer:
window size = 1
svaki segment mora biti potvrđen prije nego se sljedeći pošalje
pošiljatelj primatelj
pošalji 1
primi 1
pošalji ACK 2
primi 2
primi 3
pošalji ACK 3
pošalji ACK 4
primi ACK 2
pošalji 2
pošalji 3
primi ACK 3
primi ACK 4
veličina prozora = 1
TCP potvrda primitka
svaki segment prije odašiljanja se numerira
na prijemniku
stanica sastavlja segmente
ukoliko neki segment nedostaje zahtijeva se retransmisija
na predajniku
ukoliko predajnik nakon određenog vremena primio potvrdu za određeni segment – šalje ga ponovno
iMac iMac
source dest. seq. ack. ...
1028 23 10 1
source dest. seq. ack.
1028 23 11 2
source dest. seq. ack.
102823 1 11
source dest. seq. ack.
102823 2 12
source dest. seq. ack.
posalo #11primio #11;
mora poslati #12
Kontrola toka
TCP prozor (TCP window)
broj okteta koji počevši od zadnjeg acknowledgmenta koji prijemnik može trenutačno primiti
• kod UDP-a window size & sequence number ne postoje !!!
pošiljatelj primatelj
veličina prozora =3
pošalji 1
veličina prozora =3
pošalji 2
veličina prozora =3
pošalji 3
veličina prozora =3
pošalji 4
veličina prozora =3
pošalji 3
ACK 3
veličina prozora =2
ACK 5
veličina prozora =2
(paket 3 je odbačen)
Q & A