नेटवर्क अनुसूचक

एक नेटवर्क शेड्यूलर, जिसे पैकेट शेड्यूलर, क्यूइंग डिसिप्लिन (क्यूडिस्क) या क्यूइंग एल्गोरिथम भी कहा जाता है, पैकेट बदली  कम्युनिकेशन नेटवर्क में नोड (नेटवर्किंग) पर एक आर्बिटर (इलेक्ट्रॉनिक्स) है। यह प्रोटोकॉल स्टैक और  नेटवर्क इंटरफ़ेस नियंत्रक  के प्रेषण और प्राप्त कतार (सार डेटा प्रकार) में नेटवर्क पैकेट के अनुक्रम का प्रबंधन करता है। विभिन्न ऑपरेटिंग सिस्टम के लिए कई नेटवर्क शेड्यूलर उपलब्ध हैं, जो मौजूदा नेटवर्क शेड्यूलिंग एल्गोरिदम में से कई को लागू करते हैं।

नेटवर्क अनुसूचक तर्क तय करता है कि किस नेटवर्क पैकेट को आगे बढ़ाया जाए। नेटवर्क शेड्यूलर एक क्यूइंग सिस्टम से जुड़ा होता है, जो नेटवर्क पैकेट को अस्थायी रूप से तब तक स्टोर करता है जब तक कि वे ट्रांसमिट नहीं हो जाते। सिस्टम में एक या कई कतारें हो सकती हैं, इस स्थिति में प्रत्येक में एक ट्रैफ़िक प्रवाह (कंप्यूटर नेटवर्किंग), ट्रैफ़िक वर्गीकरण या प्राथमिकता के पैकेट हो सकते हैं।

कुछ मामलों में सिस्टम की बाधाओं के भीतर सभी प्रसारणों को शेड्यूल करना संभव नहीं हो सकता है। इन मामलों में नेटवर्क अनुसूचक यह तय करने के लिए जिम्मेदार है कि किस ट्रैफ़िक को आगे बढ़ाया जाए और किसे पैकेट हानि हो।

शब्दावली और जिम्मेदारियां
एक नेटवर्क अनुसूचक के पास विशिष्ट नेटवर्क यातायात नियंत्रण पहलों के कार्यान्वयन की जिम्मेदारी हो सकती है। नेटवर्क ट्रैफिक कंट्रोल नेटवर्क संकुलन, लेटेंसी और पैकेट लॉस को कम करने के उद्देश्य से सभी उपायों के लिए एक व्यापक शब्द है। विशेष रूप से, सक्रिय कतार प्रबंधन (AQM) अत्यधिक नेटवर्क भीड़ को रोकने के बड़े लक्ष्य को प्राप्त करने के लिए कतारबद्ध नेटवर्क पैकेटों का चयनात्मक ड्रॉपिंग है। शेड्यूलर को यह चुनना होगा कि कौन से पैकेट ड्रॉप करने हैं।  यातायात को आकार देना  ट्रांसमिशन पैकेट में देरी होने पर ट्रैफिक प्रवाह की बैंडविड्थ आवश्यकताओं को सुगम बनाता है जब वे फटने में कतारबद्ध होते हैं। अनुसूचक प्रेषित पैकेट के लिए समय तय करता है। सेवा की गुणवत्ता (QoS) सेवा वर्ग (विभेदित सेवाओं) या आरक्षित कनेक्शन (एकीकृत सेवाओं) के आधार पर यातायात की प्राथमिकता है।

