64
RAČUNALNE MREŽE Uvod Arhitektura računalnih mreža Fizička razina Podatkovna razina Mrežna razina Prijenosna razina

RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

RAČUNALNE MREŽE

UvodArhitektura računalnih mreža

Fizička razinaPodatkovna razina

Mrežna razinaPrijenosna razina

Page 2: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

RAČUNALNE MREŽE Prijenosna razina

• Uvod• UDP protokol interneta• TCP protokol interneta

Page 3: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Uvod

osigurava prijenos poruke među krajnjim korisnicima

na ovoj razini optimalno je organizirati kontrolu pogreški kontrolu toka

Page 4: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Uvod

kontrola pogreški podaci su spremljeni u memoriji krajnjeg uređaja do

potvrde prijema ponovno se šalju (retransmisija) bez opterećenja čvorišta

mreže retransmisija ‘samo’ opterećuje kapacitet kanala

2

3

1 3

Page 5: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Uvod

kontrola toka podaci se kod zagušenja ne šalju na mrežu broj paketa na mreži ostaje optimalan potrebna snaga obrade u čvorištima je minimalna

Page 6: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Uvod

Prijenosna razina Interneta dominantna globalna mreža za prijenos podataka nudi korisnicima na prijenosnoj razini dva protokola

bespojni UDP (User Datagram Protocol) spojevni TCP (Transmission Control Protocol).

Page 7: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Adresiranje na prijenosnoj razini interneta

Zaglavlje IP protokola mrežne razine nosi IP adresu odredišta i izvorišta identifikaciju protokola prijenosne razine

Zaglavlje protokola prijenosne razine nosi brojeve priključnih točaka (port) izvorišta i

odredišta IP adresa i broj priključne točke čine priključnicu

(socket) izvorišta ili odredišta dvije priključnice identificiraju tok podataka, odnosno

vezu (connection)

Page 8: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Adresiranje na prijenosnoj razini

interneta Uspostava veze

s kraja na kraj mreže uspostava veze je moguća na principu unaprijed poznatih priključnih točaka

u sustavu korisnik-poslužitelj korisnik uvijek traži uslugu od poslužitelja poslužiteljskim procesima se dodjeljuju unaprijed poznate

(standardne) priključne točke

Page 9: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina

IPIBM Compatible IBM Compatible

Poslužitelj:WEBTELNETFTP

10.1.1.5 10.1.100.5

10.1.1.5 10.1.100.5

? ?

Page 10: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina

IPIBM Compatible IBM Compatible

65535

1023255

Poslužitelj:WEBTELNETFTP

10.1.1.5 10.1.100.5

10.1.1.5 10.1.100.5

2345

80

65535

1023255

2345

80

10.1.1.510.1.100.5

2345

80

Page 11: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina/etc/services

tacacs 49/tcp # Login Host Protocol (TACACS)tacacs 49/udp # Login Host Protocol (TACACS)re-mail-ck 50/tcp # Remote Mail Checking Protocolre-mail-ck 50/udp # Remote Mail Checking Protocoldomain 53/tcp # name-domain serverdomain 53/udpwhois++ 63/tcpwhois++ 63/udpbootps 67/tcp # BOOTP serverbootps 67/udpbootpc 68/tcp # BOOTP clientbootpc 68/udptftp 69/tcptftp 69/udpgopher 70/tcp # Internet Gophergopher 70/udp

Page 12: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina UDP protokol

korisniku pruža uslugu prijenosa podataka bez uspostave logičkog kanala

podaci se tretiraju kao kratke poruke, datagrami na korisniku je osiguranje konzistentnosti poruke koriste ga NFS i DNS mrežne usluge zaglavlje UDP protokola je0 7 8 15 16 23 24 31

Izvorišna priključna Odredišna priključna točkaDuljina Kontrolna suma

Podaci

Page 13: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina UDP protokol

Izvorišna priključna točka (source port) označava proces ili uslugu koji šalju datagram kad se ne koristi, popuni se nulama

0 7 8 15 16 23 24 31 Izvorišna priključna Odredišna priključna točka

Duljina Kontrolna suma Podaci

Page 14: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina UDP protokol

Odredišna priključna točka (destination port) označava proces ili uslugu kojoj se šalje

datagram

0 7 8 15 16 23 24 31 Izvorišna priključna Odredišna priključna točka

Duljina Kontrolna suma Podaci

Page 15: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina UDP protokol

Duljina (length) označava ukupnu duljinu datagrama u

