Lệnh chỉnh MSS ip tcp adjust-mss có tác dụng gì

Thực sự lệnh ip tcp adjust-mss có tác dụng gì; có liên quan tới mtu ko,

Khi mình config gre hoặc pppoe hay thấy có lệnh chỉnh mss như trên; vậy nó hoạt động thế nào?

Ví dụ mình có sơ đồ này:

Ở đây mình config cho R1 telnet sang R3

Sau đó bắt wireshark ở R2, cổng 0/0, thì thấy gói tin bắt tay SYN có đề xuất dùng MSS là 536 bytes, là kích cỡ lớn nhất của payload , (không tính IP và MAC header)

Ta thấy:

R1=>R3:

Sau đó R3 cũng phản hồi là: OK dùng MSS là 536 nhé:

R3=>R1:

Giờ mình thử chỉnh MSS trên R2 xuống 500 byte

Thử telnet lại vẫn OK

Bắt trên wireshark tại R2; thì vẫn thấy gói từ R1=>R3 có MSS là 536 như trước

Nhưng gói này khi qua R2 đã bị nó sửa lại thành 500, vì vậy khi R3 nhận dc , tưởng là 500, và phản hồi, OK dùng 500.

R3=>R1:

Vậy tóm lại là: R2 sẽ sửa đổi giá trị MSS rồi mới gửi đi, mục đích để tránh 2 đầu gửi gói to, sẽ bị phân mảnh nếu to hơn MTU.

(Một số bạn hiểu nhầm là R2 ra lệnh cho R1 gửi bé hơn, thực ra là nó trực tiếp sửa MSS rồi mới chuyển sang R3)

Tham khảo khoá học kèm mô phỏng trực quan lí thuyết tại đây

Bài viết cùng danh mục