ขนาดที่แท้จริงของ Ethernet MTU คืออะไร


33

ฉันคิดว่าฉันอาจจะสับสนกับคำศัพท์รอบ ๆ MTU

คำจำกัดความนี้จากหนังสือ CCNA ของ Wendell Odom บน MTU:

ข้อมูลจำเพาะ IEEE 802.3 จำกัด ส่วนข้อมูลของเฟรม 802.3 เป็นอย่างน้อย 46 และสูงสุด 1500 ไบต์ คำว่าหน่วยการส่งข้อมูลสูงสุด (MTU) กำหนดแพ็คเก็ตเลเยอร์ 3 สูงสุดที่สามารถส่งผ่านสื่อ เนื่องจากแพ็กเก็ตเลเยอร์ 3 อยู่ภายในส่วนข้อมูลของเฟรมอีเทอร์เน็ต 1500 ไบต์จึงเป็น IP MTU ที่ใหญ่ที่สุดที่อนุญาตให้ใช้ผ่านอีเธอร์เน็ต

ความเข้าใจของฉันคือเฟรม Ethernet เป็นเฟสสุดท้ายของการห่อหุ้มก่อนที่จะถูกส่งไปยังสาย เมื่อฉันดูไดอะแกรมของอีเธอร์เน็ตเฟรมขนาดโดยรวมของมันจะเท่ากับ 1526 ไบต์สูงสุด

ฉันพูดถูกหรือไม่ว่าเฟรมอีเทอร์เน็ต MTU คือ 1526 ในขณะที่ MTU ที่เลเยอร์ IP คือ 1500 MTU เปลี่ยนไปในแต่ละขั้นตอนของการห่อหุ้มหรือไม่หรือเป็นคำว่า "MTU" หมายถึงการกำหนดขนาดสูงสุดของแพ็กเก็ตที่ชั้น 3 เท่านั้นหรือไม่

ขอบคุณสำหรับความช่วยเหลือใด ๆ !


3
แม้ว่าคำตอบนี้จะตอบคำถามของคุณ แต่คำถามนั้นไม่ได้ซ้ำกัน บางทีมันอาจจะช่วย
Mike Pennington

คำตอบ:


38

ฉันพูดถูกหรือไม่ว่าเฟรมอีเทอร์เน็ต MTU คือ 1526 ในขณะที่ MTU ที่เลเยอร์ IP คือ 1500

Ethernet MTU คือ 1500 ไบต์หมายถึงแพ็กเก็ต IP ที่ใหญ่ที่สุด (หรือส่วนอื่น ๆ ) ที่เฟรม Ethernet สามารถมีได้คือ 1500 ไบต์ การเพิ่ม 26 ไบต์สำหรับอีเธอร์เน็ตส่วนหัวจะทำให้เกิดเฟรมสูงสุด (ไม่เหมือนกับ MTU) ที่ 1526 ไบต์

MTU เปลี่ยนไปในแต่ละขั้นตอนของการห่อหุ้มหรือไม่หรือเป็นคำว่า "MTU" หมายถึงการกำหนดขนาดสูงสุดของแพ็กเก็ตที่ชั้น 3 เท่านั้นหรือไม่

MTU มักถูกพิจารณาว่าเป็นคุณสมบัติของลิงค์เครือข่ายและโดยทั่วไปจะอ้างถึงเลเยอร์ 2 MTU ขีด จำกัด ที่เลเยอร์ 3 สูงกว่ามาก (ดูด้านล่าง) และทำให้ไม่มีปัญหา

ความยาวของแพ็กเก็ต IP (เลเยอร์ 3) ถูก จำกัด โดยค่าสูงสุดของเขตข้อมูลความยาวรวม 16 บิตในส่วนหัวของ IP สำหรับ IPv4 ผลลัพธ์นี้มีขนาดบรรทุกสูงสุด 65515 (= 2 ^ 16 - 1 - 20 ไบต์ส่วนหัว) เนื่องจาก IPv6 มีส่วนหัว 40 ไบต์จึงอนุญาตให้มีน้ำหนักบรรทุกสูงสุด 65495 และ IIRC โดยใช้ส่วนขยาย Jumbo Payload IPv6 จึงอนุญาตให้ใช้แพ็คเก็ตได้สูงสุด 4 GB ...