oktetima uključuje zaglavlje i podatke minimalna duljina je 8 okteta.

0 7 8 15 16 23 24 31 Izvorišna priključna Odredišna priključna točka

Duljina Kontrolna suma Podaci

Page 16: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina UDP protokol

Kontrolna suma (Checksum) zaštitno polje je komplement sume komplementa 16

bitnih riječi svih podataka i UDP zaglavlja uključujući i dio IP zaglavlja (pseudo zaglavlje)

ako se ne koristi popuni se nulama ako je 0, popuni se jedinicama pseudo zaglavlje

0 7 8 15 16 23 24 31izvorišna IP adresaodredišna IP adresa

nule protokol UDP duljina

Page 17: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina UDP protokol

Page 18: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina TCP protokol

pruža uslugu sigurnog prijenosa podataka s uspostavom logičkog kanala

prijenos je dvosmjeran podaci se tretiraju kao dijelovi dugačkog toka

poruke, segmenti korisniku se (po dijelovima) isporučuje cjelovita

poruka koriste ga

korisnički procesi koji zahtijevaju siguran prijenos kao što su Telnet, FTP, WWW i SMTP

Page 19: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Zaglavlje TCP protokola

Izvorišna priključna točka (Source Port) - identificira proces koji šalje podatke.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Izvorišna priključna točka Odredišna priključna točka

Redni broj Potvrdni broj

Pomak podataka

Reserved

URG

ACK

PSH

RST

SYN

FIN

Prozor prijemnika

Kontrolna suma Pokazivač hitnih podataka Opcije Nadopuna

Podaci

Page 20: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Zaglavlje TCP protokola

Odredišna priključna točka (Destination Port) - identificira proces koji prima podatke.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Izvorišna priključna točka Odredišna priključna točka

Redni broj Potvrdni broj

Pomak podataka

Reserved

URG

ACK

PSH

RST

SYN

FIN

Prozor prijemnika

Kontrolna suma Pokazivač hitnih podataka Opcije Nadopuna

Podaci

Page 21: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Zaglavlje TCP protokola

Redni broj (Sequence Number) - je redni broj početnog okteta segmenta

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Izvorišna priključna točka Odredišna priključna točka

Redni broj Potvrdni broj

Pomak podataka

Reserved

URG

ACK

PSH

RST

SYN

FIN

Prozor prijemnika

Kontrolna suma Pokazivač hitnih podataka Opcije Nadopuna

Podaci

Page 22: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Zaglavlje TCP protokola

Potvrdni broj (Acknowledgment Number) - broj slijedećeg okteta korisnikove poruke, ujedno i kumulativna potvrda

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Izvorišna priključna točka Odredišna priključna točka

Redni broj Potvrdni broj

Pomak podataka

Reserved

URG

ACK

PSH

RST

SYN

FIN

Prozor prijemnika

Kontrolna suma Pokazivač hitnih podataka Opcije Nadopuna

Podaci

Page 23: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Redni – potvrdni broj

4000 5000 60001000 2000 3000

4000 50001000 2000 3000

4000 3000 ……..……..

Page 24: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Zaglavlje TCP protokola

Pomak podataka (Data Offset) - predstavlja duljinu TCP zaglavlja u 32 bitnim riječima

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Izvorišna priključna točka Odredišna priključna točka

Redni broj Potvrdni broj

Pomak podataka

Reserved

URG

ACK

PSH

RST

SYN

FIN

Prozor prijemnika

Kontrolna suma Pokazivač hitnih podataka Opcije Nadopuna

Podaci

Page 25: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina

URG segment sadrži hitne podatke ACK potvrdni broj je ispravan (mora biti postavljen

uvijek, osim kod uspostave veze) PSH podatke odmah isporučiti korisniku RST reinicijalizacija veze, najčešće rezultira raskidom

veze SYN zahtjev za uspostavom veze FIN zahtjev za raskidom veze

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Izvorišna priključna točka Odredišna priključna točka

Redni broj Potvrdni broj

Pomak podataka

Reserved

URG

ACK

PSH

RST

SYN

FIN

Prozor prijemnika

Kontrolna suma Pokazivač hitnih podataka Opcije Nadopuna

Podaci

Page 26: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Zaglavlje TCP protokola

Prozor prijemnika (Window) - u oktetima, 0-65535

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Izvorišna priključna točka Odredišna priključna točka

Redni broj Potvrdni broj

Pomak podataka

Reserved

URG

ACK

PSH

