Random early detection

thumb

Random early detection (RED) je algoritmus pre správu frontu a pre prevenciu zahltenia.

Pri bežnom algoritme tail drop zaraďuje do frontu (buffera) router či iný sieťový komponent toľko paketov, koľko sa vojde a ostatné jednoducho zahodí. Zahltenie je stav, kedy je front neustále plný. Tail drop nerozdeľuje rovnomerne miesto vo fronte medzi jednotlivé toky. Tiež môže spôsobiť, že všetky TCP spojenia sa súčasne odmlčia a potom súčasne znova začnú vysielať - TCP globálna synchronizácia. Tak sa sieť v cykloch nevyužíva a následne preťažuje.

RED existuje na riešenie týchto problémov. Neustále sleduje priemernú dĺžku frontu a zahadzuje (alebo označuje - v prípade použitia s ECN) pakety na štatistickom základe. Ak je front takmer prázdny, všetky prichádzajúce pakety sú prijaté. S nárastom dĺžky frontu rastie aj pravdepodobnosť zahodenia paketu. Pri zaplnení frontu je pravdepodobnosť zahodenia 1 a zahadzujú sa všetky prichádzajúce pakety.

RED preto rozdeľuje miesto vo fronte rovnomernejšie ako tail drop. Čím väčší je tok, tým častejšie budú jeho pakety zahadzované. Tým aj predchádza TCP globálnej synchronizácii.

RED činí diferenciáciu QoS nemožnou. Weighted RED (WRED) a RED In/Out (RIO) poskytujú skorú detekciu s istými ohľadmi na QoS.

Externé odkazy
Všeobecný jednoduchý simulátor RED pre vzdelávacie účely

Kategória:Smerovanie