एक तरह से नेटवर्क विलंबता को मापना


20

यह मेरे द्वारा बनाई गई नेटवर्क विलंबता को मापने के बारे में एक पहेली है। मेरा मानना ​​है कि समाधान यह है कि यह असंभव है, लेकिन मित्र असहमत हैं। मैं किसी भी तरह समझाने के लिए देख रहा हूँ। (हालांकि यह एक पहेली के रूप में प्रस्तुत किया गया है, मुझे लगता है कि यह इस वेब साइट पर फिट बैठता है क्योंकि संचार प्रोटोकॉल के डिजाइन और अनुभव के लिए इसकी प्रयोज्यता जैसे ऑनलाइन गेम, एनटीपी का उल्लेख नहीं करना है।)

मान लीजिए कि दो रोबोट दो कमरों में हैं, एक नेटवर्क द्वारा अलग-अलग एक-तरफ़ा अक्षांशों के साथ जुड़ा हुआ है जैसा कि नीचे ग्राफिक में दिखाया गया है। जब रोबोट A रोबोट B को संदेश भेजता है तो उसे आने में 3 सेकंड लगते हैं, लेकिन जब रोबोट B रोबोट A को संदेश भेजता है तो उसे पहुंचने में 1 सेकंड का समय लगता है। लेटेंसी कभी भिन्न नहीं होती हैं।

रोबोट समान हैं और उनके पास एक साझा घड़ी नहीं है, हालांकि वे समय बीतने को माप सकते हैं (जैसे उनके पास स्टॉप घड़ियों हैं)। वे नहीं जानते कि उनमें से कौन सा रोबोट ए है (जिनके संदेशों में 3 एस की देरी है) और जो रोबोट बी है (जिनके संदेशों में 1 एस की देरी है)।

गोल यात्रा समय की खोज करने के लिए एक प्रोटोकॉल है:

whenReceive(TICK).then(send TOCK)

// Wait for other other robot to wake up
send READY
await READY
send READY

// Measure RTT
t0 = startStopWatch()
send TICK
await TOCK
t1 = stopStopWatch()
rtt = t1 - t0  //ends up equalling 4 seconds

क्या एक तरह से ट्रिप देरी का निर्धारण करने के लिए एक प्रोटोकॉल है? क्या रोबोट यह पता लगा सकते हैं कि उनमें से किसने देरी से संदेश भेजा है?

दो रोबोट एक असममित नेटवर्क


5
असममित विलंब वाले नेटवर्क में घड़ी का सिंक्रनाइज़ेशन देखें (जो कि विशिष्ट इंटरनेट बुनियादी ढांचे के साथ कुछ करने योग्य है)। मुझे लगता है कि हमने उस प्रश्न के गलत उत्तर पर चर्चा करते समय जो देखा, वह आपके प्रश्न का उत्तर है कि यह असंभव है।
गिल्स एसओ- बुराई को रोकना '

क्या हमें प्रश्नों को मर्ज करना चाहिए, या वे अलग रखने के लिए लक्ष्य में पर्याप्त भिन्न हैं?
क्रेग गिदनी

नहीं, वे अलग सवाल हैं। आपका प्रश्न स्थापित करता है कि दो-मशीन सेटिंग में यह असंभव है कि केवल संदेश पास हो। मैं क्लाइंट और सर्वर के बीच मार्ग पर कुछ मध्यवर्ती लिंक के लिए उपलब्ध होने वाली विलंबता सूचना, क्लाइंट के लिए इस जानकारी को प्रचारित करने के लिए किसी तरह के समाधान के आधार पर उम्मीद कर रहा हूं।
गिल्स एसओ- बुराई को रोकना '

3
यदि ऐसा करने का कोई तरीका होता, तो आइंस्टीन का सापेक्षता का सिद्धांत काम नहीं करता, क्योंकि यह इस बात पर निर्भर करता है कि दो पर्यवेक्षक जो अंतरिक्ष की तरह अलग-अलग हैं और अज्ञात एक-तरफ़ा विलंबता उचित समय पर सहमत नहीं हो सकते हैं।
पीटर शोर

NTP वास्तव में एक दूसरे को अपना समय भेजने वाली मशीनों के आधार पर इस अंतर में देरी को मापने / लागू करने की अनुमति देता है और न केवल अपने स्वयं के msgs बल्कि अन्य सामग्री के माध्यम से संदेश भेजने / प्राप्त करने पर नज़र रखता है,
गिल्स

