विंडोज में डिफ़ॉल्ट टीसीपी कनेक्ट टाइमआउट कौन सा है?


28

विंडोज में डिफ़ॉल्ट टीसीपी कनेक्ट टाइमआउट कौन सा है? इसे कॉन्फ़िगर करने के लिए एक रजिस्ट्री कुंजी है या यह गतिशील रूप से सेट है?

जवाबों:


23

विंडोज में मूल्य स्थापित सम्मेलनों के लिए गतिशील है , हालांकि प्रारंभिक कनेक्शन के लिए डिफ़ॉल्ट 72 सेकंड है। इस आलेख में रजिस्ट्री सेटिंग्स को परिभाषित किया गया है:

http://technet.microsoft.com/en-us/library/cc739819(WS.10).aspx

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services: \ Tcpip \ Parameters

TcpInitialRTT : परिभाषित करता है कि नए कनेक्शन के लिए प्रारंभिक समय-आउट सेटिंग्स क्या हैं। सेकंड में यह संख्या हर बार दोगुनी हो जाती है क्योंकि यह एक कनेक्शन को समय से पहले रिट्रांसमीटर करता है। 3 से चूक।

TcpMaxConnectRetransmissions : किसी कनेक्शन को समय से पहले पुनर्प्राप्ति की संख्या निर्धारित करता है। 5 से चूक।


इन्हें बदलने के बाद किसी को दिए गए कनेक्शन को फिर से स्थापित करने की आवश्यकता है, रिबूट करने की आवश्यकता नहीं है, है ना? क्या आप संभवतः जानते हैं कि विंडोज 7 को शॉर्ट आउटेज पर मौजूदा कनेक्शन को छोड़ने से रोकने के लिए कौन सा बदलना चाहिए? मैंने TcpMaxDataRetransmissions16 में बदलने की कोशिश की है (डिफ़ॉल्ट को 5 माना जाता है), लेकिन मेरा पुट्टी अभी भी संक्षिप्त रूप से तेजी से कनेक्शन छोड़ देता है, जबकि ओएस एक्स और उसी नेटवर्क पर ssh उन्हें ठीक रखता है। superuser.com/questions/529511/…
cnst 20

3
वास्तव में, मैंने रिबूट होने के बाद यह काम किया! विंडोज में कभी कुछ नहीं बदलता! लगता है जैसे आपको रिबूट करना है, और यदि आप रिबूट किए बिना रजिस्ट्री को संपादित करते हैं तो सेटिंग का पुराने या नए कनेक्शन पर कोई प्रभाव नहीं पड़ता है!
cnst

9

आमतौर पर "कनेक्ट टाइमआउट" एक मेजबान के लिए प्रारंभिक कनेक्शन बनाने के लिए टाइमआउट को संदर्भित करता है। कई प्रणालियों में (विंडोज 7 शामिल), कनेक्शन स्थापित होने के बाद चल रहे संचार के लिए टाइमआउट से अलग सेटिंग्स का उपयोग करके इस मान को कॉन्फ़िगर किया गया है। यह उत्तर विंडोज 7 के लिए "प्रारंभिक कनेक्ट" परिदृश्य को संबोधित करता है, जो एक्सपी से अलग है।

विंडोज 7 के लिए, कनेक्ट टाइमआउट सेटिंग्स को समायोजित करने के लिए दो हॉटफ़िक्स की आवश्यकता होती है। नई सेटिंग्स को 'नेटश' कमांड से कॉन्फ़िगर किया जा सकता है।

2786464 हॉटफिक्स आलेख से:

नोट Windows 7 और Windows Server 2008 R2 में, TCP अधिकतम SYN रिट्रांसमिशन (JH: MaxSynRetransmissions) मान 2 पर सेट है, और कॉन्फ़िगर करने योग्य नहीं है। प्रारंभिक समय-आउट मान (JH: InitialRTO) की 3-सेकंड की सीमा के कारण, TCP तीन-तरफ़ा हैंडशेक 21-सेकंड की समय सीमा (3 सेकंड + 2 * 3 सेकंड + 4 * 3 सेकंड = 21 सेकंड) तक सीमित है )।