เมื่อตั้งค่าการเชื่อมต่อ TCP จะมีการตกลงขนาดเซกเมนต์สูงสุด (MSS) นี่อาจถือเป็น MTU ที่ชั้น 4 แต่ไม่ได้รับการแก้ไข มันมักจะถูกตั้งค่าให้เพย์โหลดสูงสุดที่สามารถส่งในเซ็กเมนต์ TCP โดยไม่ทำให้เกิดการแตกแฟรกเมนต์ดังนั้นจึงสะท้อนเลเยอร์ 2 MTU ที่ต่ำที่สุดบนเส้นทาง ด้วย MTU อีเธอร์เน็ตที่ 1500, MSS นี้จะเป็น 1460 หลังจากลบ 20 ไบต์สำหรับส่วนหัว IPv4 และ TCP


12
การระบุอีเทอร์เน็ต "ส่วนหัว" ที่มีขนาด 26 ไบต์ดูเหมือนว่าจะถือว่าการห่อหุ้มแบบ Q-in-Q ส่วนหัวของอีเธอร์เน็ตมาตรฐานคือ 14 ไบต์โดยมี FCS 4 ไบต์ที่ท้ายเฟรม ดังนั้นสิ่งนี้นำไปสู่ขนาดเฟรมอีเทอร์เน็ต 1518 ไบต์สำหรับแพ็กเก็ต IP 1500 ไบต์ แต่ละแท็ก 802.1Q vlan เพิ่มอีก 4 ไบต์ดังนั้นเลเยอร์หนึ่งของการห่อหุ้ม vlan จะส่งผลให้อีเธอร์เน็ตโอเวอร์เฮดของ 22 ไบต์และมันก็ต่อเมื่อ 2 แท็ก VLAN รวมอยู่ที่ค่าใช้จ่าย 26 ไบต์ (ในทางเทคนิคเพียง 22 ไบต์เท่านั้น คือส่วนหัวและส่วนท้าย 4 ไบต์)
Russell Heilling

คุณถูก. อีกคำอธิบายที่เป็นไปได้คือ 8 ไบต์พิเศษนั้นใช้สำหรับการเริ่มต้นอีเทอร์เน็ต ในทางเทคนิคสิ่งนี้อาจไม่ถูกต้องเนื่องจากคำถามระบุว่า 'frame' ซึ่งจะไม่รวมคำนำ ฉันจำไม่ได้ว่าคำอธิบายใดที่ฉันสันนิษฐานว่าหมายเลข 1526 ถูกนำมาจากคำถามเดิมและถูกกล่าวถึงเป็นประจำว่า "ขนาดเฟรมอีเธอร์เน็ตสูงสุด"
Gerben

อานั่นชัดเจนกว่า ใช่แพ็คเก็ตอีเธอร์เน็ตรวมถึงการเริ่มนำ แต่ MAC Frame ไม่ได้ ฉันต้องยอมรับว่าฉันคุ้นเคยกับการเห็นขนาดเฟรมสูงสุดของ 1518 และ 1522 ที่กล่าวถึงและไม่เคยเห็น 1526 ใช้บ่อยนัก
Russell Heilling

@Gerben ฉันได้ตอบคำถามของคุณนานแล้ว แต่ฉันได้ดูอีกครั้งและรู้ว่าคำอธิบาย IP MTU ของคุณไม่ถูกต้อง IP MTU ไม่ได้บัญชีสำหรับฟิลด์ความยาวรวม IP MTU ต้องจัดการกับเฟรม IP ที่ใหญ่ที่สุดซึ่งจะพอดีกับลิงค์ที่มันผ่าน ดังนั้น 1500 ไบต์บนอีเธอร์เน็ตมาตรฐาน
Mike Pennington

@ MikePennington ฉันแก้ไขคำตอบเพื่อหลีกเลี่ยงการใช้ 'IP MTU' ด้วยวิธีนี้ แต่ฉันรู้ว่าจะใช้คำนี้ด้วยวิธีนี้ Google ทำเช่นนั้น แต่จริง ๆ แล้วไม่ใช่เรื่องธรรมดามาก ...
Gerben

-3

IP MTU = MSS (เลเยอร์ 4) MTU = อินเตอร์เฟส MTU (เลเยอร์ 2)

นั่นคือวิธีที่ฉันตีความมันมีความสุขที่ได้รับการแก้ไข

ไชโยเรย์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.