sfd
Чем отличаются утилиты traceroute, tracert и tracepath? Думаю, все системные администраторы Linux знают команду traceroute. Она очень похожа на аналогичную программу в Windows — tracert. С их помощью можно быстро увидеть маршрут следования пакета до конечного хоста. При этом отображаются сведения обо всех промежуточных маршрутизаторах, если там специально не настроена блокировка ответов на подобные запросы. Отмечу, что хоть traceroute и tracert похожи, но у них есть существенное отличие. Traceroute по умолчанию использует UDP протокол, а tracert — ICMP. При этом в первой можно выбирать протокол, во второй нет. Вот пример запуска traceroute с разными протоколами (UDP и ICMP): # traceroute mail.ru # traceroute -I mail.ru Утилита tracepath очень похожа на traceroute в плане базовой трассировки. Она тоже использует UDP протокол. Но у неё есть важное и полезное отличие. Она сразу же показывает MTU пакетов. И если этот размер где-то по пути меняется, отображает это. На картинке снизу будет пример трассировки с изменением MTU по пути следования пакета. Я специально его уменьшил в VPN туннеле, чтобы показать работу tracepath. Иногда эта информация очень нужна и tracepath помогает быстро увидеть проблему. Возьмите на вооружение.
MTU (maximum transmission unit)
Ранее уже был пост на тему выбора размера MTU для VPN туннелей. Чаще всего об этом не нужно беспокоиться, принимая все параметры по умолчанию, но иногда бывают ситуации, и я с ними сталкивался, когда приходится разбираться из-за заметного уменьшения быстродействия туннеля без видимых причин. Я вспомнил об этой теме, потому что столкнулся с реальным примером. У меня не возникло каких-то проблем с быстродействием, но получилось на практике посмотреть на эти настройки. Мне нужно было подключиться к старенькому PPTP туннелю...