LINUX.ORG.RU

Программное определение MTU


0

0

Расскажите алгоритм определения канального MTU? Я конечн догадываюсь, что отправляют сегменты с установленным битом DF и смотрят на результат. Но с какого размера начинать, с каким шагом итп.

Ответ на: комментарий от Sylvia

еще нюанс - 28 байт используется как заголовок, так что получится

значение пинга проходящее без фрагментации + 28 = максимальный MTU

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

плюс вот еще табличка для справки:

1500   The biggest-sized IP packet that can normally traverse the Internet without getting fragmented. Typical MTU for non-PPPoE, non-VPN connections.

1492   The maximum MTU recommended for Internet PPPoE implementations.

1472   The maximum ping data payload before fragmentation errors are received on non-PPPoE, non-VPN connections.

1460   TCP Data size (MSS) when MTU is 1500 and not using PPPoE.

1464   The maximum ping data payload before fragmentation errors are received when using a PPPoE-connected machine.

1452   TCP Data size (MSS) when MTU is 1492 and using PPPoE.

576   Typically recommended as the MTU for dial-up type applications, leaving 536 bytes of TCP data.

48   The sum of IP, TCP and PPPoE headers.
40   The sum of IP and TCP headers.
28   The sum of IP and ICMP headers.

Sylvia ★★★★★
()
Ответ на: комментарий от placement_new

Так эти цифры чем пинговать откуда берутся? наугад? Есть у меня какое то соедение в программе, я хочу подобрать размер пакета лучшии

placement_new ★★
() автор топика
Ответ на: комментарий от placement_new

>Есть у меня какое то соедение в программе, я хочу подобрать размер пакета лучшии

этим занимается драйвер tcp/ip доверься операционной системе, она затем, чтобы ты о таких мелочах не парился. Размер пакета надо под окно наверно подбирать как то.

dimon555 ★★★★★
()
Ответ на: комментарий от placement_new

Вообще-то достаточно отправить пакет с тем размером, который соответствует MTU у интерфейса, и битом DF. Если где-то на маршруте MTU будет меньше, маршрутизатор в начале этого участка обязан грохнуть пакет и выслать icmp-destination-unreachable _с указанием своего MTU_. Затем операция повторяется с новым значением MTU.

nnz ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.