कम विलंबता 10GbE के लिए टीसीपी भीड़ नियंत्रण -> 1GE नेटवर्क?


11

मेरे पास एक स्विच के लिए 10GbE कनेक्शन के साथ एक सर्वर है, और एक ही स्विच के लिए 1GbE कनेक्शन वाले प्रत्येक 10 ग्राहक हैं।

प्रत्येक क्लाइंट पर समानांतर में चल रहे Nuttcp, मैं डेटा की 10 टीसीपी स्ट्रीम को एक साथ वायर स्पीड पर बंद कर सकता हूं (यानी एक साथ सभी 10 क्लाइंट से 100 मेगाबाइट प्रति सेकंड की शर्म)।

हालाँकि, जब मैं दिशा को उलट देता हूं और सर्वर से क्लाइंट को डेटा भेजता हूं - यानी, 10 टीसीपी स्ट्रीम, प्रत्येक क्लाइंट पर जाने वाला - टीसीपी रिट्रांसमिशन स्काईरकेट और प्रदर्शन 30, 20 या प्रति सेकंड 10 मेगाबाइट तक गिर जाता है। प्रति ग्राहक। मैं इन नंबरों को प्राप्त करना चाहता हूं, क्योंकि यह ट्रैफिक पैटर्न उन कुछ अनुप्रयोगों का प्रतिनिधि है जिनकी मुझे परवाह है।

मैंने सत्यापित किया है कि मेरा सर्वर एक समान सर्वर के लिए 10GbE कनेक्शन पर एक ही प्रयोग करके 10GbE लिंक को संतृप्त करने में सक्षम है। मैंने सत्यापित किया है कि मेरे किसी भी पोर्ट पर कोई त्रुटि नहीं है।

अंत में, जब मैं रिसीवर के टीसीपी विंडो के आकार को जबरन क्लैंप (सीमा) करता हूं, तो मुझे बैंडविड्थ कुछ अधिक (30-40 मेगाबाइट / सेकंड) मिल सकती है; और अगर मैं इसे बहुत कम कर देता हूं, तो मैं रेट्रांस्मिशन को शून्य पर ले जा सकता हूं (बैंडविड्थ कम मात्रा में)।

इस प्रकार मुझे पूरा विश्वास है कि मैं अपने स्विच में बफ़र्स को ओवररेल कर रहा हूं, जिसके परिणामस्वरूप कंजेशन के कारण पैकेट लॉस हो रहा है। हालांकि, मुझे लगा कि टीसीपी के भीड़ नियंत्रण को इस अच्छी तरह से निपटना चाहिए था, अंततः तार की गति के 50% से ऊपर कुछ पर स्थिर होना चाहिए।

तो मेरा पहला सवाल बहुत सरल है: मेरी स्थिति के लिए कौन सा टीसीपी भीड़ नियंत्रण एल्गोरिथ्म सबसे अच्छा होगा? उनमें से एक टन उपलब्ध है, लेकिन वे ज्यादातर हानिपूर्ण नेटवर्क या उच्च-बैंडविड्थ उच्च-विलंबता नेटवर्क या वायरलेस नेटवर्क पर लक्षित होने लगते हैं ... जिनमें से कोई भी मेरी स्थिति पर लागू नहीं होता है।

दूसरा सवाल: क्या मैं कुछ और कोशिश कर सकता हूं?


1
यह जानना उपयोगी होगा कि स्विच का कौन सा मॉडल है। विभिन्न स्विच अलग-अलग तरीकों से कतारबद्ध होते हैं, और एक समाधान को संकीर्ण करने में मदद करते हैं।
scottm32768

2
इसके अलावा विभिन्न स्विच के अलग-अलग बफर आकार होते हैं, इसलिए स्विच मॉडल को जानने से आपकी समस्या से हार्डवेयर समस्याओं को समाप्त करने में मदद मिलेगी।
cpt_fink

1
इसके अलावा, NIC मॉडल, ड्राइवर, लिनक्स संस्करण, कर्नेल, वितरण, आदि Cisco 4900M के साथ Myricom या Solarflare NIC के लिए मेरे उत्तर एक डेल पॉवरकनेक्ट स्विच और Intel NIC से भिन्न होंगे।
ewwhite

जवाबों:


2
  1. आप एक एल्गोरिथ्म चाहते हैं जहां एक पैकेट ड्रॉप होने पर खिड़की का आकार बहुत कम न हो। यह खिड़की के आकार में भारी गिरावट है जिसके परिणामस्वरूप टीसीपी ट्रैफिक के साथ अचानक गिरावट होती है।

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.