यूडीपी जांच का उपयोग करने के लिए कुछ सामान्य अनुरेखक कार्यान्वयन डिफ़ॉल्ट क्यों हैं?


18

मैं हाल ही में एक नेटवर्क कनेक्टिविटी मेटा-समस्या का निवारण कर रहा था, जिसमें मुझे पता था कि एक दिया गया गंतव्य उपलब्ध है, लेकिन मैं इसे प्रदर्शित नहीं कर पा रहा था tracerouteक्योंकि एक निश्चित संख्या में हॉप्स के बाद पथ ठंडा हो गया था। यह देखते हुए कि आखिरी मनाया गया हॉप सिर्फ ब्याज की मात्रा से ऊपर की ओर था, मैंने ट्रैफ़िक को सूँघा, यह पुष्टि करने की अपेक्षा की कि जांच उस तक पहुंच रही थी और यह जानने के लिए कि कौन सा फ़िल्टर नियम उन्हें रोक रहा है। निश्चित रूप से पर्याप्त, मुझे पता चला कि जांच यूडीपी डेटाग्राम एक उच्च (और अलग-अलग) बंदरगाह के लिए किस्मत में थी जो मेरे पास था, ज़ाहिर है, इनबाउंड ट्रैफ़िक के लिए अवरुद्ध।

यह मुझे आश्चर्यचकित करता है, क्योंकि मैंने माना कि सभी tracerouteजांच आईसीएमपी के लिए डिफ़ॉल्ट होगी, क्योंकि प्रतिक्रियाएं आईसीएमपी हैं। मैंने एक प्रलेखन सर्वेक्षण किया और पाया कि विभिन्न कार्यान्वयन अलग-अलग विकल्प बनाते हैं, और कुछ उपयोगकर्ता को गैर-डिफ़ॉल्ट चयन करने की अनुमति नहीं देते हैं।

Traceroute जांच पद्धति का सार और आगे का आईपी पथ निष्कर्ष मेरे अंतर्ज्ञान का समर्थन करता है कि ICMP जांच अधिक बार गंतव्य तक पहुंचने में सफल होगी।

विभिन्न जांच विधियों की अनुमति देना एक महान विचार की तरह लगता है, लेकिन ICMP के अलावा किसी अन्य चीज़ के लिए डिफ़ॉल्ट होना एक बुरे विचार की तरह लगता है। क्या कोई इसके पीछे तर्क का वर्णन कर सकता है कि डिफ़ॉल्ट रूप से यूडीपी का उपयोग करना बेहतर क्यों है?

जवाबों:


20

का पहला संस्करण tracerouteवैन जैकबसन द्वारा लिखा गया था और इसमें ICMP का उपयोग किया गया था लेकिन यह बहुत अच्छी तरह से काम नहीं कर पाया। RFC792 में ICMP की वेंडर व्याख्या यह थी कि राउटर को ICMP पैकेट के जवाब में ICMP त्रुटि संदेश नहीं भेजना चाहिए (नीचे नोट्स संपादित करें देखें)। इसलिए अधिकांश राउटर 1 या 0. के टीटीएल के साथ एक गूंज के अनुरोध के जवाब में "समय से अधिक" संदेश नहीं भेजेंगे, इसलिए उन्होंने इसे यूडीपी का उपयोग करने के लिए बदल दिया और लो और निहारना महान काम किया और इसमें बहुत खुशी हुई (और गोद लेना)। tracerouteलिनक्स और FreeBSD (और मैं सिस्को मान) पर उपकरण वान जैकबसन के काम पर आधारित है।

बाद में कल्पना को "ICMP त्रुटि पैकेट के जवाब में" बदल दिया गया था । दुनिया की प्रगति हुई, विक्रेताओं ने अपने स्टॉक्स में बदलाव किए जो कि गूंज अनुरोधों के जवाब में ICMP त्रुटि संदेशों की अनुमति देते हैं, और फ़ायरवॉल और ACL के उदय के साथ, आवारा यूडीपी पैकेट कभी-कभी अवरुद्ध हो जाते हैं, लेकिन ICMP इको अनुरोध के माध्यम से प्राप्त कर सकते हैं। बेशक, उस पर आपकी सफलता आज बेतहाशा बदलती है। मुझे उम्मीद है कि tracertICMP गूंज प्रतिक्रियाओं का उपयोग करते समय और अन्य उपकरण एक समय में लिखे गए थे इसलिए यह समस्याग्रस्त नहीं था।

इन दिनों आप वास्तव में यह नहीं कह सकते कि यूडीपी आईसीएमपी से बेहतर है। या कि उनमें से कोई भी टीसीपी से बेहतर है। यह पूरी तरह से उस पथ पर निर्भर करता है जिस पर आप ट्रैवर्स कर रहे हैं और जगह पर सुरक्षा नीतियां हैं। आपको एक, दोनों या सभी तीन कार्यान्वयन की कोशिश करनी पड़ सकती है।

सूत्रों का कहना है:

http://ftp.arl.army.mil/~mike/ping.html http://www.inetdaemon.com/tutorials/troublesourcing/tools/traceroute/definition.shtml

संपादित करें :

IP (RFC791) से ICMP (RFC792) में परिवर्तित RFC जो परिचय में कहता है:

संदेशों आदि के बारे में संदेशों के अनंत प्रतिगमन से बचने के लिए, ICMP संदेशों के बारे में कोई भी ICMP संदेश नहीं भेजे जाते हैं।

यही कारण है कि विक्रेताओं को गूंज अनुरोधों के लिए "समय से अधिक" त्रुटियों को नहीं भेजने का कारण बना।

RFC1122, खंड 3.2.2 में इंटरनेट होस्ट के लिए आवश्यकताएँ। वह अपडेट है जो कहता है कि होस्ट को ICMP त्रुटि संदेशों का जवाब नहीं देना चाहिए ।


FYI करें अब आपके पास इस सवाल पर टिप्पणी छोड़ने के लिए पर्याप्त प्रतिष्ठा है कि आपने मुझे किस बारे में ईमेल किया है
माइक पेनिंगटन

बहुत बढ़िया। मुझे कंप्यूटर की पहली कड़ी "पिंग! पिंग! पिंग! पिंग!" इसके फेफड़ों के शीर्ष पर।
नीरभोज

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