RST

SYN

FIN

Prozor prijemnika

Kontrolna suma Pokazivač hitnih podataka Opcije Nadopuna

Podaci

Page 27: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Zaglavlje TCP protokola

Kontrolna suma (Checksum) - komplement sume komplementa 16-bitnih riječi, obuhvaća

podatke i zaglavlje dio zaglavlja IP protokola (pseudo zaglavlje)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Izvorišna priključna točka Odredišna priključna točka

Redni broj Potvrdni broj

Pomak podataka

Reserved

URG

ACK

PSH

RST

SYN

FIN

Prozor prijemnika

Kontrolna suma Pokazivač hitnih podataka Opcije Nadopuna

Podaci

Page 28: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Zaglavlje TCP protokola

Pokazivač hitnih podataka (Urgent Pointer) pokazuje gdje se nalaze hitni podaci unutar segmenta

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Izvorišna priključna točka Odredišna priključna točka

Redni broj Potvrdni broj

Pomak podataka

Reserved

URG

ACK

PSH

RST

SYN

FIN

Prozor prijemnika

Kontrolna suma Pokazivač hitnih podataka Opcije Nadopuna

Podaci

Page 29: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Zaglavlje TCP protokola

Opcije (Options) se ugovaraju kod uspostave veze postoji čitav niz opcija, npr. MSS, SACK, ....

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Izvorišna priključna točka Odredišna priključna točka

Redni broj Potvrdni broj

Pomak podataka

Reserved

URG

ACK

PSH

RST

SYN

FIN

Prozor prijemnika

Kontrolna suma Pokazivač hitnih podataka Opcije Nadopuna

Podaci

Page 30: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Zaglavlje TCP protokola

Nadopuna (Padding) - popunjava nulama zaglavlje do širine 32-bitne riječi

Podaci (Data) - korisnikovi podaci

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Izvorišna priključna točka Odredišna priključna točka

Redni broj Potvrdni broj

Pomak podataka

Reserved

URG

ACK

PSH

RST

SYN

FIN

Prozor prijemnika

Kontrolna suma Pokazivač hitnih podataka Opcije Nadopuna

Podaci

Page 31: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Zaglavlje TCP protokola

Pseudo zaglavlje

0 7 8 15 16 23 24 31izvorišna IP adresaodredišna IP adresa

nule protokol TCP duljina

Page 32: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

korisnik poslužitelj

SYN_SENT

ESTABLISHED

ESTABLISHED

LISTEN

IZMJENAPODATAKA

CLOSED

SYN k

SYN,ACK p,k+1

ACK k+1,p+1

FIN_WAIT1

FIN_WAIT2

TIME_WAIT

FIN,ACK k+N,p+M

FIN,ACK p+M, k+N+1

ACK p+M, k+N+1

FIN,ACK k+N+1, p+M+1

CLOSE_WAIT

LAST_ACK

CLOSED

SYN_RCVD

Page 33: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje
Page 34: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje
Page 35: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje
Page 36: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina

Page 37: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Stanja TCP veze

proces TCP protokola održava niz varijabli prolazi kroz niz stanja:

STANJE: ZNAČENJE:CLOSED Veza je neaktivna (raskinuta)LISTEN Stanje čekanja zahtjeva za vezuSYN-SENT Poslan je zahtjev za vezu; čeka se da druga strana odgovori zahtjevom za vezuSYN-RECEIVED Primljen je zahtjev za vezu; čeka se potvrda zahtjeva za vezuESTABLISHED Stanje normalnog prijenosa podatakaFIN-WAIT-1 Odaslan je zahtjev za raskidanje vezeFIN-WAIT-2 Čeka se zahtjev za raskidanje veze od udaljenog TCPaCLOSE-WAIT Čekanje na zahtjev za raskidanje veze od lokalnog korisnikaCLOSING Čeka se potvrda na poslani zahtjev za prekid vezeLAST-ACK Čeka se potvrda na zahtjev za raskid veze od udaljenog TCPaTIME-WAIT Čeka se dva maksimalna vremena života segmenta (MSL), kako bismo se

uvjerili da su svi zaostali segmenti stigli do udaljenog TCPa. Za to vrijeme sene može ponovo uspostaviti veza između ove dvije priključnice.

Page 38: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

CLOSED

LISTEN

SYN-SENTSYN-RCVD

ESTABLISHED

CLOSINGFIN-WAIT-1

FIN-WAIT-2 TIME-WAIT LAST ACK

CLOSE-WAIT

