ลองอ่านรายละเอียดว่าทำไม MTU ทำให้เกิดอาการเน็ตช้า http://share.psu.ac.th/blog/experiences/14465
สรุปคร่าวๆ ตามภาษาของผม
- mtu ปกติ = 1500 bytes (1 frame)
- แต่ด้วยเหตุผลบางประการ ทำให้การส่ง 1 ครั้งถูกตัดหัวท้ายให้สั้นลง เช่น มีการ encapsulate / vpn / pppoe
- 1 frame จะต้องมี 20 bytes เป็น header เสมอ (บอกต้นทาง ปลายทาง flag)
- ถ้า mtu ไม่เหมาะสม จะเกิดอาการ fragment และทำให้สูญหาย ส่งใหม่บ่อยๆ ฯลฯ แล้วแต่ความเพี้ยน อาการที่พบบ่อยคือ โหลดเว็บช้า เปิดเว็บไม่สมบูรณ์ เหมือนกับว่าไม่มี CSS
วิธีทดสอบหาค่า mtu ที่เหมาะสม
ping 203.155.33.1 -l 1420 -f
-f = บังคับไม่ทำ fragment
-l = กำหนดขนาด data size ที่ใช้ส่ง icmp
MTU 1500 packet ICMP จะใช้ header = 20 + 8 bytes
ดังนั้น data size มากที่สุดควรเป็น 1500 – 28 = 1472 ครับ
เราก็ลองปรับไปเรื่อยๆ ได้ค่ามากสุดเท่าไร ก็เอาไป +28 แล้วกำหนดเป็น mtu ได้เลย
ถ้า mtu น้อย จะมีผลคือ ต้องส่งข้อมูลบ่อยขึ้น ในเน็ตแทนที่จะมีแต่ข้อมูล กลับมีแต่ header ไปซะชิบ -*-
IPV6 จะแก้ปัญหาเรื่องพวกนี้ด้วยการใช้ jumbo frame คือรองรับ mtu 1500 – 9000 ได้ครับผม