एमटीयू की गणना के बारे में मुझे क्या गलतफहमी है?


14

ठीक है, मैंने अभी कुछ Xserves, एक Netgear GSM7224, और एक Drobo B800i के बीच एक जंबो फ़्रेम समस्या का समाधान किया है। यह पता चला कि Xserves (Mac OS X 10.6.8 सर्वर) और Drobo B800i बाइट्स में MTU को सामान्य रूप से अपेक्षित (1500-9000) के रूप में स्वीकार करते हैं, लेकिन लगता है कि नेटगियर इसे विभिन्न ईथरनेट हेडर / फुटर (ट्रेलरों सहित) चाहता था ) और मैं अंत में Xserves और Drobo 9000 के MTU और नेटगियर पोर्ट 9216 के MTU पर सेट के साथ कॉन्फ़िगर किया गया।

मैंने नेटगियर पर दो Xserves के बीच MTU के परीक्षण और सत्यापन के लिए निम्न आदेशों का उपयोग किया है (नोट: ये मैक ओएस एक्स कमांड हैं, विंडोज और लिनक्स वाले अलग हैं):

ping -D -s <mtu> <ip_address>

traceroute -F <ip_address> <mtu>

पूर्व के उपयोग को पृष्ठ में इसman रूप में नोट किया गया है , "भेजे जाने वाले डेटा बाइट्स की संख्या निर्दिष्ट करें। डिफ़ॉल्ट 56 है, जो आईसीएमपी हेडर डेटा के 8 बाइट्स के साथ संयुक्त होने पर 64 आईसीएमपी डेटा बाइट्स में अनुवाद करता है।" परीक्षण में, मैंने पाया है कि करने के लिए ping -D 1472 <ip_address>ICMP हैडर डेटा के 8 बाइट्स प्लस 20 आईपी हेडर बाइट्स (देखें के कारण MTU 1500 के बराबर था यह और इस )। वह सब समझ में आता है।

अब, 9000 MTU के लिए समतुल्य कमांड क्यों है ping -D -s 8164 <ip_address>? मैंने सत्यापित किया है कि यह सीमा है इससे पहले कि मैं "sendto: संदेश बहुत लंबा" त्रुटि प्राप्त कर रहा हूं, लेकिन यह भी कि 9000 MTU ठीक से traceroute -F <ip_address> 9000काम कर रहा है और traceroute -F <ip_address> 9001नहीं करता है। तो, 8164 क्यों? मुझे उम्मीद है कि 1500 MTU की तरह 8972 (MTU - 28 बाइट्स) होंगे।

इसके अलावा, Netgear के लिए 9216 MTU क्यों? मैंने मैक और ईथरनेट हेडर (inc। सीआरसी) के लिए 42 बाइट्स गिना, आईपी हेडर के लिए 20 प्लस (जो एमटीयू में खाना चाहिए)।

मैं वास्तव में इस गणित पर कठोर हूं और जानता हूं कि मुझे कुछ याद आ रहा है।


1
9216 लगभग निश्चित रूप से चुना गया था क्योंकि यह 9 x 2 ^ 10. है
क्रिस एस

जवाबों:


11

जंबो फ्रेम के अजीब और रहस्यमय दुनिया में आपका स्वागत है! यह सामान्य है कि जंबो फ्रेम इथरनेट गियर में MTU> 1518 और <65K बाइट है और आपको एक सेटिंग ढूंढनी होगी जो आपके L2 डोमेन में न्यूनतम जंबो ट्रैफ़िक को सक्षम करने के लिए सबसे कम सामान्य भाजक हो।

मेरा अनुमान है कि आपका पिंग / ICMP कार्यान्वयन केवल 8192 बाइट पेलोड के लिए काम करता है, इसलिए 8164 + 28 (IP हेडर के लिए 20 और ICMP हेडर के लिए 8) आपको 8192 बाइट देता है।

MTU 9216, सिस्को के बहुत सारे गियर पर एक मानक 9K MTU भी है, इसलिए मेरी धारणा यह है कि Netgear उस के लिए 'संगत' होना चाहता था।

यह भी ध्यान दें कि MTU आकार विनिर्देश को गंभीरता से लिया जाना चाहिए, बहुत सारे विक्रेताओं में 802.1Q (vLANs) या यहां तक ​​कि L2 फ्रेम हेडर शामिल नहीं हैं। अपने स्विच वेंडर के दस्तावेज़ों की जांच करें कि वे वास्तव में एमटीयू आकार के बारे में क्या बताते हैं।


बस एक नोट जोड़ने के लिए: अपने मेजबानों और राउटर के एमटीयू को मिलान करने की आवश्यकता है; जब तक यह मेजबानों की सेटिंग (+ हैडर) के ऊपर होता है, तब तक एमटीयू के स्विच को 12 बाजिल के लिए सेट किया जा सकता है।
गंदे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.