ฉันเข้าใจผิดอะไรเกี่ยวกับการคำนวณ MTU


14

โอเคฉันเพิ่งแก้ไขปัญหาจัมโบ้เฟรมระหว่าง Xserves ไม่กี่เครื่อง, Netgear GSM7224 และ Drobo B800i มันกลับกลายเป็นว่า Xserves (Mac OS X 10.6.8 Server) และ Drobo B800i ยอมรับ MTU ในหน่วยไบต์ตามปกติ (1,500-9,000) แต่ Netgear ดูเหมือนจะต้องการรวมถึงส่วนหัว / ส่วนท้ายอีเธอร์เน็ต (รถพ่วง) ) และในที่สุดฉันก็ลงเอยด้วย Xserves & Drobo ที่กำหนดค่าด้วย MTU ที่ 9000 และพอร์ต Netgear ที่ตั้งค่าเป็น MTU ที่ 9216

ฉันใช้คำสั่งต่อไปนี้สำหรับการทดสอบและตรวจสอบ MTU ระหว่าง Xserves ทั้งสองเหนือ Netgear (หมายเหตุ: นี่คือคำสั่ง Mac OS X, Windows และ Linux แตกต่างกัน):

ping -D -s <mtu> <ip_address>

traceroute -F <ip_address> <mtu>

การใช้งานของอดีตถูกบันทึกไว้ในmanหน้าเป็น "ระบุจำนวนไบต์ข้อมูลที่จะส่งเริ่มต้นคือ 56 ซึ่งแปลเป็น 64 ไบต์ข้อมูล ICMP เมื่อรวมกับ 8 ไบต์ของข้อมูลส่วนหัว ICMP" ในการทดสอบฉันพบว่าping -D 1472 <ip_address>มันเทียบเท่า MTU 1500 เนื่องจากข้อมูลส่วนหัวของ ICMP 8 ไบต์และส่วนหัว IP 20 ไบต์ (ดูที่นี่และสิ่งนี้ ) ทั้งหมดนั้นสมเหตุสมผล

ตอนนี้ทำไมคำสั่งเทียบเท่าสำหรับ 9000 MTU ping -D -s 8164 <ip_address>? ฉันได้ตรวจสอบแล้วว่านี่เป็นข้อ จำกัด ก่อนที่ฉันจะได้รับข้อผิดพลาด "sendto: ข้อความยาวเกินไป" แต่ด้วยว่า 9000 MTU ทำงานได้อย่างถูกต้องเหมือนใช้traceroute -F <ip_address> 9000งานได้และtraceroute -F <ip_address> 9001ไม่ทำงาน ดังนั้นทำไม 8164 ฉันคาดว่าจะได้ 8972 (MTU - 28 bytes เหมือนกับ 1500 MTU)

นอกจากนี้ทำไมต้อง 9216 MTU สำหรับ Netgear ฉันนับ 42 ไบต์สำหรับส่วนหัว MAC & ethernet (inc. CRC) บวก 20 ส่วนหัว IP (ซึ่งควรกินเข้าไปใน MTU)

ฉันเป็นสนิมในคณิตศาสตร์นี้และรู้ว่าฉันเพิ่งจะหายไปบางสิ่งบางอย่าง


1
9216 เกือบถูกเลือกอย่างแน่นอนเพราะมันคือ 9 x 2 ^ 10
Chris S

คำตอบ:


11

ยินดีต้อนรับสู่โลกที่แปลกและลึกลับของเฟรมจัมโบ้! เป็นเรื่องปกติที่เกียร์อีเธอร์เน็ตเฟรมจัมโบ้มี MTU> 1518 และ <65K ไบต์และคุณต้องค้นหาการตั้งค่าที่เป็นตัวหารร่วมที่ต่ำที่สุดในโดเมน L2 ของคุณเพื่อเปิดใช้งานการจราจรจัมโบ้ที่เหมาะสม

ฉันเดาว่าการใช้งาน ping / ICMP ของคุณใช้ได้กับอัตราโหลด 8192 ไบต์เท่านั้นดังนั้น 8164 + 28 (20 สำหรับส่วนหัว IP และ 8 สำหรับส่วนหัว ICMP) ให้ 8192 ไบต์

MTU 9216 ยังเป็นมาตรฐาน 9K MTU บนอุปกรณ์ของ Cisco จำนวนมากดังนั้นสมมติฐานของฉันคือ Netgear ต้องการให้ 'เข้ากันได้กับ' '

นอกจากนี้โปรดทราบว่าข้อกำหนดขนาด MTU ควรดำเนินการอย่างจริงจังผู้ค้าจำนวนมากไม่รวม 802.1Q (vLANs) หรือแม้แต่ส่วนหัวของเฟรม L2 ตรวจสอบกับเอกสารของผู้จำหน่ายสวิตช์ของคุณสิ่งที่พวกเขาระบุจริง ๆ เมื่อพูดถึงขนาด MTU


เพียงบันทึกเพื่อเพิ่ม: MTU ของโฮสต์และเราเตอร์ของคุณต้องตรงกัน MTU ของสวิตช์สามารถตั้งค่าเป็น 12 พันล้านสำหรับทุกอย่างที่สำคัญตราบใดที่มันเหนือการตั้งค่าโฮสต์ (+ ส่วนหัว)
Hyppy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.