(linux) tcp कनेक्शन की "गुणवत्ता" की निगरानी के लिए उपकरण?


4

मैं टीसीपी कनेक्शन की गुणवत्ता की निगरानी के लिए एक उपकरण की तलाश कर रहा हूं। मैं यह बताने की कोशिश कर रहा हूं कि मेरा क्या मतलब है:

यह एक ग्राहक और एक सर्वर भाग के साथ एक उपकरण होना चाहिए। क्लाइंट, सर्वर को प्रति सेकंड 1kB डेटा भेजता है, और सर्वर मॉनिटर करता है कि पैकेट कितनी जल्दी डिलीवर होता है।

या, अन्यथा डालें: मैं "पिंग" कमांड के समान कुछ ढूंढ रहा हूं, सिवाय इसके कि मैं एक टीसीपी कनेक्शन का परीक्षण कर सकता हूं, और काफी अधिक बैंडविड्थ के साथ (i। ई। अधिक पैकेट), ई। जी। 1KB / एस।

मुझे अधिकतम थ्रूपुट में दिलचस्पी नहीं है, लेकिन लगातार तेजी से वितरण में। जैसे, कहते हैं, मैं 128kps के एमपी 3 फ़ाइल को 128kps के अधिकतम थ्रूपुट के साथ कनेक्शन पर स्ट्रीम करूंगा, लेकिन कम विलंबता। और मैं तुरंत उस फ़ाइल को प्लेबैक करना चाहूंगा (या, कहूँ, 1 सेकंड बफर के साथ)।

