воскресенье, 19 декабря 2021 г.

расчет значений MTU

 Чтобы систематизировать свое представление о работе различных реализаций VPN-ов и расставить для себя все точки над "i", выполнил расчет значений MTU и MSS для payload (полезного передаваемого трафика) в разных типах VPN, используемых совместно с Ethernet. Прошу проверить мои расчеты и указать мне на ошибки, если таковые имеются.

Итак.

1. PPTP

PPTP это полезный_TCP -> IP -> PPP -> GRE -> IP -> Ethernet

Для Ethernet MTU=1500; заголовки IP -20 байт, заголовок GRE -4 байта, заголовок PPP -2 байта.

Итого, MTU=1500-20-4-2=1474; MSS=MTU-40=1434


2. Не зашифрованный L2TP поверх IP

L2TP это полезный_TCP -> IP -> PPP -> L2TP -> UDP -> IP -> Ethernet

Для Ethernet MTU=1500; заголовки IP -20 байт, заголовки UDP -8 байт, заголовки L2TP -16 байт, заголовок PPP -2 байта.

Итого, MTU=1500-20-8-16-2=1454; MSS=MTU-40=1414


3. L2TP поверх IPSEC

L2TP поверх IPSEC это полезный_TCP -> IP -> PPP -> L2TP -> UDP -> ESP -> IP -> Ethernet

Получается то же самое, что и пункт 2, за вычетом размера заголовков ESP -20 байт.

Итого, MTU=1454-20=1434; MSS=MTU-40=1394


4. L2TP поверх IPSEC с NAT-Traversal

Это полезный_TCP -> IP -> PPP -> L2TP -> UDP -> ESP -> IP -> UDP -> IP -> Ethernet

Получается то же самое, что и пункт 3, за вычетом размера заголовков UDP -8 байт и IP -20 байт.

Итого, MTU=1434-28=1406; MSS=MTU-40=1366.

понедельник, 6 декабря 2021 г.

Большая коллекция скриптов routeros https://github.com/eworm-de/routeros-scripts

 https://github.com/eworm-de/routeros-scripts


RouterOS is the operating system developed by MikroTik for networking tasks. This repository holds a number of scripts to manage RouterOS devices or extend their functionality.

Use at your own risk, pay attention to license and warranty!

Available scripts

Available modules

Contact

We have a Telegram Group RouterOS-Scripts! Get help, give feedback or just chat - but do not expect free professional support!

Contribute

Thanks a lot for past contributions!

Patches, issues and whishlist

Feel free to contact me via e-mail or open an issue at github.