CLOSED

aktivni OPENnapravi TCB & šalji SYN

CLOSEizbriši TCB

CLOSEizbriši

TCB

pasivni OPENnapravi TCB

primljen RST

SENDšalji SYN

primljen SYNšalji SYN,ACK

primljen SYNšalji SYN, ACK

primljen SYN+ACKšalji ACKprimljena potvrda

SYNaCLOSE

šalji FIN

Active Close

CLOSEšalji FIN primljen FIN

šalji ACK

Passive Close

CLOSEšalji FIN

primljena potvrdaFINa

primljen FINšalji ACK

primljenFIN+ACKšalji ACK

primljenapotvrda

FINa

primljenapotvrda

FINa

primljen FINšalji ACK

Timeout = 2MSLizbriši TCB

Page 39: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Stanja TCP veze

Uspostava veze kod uspostave veze dva TCP procesa moraju

sinkronizirati početne redne brojeve to obavljaju razmjenom segmenata za uspostavu veze ti segmenti nose slučajno odabran kontrolni bit SYN ISN

(Initial Sequence Number) prilikom sinkronizacije

obje strane moraju poslati svoj ISN primiti potvrdu za to od druge strane

Page 40: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Stanja TCP veze

Generator ISN najniži se bit uvećava svake 4 µs, stoga ISN generator

ima period od približno 4.55 sata pretpostavljamo da segmenti ne mogu ostati u mreži

duže od MSL (Maximum Segment Life), to je obično oko dvije minute

možemo smatrati da je ISN jedinstven za promatranu vezu (par priključnica)

Page 41: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Uspostav

a veze u tri koraka

stanje TCP A TCP B stanje

CLOSED LISTEN

SYN-SENT

SYN-RECEIVED

(SEQ=X)(CTL=SYN)

ESTABLISHED

(SEQ=Y)(ACK=X+1)(CTL=SYN,ACK)

(SEQ=X+1)(ACK=y+1)(CTL=ACK)

ESTABLISHED

ESTABLISHED

(SEQ=X+1)(ACK=Y+1)(CTL=ACK)(DATA)

Page 42: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina TCP reset veze

ukoliko se posumnja da je stigao paket zaostao iz prethodne veze šalje se upravljačka poruka RESET

općenito je pravilo da se RESET mora poslati uvijek kada stigne segment koji očito nije namijenjen tekućoj vezi

TCP raskid veze Stanica šalje segment s bitom FIN kada korisnik

izda naredbu CLOSE TCP koji pošalje FIN nastavlja primati sve dok ne

stigne poruka da je i druga strana raskinula vezu

Page 43: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina TCP prijenos podataka

u stanju uspostavljene veze prijenos podataka se obavlja razmjenom podatkovnih segmenata

U slučaju gubitka segmenta TCP koristi mehanizam retransmisije

TCP retransmisija - nastaje ako unutar (RTO, Retransmission Timeout) vremena ne dođe potvrda

Na mrežnoj razini IP protokol prosljeđuje svaki paket zasebno može se dogoditi izmjena redoslijeda pristizanja

Page 44: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Računanje vremena retransmisije

vrijeme retransmisije se računa dinamički zbog

izmjene redoslijeda isporuke raznolikosti mreža u sustavu širokog raspona uporabe TCP veza

kvalitetan proračun tog vremena od ključnog je značenja za učinkovitost TCP veze

kratki RTO izaziva nepotrebne retransmisije predugački usporava oporavak od pogreške i

produljuje ukupno vrijeme prijenosa podataka

Page 45: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Filtriranje vremena obilaska

proračuni se zasnivaju na vremenu potrebnom da stigne potvrda za odaslani paket, tj. na vremenu obilaska RTT (Round Trip Time)

RTT se stalno mijenja ovisno o opterećenosti mreže

za svaku vezu TCP mjeri i filtrira vrijeme obilaska na osnovi stare vrijednosti RTT i nove vrijednosti M

to je filtar s eksponencijalnim usrednjavanjem α je faktor pojačanja, standardne vrijednosti 7/8

RTT = αRTT + (1-α)M

Page 46: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Računanje devijacije

Da bi se spriječile neželjene retransmisije (kratak RTO) predugo čekanje na detekciju gubitka (dugačak RTO)

računa se devijacija D:

gdje α može, ali i ne mora imati istu vrijednost kao i kod proračuna vremena obilaska (RTT)

D = αD + (1-α) |RTT-M|

Page 47: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Računanje RTO

