Как да настроите правилната MTU

Да използваме аналогия тук: да предположим, че човек ходи на пазара и има само една чанта за превозвач. Индивидът ще се стреми да закупи колкото се може повече артикули, но все пак да се увери, че всички те могат да се поберат в чантата, вместо да се разделят на няколко торби, които той няма. Подобно на цифровите мрежи, MTU е параметърът, който определя най-голямата прехвърлена дейтаграма, без да е фрагментирана през мрежата. По-долу е представено въведение в MTU, както и обяснение как да се изчисли. Също така разберете стойността на MTU в Windows и Linux и как да ги промените.

Въведение в MTU

  • Какво е MTU?
  • Изчислете MTU
  • Намерете стойността на MTU на Windows
    • Промяна на MTU на Windows
  • Намерете стойността на MTU на Linux
    • Промяна на MTU на Linux

Какво е MTU?

Максималната единица за предаване (MTU) (максимален размер на предавателната единица) е параметър, който определя най-дългата дейтаграма, която може да бъде предавана чрез IP интерфейс, без да е необходимо да бъде фрагментирана на по-малки единици. MTU трябва да бъде по-голям от най-голямата дейтаграма, която искате да предадете, без да бъдете фрагментирана. По-просто, MTU определя максималния размер (в байтове) на пакета, който може да се предава едновременно.
  • За ethernet тази стойност трябва да бъде 1500 байта.
  • За връзки PPPoE, 1492
  • За CTS (ниска скорост), 576

Изчислете MTU

Всеки предавателен кадър се определя от тялото (= MMS = максимален размер на сегмента), който определя най-големия сегмент от TCP информацията, която може да се предава, и заглавната част.
  • MTU = MSS + TCP / IP заглавки

Помислете, че:

  • MSS = MTU-40 <- 40 за заглавката (20-байтови IP и 20-байтови TCP)

Пакетите не са фрагментирани

Няма загубени пакети

  • Размер / скорост на пакета

Или прехвърлянето на информация от 1500000 байта, използвайки различен размер на пакети през Т1 линия (CTS) (T1 = 1544000 бита / сек), както следва:

 (MSS + заглавна част) * 8 бита / байт

---------------------------------- = Латентност

1, 544, 000 бита / сек.

  • Като се използват различни стойности на MTU, може да се изчисли латентността на предаването:

Ако MTU = 1500, тогава: (1460 +40) * 8/1544000 = 7772 ms

Ако MTU = 576, тогава: (536 +40) * 8/1544000 = 2924 ms

  • При 10 контура получаваме 77.72 ms за MTU до 1500 и 29.24 ms за 576.
  • За да обобщим, колкото повече пакети има, толкова по-дълъг е прехвърлянето ;-)

Използвайки същата формула за прехвърляне на 1mb.

1MByte = 1024 KB = 1, 048, 576 байта.

  • Ако MTU = 1500, тогава: (1460 +40) * 8/1544000 = 7772 ms
  • 1 MByte / MSS = 1048576 байта / 1460 = 718.2, така че 719 пакета за прехвърляне на 1 MByte.
  • За прехвърляне на 1Mbyte: 719 ms 7772 * пакети (винаги loop) = 5588.068 ms, или 5588 секунди.
  • Ако прехвърлим нашите 1 MByte в 10 цикъла (дефинирани от заглавието), в идеалния случай ще:

(1 пакетни линии * 10 * 7.772ms забавяне) + 718 * 7772 = 5658 секунди.

Ако MTU = 576, тогава: (536 +40) * 8/1544000 = 2924 ms

1 MByte / MSS = 1048576 байта / 536 = 1956.3, следователно 1957 пакета за прехвърляне на 1 MByte.

  • За прехвърляне на 1 MByte: 1957 пакета * 2924 ms (винаги цикъл) = 5722.268 ms, или 5722 секунди на цикъл.

Ако прехвърлим 1 MByte в 10 контура:

(1 пакетни линии * 10 * 2.924ms) * 2924 + 1956 = 5748 сек.

Разликата е, че по-големият размер на пакета е голям, по-малко от това на заглавката е важно (сравнително ^ ^)

Така, за да прехвърлите 1Mbyte, ако се използва MTU до 1500 тогава има 719 * 40 = 28, 760 байта за заглавката, докато MTU до 576, получаваме 1957 * 40 = 78, 280, повече от 49, 520 байта от 'header' изпращат Mbyte всеки. За нашия пример от 10 контура, не е значителен, а от ежедневните трансфери ...

Повечето модеми използват по-голям заглавие и ние не вземаме под внимание и такива други латентности, които могат да бъдат свързани.

Намерете стойността на MTU на Windows

За да намерите максималната MTU, тя трябва да бъде в командния ред (Start> Run> "cmd"). След като влезете в командния ред (черна страница), е необходимо да тествате ping, като посочите размера на пакетите за тестване:
  • ping-fl (размер на пакета -28) (IP на вашия сървър)

Опцията-f ви позволява да вземете теста, като изисквате маршрутизаторите да не се сблъскат с фрагмента на пакета

Опцията-l изпраща размера на пакета

Премахването на 28 до размера на пакета, който ще се тества, съответства на заглавката на този пакет

Трябва да извършим теста до ПР. Заради интернет браузъра е по-добре да вземете уеб адрес.

  • Това дава:

 ping-fl 1372 192.168.0.1

- Ако отговорът на заявката е:

Отговор от 192.168.0.1: байтове = 1372 ....

Отговор от 192.168.0.1: байтове = 1372 ....

Отговор от 192.168.0.1: байтове = 1372 ....

Отговор от 192.168.0.1: байтове = 1372 ....

Тук размерът на пакета позволява да се транспортира без фрагментация, може да се тества по-висока стойност. Когато получите съобщението: "Пакетът трябва да бъде фрагментиран, но DF set", размерът на пакета е твърде голям.

Промяна на MTU на Windows

След като сте определили оптималната MTU, има два начина за промяна на стойността на MTU. Тук споменавам най-лесното за внедряване чрез софтуера:
  • DrTCP

Веднъж инсталиран, имате кутия "MTU", където трябва да въведете стойността на теста под DOS, като добавите 28 за заглавката.

Намерете стойността на MTU на Linux

  • Просто изпълнете тази команда като root с name_interface, за да замените с името на съответния мрежов интерфейс:

 interface_name ifconfig | grep-Eo "MTU: [0-9] +"

Промяна на MTU на Linux

  • В root с командата ifconfig, която променя MTU на Linux със следния синтаксис:

 interface_name ifconfig mtu value_mtu 
  • Пример: задайте MUT на интерфейса на 1500

 ifconfig eth0 mtu 1500 
Предишна Статия Следваща Статия

Топ Съвети