[linux] adsl agregacia - a ako na nu :-)

Juraj Bednar juraj na bednar.sk
Sobota Říjen 30 09:08:49 CEST 2004


Ahoj,

> co je meltdown efekt?

mam to akurát otvorené (pozerám si jednu moju a rikiho staršiu prednášku o wifi):

TCP rozdeľuje dáta do tzv. segmentov, ktoré sú zasielané ako osobitné IP
datagramy.  Segmenty obsahujú sekvenčné číslo, ktoré slúži na zoradenie
datagramov, ktoré mohli prísť v inom poradí a acknowledgement číslo,
ktoré hovorí, ktorý segment bol naposledy prijatý druhou stranou. Keďže
sa IP datagramy môžu stratiť, poškodiť alebo prísť v inom poradí,
ako boli odoslané, sekvenčné čísla sa používajú na ich "zoradenie"
do prúdu.  Acknowledgement číslo nepriamo hovorí odosielateľovi, či
sa nejaký paket nestratil.  Ak nepríde očakávané ACK do istého času, 
odosielateľ usúdi, že paket sa stratil a pošle ho znova. V RFC 2001 sa
nachádza popis algoritmov na výpočet timeoutu. Ten je adaptívny a mení sa
s každým segmentom (iný je na 100Mbps ethernete a iný na pomalej modemovej
linke, prispôsobuje sa aktuálnej priepustnosti). Keď segment timeoutne,
nasledujúci timeout je exponenciálne zväčšený.

Teraz si predstavme, čo sa deje pri "zreťazovaní" viacerých TCP do
seba. Vrchná a spodná TCP vrstva majú veľmi pravdepodobne odlišné
časovače. Je možné, že spodná vrstva má pomalšie timeouty ako
vrchná vrstva. Predstavme si, čo sa stane, keď bezdrôtový spoj (alebo
akýkoľvek iný spoj) začne strácať pakety (čo u wireless spojení vo
voľnom pásme nie je vôbec zriedkavý jav). Spodná vrstva timeoutne
a požiada retransmisiu, keďže však vrchná vrstva timeoutne tiež,
tiež požiada o retransmisiu. Keďže vrchná vrstva má kratší timeout,
začne žiadať o retransmisie rýchlejšie ako ich spodná vrstva stihne
spracovávať. Toto spomaľuje spojenie a každá retransmisia len pridáva
na probléme. Retransmisie vrchnej TCP vrstvy sú tu úplne zbytočné a len
zahlcujú linku.

     Juraj.




Další informace o konferenci linux