vrijeme retransmisije RTO (čekanja na potvrdu) izračuna se prema formuli:

Iniciranje retransmisije načelno nakon isteka RTO vremenskog sklopa moguće ubrzanje nakon tri duplicirane potvrde ovi algoritmi uključeni su u algoritme kontrole

toka

RTO = RTT + 4*D

Page 48: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Problemi pri računanju vremena RTT

javljaju se kod ponovo odaslanog segmenta

kada stigne signal potvrde nije jasno odnosi li se on na retransmitirani ili na izvorni segment

mjerna se vrijednost ignorira vrijeme retransmisije se udvostručuje mjerenje vremena retransmisije može se

poboljšati slanjem vremena odašiljanja (Timestamp Option)

Page 49: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina TCP kontrola toka

TCP koristi gubitak segmenta kao indikaciju zagušenja

održava mrežu u radnoj točki s prosječno punim redovima čekanja

TCP raspolaže s nekoliko algoritama za postupke (često mijenjani i nadopunjavani)

upravljanja prometom sprječavanje zagušenja

Page 50: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Algoritmi segmentacije

kod nekih aplikacija uočeno je vrlo neučinkovito iskorištenje kanala zbog slanja vrlo kratkih segmenata

primjer za to je TELNET veza koja šalje znak po znak s tipkovnice dakle 1 oktet podataka i 40 okteta zaglavlja (20 B TCP

zaglavlja + 20 B IP zaglavlja) – 2.4% efikasnosti često se dešava da u suprotnom smjeru posebno putuje

potvrda a posebnim segmentom kopija znaka za ispis na ekranu te konačno potvrda kopije

Page 51: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Algoritmi segmentacije

1984 je usvojeno adaptivno rješenje (Nagle-ov algoritam), slanje novih korisnikovih podataka se zadržava

dok se ne potvrde svi prethodno odaslani segmenti

dok se ne skupi dovoljno podataka za slanje segmenta maksimalne veličine (MSS – Maximum Segment Size)

nadolazeći korisnikovi podaci mogu se odmah proslijediti ili zadržati za kasniju isporuku korisniku

Page 52: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Algoritmi segmentacije

Problem zvan sindrom besmislenih prozora (Silly Window Syndrome)

u početnom stanju spremnik prijemnika je pun i pošiljatelj to zna (ima oglašenu veličinu prozora 0)

kada se iščita jedan oktet na prijamnoj strani odmah se oglašava prozor veličine jednog okteta pošiljatelj šalje jedan oktet podataka

prijemnik nakon RTT potvrđuje 1 oktet dolazi do ponavljanja ciklusa

ovo rezultira slanjem svih korisnikovih podataka u paketima koji sadrže samo po 1 oktet podataka

rješenje je u sprječavanju prijemnika da oglasi prozor veličine jednog okteta

Nagle-ov i algoritam izbjegavanja besmislenih prozora su integrirani

Page 53: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Usporeni start (Slow Start)

služi za otkrivanje raspoloživog kapaciteta mreže, a koristi se

na početku prijenosa kod oporavka od gubitka

jednostavno se implementira pomoću dvije varijable

prag usporenog starta SSTHRESH prozor zagušenja CWND (Congestion Window)

Page 54: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Usporeni start (Slow Start)

CWND je zapravo radni prozor predajnika - ne može biti veći od prozora prijemnika (RWIN, Receiver Window)

SSTHRESH (Slow Start Threshold) označava vrijednost

na kojoj veza izlazi iz faze usporenog starta i ulazi u fazu izbjegavanja zagušenja

nakon uspostave veze prozor zagušenja CWND se postavlja na jedan segment

(zapravo na vrijednost MSS okteta) SSTHRESH se postavi na početnu vrijednost od 64 kB

(maksimalna veličina prijemnog prozora udaljenog TCPa)

Page 55: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Usporeni start (Slow Start)

prijenos započinje odašiljanjem jednog segmenta kada stigne potvrda prozor zagušenja CWND se poveća za

jedan MSS (s jednog na dva MSS) proces se nastavlja dalje - primitkom svake potvrde CWND se

uvećava za jedan MSS kako je jedna potvrda upravo primljena, za jednu primljenu

potvrdu šalju se dva nova segmenta CWND se udvostručuje primitkom svih potvrda iz prethodnog

prozora ukoliko je vrijeme obilaska konstantno - prozor zagušenja

raste eksponencijalno

Page 56: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Usporeni start (Slow Start)

rast CWND ograničen je s dva mehanizma: manjom od dvije vrijednosti RWIN i SSTHRESH, nakon

čega se automatski prolazi u fazu izbjegavanja zagušenja gubitkom segmenta zbog eksponencijalnog rasta prometa

ukoliko je u fazi usporenog starta došlo do gubitkaažuriraju se vrijednosti:

SSTHRESH = max(2*MSS; CWND/2)CWND = 1*MSS

Page 57: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Usporeni start (Slow Start)

time nanovo započinje usporeni start sada do polovičnog prozora CWND/2

u odnosu na prozor koji je uzrokovao zagušenje postupak se ponavlja

sve dok faza usporenog starta ne prođe bez gubitaka postignuti CWND smatra se optimalnim u tom

trenutku TCP prelazi u fazu izbjegavanja zagušenja

Page 58: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Izbjegavanje zagušenja (Congestion avoidance)

je faza u kojoj TCP ispituje mogućnost povećanja prozora kako bi iskoristio kapacitet mreže oslobođen eventualnim završetkom prijenosa drugih korisnika

u ovoj se fazi CWND povećava za 1*MSS svakih RTT vremena

ova faza traje sve do ponovnog gubitka segmenta tada se ponavlja faza usporenog starta pri čemu se

koristi kao gore:

U obje faze (SS i CA) prijemnik mora slati potvrdu za svaki primljeni paket

CWND = CWND + MSS/CWND

SSTHRESH = max(2*MSS; CWND/2)CWND = 1*MSS

Page 59: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Brza retransmisija (Fast Retransmit)

čekanje na istek vremena retransmisije RTO je dugotrajno i traje RTT+4D za to vrijeme će svi paketi napustiti mrežu i ona ostaje

neiskorištena brza detekcija gubitka moguća je ako prijemnik

za svaki prekoredno primljeni segment (nakon gubitka) ponavlja posljednju poslanu kumulativnu potvrdu

Page 60: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Brza retransmisija (Fast Retransmit)

predajnik nakon duge duplicirane potvrde još nije siguran da li se radi o gubitku ili samo poremećaju redoslijeda isporuke

nakon što primi tri duplicirane potvrde predajnik zaključuje da je došlo do gubitka segmenta

obavlja ponovno slanje daleko prije isteka RTO

to je algoritam brze retransmisije uključen u TCP varijantu nazvanu “TAHOE

TCP”

Page 61: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Brzi oporavak (Fast recovery)

uveden je kako bi se bolje iskoristile prednosti brze retransmisije

nakon gubitka segmenta obični TCP normalno mora ići u fazu usporenog starta

algoritam brzog oporavka izbjegava ovu fazu na način da se parametri postave na:

SSTHRESH = CWND/2CWND = SSTHRESH+3

Page 62: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Brzi oporavak (Fast recovery)

time se uzimaju u obzir paketi koji su izašli iz mreže (tri duplicirane potvrde)

primitkom potvrde novih podataka ulazi se u fazu izbjegavanja zagušenja s polovičnim prozorom:

algoritam brzog oporavka efikasan je samo za jednostruke pogrješke

TCP s ugrađenom brzom retransmisijom i brzim oporavkom poznat je od 1990. Kao” RENO TCP”

CWND = SSTHRESH

Page 63: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Djelomične potvrde (Partial

Acknowledgment): da bi se ubrzao izlazak iz faze brzog oporavka za

slučaj višestrukog gubitka segmenta uvedeno je razlikovanje novih i djelomičnih

(parcijalnih) potvrda djelomična potvrda se bazira na karakteristikama

kumulativne potvrde: kod jednostrukog gubitka, prijemnik će nakon što primi brzom retransmisijom ponovljeni segment potvrditi sve segmente poslane do popune nedostajućih

podataka

Page 64: RAČUNALNE MREŽEpersonal.oss.unist.hr/~alen/Literatura-SKRIPTA!!!/slide6.pdf · podaci se tretiraju kao dijelovi dugačkog toka poruke, segmenti korisniku se (po dijelovima) isporučuje

Prijenosna razina Djelomične potvrde (Partial

Acknowledgment): ukoliko prijemnik potvrdi smo dio podataka predajnik može zaključiti da se radi o višestrukom

gubitku segmenata takva potvrda se zove djelomična potvrda ona istovremeno znači

da je određeni broj segmenata izašao iz mreže te da je još neki od ranije poslanih segmenata izgubljen

izgubljeni segment je moguće odmah ponovno poslati