سؤال ما هي حالات CLOSE_WAIT و TIME_WAIT؟


عندما أفعل netstat -a على جهاز Windows الخاص بي ، يمكنني الحصول على قائمة المنافذ مع إحدى الحالات الأربع:

- LISTENING
- CLOSE_WAIT
- TIME_WAIT
- ESTABLISHED

ماذا CLOSE_WAIT و TIME_WAIT يعني / تشير؟


150
2017-08-08 19:23


الأصل


نرى webmasters.stackexchange.com/q/22946 - Dheeraj V.S.
انظر "رجل netstat" ، انتقل لأسفل إلى قسم الولاية: linux.die.net/man/8/netstat - MaQleod
قابس خامل لإجابة على أخواتنا خطأ الخادم. - Hennes
عبر موقع خادع: askubuntu.com/questions/538443/... - Mokubai♦


الأجوبة:


نظرًا للطريقة التي يعمل بها TCP / IP ، لا يمكن إغلاق الاتصالات على الفور. قد تصل الحزم خارج الخدمة أو يتم إعادة إرسالها بعد إغلاق الاتصال. يشير CLOSE_WAIT إلى أن نقطة النهاية البعيدة (الجانب الآخر من الاتصال) قد أغلقت الاتصال. يشير TIME_WAIT إلى أن نقطة النهاية المحلية (هذا الجانب) قد أغلقت الاتصال. يتم الاحتفاظ بالاتصال حتى يمكن مطابقة أي رزم مؤجلة مع الاتصال والتعامل معها بشكل مناسب. ستتم إزالة الاتصالات عند انتهاء المهلة في غضون أربع دقائق. نرى http://en.wikipedia.org/wiki/Transmission_Control_Protocol لمزيد من التفاصيل.


161
2017-08-08 19:42



ADTC لا ، لأن ذلك لن يكون له معنى - TCP هو أحادي الاتجاه ، يمكن لأي من الجانبين أن يكون المصدر أو الوجهة. الكلمات الصحيحة هي "نقطة النهاية المحلية" و "نقطة النهاية البعيدة". - Jonathon Reinhart
تضمين التغريدة ردًا علىJonathonReinhartمحلي"و"التحكم عن بعد"." نقطة النهاية "زائدة عن الحاجة. - Pacerier
Pacerier باستثناء "نقطة النهاية" هو اسم و "محلي" ليس كذلك. - Jonathon Reinhart
تضمين التغريدة ردًا علىJonathonReinhartمحلي"و"التحكم عن بعد"يمكن أن تكون الأسماء. وبغض النظر عن ذلك ، وجدت مناقشة أخرى هنا تنص على أنه" محلي / الند"بدلاً من" المحلية / البعيدة ": stackoverflow.com/questions/14388706/... - Pacerier
ADTC أوافق ، source و destination هي أسهل بالنسبة لي - Kolob Canyon


تعني "WAIT" بشكل أساسي أن أحد الأطراف أغلق الاتصال ولكن التأكيد النهائي للإغلاق معلق.

انظر على سبيل المثال هذا الرسم البياني لدول TCP للحصول على التفاصيل:

http://www.jxos.org/Projects/TCP/tcpstate.html


27
2017-08-08 19:44



يصف هذا بدقة CLOSE_WAIT وليس بـ TIME_WAIT. يشير TIME_WAIT إلى أن التطبيق المحلي أغلق الاتصال ، واعترف الجانب الآخر وأرسل FIN بنفسه. نحن الآن في انتظار أي حزم مكررة طائشة قد تزعج مستخدمًا جديدًا لنفس المنفذ. - Chris Smowton
ChrisSmowton ، إذن من الذي يستخدم المصطلحات الصحيحة؟ الرسم البياني أو netstat؟ (راجع) - Pacerier
@ Pacerier أعتقد أنهم يتطابقون - أين تعتقد أنهم يختلفون؟ - Chris Smowton
ChrisSmowton يعني هذا أن مالك المنفذ التالي قد يحصل على وحدات بايت إضافية ويمكنه كسر الاستجابة إذا ضبطنا TIME_WAIT = 0؟ - MonsterMMORPG
ممكن ولكن من غير المحتمل جدا ، حيث أن أرقام التسلسل يجب أن تتطابق مع التطبيق لرؤية الحزمة المارقة الملتصقة في الدفق ، أو أن المتلقي سوف يحتاج إلى تخزين الحزمة خارج الترتيب على ما يبدو حتى يأتي رقم التسلسل الصحيح. لا أعرف ما يكفي عن التطبيقات العملية لأخبرك ما إذا كان هذا الأخير يتم في الممارسة. - Chris Smowton


يمثل TIME_WAIT الانتظار لوقت كافٍ للتأكد من تلقي TCP عن بُعد ACK لطلب FIN. نرى en.wikipedia.org/wiki/Transmission_Control_Protocol (وكذلك RFC 793)


0
2018-05-20 11:39



ما الذي يضيفه هذا إلى المعلومات المقدمة من الإجابات الموجودة؟ - fixer1234
يضيف إشارة إلى RFC 793 - Denio Mariz