Tại sao tôi thấy các khung Ethernet vượt quá kích thước tiêu đề MTU + Ethernet?


2

Tôi có bộ định tuyến Wi-Fi dành cho người tiêu dùng lưu trữ mạng cục bộ. Bộ định tuyến được kết nối với Internet thông qua mạng của trường (ví dụ: cáp Ethernet kết nối cổng WAN với phích cắm Ethernet của trường). tôi đang chạy tcpdump trên các giao diện WLAN và WAN của bộ định tuyến để nắm bắt lưu lượng được tạo bởi các thiết bị được kết nối với bộ định tuyến.

Điều khiến tôi băn khoăn là tôi thấy các khung hình dài hơn đáng kể so với giới hạn được xác định bởi MTU cộng với kích thước tiêu đề lớp 2. Trước tiên tôi nghĩ rằng điều này sẽ được giải thích bởi sự hỗ trợ của mạng trong khuôn viên trường, nhưng đây là (thường) giới hạn ở mức 9.000 byte MTU và tôi thấy một số khung hình dài gần 13.000 byte.

Tiếp theo tôi nghĩ rằng vì các thiết bị được kết nối bằng Wi-Fi, nên chúng không bị giới hạn bởi Ethernet MTU, mà là MTU 802.11, nhưng cái đó có vẻ là khoảng 2304 byte , do đó, khung 13KB vẫn còn quá lớn. Lưu ý bên lề: các khung xuất hiện dưới dạng khung Ethernet trong Wireshark, nhưng điều đó rõ ràng được giải thích bởi các khung 802.11 được chuyển đổi thành khung Ethernet "giả" trước khi chúng được gửi đến ngăn xếp mạng của HĐH như đã giải thích đây :

Bộ điều hợp 802.11 thường chuyển đổi các gói dữ liệu 802.11 thành các gói Ethernet giả trước khi cung cấp chúng cho máy chủ và ngay cả khi chúng không   Các trình điều khiển cho bộ điều hợp thường làm như vậy trước khi cung cấp các gói   để ngăn xếp mạng và gói gói của hệ điều hành   cơ chế.

Một số quan sát thú vị có thể giúp bạn làm sáng tỏ điều này:

  • Đối với dấu vết được ghi lại ở giao diện WLAN của bộ định tuyến, đó chỉ là các gói có nguồn gốc từ một thiết bị cục bộ và sẽ hướng tới máy chủ Internet vượt quá MTU. Tất cả các gói gửi đến (máy chủ Internet đến thiết bị cục bộ) có độ dài từ 1514 trở xuống.
  • Đối với dấu vết được ghi lại ở giao diện WAN của bộ định tuyến, đó chỉ là lưu lượng truy cập trong nước (máy chủ Internet đến bộ định tuyến) vượt quá MTU Ethernet.
  • Người ta thực sự có thể "ánh xạ" khung lớn (vượt quá MTU) được chụp ở một bên của bộ định tuyến thành một số khung có kích thước MTU hoặc ít hơn ở phía bên kia của bộ định tuyến bằng cách tham chiếu chéo hai dấu vết.
  • Đây là tất cả lưu lượng truy cập TLS (nhưng điều đó sẽ không tạo ra bất kỳ sự khác biệt nào vì đây là giới hạn lớp 2).

Tôi đoán rằng hành vi này có thể là do TSO / GSO dựa trên câu trả lời này . Tuy nhiên, nó nói rằng một người nên không phải xem các khung lớn hơn này nếu một người thực hiện chụp trên thiết bị mạng:

[...] Bạn có thể thấy TCP gửi các phân đoạn lớn hơn MTU. Các   các gói trên dây, tuy nhiên, sẽ chỉ có kích thước MTU. Bạn có thể xác minh   điều này bằng cách chụp trên thiết bị mạng (switch), v.v.

Tôi thực sự thực hiện chụp trên một thiết bị mạng (bộ định tuyến), nhưng tôi vẫn thấy các khung lớn. Tuy nhiên, bộ định tuyến chạy LEDE / OpenWrt.

Tôi đính kèm một ví dụ về khung vượt quá MTU. Lưu ý rằng khung này đã được chụp trên giao diện WAN của bộ định tuyến ( eth0 ). Đây có phải chỉ đơn giản là kết quả của TSO / GSO, hoặc có điều gì khác đang diễn ra mà tôi không biết? Ngoài ra, TSO / GSO có hoạt động theo cả hai hướng không, hay nó chỉ áp dụng cho các gói tin đi? Nếu trường hợp sau là trường hợp, thì TSO / GSO không thể là lời giải thích vì gói ví dụ được gửi đến từ quan điểm của bộ định tuyến.

Cập nhật: vô hiệu hóa TSO / GSO trên giao diện WAN và WLAN của bộ định tuyến không thay đổi bất cứ điều gì; các khung lớn vẫn hiện diện khi chạy lại thử nghiệm.

Example of frame that exceeds MTU


Là một bộ định tuyến làm cho nó trở thành một thiết bị mạng "nâng cao". Các công tắc thường không sửa đổi các khung được truyền qua, nhưng các bộ định tuyến thực hiện theo thiết kế (mặc dù ... thường không đến mức lắp lại TCP) - vì vậy nó vẫn có thể bị ảnh hưởng bởi GSO.
grawity

Tài khoản
Janus Varmarken

Câu trả lời:


3

Đây chỉ là bộ định tuyến của bạn làm LRO (hoặc có thể GRO).

Nó không phải là TSO / GSO vì bạn chỉ nhìn thấy nó trên các gói được nhận bởi bộ định tuyến của bạn chứ không phải các gói mà nó đang truyền.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.