कंप्यूटर (टीसीपी या यूडीपी प्रोटोकॉल) के बीच बना कोई भी नेटवर्क कनेक्शन, यह बंदरगाहों के माध्यम से किया जाता है। इन्हें प्रवेश बिंदु या गेटवे के रूप में कल्पना करें जो किसी सेवा या एप्लिकेशन द्वारा उपयोग किया जाता है। जैसे-जैसे अधिक क्लाइंट कनेक्शन बनाए जाते हैं, पोर्ट्स की संख्या में कमी आती जाती है। इस पोस्ट में, हम साझा करेंगे कि पोर्ट की थकावट का निवारण कैसे करें मुद्दे।
पोर्ट दो प्रकार के होते हैं - डायनामिक पोर्ट और परिभाषित पोर्ट . डायनेमिक पोर्ट कई क्लाइंट को परिभाषित पोर्ट से कनेक्ट करने की अनुमति देते हैं। वेबसाइटें एक अच्छा उदाहरण हैं। उनके पास आमतौर पर पोर्ट 80 परिभाषित होता है, लेकिन एक सक्रिय पोर्ट का उपयोग करके, वे कई क्लाइंट की सेवा कर सकते हैं। चूंकि डायनेमिक पोर्ट की एक सीमा है, सभी पोर्ट व्यस्त होने पर कनेक्शन विफल होने लगेंगे। इसे पोर्ट थकावट कहा जाता है।
Windows 11/10 में पोर्ट थकावट
इस समस्या निवारण मार्गदर्शिका का प्राथमिक उद्देश्य यह पहचानना है कि कौन सी प्रक्रिया या अनुप्रयोग पोर्ट को समाप्त कर रहा है। एक बार जब आप इसे निर्धारित कर लेते हैं, तो अगला कदम ऐप को ठीक करना होता है।
पोर्ट थकावट की पहचान करने के लक्षण:
1] डोमेन क्रेडेंशियल के साथ मशीन में साइन इन करने में असमर्थ, हालांकि, स्थानीय खाते के साथ साइन-इन काम करता है। यह संभव है कि पहले से उपयोग किया गया खाता काम कर सकता है, लेकिन नया विफल हो जाएगा। यह कैशिंग के कारण होता है।
2] समूह नीति अपडेट विफल होना शुरू हो जाएगा। हर बार जब आप परिवर्तन करने का प्रयास करते हैं, तो आपको यह कहते हुए एक त्रुटि प्राप्त हो सकती है कि "डोमेन नियंत्रक के साथ नेटवर्क कनेक्टिविटी की कमी के कारण विफल" यह अस्थायी हो सकता है लेकिन एक संकेत है।
3] फ़ाइल शेयर या नेटवर्क ड्राइव दुर्गम हो जाते हैं।
4] सर्वर से दूरस्थ डेस्कटॉप जहां एप्लिकेशन होस्ट किया गया है विफल रहता है।
अन्य संकेतों में इवेंट आईडी 4227, 4231 टीसीपी के लिए इवेंट व्यूअर में एक संदेश के साथ शामिल है कि डायनेमिक पोर्ट का आवंटन विफल रहा। नेटस्टैट कमांड किसी विशेष एप्लिकेशन के लिए TIME_WAIT स्थिति के लिए बड़ी संख्या में प्रविष्टियां दिखाता है, और इसी तरह।
Windows 11/10 और Windows सर्वर के लिए NetStat का उपयोग करें
उन्नत विशेषाधिकारों के साथ ओपन कमांड प्रॉम्प्ट।
कमांड चलाएँ:
netstat -anobq
इसके बाद, उस प्रक्रिया आईडी की जांच करें जिसमें बाउंड के रूप में अधिकतम प्रविष्टियां हैं।
यदि आप पावरशेल का उपयोग करते हैं, तो आप अधिकतम बाउंड के साथ प्रक्रिया की पहचान करने के लिए नीचे दिए गए कमांड का उपयोग कर सकते हैं।
Get-NetTCPConnection | Group-Object -Property State, OwningProcess | Select -Property Count, Name, @{Name="ProcessName";Expression={(Get-Process -PID ($_.Name.Split(',')[-1].Trim(' '))).Name}}, Group | Sort Count -Descendin
कई बार, क्लाइंट पोर्ट को ठीक से बंद नहीं करते हैं। यहां तक कि उपयोग में नहीं होने पर भी ये पोर्ट फ्री नहीं हैं। यह बंदरगाह की थकावट के सबसे बड़े कारणों में से एक है।
यदि आवश्यकता बार-बार हो, तो आप लूप में नेटस्टैट कमांड का उपयोग कर सकते हैं . आउटपुट एक टेक्स्ट फ़ाइल में उपलब्ध हो सकता है जिसका उपयोग प्रवृत्ति की निगरानी के लिए किया जा सकता है। यहाँ स्क्रिप्ट कैसी दिखती है:
@ECHO ON
set v=%1
:loop
set /a v+=1
ECHO %date% %time% >> netstat.txt
netstat -ano >> netstat.txt
PING 1.1.1.1 -n 1 -w 60000 >NUL
goto loop
अधिकतम हैंडल खोजने के लिए कार्य प्रबंधक का उपयोग करें
ऐसे अनुप्रयोगों को खोजने के लिए थोड़ा और प्राकृतिक तरीका कार्य प्रबंधक का उपयोग कर रहा है। जबकि पावरशेल और कमांड प्रॉम्प्ट की अपनी खूबियां हैं, अगर आप इस प्रक्रिया को जल्दी देखना चाहते हैं, तो यह एक बेहतर तरीका है।
- कार्य प्रबंधक खोलें, और विवरण टैब पर स्विच करें ।
- किसी भी कॉलम पर राइट-क्लिक करें, और "कॉलम चुनें . पर क्लिक करें । "
- उपलब्ध विकल्पों में से "हैंडल" जोड़ें।
- हैंडल कॉलम हैडर पर क्लिक करके इसे अधिकतम संख्या के अनुसार क्रमित करें।
माइक्रोसॉफ्ट का सुझाव है कि यदि कोई कनेक्शन विफल हो रहा है, तो जांच लें कि हैंडल की संख्या 3000 से अधिक है या नहीं। यदि ऐसा है, तो एप्लिकेशन अपराधी है। हालाँकि, OS सेवाएँ इसका अपवाद हैं। दूसरों के लिए, उस प्रक्रिया को एक बार रोक दें, और फिर डोमेन क्रेडेंशियल का उपयोग करके लॉग इन करने का प्रयास करें और देखें कि क्या यह सफल होता है।
प्रोसेस एक्सप्लोरर
यदि कार्य प्रबंधक मदद नहीं करता है तो आप प्रोसेस एक्सप्लोरर का उपयोग कर सकते हैं। यह डीएलएल-संस्करण की समस्याओं को ट्रैक करने या लीक को संभालने और रूज अनुप्रयोगों में अंतर्दृष्टि प्रदान करने के लिए उपयोगी है। प्रोसेस एक्सप्लोरर को यहां से डाउनलोड करके इंस्टॉल करना चाहिए। इसे उन्नत विशेषाधिकारों के साथ चलाना सुनिश्चित करें।
- कॉलम हेडर पर राइट-क्लिक करें, और फिर "कॉलम चुनें" चुनें।
- प्रदर्शन टैब पर स्विच करें, और संभालें गणना add जोड़ें ।
- मेनू से, देखें> निचला फलक दिखाएं . पर क्लिक करें ।
- फिर से मेनू पर क्लिक करें, देखें> निचला फलक दृश्य> हैंडल चुनें ।
- हैंडल को अवरोही क्रम में क्रमबद्ध करें।
- यह प्रक्रिया(ओं) को उच्चतम हैंडल काउंट के साथ प्रकट करेगा
- शीर्ष हैंडल गिनती वाली प्रक्रियाओं में से किसी एक को हाइलाइट करने के लिए क्लिक करें।
- निचला पैनल सभी हैंडल के प्रकार को प्रकट करेगा। पोर्ट या सॉकेट आमतौर पर "फाइल \डिवाइस\एएफडी" लेबल के साथ होते हैं।
अधिक संख्या में हैंडल के साथ प्रक्रिया को बंद करें। यदि एप्लिकेशन वापस आता है, तो यह कारण हो सकता है, और आपको एप्लिकेशन को ठीक करना होगा या ओईएम के डेवलपर से इसे ठीक करने के लिए कहना होगा। यदि आप इसे ठीक नहीं कर सकते क्योंकि एप्लिकेशन इसकी मांग करता है, तो आपको कंप्यूटर द्वारा उपयोग किए जा सकने वाले पोर्ट की संख्या बढ़ाने पर विचार करना चाहिए। नीचे दिया गया आदेश (उदाहरण) सीमा को बदल सकता है, और इसे बढ़ा सकता है।
netsh int ipv4 set dynamicport tcp start=10000 num=1000
सेट किया जा सकने वाला न्यूनतम प्रारंभ पोर्ट 1025 है। अधिकतम समाप्ति पोर्ट 65535 से अधिक नहीं हो सकता।
उन्होंने कहा कि समाधान अभी भी अस्थायी है। एक आईटी व्यवस्थापक के रूप में, आपको पोर्ट थकावट के निवारण के लिए एक बेहतर समाधान खोजना होगा। कभी-कभी, बंदरगाहों को बढ़ाने के लिए कई सर्वरों का उपयोग किया जा सकता है, लेकिन यह पूरी तरह से एक अलग लीग है।