MTU 1500, почему первая длина фрагмента 1496 в IPv6?

ping6 ipv6Address -s 1500

эта команда приведет к фрагменту. Наблюдаемый wireshark, длина 1-го фрагментного пакета составляет 1496 (от уровня 3). Поскольку MTU составляет 1500, Я смущен этой длиной 1496. Откуда это все берется?

14
задан deepsky
02.03.2023 17:57 Количество просмотров материала 3448
Распечатать страницу

4 ответа

это только для моей собственной справки о IPv6 MTU. мне нужен некоторые вопрос, чтобы добавить его к-и я чо-чо-выбрать вас.

во-первых, это наш Ethernet-пакет, который мы обычно игнорируем:

+-------------------------+
| Ethernet - 16 bytes     |
|  6 byte destination MAC |
|  6 byte source MAC      |
|  4 byte type            |
+-------------------------+
|                         |
/  1,500 byte payload     /
|                         |
+-------------------------+

теперь мы добавляем заголовок IPv4 или IPv6:

IPv4                           IPv6
+-------------------------+    +-------------------------+
| Ethernet - 12 bytes     |    | Ethernet - 12 bytes     |
|  6 byte destination MAC |    |  6 byte destination MAC |
|  6 byte source MAC      |    |  6 byte source MAC      |
|  4 byte type            |    |  4 byte type            |
+-------------------------+    +-------------------------+
| IPv4 - 20 bytes         |    | IPv6 - 40 bytes         |
|  10  byte control flags |    |  6 byte control flags   |
|  2 byte total length    |    |  2 byte payload length  |
|  4 byte source addr     |    |  16 byte source addr    |
|  4 byte dest addr       |    |                         |
+-------------------------+    |  16 byte dest addr      |
|                         |    |                         |
|                         |    +-------------------------|
|                         |    |                         |
/ 1,480 payload           /    / 1,460 payload           /
|                         |    |                         |
+-------------------------+    +-------------------------+

затем мы добавим мою реальность соединения PPPoE, которая занимает 8 байт из пакета для тега PPPoE PADS:

+-------------------------+
| Ethernet - 12 bytes     |
|  6 byte destination MAC |
|  6 byte source MAC      |
|  4 byte type            |
+-------------------------+
| PPPoE PADS - 8 bytes    |
+-------------------------+
|                         |
/ 1,492 payload           /
|                         |
+-------------------------+

что уменьшает MTU доступное для наших IPv4 и IPv6 дорожного движения:

IPv4                           IPv6
+-------------------------+    +-------------------------+
| Ethernet - 12 bytes     |    | Ethernet - 12 bytes     |
|  6 byte destination MAC |    |  6 byte destination MAC |
|  6 byte source MAC      |    |  6 byte source MAC      |
|  4 byte type            |    |  4 byte type            |
+-------------------------+    +-------------------------+
| PPPoE PADS - 8 bytes    |    | PPPoE PADS - 8 bytes    |
+-------------------------+    +-------------------------+
| IPv4 - 20 bytes         |    | IPv6 - 40 bytes         |
|  10  byte control flags |    |  6 byte control flags   |
|  2 byte total length    |    |  2 byte payload length  |
|  4 byte source addr     |    |  16 byte source addr    |
|  4 byte dest addr       |    |                         |
+-------------------------+    |  16 byte dest addr      |
|                         |    |                         |
|                         |    +-------------------------|
|                         |    |                         |
/ 1,472 payload           /    / 1,452 payload           /
|                         |    |                         |
+-------------------------+    +-------------------------+

и потом, в моем случае, я использую Hurricane Electric6in4 туннелирование, так как мой провайдер не предлагает родное подключение IPv6. Это означает, что мой трафик IPv6 упакован в пакет IPv4:

IPv4                           IPv6
+-------------------------+    +-------------------------+
| Ethernet - 12 bytes     |    | Ethernet - 12 bytes     |
|  6 byte destination MAC |    |  6 byte destination MAC |
|  6 byte source MAC      |    |  6 byte source MAC      |
|  4 byte type            |    |  4 byte type            |
+-------------------------+    +-------------------------+
| PPPoE PADS - 8 bytes    |    | PPPoE PADS - 8 bytes    |
+-------------------------+    +-------------------------+
| IPv4 - 20 bytes         |    | IPv4 - 20 bytes         |
|  10  byte control flags |    |  10  byte control flags |
|  2 byte total length    |    |  2 byte total length    |
|  4 byte source addr     |    |  4 byte source addr     |
|  4 byte dest addr       |    |  4 byte dest addr       |
+-------------------------+    +-------------------------+
|                         |    | IPv6 - 40 bytes         |
|                         |    |  6 byte control flags   |
|                         |    |  2 byte payload length  |
|                         |    |  16 byte source addr    |
|                         |    |                         |
|                         |    |  16 byte dest addr      |
|                         |    |                         |
|                         |    +-------------------------|
|                         |    |                         |
/ 1,472 payload           /    / 1,432 payload           /
|                         |    |                         |
+-------------------------+    +-------------------------+

но важным числом является MTU - размер, что IPv4 или IPv6 в себя (включая заголовки):

IPv4                           IPv6
+-------------------------+    +-------------------------+
| Ethernet - 12 bytes     |    | Ethernet - 12 bytes     |
|  6 byte destination MAC |    |  6 byte destination MAC |
|  6 byte source MAC      |    |  6 byte source MAC      |
|  4 byte type            |    |  4 byte type            |
+-------------------------+    +-------------------------+
| PPPoE PADS - 8 bytes    |    | PPPoE PADS - 8 bytes    |
+-------------------------+    +-------------------------+
|                         |    | IPv4 - 20 bytes         |
/ MTU = 1492              /    |  10  byte control flags |
|                         |    |  2 byte total length    |
+-------------------------+    |  4 byte source addr     |
                               |  4 byte dest addr       |
                               +-------------------------+
                               |                         |
                               / MTU = 1472              |
                               |                         |
                               +-------------------------+

Далее идет путаница в грузоподъемностью размер, используемый при пинге кого-то с не фрагмент флаг. ICMP работает по IP и добавляет свои собственные служебные данные заголовка:

IPv4                           IPv6
+-------------------------+    +-------------------------+
| Ethernet - 12 bytes     |    | Ethernet - 12 bytes     |
|  6 byte destination MAC |    |  6 byte destination MAC |
|  6 byte source MAC      |    |  6 byte source MAC      |
|  4 byte type            |    |  4 byte type            |
+-------------------------+    +-------------------------+
| IPv4 - 20 bytes         |    | IPv6 - 40 bytes         |
|  10  byte control flags |    |  6 byte control flags   |
|  2 byte total length    |    |  2 byte payload length  |
|  4 byte source addr     |    |  16 byte source addr    |
|  4 byte dest addr       |    |                         |
+-------------------------+    |  16 byte dest addr      |
| ICMP - 8 bytes          |    |                         |
+-------------------------+    +-------------------------|    
|                         |    | ICMP - 8 bytes          |
|                         |    +-------------------------+
|                         |    |                         |
/ 1,472 ping payload      /    / 1,452 ping payload      /
|                         |    |                         |
+-------------------------+    +-------------------------+

Примечание: это почему вы связь с 1,452 полезная нагрузка байта, прежде чем вам нужно фрагментировать.

в моем случае, с накладными расходами тега PPPoE колодки:

IPv4                           IPv6
+-------------------------+    +-------------------------+
| Ethernet - 12 bytes     |    | Ethernet - 12 bytes     |
|  6 byte destination MAC |    |  6 byte destination MAC |
|  6 byte source MAC      |    |  6 byte source MAC      |
|  4 byte type            |    |  4 byte type            |
+-------------------------+    +-------------------------+
| PPPoE PADS - 8 bytes    |    | PPPoE PADS - 8 bytes    |
+-------------------------+    +-------------------------+
| IPv4 - 20 bytes         |    | IPv6 - 40 bytes         |
|  10  byte control flags |    |  6 byte control flags   |
|  2 byte total length    |    |  2 byte payload length  |
|  4 byte source addr     |    |  16 byte source addr    |
|  4 byte dest addr       |    |                         |
+-------------------------+    |  16 byte dest addr      |
| ICMP - 8 bytes          |    |                         |
+-------------------------+    +-------------------------|    
|                         |    | ICMP - 8 bytes          |
|                         |    +-------------------------+
|                         |    |                         |
/ 1,464 ping payload      /    / 1,444 ping payload      /
|                         |    |                         |
+-------------------------+    +-------------------------+