पहला हॉटफ़िक्स एक 'MaxSynRetransmissions' सेटिंग जोड़ता है, जो 2 के डिफ़ॉल्ट मान से रिट्री सेटिंग को बदलने की अनुमति देता है। दूसरा 'आरंभिक' सेटिंग को जोड़ता है जो आरंभिक RTO मान को 3000ms (हाँ, मिलीसेकंड) के डिफ़ॉल्ट से बदलने की अनुमति देता है, लेकिन केवल 3000ms से कम कुछ; इसे बढ़ाया नहीं जा सकता। आपकी स्थिति के आधार पर, आपको केवल 'MaxSynRetransmissions' हॉटफ़िक्स की आवश्यकता हो सकती है।

दोनों हॉटफ़िक्स स्थापित करें, रिबूट करें, फिर प्रशासक के रूप में एक कमांड विंडो खोलें। बाद के नेटश कमांड इनवोकेशन के लिए आगे रिबूट की आवश्यकता नहीं है।

C:\Windows\system32>NET SESSION >nul 2>&1

C:\Windows\system32>IF %ERRORLEVEL% EQU 0 (ECHO Administrator PRIVILEGES Detected!) ELSE ( ECHO NOT AN ADMIN! )
Administrator PRIVILEGES Detected!

C:\Windows\system32>netsh interface tcp show global
Querying active state...

TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State          : enabled
Chimney Offload State               : automatic
NetDMA State                        : enabled
Direct Cache Acess (DCA)            : disabled
Receive Window Auto-Tuning Level    : normal
Add-On Congestion Control Provider  : none
ECN Capability                      : disabled
RFC 1323 Timestamps                 : disabled
Initial RTO                         : 3000
Non Sack Rtt Resiliency             : disabled
Max SYN Retransmissions             : 2
** The above autotuninglevel setting is the result of Windows Scaling heuristics

overriding any local/policy configuration on at least one profile.

C:\Windows\system32>cmd /v:on /c "echo !TIME! & telnet 192.168.1.254 & echo !TIME!"
14:10:30.53
Connecting To 192.168.1.254...Could not open connection to the host, on port 23: Connect failed
14:10:51.60


C:\Windows\system32>netsh interface tcp set global MaxSynRetransmissions=3
Ok.


C:\Windows\system32>netsh interface tcp show global
Querying active state...

TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State          : enabled
Chimney Offload State               : automatic
NetDMA State                        : enabled
Direct Cache Acess (DCA)            : disabled
Receive Window Auto-Tuning Level    : normal
Add-On Congestion Control Provider  : none
ECN Capability                      : disabled
RFC 1323 Timestamps                 : disabled
Initial RTO                         : 3000
Non Sack Rtt Resiliency             : disabled
Max SYN Retransmissions             : 3
** The above autotuninglevel setting is the result of Windows Scaling heuristics

overriding any local/policy configuration on at least one profile.

C:\Windows\system32>cmd /v:on /c "echo !TIME! & telnet 192.168.1.254 & echo !TIME!"
14:27:02.33
Connecting To 192.168.1.254...Could not open connection to the host, on port 23:
 Connect failed
14:27:47.41

C:\Windows\system32>netsh interface tcp set global MaxSynRetransmissions=2
Ok.


C:\Windows\system32>netsh interface tcp set global InitialRto=1000
Ok.


C:\Windows\system32>netsh interface tcp show global
Querying active state...

TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State          : enabled
Chimney Offload State               : automatic
NetDMA State                        : enabled
Direct Cache Acess (DCA)            : disabled
Receive Window Auto-Tuning Level    : normal
Add-On Congestion Control Provider  : none
ECN Capability                      : disabled
RFC 1323 Timestamps                 : disabled
Initial RTO                         : 1000
Non Sack Rtt Resiliency             : disabled
Max SYN Retransmissions             : 2
** The above autotuninglevel setting is the result of Windows Scaling heuristics

overriding any local/policy configuration on at least one profile.


C:\Windows\system32>cmd /v:on /c "echo !TIME! & telnet 192.168.1.254 & echo !TIME!"
14:29:06.13
Connecting To 192.168.1.254...Could not open connection to the host, on port 23:
 Connect failed
