×
volba timeoutu (TCP)
•
otázka:
–
jak volit dobu, po kterou má
odesilatel čekat na potvrzení?
•
velikost timeoutu
–
když bude příliš velká
•
bude čekat zbytečně – špatné
–
když bude příliš malá
•
"zpanikaří" předčasně,
začne podnikat nápravné akce zbytečně
–
velikost timeoutu výrazně ovlivňuje
efektivnost protokolu, který zajišťuje spolehlivý přenos
•
záměry protokolu TCP:
–
snaha přizpůsobit se různým
podmínkám
•
rozlehlé sítě a lokální sítě, různě
dlouhá doba obrátky (RTT, Round Trip Time)
–
snaha přizpůsobit se měnícím se
podmínkách
•
doba obrátky se může dynamicky
měnit, podle zátěže sítě atd.
–
dělá to dobře = je efektivní
v LAN i WAN
•
ale je kvůli tomu i značně
komplikovaný
•
princip:
–
TCP průběžně monitoruje chování
sítě, a podle něj mění délku časového intervalu, po který čeká na potvrzení
•
ve skutečnosti:
–
TCP monitoruje "dobu
obrátky"
•
nepozná přenosové zpoždění, ale
sleduje za jak dlouho dostává odpovědi
–
TCP vyhodnocuje:
•
vážený průměr dob obrátky (RTT)
•
rozptyl dob obrátky
–
"čekací dobu" TCP
vypočítává jako funkci váženého průměru a rozptylu
•
výsledný efekt:
–
"čekací doba" vychází
"těsně nad" střední dobou obrátky
•
je-li doba obrátky konstantní,
čekací doba se jí více přibližuje
•
jakmile se doba obrátky začíná
měnit, čekací doba se zvětšuje
–
dobře to reaguje na:
•
prodlužování doby obrátky při
"dávkách paketů"
•
zkrácení doby obrátky po odeslání
dávky paketů