и мои дополнительные издержки 6in4:

IPv4                           IPv6
+-------------------------+    +-------------------------+
| Ethernet - 12 bytes     |    | Ethernet - 12 bytes     |
|  6 byte destination MAC |    |  6 byte destination MAC |
|  6 byte source MAC      |    |  6 byte source MAC      |
|  4 byte type            |    |  4 byte type            |
+-------------------------+    +-------------------------+
| PPPoE PADS - 8 bytes    |    | PPPoE PADS - 8 bytes    |
+-------------------------+    +-------------------------+
| IPv4 - 20 bytes         |    | IPv4 - 20 bytes         |
|  10  byte control flags |    |  10  byte control flags |
|  2 byte total length    |    |  2 byte total length    |
|  4 byte source addr     |    |  4 byte source addr     |
|  4 byte dest addr       |    |  4 byte dest addr       |
+-------------------------+    +-------------------------+
| ICMP - 8 bytes          |    | IPv6 - 40 bytes         |
+-------------------------+    |  6 byte control flags   |    
|                         |    |  2 byte payload length  |
|                         |    |  16 byte source addr    |
|                         |    |                         |
|                         |    |  16 byte dest addr      |
|                         |    |                         |
|                         |    +-------------------------|
|                         |    | ICMP - 8 bytes          |
|                         |    +-------------------------+
|                         |    |                         |
/ 1,464 ping payload      /    / 1,424 ping payload      /
|                         |    |                         |
+-------------------------+    +-------------------------+

и вы понимаете, почему я могу пинговать только с полезной нагрузкой 1424 байта.

5
отвечен Ian Boyd 2023-03-04 01:45

вы увидите это, если у вас есть VLAN тегов на интерфейс, который не поддерживает его изначально. 802.1 Q теги VLAN берут дополнительные 4 байта. Если ваш NIC поддерживает их изначально, это поддерживает 1522 байта (вместо более старых 1518 байтов) фреймы Ethernet, таким образом, у вас может все еще быть 1500 байтов MTU. Если ваш NIC не поддерживает его изначально, вы можете поддержать его в программном обеспечении, но вы должны сжать MTU до 1496, таким образом, все это помещается в старые 1518-байтовые фреймы, которые поддерживает ваш NIC.

4
отвечен Paul 2023-03-04 04:02

максимальный размер передаваемого блока данных (MTU) протокола связи слоя-это размер в байтах наибольшего протокольного блока данных, который слой может передавать дальше. На примере IP по DSL соединений с использованием типов pppoa/ВК-мультиплексор, снова выбирают для заполнения 31 банкомат клетки, как и раньше, мы получим нужные оптимальные уменьшена МТУ фигура 1478 = 31*48-10 с учетом накладных расходов на 10 байт, состоящий из двухточечного протокола по 2 байта, и AAL5 оверхед 8 байт. Это дает общая стоимость 31*53=1643 байта, переданных через ATM от пакета 1478 байтов, переданного PPPoA. В случае IP, переданного по ADSL с помощью PPPoA, цифра 1478 была бы полной длиной пакета IP включая IP-заголовки. Таким образом, в данном примере хранение к самоналоженному уменьшенному MTU 1478 в противоположность отправке пакетов IP общей длины 1500 экономит 53 байта на пакет на уровне ATM за счет 22-байтового сокращения длины пакетов IP.

RFC 2516 предписывает максимальный MTU для соединений PPPoE / DSL размером 1492 байта: максимальная полезная нагрузка ethernet 1500 байт минус 8 байт заголовков PPPoE (2 байта для служебных данных PPP и 6 байт для заголовка PPPoE). Это не обязательно заполнит целое число ячеек ATM. Канальный уровень данных-это уровень 2 семиуровневой модели OSI компьютерных сетей. Он соответствует или является частью ссылочного уровня эталонной модели TCP/IP. Вы измеряете в слое 3, так что разница очевидна. Из-за вида сети вы используете 4 байта используются для целей управления сетью.

1
отвечен supstj 2023-03-04 06:19

вы используете DSL? Заголовок PPPoE занимает 8 байт.

1
отвечен LawrenceC 2023-03-04 08:36

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх