MTU กับเน็ตช้า

ลองอ่านรายละเอียดว่าทำไม 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 ได้ครับผม

This entry was posted in คอมพิวเตอร์. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Stop censorship