क्या कारण बनता है नकली ACK रिकॉर्ड?


19

हम कुछ क्लाइंट मशीनों से Wireshark कैप्चर की समीक्षा कर रहे हैं, जो कई डुप्लिकेट ACK रिकॉर्ड दिखा रहे हैं, जो तब रिट्रांसमिट और आउट-ऑफ-सीक्वेंस पैकेट को ट्रिगर करता है।

इन्हें निम्नलिखित स्क्रीन शॉट में दिखाया गया है। .26 क्लाइंट है और .252 सर्वर है।

यहाँ छवि विवरण दर्ज करें

क्या कारण बनता है डुप्लीकेट ACK रिकॉर्ड?

अधिक पृष्ठभूमि यदि यह मदद करती है:

हम एक विशेष ग्राहक साइट पर नेटवर्क थ्रूपुट चिंताओं की जांच कर रहे हैं। यूजर इंटरफेस के नजरिए से कथित समस्या यह है कि एक 1 जीबीपीएस डब्ल्यूएएन कनेक्शन के बावजूद डेटा धीरे-धीरे प्रसारित किया जा रहा है।

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

हमने सर्वर पर TcpMaxDupAcks सेटिंग बदलने की कोशिश की, लेकिन हमें जो मूल्य चाहिए वह 5 है और वैध सीमा केवल 1-3 है।

सर्वर विंडोज सर्वर 2003 है। ग्राहक सभी उद्यम विंडोज एक्सपी प्रबंधित होते हैं। दो काम करने वाले सहित सभी ग्राहकों में सिमेंटेक एंटी-वायरस स्थापित है।

यह सैकड़ों में से एकमात्र ग्राहक साइट है जिसने इस समस्या का प्रदर्शन किया है।

pathping समस्या मशीनों से 56ms आरटीटी और लगातार 0/100 पैकेट नुकसान दिखाता है।

धन्यवाद,

सैम


दो एंडपॉइंट के बीच किस प्रकार का रूटिंग स्विचिंग हार्डवेयर है?
स्पेसमैनस्पीफ

@SpacemanSpiff, एक सिस्को एएसआर 1006 राउटर है।
सैम

क्या आईटी कर्मचारी और ग्राहक एक ही स्विचिंग उपकरण पर हैं? क्या आप उनकी एक मशीन को आईटी क्षेत्र में ले जा सकते हैं और समस्या को दूर जाते देख सकते हैं?
स्पेसमैनस्पीफ

जवाबों:


25

नोट: मैं मान रहा हूं कि यह कैप्चर क्लाइंट मशीन पर लिया गया था।

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

क्रम में, विश्वसनीय वितरण अनुक्रम संख्या के उपयोग के माध्यम से कार्यान्वित किया जाता है। प्रत्येक स्ट्रीम में प्रत्येक पैकेट को 32 बिट अनुक्रम संख्या दी गई है (याद रखें कि टीसीपी प्रभावी रूप से डेटा की दो स्वतंत्र धाराएं हैं, ए-> बी और बी-> ए)। यदि A, B को ACK भेजता है, तो ACK फ़ील्ड में मान, B से देखने के लिए अगला अनुक्रम संख्या A है।

ऊपर से, ऐसा प्रतीत होता है कि सर्वर से क्लाइंट को भेजे जा रहे कम से कम एक टीसीपी खंड खो गया था। अनुक्रम में तीन डुप्लिकेट ACK क्लाइंट द्वारा एक तेज रिट्रांसमीटर को ट्रिगर करने का एक प्रयास है । जब एक टीसीपी प्रेषक को डेटा के एक ही टुकड़े के लिए 3 डुप्लिकेट पावती मिलती है (यानी एक ही सेगमेंट के लिए 4 एसीके, जो डेटा का सबसे हाल ही में भेजा गया टुकड़ा नहीं है), तो यह यथोचित रूप से मान सकता है कि सेगमेंट के तुरंत बाद खंड खो दिया गया है नेटवर्क में, और एक तत्काल पुनः प्रसारण में परिणाम।

इस मामले में, री-ट्रांसमिशन के माध्यम से हो जाता है, और विंडसरक द्वारा आउट-ऑफ-ऑर्डर के रूप में पहचाना जाता है।

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

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

यहाँ किस तरह का वान कनेक्शन उपयोग में है? क्या यह एक समर्पित लाइन है? MPLS वीपीएन लिंक? सार्वजनिक इंटरनेट पर IPsec VPN? कुछ और?


आपकी टिप्पणियों के लिए आभार। आप सही हैं, पैकेट कैप्चर क्लाइंट से है। अगर मुझे समझ में आया कि आप क्या कह रहे हैं, तो डुप्लिकेट ACK क्लाइंट कुछ गलत नहीं कर रहे हैं, लेकिन वास्तव में क्लाइंट से एक ट्रिगर है कि इसे एक अलग रिकॉर्ड (ACKs के बाद एक) प्राप्त नहीं हुआ। क्या वो सही है? मैं क्लाइंट पीसी पर किन चीजों को देख सकता हूं जो इसका कारण बनेंगे? यदि यह एक क्लाइंट पीसी समस्या नहीं है, तो यह लगातार कुछ ग्राहकों और अन्य लोगों पर क्यों दिखाई देगा?
सैम

पूर्वी तट और मध्य-पश्चिम संयुक्त राज्य अमेरिका के तीन स्थलों के बीच WAN "टू पॉइंट टू पॉइंट सर्किट" है।
सैम

यह सही है; DUPACKs पैकेट नुकसान का एक लक्षण है। जैसा कि इस मुद्दे पर कुछ ग्राहकों और अन्य लोगों पर नहीं होगा, इसलिए आपको प्रभावित ग्राहकों के लिए सामान्य रूप से काम करने की आवश्यकता है। क्या वे सभी एक ही कार्यालय में हैं? सामान्य नेटवर्क के बुनियादी ढांचे के माध्यम से जा रहे हैं? (एक स्विच या एक लिंक?)। एक चीज जो करने योग्य है mtr(या pathpingविंडोज पर) प्रत्येक प्रभावित मशीनों पर उपयोग कर रही है और यह देख रही है कि क्या सर्वर के रास्ते में कोई सामान्य हॉप्स हैं जो पैकेट नुकसान का अनुभव करते हैं। क्या आपके पास एक नेटवर्क निगरानी प्रणाली है जिसका उपयोग आप स्विच पोर्ट डेटा को देखने के लिए कर सकते हैं?
मुरली सूरिार

4

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

कनेक्शन स्थापित होने के बाद, धीमी टीसीपी प्रदर्शन हमेशा पारगमन नेटवर्क की समस्याओं के कारण नहीं होता है; कभी-कभी यह सर्वर सीपीयू या डिस्क सीमाओं के परिणाम के रूप में आता है ... और कभी-कभी क्लाइंट पीसी पर कुछ समस्या के कारण। मैंने हफ्तों तक अपनी पूँछ का पीछा किया है कि वे तारकेश के निशान को खोदकर खोदते हैं, केवल समस्या को जल्दी से हल करने के लिए या केवल mtr के साथ या अन्य होस्ट मैट्रिक्स जैसे सीपीयू और डिस्क I / O को देखकर।

आपका पहला कार्य यह साबित करना है कि यह नेटवर्क समस्या है या होस्ट-स्तर का मुद्दा है। अपने नेटवर्क के माध्यम से वास्तविक ट्रैफ़िक भेजने पर ध्यान केंद्रित करें और साबित करें कि क्या आप इसे नोट कर रहे हैं / पंक्तिबद्ध / पुनः-आदेश कर रहे हैं ; हमेशा इस तरह एक संभावित नेटवर्क समस्या के लिए नीचे-रेखा है

मैं pingथ्रूपुट समस्या के दौरान क्लाइंट और सर्वर के बीच विस्तारित अवधि (आमतौर पर मेरे लिए एक घंटे) के लिए एक नमूना करूँगा ; आप इसके लिए mtr या पिंग प्लॉटर फ्रीवेयर का उपयोग कर सकते हैं । यदि आप किसी न किसी हॉप पर लगातार पैकेट खो रहे हैं, और सभी हॉप्स बाद में ढीले हो जाते हैं , तो आपको संभावित नेटवर्क पर संदेह है। ध्यान रखें कि डिवाइस ICMP रेट-लिमिटिंग कुछ हॉप्स का कारण बन सकती है जो यह दिखाते हैं कि वे ढीले पैकेट हैं ... इसीलिए आप उस हॉप से ​​शुरू होने वाले ट्रेंड की तलाश करना चाहते हैं, और बाद में आने वालों की।


नोट 1 यदि आप ट्रैफ़िक को री-ऑर्डर कर रहे हैं, तो यह जल्दी से विशेषज्ञ सूचना क्षेत्र में दिखाई देगा जो वायरशार्क प्रदान करता है


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

@ मुरली सुरीर, चलो अपने जोर के साथ (जो सही होने का एक अच्छा मौका है) ... तो आगे क्या? आपको अलग करना होगा कि पैकेट का नुकसान क्यों होता है। हम आईटी लोगों को रहस्यमय तरीके wiresharkसे इस बिंदु से प्यार हो गया है कि हम माइक्रोस्कोप को बहुत दूर तक देखना पसंद करते हैं। मैं जो बिंदु बना रहा हूं pcap, उस पर एक त्वरित नज़र डालें , इसके बाद आप टीसीपी के उद्घोषों में गहराई तक पहुंचने की बजाय पैकेट हानि, सीपीयू चक्र और डिस्क I / O पर चक्र खर्च करने से बेहतर हैं। ऐसा करने का एक समय है, लेकिन यह आम तौर पर विश्लेषण के इस चरण में नहीं है।
माइक पेनिंगटन

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

हम असहमत नहीं हैं, TTL के साथ ICMP- स्टेपिंग एक रामबाण नहीं है और इसमें कई दोष हो सकते हैं। हालांकि, सभी के लिए यह फ़ायरवॉल और लोड-बैलेंसर्स के साथ काम करने वाली खामियां हैं, ICMP हमारे पास सबसे अच्छा रिमोट डायग्नोस्टिक है जब तक कि आप प्रश्न में विशिष्ट एप्लिकेशन पोर्ट पर होस्ट-स्तरीय इंस्ट्रूमेंटेड टीसीपी / यूडीपी सत्र नहीं चला सकते ... तब भी आप केवल कह सकते हैं , यह सॉकेट बहुत पीछे हट रहा है ... लेकिन क्यों? समय का 70%, मैं बाहर निकाल रहा हूं mtrया यह ilk है, और मैं पिछले 15 वर्षों से उसी तरह समस्याओं को हल कर रहा हूं। एक बार जब मैंने एक विशिष्ट डिवाइस पर ध्यान केंद्रित किया है, तो हम ड्रॉप काउंटर पर देख सकते हैं
माइक पेनिंगटन

1
@ सम: नेटवर्क समस्याओं के निवारण के बारे में बस एक बिंदु: हर नेटवर्क में "समस्याएँ" होती हैं। कुंजी यह निर्धारित कर रही है कि क्या वे मुद्दे प्रदर्शन और / या कनेक्टिविटी समस्याओं का कारण बन रहे हैं। आपको प्रत्येक नेटवर्क पर डुप्लिकेट ACK, TCP Retransmits, प्रसारण, गलत प्रोटोकॉल आदि मिलेंगे। आपको डुप्लिकेट एसीके की मात्रा पर ध्यान केंद्रित करना चाहिए और मेजबानों को डुप्लिकेट एसीके भेजने में सबसे अधिक शामिल होना चाहिए ताकि यह निर्धारित किया जा सके कि क्या यह वास्तव में एक बड़ी समस्या या नेटवर्क के प्राकृतिक संचालन का एक लक्षण है। अगर मुझे 5 डुप्लिकेट ACK के 1,000 पैकेटों में से एक दिखाई देता है तो मैं इसे दूसरा विचार नहीं दूंगा।
joeqwerty

3

बहुत से [ ACS के बिना rssembled PDU के [टीसीपी सेगमेंट] को देखकर - मैं कहता हूं कि चयनात्मक पावती (उर्फ बैक) व्यवहार के कारण उन ACK को संभवतः [TCP Dup ACK ...] के रूप में दिखाया गया है

उदाहरण:

  • क्लाइंट डेटा पार्ट्स भेजता है (..., 0,1,2,3,4,5,6, ...)

  • सर्वर acked (0), फिर प्राप्त (2,4,3), फिर (5), फिर (6) और कभी नहीं मिला (1)

उपरोक्त परिदृश्य में - सर्वर वैध रूप से ack (2-4) रेंज को चुन सकता है, फिर (2-5) रेंज, फिर (2-6) रेंज। "(AB) श्रेणी ack" पैकेट बनाते समय - सर्वर को टीसीपी हेडर में अंतिम-निर्दिष्ट भाग (0) को निर्दिष्ट करना होता है। Wireshark रेंज-अक्स (SACKs) को [TCP Dup ACK ...] के रूप में चिह्नित करता है, क्योंकि उन सभी रेंज-अक्स में TCP हेडर में अंतिम-अंकित भाग मान (आपके मामले में Ack = 872619) है।


1

धीमी नेटवर्क प्रदर्शन के साथ डुप्लिकेट ACK का संयोजन मेरे लिए एक नेटवर्क भीड़ की तरह लगता है। नेटवर्क पर प्रसारण ट्रैफ़िक की मात्रा और दर को देखें। भौतिक परत और नेटवर्क लेयर ब्रॉडकास्ट के साथ-साथ मल्टीकास्ट को भी देखना सुनिश्चित करें।

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