जवाबों:


14

मेरे द्वारा लिखे गए ब्लॉग पोस्ट से निम्नलिखित चित्र, एक दृश्य प्रमाण है कि यह असंभव है:

घड़ी तिरछी स्लाइडिंग बिल्कुल विलंबता विषमता द्वारा ऑफसेट

ध्यान दें कि हर तरफ पैकेट आने का समय एक जैसा रहता है, यहां तक ​​कि जैसे-जैसे एक-तरफा विलंबता बदलती है (और नकारात्मक भी हो जाती है!)। पहला पैकेट हमेशा सर्वर की घड़ी में 1.5s पर सर्वर तक पहुंचता है, दूसरा हमेशा ग्राहक की घड़ी में 2s पर ग्राहक तक पहुंचता है, आदि पैकेट सामग्री और स्थानीय आगमन समय केवल एक प्रोटोकॉल पर आधारित हो सकता है, लेकिन हैं सामग्री और आगमन के समय को स्थिर रखा जा सकता है क्योंकि विषमता प्रारंभिक घड़ी के तिरछेपन से भिन्न होती है।

मूल रूप से, एक-तरफ़ा विलंबता में विषमता बिल्कुल घड़ी की तिरछी तरह दिखती है । चूंकि समस्या बताती है कि हम प्रारंभिक घड़ी तिरछा या एक-तरफा विलंबता विषमता को जानना शुरू नहीं करते हैं, और एक दूसरे को बदलती हुई दिखती है, इसलिए उनका प्रभाव अप्रत्यक्ष है, हम हल करने के लिए उनके योगदान को अलग नहीं कर सकते। एक तरह से विलंबता विषमता। यह नामुमकिन है।

औपचारिक रूप से, आप केवल चक्र की लंबाई दिए जाने पर किनारे की लंबाई के लिए हल नहीं कर सकते। साइकिल के आधार में डिग्री की स्वतंत्रता है, जो कि प्रतिभागियों में से एक के सापेक्ष n - 1 अज्ञात घड़ी स्क्यूज़ के समान है। आप हमेशा एक-तरफ़ा विलंबता छिपा सकते हैं, तब भी जब कई प्रतिभागी हों:n-1n-1

समुद्र की बीमारी

यदि आप इतने नेत्रहीन नहीं हैं, तो मेरे पास एक और सहज तर्क है। भविष्य में एक सौ साल के लिए समय पोर्टल की कल्पना करें। जब आप दूसरी तरफ किसी से चैट करते हैं, तो आपको एहसास होता है कि एक साल की देरी में सौ साल की विषमता के बावजूद बातचीत पूरी तरह से सामान्य है। कोई भी अवलोकन प्रभाव उस पैमाने पर स्पष्ट होता!


इस बारे में आपकी क्या राय है? software.internet2.edu/owamp
CMCDragonkai

@CMCDragonkai ध्यान रखें कि पहेली कथन वास्तविकता से अधिक प्रतिबंधात्मक है। व्यवहार में आपके पास फाइबर ऑप्टिक लाइनों की लंबाई को मापने, मध्यवर्ती बिंदुओं पर लॉग इन करने, नेटवर्क टोपोलॉजी के ज्ञान का उपयोग करने, धीरे-धीरे एक घड़ी से दूसरे स्थान पर ले जाने आदि जैसे विकल्प हैं। उदाहरण के लिए, जीपीएस उपग्रह ज्ञात कक्षाओं में चलते हैं और आप हल करते समय स्वतंत्रता की डिग्री को हटाने के लिए इसका उपयोग कर सकते हैं। इसलिए सतह पर मैं किसी भी मुद्दे को एक तरफा पिंग टूल के साथ नहीं देखता हूं, जब तक कि यह या उस पर निर्भर घड़ियां उस मीठी मीठी तृतीयक जानकारी का फायदा उठा रही हैं।
क्रेग गिदनी

उस स्थिति में, क्या आप अपने उत्तर को संभावित कार्य के साथ अपडेट कर सकते हैं?
CMCDragonkai

@CMCDragonkai टिप्पणियों में उनका होना पर्याप्त है। वे पहेली के दायरे से परे हैं।
क्रेग गिदनी

एक तरफ़ा विलंबता मायने रखती है, उदाहरण के लिए खेल नेटवर्किंग के लिए। इसके अलावा, हर कोई असंभव कहता है, लेकिन मैं आसानी से कागज पर पहेली को हल कर सकता हूं - एक बार जब आप घड़ियों को सिंक्रनाइज़ करते हैं, तो आप जो कुछ भी करते हैं वह ए से बी तक देरी को मापता है ए से बी को भेजकर ए-> बी देरी के बराबर होता है B's time - A's sent time, और B-> A का बराबर होनाlatency - A->B delay
Llamageddon 15

1

मुझे लगता है कि स्टॉपवॉच की तुलना करके सिर्फ एक तरफ़ा विलंबता का पता लगाना असंभव है।

बीसी1
बीसीबी1=1
सी2=9
बीसीबी2=5
बी

हो सकता है कि अगर आप इसे एक गंभीर प्रश्न बनाते हैं तो कोई इसे क्रैक करेगा तब तक, कुडो।


0

मैंने बीओटीएच को यह पता लगाने का एक तरीका ढूंढ लिया है कि कौन सा नोड कौन है (यानी जिसके पास लंबा संदेश देरी है) और एक रास्ता यात्रा में देरी का अनुमान है। जबकि अन्य उत्तर सही हैं, वे केवल प्रत्यक्ष घड़ी माप पर विचार कर रहे हैं, जो निश्चित रूप से काम नहीं कर सकता है। हालाँकि जैसा कि मैं यहाँ साबित कर रहा हूँ कि यह कहानी का केवल एक हिस्सा है क्योंकि यहाँ उपरोक्त के लिए मेरा काम करने वाला एल्गोरिदम है:

वास्तविक जीवन में मानो:

  • परिमित बैंडविड्थ के लिंक b

  • प्रत्येक नोड का अद्वितीय पता होता है (जैसे A और B)

  • पैकेट आकार पी बैंडविड्थ * विलंबता उत्पाद की तुलना में बहुत छोटा है

  • नोड ए और बी चैनल को भरने में सक्षम हैं

  • नोड्स में एक यादृच्छिक () फ़ंक्शन होता है

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

Always fill the channel with my own packets except:
if I receive a packet from another node then
   Randomly choose to 
          either forward that packet from the other node
          or discard that packet and forward my own packet

सहज बोधक चूंकि A का बैंडविड्थ * विलंबता उत्पाद अधिक है (क्योंकि विलंबता अधिक है) A, B की तुलना में अधिक पैकेट प्राप्त करने का प्रबंधन करेगा, इसलिए प्रत्येक नोड को पता चल सकता है कि वे आरेख में कौन हैं

इसके अलावा, एल्गोरिथ्म के ऊपर चलने के पर्याप्त अभिसरण समय के साथ A से B के पैकेट का अनुपात निरूपित करेगा के RTT विलंब के वास्तविक अनुपात और इसलिए वांछित OTT को दर्शाएगा

SIMULATION RESULT TRACE यहाँ एक सिमुलेशन है जो उपरोक्त साबित होता है और दिखाता है कि A सफलतापूर्वक 3 सेकंड देरी की ओर परिवर्तित हो रहा है और B लगभग 1 सेकंड देरी से परिवर्तित हो रहा है:

सिमुलेशन के पहले सेकंड

सिमुलेशन के बाद के सेकंड

