नेटस्टैट में LAST_ACK का राज्य मूल्य के रूप में क्या मतलब है?


15

यदि एक विंडोज़ सर्वर में LAST_ACKराज्य में कई हजार पोर्ट खुले हैं (जैसा कि netstat द्वारा दिखाया गया है), तो इसका क्या मतलब हो सकता है? क्या ऐसा इसलिए है क्योंकि एक समापन बिंदु दूसरे की प्रतिक्रिया की प्रतीक्षा कर रहा है?

जवाबों:


10

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

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

राज्य आरेख पर एक नज़र डालें http://tangentsoft.net/wskfaq/articles/debugging-tcb.net पर


4
गलत। आप CLOSE_WAIT का वर्णन कर रहे हैं।
user207421

4

TCP कनेक्शन को बंद करने से पहले LAST_ACK अंतिम स्थिति है।


1
धन्यवाद, क्या इस राज्य में एक पोर्ट को लटका सकता है?
निक बोल्टन

क्या यह एक IIS वेबसर्वर (या अन्य सेवा) है जिसे आप इसे देख रहे हैं, या, अपने स्वयं के अनुप्रयोग?
इमो

अनुप्रयोग "कुक कम्प्यूटिंग" XML-RPC क्लाइंट (Asp.Net से, IIS के माध्यम से चलाएँ) को लागू करता है, और जावा XML-RPC सर्वर से बात कर रहा है।
निक बोल्टन

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

1
यह 'क्लाइंट को एक LAST_ACK नहीं भेजता'। यह एक फिन भेजता है और वर्तमान में एक ACK की प्रतीक्षा कर रहा है, पहले से ही एक फिन प्राप्त किया है और एक ACK भेजा है। कनेक्शन बंद करने के बाद यह अंतिम स्थिति है ।
user207421

2

LAST_ACK का अर्थ है कि आपके अंत में सहकर्मी से एक फिन प्राप्त हुआ है, एक ACK भेजा गया है, एक फिन भेजा गया है, और सहकर्मी से अंतिम ACK की प्रतीक्षा कर रहा है। इस बिंदु पर आगे कुछ भी नहीं है जो आवेदन कर सकता है: सॉकेट बंद है। आवेदन भी बाहर हो सकता है। यहां से यह फ़ाइनल को पुनः भेजने के लिए टीसीपी पर निर्भर है जब तक कि इसे अंतिम एसीके नहीं मिलता है, या ऐसा करने का समय नहीं मिलता है। ज्यादा नहीं आप एक व्यवस्थापक के रूप में कर सकते हैं सिवाय इसके कि वह नेटवर्क की जांच करे।


0

मेरा मानना ​​है कि @lmo यह कहने में सही है कि यह "टीसीपी कनेक्शन को बंद करने से पहले अंतिम स्थिति है", लेकिन इसके अलावा, विकिपीडिया पृष्ठ के मेरे पढ़ने के आधार पर, यह ध्यान देने योग्य है कि यह "का हिस्सा नहीं है" सक्रिय बंद "तंत्र (मेरी समझ में) सबसे अच्छी तरह से व्यवहार किए गए कनेक्शनों का अंत है, बल्कि" पैसिव क्लोज़ "अनुक्रम का हिस्सा है, जो संभवतः बैड स्टफ़ हैपनिंग से जुड़ा हुआ है।

(एफडब्ल्यूआईडब्ल्यू, मैं भाषाएं हूं, नेटवर्क नहीं। मैं नेटवर्क व्यक्ति से स्पष्टीकरण के लिए खुश हूं।)


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