एल्गोरिदम
समय के साथ कई नेटवर्क क्यूइंग विषयों का विकास किया गया है। इनमें से प्रत्येक विभिन्न ट्रांसमिट या डेटा बफ़र प्राप्त करने के अंदर नेटवर्क पैकेट को विशिष्ट रीऑर्डरिंग या ड्रॉपिंग प्रदान करता है। क्यूइंग अनुशासन आमतौर पर विभिन्न नेटवर्किंग स्थितियों की भरपाई के प्रयासों के रूप में उपयोग किए जाते हैं, जैसे नेटवर्क पैकेट के कुछ वर्गों के लिए नेटवर्क विलंबता को कम करना, और आम तौर पर क्यूओएस उपायों के हिस्से के रूप में उपयोग किया जाता है। नेटवर्क ट्रैफ़िक के प्रबंधन के लिए उपयुक्त एल्गोरिदम के उदाहरणों में शामिल हैं:


 * एवीक्यू (अनुकूली आभासी कतार)
 * सीबीक्यू (वर्ग-आधारित क्यूइंग) अनुशासन
 * चोके (प्रतिक्रियात्मक प्रवाह के लिए चुनें और रखें, अनुत्तरदायी प्रवाह के लिए चुनें और मारें) लाल रंग का एक रूप है
 * CoDel (नियंत्रित विलंब) और FQ-CoDel (प्रवाह कतार CoDel)
 * CAKE (कतार प्रबंधन एल्गोरिथ्म) (सामान्य अनुप्रयोगों को बढ़ाया गया), लिनक्स कर्नेल में लागू किया गया
 * क्रेडिट-आधारित उचित कतार
 * डीआरआर (घाटा राउंड रॉबिन) और डीडब्ल्यूआरआर, कार्यान्वयन उदा। लिनक्स कर्नेल के लिए पैट्रिक मैकहार्डी द्वारा लिखित और जीएनयू जनरल पब्लिक लाइसेंस के तहत प्रकाशित।
 * अक्सर पूछे जाने वाले प्रश्न (पक्ष कतार)
 * FQ-PIE (फ्लो क्यू आनुपातिक इंटीग्रल कंट्रोलर एन्हांस्ड)
 * जीसीआरए ( सामान्य सेल दर एल्गोरिथ्म )
 * एचएफएफ (भारी हिटर फिल्टर)
 * एचएफएससी (पदानुक्रमित मेला-सेवा वक्र)
 * HTB (टोकन बकेट#श्रेणीबद्ध टोकन बकेट)
 * QFQ ( त्वरित निष्पक्ष कतार )
 * एफक्यू (निष्पक्ष कतार) और डब्ल्यूएफक्यू (भारित उचित कतार)
 * फीफो (फीफो (कम्प्यूटिंग और इलेक्ट्रॉनिक्स)|फर्स्ट इन, फर्स्ट आउट)
 * pkt_sched: fq: फेयर क्यू पैकेट शेड्यूलर
 * NETEM नेटवर्क एमुलेटर
 * पीआईई (आनुपातिक अभिन्न नियंत्रक बढ़ाया गया)
 * लाल (यादृच्छिक प्रारंभिक पहचान)
 * ARED (रैंडम अर्ली डिटेक्शन#ARED)
 * जीआरईडी (सामान्यीकृत यादृच्छिक प्रारंभिक पहचान)
 * आरआरईडी (मजबूत यादृच्छिक प्रारंभिक पहचान)
 * WRED (भारित यादृच्छिक प्रारंभिक पहचान)
 * आरआर (राउंड-रॉबिन शेड्यूलिंग | राउंड-रॉबिन) और डब्ल्यूआरआर (भारित राउंड रॉबिन)
 * SFB (नीला (कतार प्रबंधन एल्गोरिथ्म)) और साथ ही RSFB (लचीला SFB)
 * (स्टोकेस्टिक फेयरनेस क्यूइंग)
 * टीबीएफ ( टोकन बाल्टी फिल्टर )
 * TEQL (तुच्छ लिंक तुल्यकारक)

उपरोक्त में से कई लिनक्स कर्नेल मॉड्यूल के रूप में कार्यान्वित किए गए हैं और मुफ़्त और ओपन-सोर्स सॉफ़्टवेयर हैं।

बफरब्लोट
बफ़रब्लोट पैकेट-स्विच्ड नेटवर्क में एक घटना है जिसमें पैकेटों के अतिरिक्त बफर (दूरसंचार) आईएनजी उच्च विलंबता (इंजीनियरिंग) और पैकेट विलंब भिन्नता का कारण बनता है। बफ़रब्लोट को एक नेटवर्क अनुसूचक द्वारा संबोधित किया जा सकता है जो अनावश्यक रूप से उच्च बफ़रिंग बैकलॉग से बचने के लिए रणनीतिक रूप से पैकेट को छोड़ देता है। उदाहरणों में CoDel, FQ-CoDel और रैंडम अर्ली डिटेक्शन शामिल हैं।

लिनक्स कर्नेल
लिनक्स कर्नेल पैकेट अनुसूचक लिनक्स कर्नेल के नेटवर्क स्टैक का एक अभिन्न अंग है और उदाहरण के लिए, OSI मॉडल की सूचना श्रंखला तल पर काम करके और ईथरनेट फ्रेम को संभालने के द्वारा, सभी NIC के ट्रांसमिट और रिसीव रिंग बफर का प्रबंधन करता है।

पैकेट शेड्यूलर नामक उपयोगिता का उपयोग करके कॉन्फ़िगर किया गया है  (यातायात नियंत्रण के लिए संक्षिप्त)। डिफ़ॉल्ट क्यूइंग अनुशासन के रूप में, पैकेट अनुसूचक एक फीफो कार्यान्वयन का उपयोग करता है जिसे pfifo_fast कहा जाता है, हालाँकि इसके संस्करण 217 के बाद से systemd डिफ़ॉल्ट क्यूइंग अनुशासन को बदल देता है.

ई> और  उपयोगिताएँ सिस्टम प्रशासकों को बफर आकार को कॉन्फ़िगर करने में सक्षम बनाती हैं   और   प्रत्येक डिवाइस के लिए उनके आकार की परवाह किए बिना ईथरनेट फ्रेम की संख्या के संदर्भ में अलग से। लिनक्स कर्नेल के नेटवर्क स्टैक में कई अन्य बफ़र्स होते हैं, जिन्हें नेटवर्क शेड्यूलर द्वारा प्रबंधित नहीं किया जाता है।

बर्कले पैकेट फ़िल्टर फ़िल्टर को पैकेट शेड्यूलर के क्लासिफायर से जोड़ा जा सकता है। 2015 में लिनक्स कर्नेल के संस्करण 4.1 द्वारा लाया गया eBPF कार्यक्षमता क्लासिक BPF प्रोग्रामेबल क्लासिफायर को eBPF तक बढ़ाता है। इन्हें एलएलवीएम ईबीपीएफ बैकएंड का उपयोग करके संकलित किया जा सकता है और  उपयोगिता।

बीएसडी और ओपनबीएसडी
एएलटीक्यू बर्कले सॉफ्टवेयर वितरण के लिए एक नेटवर्क अनुसूचक का कार्यान्वयन है। ओपनबीएसडी संस्करण 5.5 एएलटीक्यू के रूप में एचएफएससी अनुसूचक द्वारा प्रतिस्थापित किया गया था।

यह भी देखें

 * कतारबद्ध सिद्धांत
 * सांख्यिकीय समय विभाजन बहुसंकेतन
 * सेवा का प्रकार