Мрежен распоредувач

Мрежен распоредувач, исто така наречен пакетен  распоредувач, дисциплина на редови, алгоритам на редење или qdisc, е арбитер на јазол во комуникациска мрежа за префрлање на пакети. Тој управува со низата мрежни пакети во преносот и прима редици на контролорот на мрежниот интерфејс. Постојат неколку мрежни распоредувачи на располагање за различни оперативни системи, кои спроведуваат многу од постојните алгоритми за мрежно закажување .

Логиката на мрежниот распоредувач одлучува кој мрежен пакет да го проследува следниот. Мрежниот распоред е поврзан со системот на чекање, привремено чувајќи ги мрежните пакети додека не се пренесат. Системите можат да имаат единечни или повеќе редици во кои случаи секој може да ги држи пакетите на еден проток, класификација или приоритет.

Во некои случаи, можеби не е можно да се закажат сите преноси во рамките на ограничувањата на системот. Во овие случаи, мрежниот распоред е одговорен да одлучи кој сообраќај да се препрати и што се намалува .

 Терминологија и одговорности 
Мрежа распоредувач може да има одговорност за спроведување на специфични иницијативи за мрежна контрола на сообраќајот . Контрола на мрежниот сообраќај е термин за чадор за сите мерки насочени кон намалување на загубата на застој, латентност и пакет. Поточно, активното управување со редици (AQM) е селективно спуштање на мрежните пакети со редици за да се постигне поголема цел за спречување на прекумерно мрежно метеж. Распоредот мора да избере кои пакети да се спуштат. Формирањето сообраќај ги измазнува барањата за ширина на опсегот на сообраќајот со одложување на преносни пакувања кога ќе се редат во рафали. Распоредот го одредува времето за пренесените пакети. Квалитет на услугата (QoS) е приоретизација на сообраќајот заснован на услугата класа (диференцирани услуги) или резервирана врска (Интегрирани услуги).

 Алгоритми 
Со текот на времето, развиени се многу дисциплини на мрежни задачи. Секое од овие обезбедува специфично преуредување или вадење на мрежни пакети во разни преносни или приемни амортизери. Дисциплините на редици обично се користат како обиди за компензација на различни услови за мрежно поврзување, како што се намалување на латентноста за одредени класи мрежни пакети, и обично се користат како дел од мерките за QoS.

Примери на алгоритми погодни за управување со мрежниот сообраќај вклучуваат: 
 AVQ (adaptive virtual queue)http://citeseerx.ist.psu.edu/viewdoc/download?doi=10 јануари 1.108.4477&rep=rep1&type=pdf
 CBQ (class-based queueing]]) discipline
 CHOKe (CHOose and Keep for responsive flows, CHOose and Kill for unresponsive flows) е варијанта на RED
 CoDel (controlled delay) и fair/flow queue CoDel
 CAKE (Common Applications Kept Enhanced), имплементирано во Linux kernel
 Credit-based fair queuing
 DRR (deficit round robin) и DWRR, имплементациски пример напишан од Патрик Мекхарди за Linux kernel и издадено под GNU General Public License.
 FaQ (FavourQueue)
 GCRA (generic cell rate algorithm)
 HFF (heavy-hitter filter)
 HFSC (hierarchical fair-service curve)
 HTB (Hierarchical token bucket)
 QFQ (quick fair queueing)
 FQ (fair queuing) и WFQ (weighted fair queuing)
 FIFO 
 pkt_sched: fq: fair queue packet scheduler 
 NETEM network emulator
 PIE (proportional integral controller enhanced)
 RED (random early detection)
 ARED (random early detection#ARED|advanced random early detection)
 GRED (generalized random early detection)
 RRED (robust random early detection) 
 WRED (weighted random early detection)
 RR (Round-robin scheduling) и WRR (weighted round robin)
 SFB (stochastic fair blue) како и RSFB (resilient SFB)
  (stochastic fairness queuing)
 TBF (token bucket filter)
 TEQL (trivial link equalizer)
 Неколку од горенаведените се имплементирани како модули за јадрото на Линукс  и се слободно достапни .

 Непотребна амортизација на мрежата 
Непотребна амортизација на мрежата (Bufferbloat) е феномен во пакетно-прекинувачките мрежи во која вишокот на визуелниот на пакети предизвикува висока латентност и пакет одложување варијација . На Bufferbloat-от може да му се обрати мрежен распоредник, кој стратешки ги отфрла пакетите за да избегне непотребно висока заостаната во тампон. Примерите вклучуваат CoDel и Случајно рано откривање.

 Имплементација 

 Кернелот на Linux 
мини|Распоредот на пакетите Linux кернелот е дел од мрежниот магазин, заедно со netfilter, nftables и Filter Filter.
Распоредот на пакетите Linux кернелот е составен дел од мрежниот магацин на Linux кернелот и управува со преносот и примањето на прстенестите тампони на сите NIC, работејќи на слојот 2 на моделот OSI и ракувајќи со рамки на Етернет, на пример.

Распоредот на пакетите е конфигуриран со помош на алатката наречена tc (краток за "контрола на сообраќајот"). Како стандардна дисциплина на редици, распоредувачот на пакети користи FIFO имплементација наречена pfifo_fast, иако е систематизиран од својата верзија 217 ја менува стандардната дисциплина на редици на задачи во fq_codel.

Комуналните услуги ifconfig и ip им овозможуваат на администраторите на системот да ги конфигурираат txqueuelen и rxqueuelen за секој уред одделно во однос на бројот на рамки на Етернет, без оглед на нивната големина. Мрежата со јадрото на Linux Linux содржи неколку други амортизери, кои не управуваат со мрежниот распоред.

Филтрите на Berkeley Packet Filter можат да бидат прикачени на класификаторите на распоредот на пакетите. Функционалноста eBPF, донесена со верзијата 4.1 од кернелот Linux во 2015 година, ги проширува класичните класификатори за програмирање на програмата BPF до eBPF. Овие може да се соберат со помош на заднинскиот дел на LLVM eBPF и да се вчитаат во јадрото што работи со помош на tc алатката.

 BSD и OpenBSD 
ALTQ е имплементација на мрежен распоред за BSDs . Од верзијата 5.5 на OpenBSD, ALTQ беше заменет со распоредувачот HFSC.

 Поврзано 
 Метеж на мрежата

 Белешки 

 Наводи