MTU (Maximum Transmission Unit): คืออะไร และสำคัญอย่างไรสำหรับผู้ใช้ VPN

เมื่อข้อมูลเดินทางผ่านอินเทอร์เน็ต มันไม่ได้ไหลต่อเนื่องเป็นสายเดียว แต่จะถูกแบ่งออกเป็นชิ้นเล็ก ๆ ที่เรียกว่าแพ็กเก็ต Maximum Transmission Unit หรือ MTU คือตัวกำหนดขนาดสูงสุดของแพ็กเก็ตเหล่านั้น ลองนึกภาพระบบไปรษณีย์ที่กำหนดขนาดพัสดุสูงสุดไว้: สิ่งใดที่ใหญ่กว่าจะต้องถูกแบ่งออกเป็นหลายกล่องก่อนจึงจะจัดส่งได้

MTU หมายความว่าอะไรกันแน่

MTU วัดเป็นไบต์ โดย MTU มาตรฐานสำหรับเครือข่าย Ethernet คือ 1,500 ไบต์ ซึ่งเป็นค่าเริ่มต้นที่ใช้กันมาหลายสิบปี อุปกรณ์เครือข่ายทุกชิ้นที่อยู่บนเส้นทางที่ข้อมูลเดินทางผ่าน ไม่ว่าจะเป็นเราเตอร์ สวิตช์ หรือเซิร์ฟเวอร์ ต่างก็มีขีดจำกัด MTU ของตัวเอง เมื่อแพ็กเก็ตมีขนาดใหญ่เกินกว่าที่อุปกรณ์จะรับได้ จะเกิดหนึ่งในสองกรณีนี้: แพ็กเก็ตจะถูกแบ่งย่อย (fragmentation) หรือถูกทิ้งทั้งหมด ขึ้นอยู่กับการตั้งค่าเครือข่าย

การแบ่งย่อยแพ็กเก็ตฟังดูเหมือนเป็นวิธีแก้ปัญหาที่ไม่มีผลเสียอะไร แต่ความจริงแล้วมันสร้างภาระให้ระบบอย่างมาก เพราะแต่ละชิ้นส่วนต้องมีข้อมูล header เป็นของตัวเอง และอุปกรณ์ปลายทางต้องประกอบทุกชิ้นส่วนกลับคืนก่อนจึงจะใช้งานได้ สิ่งนี้ทำให้ทุกอย่างช้าลงและเพิ่มโอกาสเกิดข้อผิดพลาด

MTU ทำงานอย่างไรในทางปฏิบัติ

เมื่อคุณส่งข้อมูล ไม่ว่าจะเป็นการโหลดเว็บเพจ สตรีมวิดีโอ หรือส่งไฟล์ ระบบปฏิบัติการของคุณจะพยายามใช้ขนาดแพ็กเก็ตที่ใหญ่ที่สุดเท่าที่เป็นไปได้เพื่อให้ทุกอย่างมีประสิทธิภาพ กระบวนการนี้มักถูกจัดการโดยอัตโนมัติผ่านกลไกที่เรียกว่า Path MTU Discovery (PMTUD) ซึ่งจะตรวจสอบเครือข่ายเพื่อหา MTU ที่เล็กที่สุดตลอดเส้นทางทั้งหมดระหว่างอุปกรณ์ของคุณกับปลายทาง

ปัญหาคือ PMTUD ไม่ได้ทำงานได้อย่างสมบูรณ์เสมอไป โดยเฉพาะในเครือข่ายที่ซับซ้อนหรือมีการจำกัดการเข้าถึง ไฟร์วอลล์บางตัวบล็อกข้อความ ICMP ที่ PMTUD ต้องพึ่งพา ทำให้เกิดความล้มเหลวแบบเงียบที่แพ็กเก็ตหายไปโดยไม่มีสัญญาณเตือน

ทำไม MTU จึงสำคัญมากสำหรับผู้ใช้ VPN

นี่คือจุดที่ VPN ทำให้ทุกอย่างซับซ้อนยิ่งขึ้น เมื่อคุณเชื่อมต่อ VPN แพ็กเก็ตข้อมูลเดิมของคุณจะถูกห่อหุ้มด้วยการเข้ารหัสและ protocol header เพิ่มเติมอีกชั้นหนึ่ง การห่อหุ้มนี้เพิ่มไบต์พิเศษให้กับแพ็กเก็ตทุกชุด ตั้งแต่ 40 ไปจนถึง 100 ไบต์ขึ้นไป ขึ้นอยู่กับ VPN protocol ที่ใช้งาน

หาก MTU ของเครือข่ายคุณอยู่ที่ 1,500 ไบต์ และ VPN เพิ่ม overhead 60 ไบต์ payload ที่ใช้งานได้จริงจะเหลือประมาณ 1,440 ไบต์ หากยังคงส่งแพ็กเก็ตที่ขนาด 1,500 ไบต์อยู่ แพ็กเก็ตเหล่านั้นจะเกินขีดจำกัด MTU และต้องถูกแบ่งย่อยหรือทิ้งทิ้งไป ผลลัพธ์ที่ตามมาคือความเร็วที่ช้าลง การหมดเวลาเชื่อมต่อ การโทรวิดีโอที่ขาดหาย หรือ VPN tunnel ที่ทำงานได้ไม่สม่ำเสมอ

VPN protocol แต่ละตัวมีข้อกำหนด overhead ที่แตกต่างกัน:

  • WireGuard มักใช้ MTU ประมาณ 1,420 ไบต์
  • OpenVPN บน UDP มักทำงานได้ดีที่ 1,500 ไบต์ แต่บ่อยครั้งก็ต้องปรับแต่ง
  • โปรโตคอลที่ใช้ IPSec เช่น IKEv2 มี overhead เป็นของตัวเองและอาจต้องปรับค่า

การหาและแก้ไขค่า MTU ที่เหมาะสม

VPN client ส่วนใหญ่จัดการ MTU โดยอัตโนมัติ แต่เมื่อทำไม่ได้ หรือทำได้ไม่ถูกต้อง คุณจะสังเกตเห็นได้ อาการที่พบบ่อยเมื่อเกิด MTU mismatch ได้แก่:

  • เว็บไซต์โหลดได้เพียงบางส่วนหรือไม่โหลดเลย
  • การโทร VoIP ที่ขาดหายกลางคัน
  • การดาวน์โหลดไฟล์ขนาดใหญ่ที่ค้างอยู่ ในขณะที่ไฟล์เล็กทำงานได้ปกติ
  • ความเร็วที่ไม่สม่ำเสมอและไม่ดีขึ้นไม่ว่าจะเลือกเซิร์ฟเวอร์ใด

คุณสามารถทดสอบและกำหนด MTU ด้วยตนเองโดยใช้เครื่องมือที่มีอยู่ในระบบปฏิบัติการ บน Windows คำสั่ง `netsh interface ipv4 set subinterface` ช่วยให้คุณปรับค่าได้ บน Linux และ macOS ใช้คำสั่ง `ifconfig` หรือ `ip link` วิธีแก้ปัญหาทั่วไปคือการส่ง ping packet ขนาดต่าง ๆ โดยตั้งค่า flag "don't fragment" เพื่อหาขนาดที่ใหญ่ที่สุดที่ผ่านได้อย่างราบรื่น

สรุป

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