14:29:13.20

नोट: विंडोज टेलनेट का उपयोग वास्तविक कनेक्शन टाइमआउट के लिए संदर्भ के लिए किया जाता है। इसे अलग से स्थापित करने की आवश्यकता है, लेकिन करना आसान है।

अतिरिक्त लिंक / यश:


2

TcpInitialRTT और TcpMaxConnectRetransmissions विस्टा और विंडोज 2008 में मौजूद नहीं हो सकता है। इस Microsoft दस्तावेज़ में उन्हें शामिल नहीं किया गया है। http://download.microsoft.com/download/c/2/6/c26893a6-46c7-4b5c-b287-830216597340/TCPIP_Reg.doc

और यह कहता है कि कम से कम TcpInitialRTT चला गया है, हालांकि मुझे नहीं पता कि यह कितना विश्वसनीय है। http://pul.se/Blog-Post-TCP-IP-Stack-hardening-in-Operating-Systems-starting-with-Windows-Vista_SharePoint-kHPTTCP0WJ5,7zq00hH0wINE


1

यदि मैं आपके प्रश्न को सही ढंग से समझता हूं, तो आप इसका उल्लेख कर रहे हैं:

TcpTimedWaitDelay

यह कुंजी उस समय को निर्धारित करती है जो टीसीपी / आईपी से पहले समाप्त हो जाना चाहिए और एक बंद कनेक्शन जारी कर सकता है और अपने संसाधनों का पुन: उपयोग कर सकता है। क्लोजर और रिलीज़ के बीच के इस अंतराल को TIME_WAIT स्टेट या दो बार अधिकतम सेगमेंट लाइफटाइम (2MSL) स्टेट के रूप में जाना जाता है। इस समय के दौरान, क्लाइंट और सर्वर से कनेक्शन को फिर से खोलने से नया कनेक्शन स्थापित करने में कम खर्च होता है। इस प्रविष्टि के मूल्य को कम करके, टीसीपी / आईपी तेजी से बंद कनेक्शन जारी कर सकते हैं और नए कनेक्शन के लिए अधिक संसाधन प्रदान कर सकते हैं। यदि रनिंग एप्लिकेशन को तेजी से रिलीज, नए कनेक्शन के निर्माण या TIME_WAIT स्थिति में कई कनेक्शनों के कारण कम थ्रूपुट के समायोजन की आवश्यकता होती है, तो इस पैरामीटर को समायोजित करें।

सटीक कुंजी है: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Tcpip \ Parameters \ TcpTimedWaitDelay

यदि आप Win2008 या बाद का उपयोग कर रहे हैं, तो आपके पास यह सेट नहीं हो सकता है, लेकिन डिफ़ॉल्ट 240 दशमलव (240 सेकंड या 4 मिनट है)। आप रजिस्ट्री को एक अलग मूल्य के साथ जोड़ सकते हैं और यह रिबूट के बाद प्रभावी होगा (एक उत्पादन वातावरण में विंडोज सर्वर 2008R2 पर परीक्षण किया गया)। यह आधुनिक नेटवर्क की गुणवत्ता को देखते हुए एक बेतुका उच्च मूल्य है।

मेरा एक एप्लिकेशन शाब्दिक रूप से एक महीने से भी कम समय पहले सर्वर पर चल रहा था जो कि अधिकतम संख्या में कनेक्शन समाप्त हो गया था विंडोज नियमित रूप से उस सर्वर पर हर नेटवर्क सेवा का समर्थन और हत्या कर सकता है। जब आप सर्वर पर RDP को प्रबंधित करते हैं तो netstat -a में 16,000+ कनेक्शन। हमने 30 दशमलव (30 सेकंड) और वॉइला के लिए मूल्य निर्धारित किया है, इस मुद्दे को हल किया गया था - 10,000 से कम एक साथ कनेक्शन (चूंकि ऐप तेजी से खुल रहा था और उन्हें बंद कर रहा था) और कोई थ्रूपुट मुद्दे नहीं।


विंडोज सर्वर 2012 से 2016 के सटीक कुंजी HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ TcpTimedWaitDelay प्रतीत होता है
विन्सेंट

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