क्यों विंडोज 7 / PuTTY बहुत संक्षिप्त आउटेज पर भी टीसीपी कनेक्शन छोड़ते हैं?


15

मेरे पास एक छोटा स्थानीय नेटवर्क है जो एक कैप्टिव वाईफाई पर पिग्गीबैक करता है, और मैं अपने लिनोड, हेट्जनेर और अन्य सर्वरों के लिए कनेक्शन स्थापित करने के लिए विंडोज 7 प्रोफेशनल sshपर ओएस एक्स के साथ -oServerAliveInterval=240और पीटीटीवाई 0.62 का उपयोग करता हूं।

PuTTY के साथ, मैं Connection→ → Sending of null packets to keep session activeसे 240 का चयन करता हूं । यह Enable TCP keepalives (SO_KEEPALIVE option)चूक के अनुसार बंद है।

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

क्या मैं विंडोज / PuTTY को अच्छे कनेक्शन छोड़ने से पहले रोक सकता हूं?

यह मुझे ऐसा लगता है जैसे कि SO_KEEPALIVE या ऐसा कुछ वास्तव में डिफ़ॉल्ट रूप से विंडोज में है, और बासी कनेक्शन का पता लगाने का समय बहुत छोटा है। मैं इसे कुछ सेकंड से कुछ अधिक तक बढ़ाना चाहूंगा, इसी तरह ओएस एक्स इन संक्षिप्त अस्थायी आउटेज के लिए कैसे प्रतिरक्षा है जब तक कि आउटेज केवल सौ सेकंड का एक युगल है और -oServerAliveInterval(समय ServerAliveCountMax) के मूल्य से नीचे है ।


सिर्फ यह कहना कि मुझे एक ही समस्या है और आगे बढ़ने के लिए लिख रहा हूँ ... इस प्रश्न को देख रहा हूँ। मुझे लगता है कि यह विंडोज पर नेटवर्क ड्राइवर कार्यान्वयन के साथ कुछ करना है।
allquixotic

मैं 10 साल से पोटीन का उपयोग कर रहा हूं और शुरुआत से ही इसका हल ढूंढ रहा है। इस दर्द बिंदु को केवल कम किया जा सकता है, हल नहीं किया जा सकता है। पोटीन को एक 100.00% विश्वसनीय इंटरनेट कनेक्शन और 0.00% गिरा पैकेट की आवश्यकता होती है। हर जगह हमेशा-सुस्ती-इंटरनेट की नई दुनिया में, पोटीन कम और कम उपयोगी होता जा रहा है क्योंकि साल बीतते चले जाते हैं क्योंकि यह आपके काम में बाधा डालने से पहले कुछ समय के लिए ही काम कर सकता है, और पोटीन को फिर से शुरू करना होगा, फिर से जोड़ना होगा , तब उठाएं जहां आपने छोड़ा था, दूषित फ़ाइलों को अनियंत्रित कर दिया, और अगले आउटेज से पहले अपना काम पूरा करने की कोशिश करें।
एरिक लेसचिंस्की

@ EricLeschinski, आप गलत हैं। इस प्रश्न में उल्लिखित यह शमन ठीक काम करता है, मेरे आईपीवी 4 कनेक्शन बहुत, बहुत लंबे समय में बाधित नहीं हुए हैं। (उन मामलों के अलावा, जहां पूरा IPv4 पता बदलता है, या मैं एक नींद आदि करता हूं - उन मामलों के लिए, moshएक बेहतर विकल्प है।)
cnst

जवाबों:


8

http://www.chiark.greenend.org.uk/~sgtatham/putty/faq.html#faq-timeout


ऐसा लगता है कि TcpMaxDataRetransmissions(REG_DWORD) सीधे इसे प्रभावित करता है। मान के HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parametersसाथ जोड़ा जा सकता है regedit.exe(कुंजी डिफ़ॉल्ट रूप से गायब है, इसलिए आपको इसे बदलने के लिए पहले इसे जोड़ना होगा)। जब परेशान हो - यह 5. इसे जोड़ें, और इसे कम से कम f(15) पर सेट करें , और रिबूट करें।


5 का डिफ़ॉल्ट मान संक्षिप्त और अस्थायी नेटवर्क आउटेज के दौरान कनेक्शन रखने के लिए काफी अपर्याप्त लगता है; आपको कुछ सेकंड के भीतर एक टाइमआउट मिल जाएगा। मैंने इस TcpMaxDataRetransmissionsकुंजी को रजिस्ट्री में जोड़ दिया है , और इसके मूल्य को f(15) पर सेट कर sysctl net.inet.ip.forwarding=0दिया है , मशीन को रिबूट किया है, और राउटर पर करने से ठीक पहले PuTTY में एक पात्र टाइप करने के बाद, आगे पीछे करने में सक्षम होने के बाद चरित्र को मेरे पास वापस लाया गया है 5 मिनट के इंतजार के बाद मेरे राउटर पर (मैंने यह निर्धारित करने के लिए परीक्षण किया कि 0x0000000c का मूल्य (12) एक आउटेज के दौरान पैकेट भेजने के पहले प्रयास के 7 मिनट बाद कनेक्शन तोड़ देता है)। रिबूट करने से पहले, PuTTY कुछ सेकंड के भीतर कनेक्शन को तुरंत समाप्त कर देगा। ध्यान दें कि रिबूट की आवश्यकता थी - कम से कम विंडोज 7 पेशेवर पर,बस रजिस्ट्री बदलने से न तो मौजूदा और न ही नए कनेक्शन पर कोई प्रभाव पड़ता है ! विंडोज में कभी कुछ नहीं बदलता!

जब भी उस पर, (1 सेकंड) के डिफ़ॉल्ट अनसेट वैल्यू से दशमलव (60 सेकंड) KeepAliveIntervalको जोड़ सकते हैं और सेट कर सकते हैं , लेकिन ऊपर के रूप में मेरे विशिष्ट मामले में इसका कोई प्रभाव नहीं होना चाहिए, क्योंकि टीसीपी कीपैलिव सक्षम नहीं थे।600001000

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