आंकड़ों की व्याख्या: प्रत्येक पंक्ति समय के 1 सेकंड का प्रतिनिधित्व करती है (पैकेट का आकार स्पष्टता के लिए 1 सेकंड का प्रसारण समय चुना जाता है)। ध्यान दें कि प्रत्येक नोड किसी विशेष क्रम या समय में किसी भी समय अहंकार को शुरू कर सकता है। कॉलम निम्नानुसार हैं:

  • NODE A प्राप्त करता है: इसके प्राप्त पक्ष में A किस नोड को देखता है (यह भी नीचे P4 है)

  • NODE एक इंजेक्शन: क्या नोड A भेजता है (ध्यान दें कि यह A है, या यादृच्छिक रूप से A या B है)

  • P1, P2, P3: तीन पैकेट जो A और B के बीच (क्रम में) पारगमन में हैं (1 दूसरा संचरण का मतलब है 3 पैकेट 3 की एक विलंबता के लिए पारगमन में हैं)

  • NODE B प्राप्त करता है: B अपने प्राप्त पक्ष में क्या देखता है (यह P3 है)

  • NODE B इंजेक्शन: क्या B भेजता है (ध्यान दें कि यह B है, या अनियमित रूप से A या B प्रति अहंकार)

  • P4: B से A के पारगमन में पैकेट (P1, P2, P3 भी देखें)

  • ए मायने रखता है: ए पैकेट के लिए गिना जाता है जो उसने देखा है

  • ए काउंट बी: बी ए पैकेट के लिए एक मायने रखता है जो उसने देखा है

  • बी काउंट्स ए: ए बी पैकेट के लिए गिना जाता है जो उसने देखा है

  • बी मायने रखता है बी: बी पैकेट के लिए बी क्या मायने रखता है जो उसने देखा है

  • A-> B: वह विलंबता जो B की ओर अनुमान लगाती है (देखे गए पैकेट के आधार पर 4 सेकंड के RTT का अनुपात)

  • B-> A: B के बारे में B का अनुमान है कि अक्षांश (देखे गए पैकेट के आधार पर 4 सेकंड के RTT का अनुपात)

जैसा कि हम दोनों नोड्स को परिवर्तित कर सकते हैं और अपनी वास्तविक विलंबता के आसपास रह सकते हैं (वास्तव में हम ए के लिए ऐसा नहीं देखते हैं क्योंकि अभिसरण करने के लिए अधिक सेकंड की आवश्यकता होती है, लेकिन यह बी के समान व्यवहार को परिवर्तित करता है)

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

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

निष्कर्ष हमने नेटवर्क में उनकी स्थिति जानने के लिए ए और बी दोनों के लिए एक एल्गोरिथ्म प्रदान किया है और उपरोक्त आरेख के लिए अन्य नोड के लिए उनकी विलंबता को जानते हैं। हमने घड़ी-आधारित दृष्टिकोणों के बजाय एक नेटवर्क माप अनुमान पद्धति का उपयोग किया था जो वास्तव में पुनरावर्ती घड़ी सिंक समस्या के कारण समाधान का कारण नहीं बन सकता है।

नोट मैंने अब इस उत्तर को सभी सिमुलेशन प्रदान करते हुए संपादित किया है क्योंकि कोई भी मुझे विश्वास नहीं करेगा कि मैंने इसे अभी तक हल किया है जैसा कि आप पहली टिप्पणियों में देख सकते हैं। उम्मीद है कि इन परिणामों के साथ कोई व्यक्ति अधिक आश्वस्त हो सकता है और इस नेटवर्क माप पहेली में कम से कम एक त्रुटि या शुद्धता खोजने में हर किसी की मदद करने के लिए अनुमोदन कर सकता है!


3
मुझे नहीं लगता कि यह काम करता है। चूंकि बैंडविड्थ समान है, ए और बी को देखने का एकमात्र अंतर यह है कि यदि वे एक ही समय में शुरू करते हैं, तो बी किसी भी डेटा को प्राप्त करने से पहले 3 एस इंतजार करेगा और ए 1 एस प्रतीक्षा करेगा। लेकिन उनके पास एक साझा घड़ी नहीं है इसलिए वे नहीं जानते कि वे उसी समय शुरू हुए थे। हो सकता है कि A ने 10s के लिए कुछ भी नहीं सुना है क्योंकि उसने पहले प्रोटोकॉल चलाना शुरू किया था।
डेविड रिचेर्बी

किसी को भी किसी भी समय शुरू करने की आवश्यकता नहीं है। किसी भी समय दोनों को कुछ समय के लिए चलना होगा। समय की समीक्षा करने के लिए मैं आपकी सराहना करता हूं लेकिन कृपया फिर से पढ़ें। यह सांख्यिकीय पद्धति है और इसमें अभिसरण शामिल है। मैं यह नहीं कह रहा हूं कि मैं 100% हूं, यह बिल्कुल सही है क्योंकि मैंने अनुकरण नहीं किया है लेकिन आपने जो टिप्पणी की है वह वास्तव में मेरे विचार से लागू नहीं होती है। हो सकता है कि यह आम तौर पर इस विचार की व्याख्या करता है: यदि आप स्वीकार करते हैं कि बैंडविड्थ * देरी उत्पाद दो लिंक के लिए अलग है, तो एक लिंक में वास्तव में अधिक पैकेट होंगे - और इससे ऊपर के
अहंकार

