povezivanje mreža korištenjem tcp/ip-a · tcp/ip tcp –transmission control protocol l4 protokol...

16
Povezivanje mreža korištenjem TCP/IP-a Računalne mreže

Upload: others

Post on 22-Sep-2019

10 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

Povezivanje mreža korištenjem TCP/IP-a

Računalne mreže

Page 2: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

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

Page 3: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

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

Page 4: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

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

Page 5: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

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

Page 6: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

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

Page 7: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

TCP/IP

UDP

bezkonekcijski protokol

connectionless

nema potvrde prijenosa

no acknowledgment

pouzdanost prijenosa ovisi o višim slojevima

Page 8: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

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

Page 9: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

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

Page 10: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

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

Page 11: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

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

Page 12: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

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

Page 13: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

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

Page 14: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

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

Page 15: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

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)

Page 16: Povezivanje mreža korištenjem TCP/IP-a · TCP/IP TCP –Transmission Control Protocol L4 protokol end-to-end protokol IP –Internet Protocol L3 protokol routed protokol razlika

Q & A