Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
RAČUNALNE MREŽE
UvodArhitektura računalnih mreža
Fizička razinaPodatkovna razina
Mrežna razinaPrijenosna razina
RAČUNALNE MREŽE Prijenosna razina
• Uvod• UDP protokol interneta• TCP protokol interneta
Prijenosna razina Uvod
osigurava prijenos poruke među krajnjim korisnicima
na ovoj razini optimalno je organizirati kontrolu pogreški kontrolu toka
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
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
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).
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)
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
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
? ?
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
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
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
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
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
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
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
Prijenosna razina UDP protokol
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
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
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
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
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
Redni – potvrdni broj
4000 5000 60001000 2000 3000
4000 50001000 2000 3000
4000 3000 ……..……..
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
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
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
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
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
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
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
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
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
Prijenosna razina
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.
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
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
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)
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)
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
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
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
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
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|
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
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)
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
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
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
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
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)
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)
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
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
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
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
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
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”
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
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
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
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