लक्ष्य एक नेटवर्क (इंटरनेट) कनेक्शन की वास्तविक जीवन प्रयोज्य की निगरानी करना है। (और नहीं, मैं नगियोस की तरह उपयोग करने के लिए स्थापित करने और जटिल करने के लिए कुछ जटिल में दिलचस्पी नहीं रखता हूं।

आपका बहुत बहुत धन्यवाद!


नमस्ते, इसे पहली बार stackoverflow.com पर पोस्ट करने के लिए क्षमा करें, यह प्रोग्रामिंग से संबंधित प्रश्न नहीं है। कृपया मेरी अन्य टिप्पणियों को देखें, धन्यवाद!
ernesto che

जवाबों:


1

आप कैसे परिभाषित करते हैं "पैकेट कितनी तेजी से वितरित किए जाते हैं"? यदि आप जानना चाहते हैं कि बिंदु A से बिंदु B तक पहुँचने में एक पैकेट के लिए कितना समय लगता है, तो मुझे लगता है कि यह उप-मिलीसेकंड सटीक घड़ी तुल्यकालन के बिना नहीं हो सकता।

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

अद्यतन करें :

टीसीपी स्टैक को प्रत्येक कनेक्शन के लिए आरटीटी का ट्रैक रखना है। (इसका उपयोग पैकेट ट्रांसमिशन को अनुकूलित करने और विंडो के आकार को प्रबंधित करने के लिए किया जाता है)। यदि आप लिनक्स का उपयोग कर रहे हैं, और यह आपका अपना अनुप्रयोग है, तो आप इसका उपयोग कर सकते हैं getsockopt(fd,.. ,TCP_INFO,...) लौटाए गए डेटा में यह सभी आंतरिक पैरामीटर शामिल हैं। आप प्रत्येक सेकंड में इस डेटा को देख सकते हैं और एक प्रदर्शन ऐप को पाइप कर सकते हैं।


नमस्ते, मुझे बारीक-बारीक डिलीवरी में कोई दिलचस्पी नहीं है। ठीक है, समस्या (अंतिम उपयोगकर्ता के दृष्टिकोण से) है: इंटरनेट कनेक्शन कभी-कभी काम नहीं करता है। "काम नहीं" से मेरा मतलब है कि किसी भी सर्वर से कम से कम 30 सेकंड की अवधि के लिए कुछ मिनटों के लिए बिल्कुल कोई प्रतिक्रिया नहीं, जैसे कि हिक्सअप। और लंबे समय तक इस hickups की निगरानी करना चाहते हैं। इसलिए मैं कुछ मिलीसेकंड विलंबता के लिए नहीं देख रहा हूं, लेकिन सेकंड या मिनट भी जिसके दौरान कोई या बहुत कम पैकेट वितरित किए जाते हैं।

1

आप की तरह लगता है iperf

हालाँकि, क्या आप सुनिश्चित हैं कि आप एक गैर-कार्यात्मक लिंक देख रहे हैं और आपके उपयोगकर्ताओं के कनेक्शन में टीसीपी स्टॉल नहीं है? यदि वे लगातार तीन पैकेट नुकसान देखते हैं, तो अधिकांश टीसीपी स्टाल करेंगे।

क्या आप अपने सिस्टम में सबसे अच्छी टीसीपी भीड़ नियंत्रण का उपयोग कर रहे हैं? विंडोज में, आपको चालू करना चाहिए यौगिक टीसीपी यदि आप कर सकते हैं, तो लिनक्स में आपको संभवतः उपयोग करना चाहिए वेस्टवुड इस आवेदन के लिए।


1

सिर्फ आपकी जानकारी के लिए.. लिनक्स 'पिंग' में यह विकल्प है:

-एस पैकेट
भेजे जाने वाले डेटा बाइट की संख्या निर्दिष्ट करता है। डिफ़ॉल्ट 56 है, जो   64 आईसीएमपी डेटा बाइट्स में अनुवाद   जब ICMP के 8 बाइट्स के साथ संयुक्त   हेडर डेटा।


0

मुझे यकीन नहीं है कि आप एक लंबे समय से चल रहे मॉनिटर, या एक आवेदन की तरह एक बार की परीक्षा के लिए पिंग कर रहे हैं। यदि आप किसी लिंक के टीसीपी प्रदर्शन को प्रोफाइल करना चाहते हैं, तो क्लासिक टूल है NetPIPE । NetPIPE आपको थ्रूपुट और दो-तरफ़ा संचार की विलंबता बता सकता है


नमस्ते, उत्तर के लिए धन्यवाद। मैं एक लंबे समय तक चलने वाला मॉनिटर चाहता हूं, लेकिन यह एक शेल उपयोगिता भी हो सकती है जिसे मैं "स्क्रीन" में चला रहा हूं या फाइल में आउटपुट को पाइप करेगा। NetPIPE को देखने जा रहे हैं।

0

सबसे कम विलंबता के लिए, लेकिन कम त्रुटि सुधार, UDP टीसीपी से बेहतर विकल्प है (उदाहरण के लिए लिनक्स के साथ जैक साउंड सर्वर का बैकएंड है जो इस कारण से यूडीपी पर ऑडियो स्ट्रीम कर सकता है - जैक पूर्ण ध्वनि की गुणवत्ता / प्रो ऑडियो के लिए अधिक उन्मुख है हालांकि उत्पादन)।

चेक आउट Icecast UDP एमपी 3 स्ट्रीमिंग के लिए।


आपकी अन्य प्रतिक्रियाओं को देखते हुए यूडीपी आपके उपयोगकर्ताओं को वितरित करना कठिन हो सकता है ... लेकिन शायद आपको इस दृष्टिकोण के साथ कुछ सफलता मिलेगी, इसलिए मैं केवल इस मामले में छोड़ दूंगा।
Justin Smith

0

सिद्धांत रूप में "निष्क्रिय" मॉनिटर बनाना संभव है। वह मॉनिटर टीसीपी डेटा और एसीके। और मतलब है कि चैनल की स्थिति ठीक है जब अधिकांश डेटा में ACK होता है। और केवल जब डेटा दुर्लभ है, सक्रिय परीक्षण (ICMP पिंग, टीसीपी पिंग) का उपयोग करें। लेकिन im न जाने ऐसे सॉफ्टवेयर।

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