Khi thiết lập kết nối Internet sử dụng giao thức PPPoE (Point-to-Point Protocol over Ethernet), một khuyến nghị cấu hình phổ biến là đặt giá trị MTU (Maximum Transmission Unit) thành 1492. Bài viết này sẽ phân tích lý do kỹ thuật đằng sau con số này.
Theo tiêu chuẩn,gói tin IP (không tính tới MAC header) có giá trị lớn nhất(MTU) là 1500 byte (hiện nay nhiều thiết bị đời cao là 9216 Byte).
PPPoE hoạt động bằng cách "đóng gói" (encapsulate) các gói tin PPP vào bên trong các khung tin Ethernet, tức là chèn thêm (8 byte) vào gói dữ liệu.
Vấn đề phát sinh khi một gói tin IP có kích thước tối đa (1500 byte) được gửi qua kết nối PPPoE. Trước khi được truyền đi, router sẽ thực hiện đóng gói:
Gói tin IP (1500 byte) + PPPoE Overhead (8 byte) = Dữ liệu cần gửi (1508 byte)
Dữ liệu 1508 byte này giờ đây đã **lớn hơn** giới hạn MTU 1500 byte của Ethernet. Để xử lý, router buộc phải thực hiện một tác vụ tốn kém là phân mảnh gói tin (IP Fragmentation). Nó sẽ chia gói 1500 byte ban đầu thành hai hoặc nhiều gói nhỏ hơn để chúng có thể đi qua. Quá trình này làm tăng độ trễ, tiêu tốn CPU của router và có thể gây lỗi cho các ứng dụng yêu cầu gói tin không bị phân mảnh (gói tin có cờ DF - Don't Fragment).
Giải pháp là GIẢM kích thước gói tin IP tối đa ngay từ nguồn, trước khi quá trình đóng gói diễn ra. Chúng ta cần "dành chỗ" cho 8 byte overhead của PPPoE.
MTU mới = MTU Ethernet - PPPoE
tức là 1492 (= 1500 - 8)
Bằng cách đặt MTU trên router thành 1492, chúng ta ra lệnh cho hệ điều hành chỉ tạo ra các gói tin IP có kích thước tối đa là 1492 byte. Khi gói tin này đi qua kết nối PPPoE, router sẽ thêm 8 byte Header, tạo ra một gói dữ liệu cuối cùng có kích thước đúng bằng 1500 byte, hoàn toàn vừa vặn với payload của Ethernet.