मुझे नहीं लगता कि मैंने गलत समझा है लेकिन यह संभव है। क्या आप इस बात से सहमत हैं कि बैंडविड्थ समान है इसलिए A और B दोनों एक ही दर पर डेटा प्राप्त करते हैं? यदि हां, तो क्या वे दोनों बिल्कुल एक ही चीज में नहीं मिलेंगे?
डेविड रिचेर्बी

हां, वे उसी दर पर प्राप्त करते हैं, इसका मतलब यह नहीं है कि वे एक ही चीज में परिवर्तित होते हैं। नेटवर्क में ए और बी पैकेट हैं सवाल यह है कि देखा गया ए बनाम बी पैकेट का अनुपात क्या है। मैंने अब कुछ सरल सिमुलेशन चलाया और मुझे हर समय पूर्वाग्रह मिलता है। एक अनुमान प्राप्त करने के लिए जब से मुझे लगता है कि मैं पूरी बात यहां पोस्ट नहीं कर सकता, मान लें कि बी 1 पैकेट एक दूसरा ट्रांसमिशन लेता है। फिर पारगमन में हमेशा 4 पैकेट होते हैं। एल्गोरिथ्म और बूम लागू करें हम सिंक्रनाइज़ घड़ी / घटनाओं के तरीकों से बचकर ओटीटी को मापने में कामयाब रहे जो सांख्यिकीय अभिसरण विधियों के साथ काम नहीं करते हैं!
user3134164

"ए बनाम बी के पैकेट का अनुपात" क्या है?
गिल्स एसओ- बुराई को रोकें '

0

यह @ user3134164 का उत्तर है, लेकिन एक टिप्पणी के लिए बहुत बड़ा है।

पीएक्सएक्सआरएक्सएक्स

  • आर1=(1-आर2)×(1-पी2)आर2=(1-आर1)×(1-पी1)1-आर21-पी2 )।
  • आर1आर2आर11-आर1आर21-आर2

यही कारण है कि मुझे विश्वास है कि यह आपको कहीं नहीं ले जाएगा। कृपया इस तर्क के दौरान मुझसे कोई गलती हो सकती है।


कंप्यूटर विज्ञान में आपका स्वागत है ! आपका उत्तर अच्छा लग रहा है, लेकिन जैसा कि आप बताते हैं, वास्तव में @ user3134164 की टिप्पणी पर गहराई से टिप्पणी है। मुझे लगता है कि आप इस मुद्दे को निम्नलिखित तरीकों से हल कर सकते हैं 1) अपने उत्तर का विस्तार करने का प्रयास करें जैसे कि यह वास्तविक प्रश्न का उत्तर भी है । या 2) एक नया प्रश्न बनाएँ जो अनिवार्य रूप से user3134164 की टिप्पणी और स्व-उत्तर से इस तरह के उत्तर के साथ महत्वपूर्ण गलतफहमी पैदा करता है। कौन सा उपयुक्त है आप पर निर्भर है। मुझे लगता है कि शायद एक नया प्रश्न बनाना एक अच्छा विचार है, लेकिन शायद आप जितना सोचते हैं उससे अधिक का विस्तार कर सकते हैं। यदि आपके कोई और प्रश्न हों तो पूछें।
असतत छिपकली

बेशक, @ user3134164 भी एक प्रश्न में टिप्पणी 'को बढ़ावा देने' के लिए स्वतंत्र है,
असतत छिपकली

"Px संभावना है कि रोबोट x अपने स्वयं के पैकेट चुनता है जब वह किसी अन्य रोबोट के पैकेट को प्राप्त करता है" एक कंप्यूटर यादृच्छिक () फ़ंक्शन से धारणा के रूप में आता है - उदाहरण के लिए दो प्रकार के पैकेट के लिए यह हमेशा 0.5 होगा। यदि यादृच्छिक () फ़ंक्शन एक समान है, तो "ए से बी के आरटीटी विलंब के वास्तविक अनुपात" की गणना की जा सकती है। आपकी R परिभाषा से मुझे लगता है कि R1 = (1-R2) * 0.5 इसलिए अनुपात ज्ञात है। इसलिए मुझे अभी भी विश्वास है कि मेरा उत्तर ठीक काम करता है। इसे देखने के लिए समय निकालने के लिए बहुत-बहुत धन्यवाद।
user3134164
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.