Найти в Дзене
MTU, TCP, IP PING, TRACEROUTE...

MTU, TCP, IP PING, TRACEROUTE...

подборка · 5 материалов
10 месяцев назад
Ping работает, но сайт не открывается. MTU?
Знать про MTU важно не только сетевым инженерам, но и системным админам, DevOps инженерам, разработчикам. Почему? Ну хотя бы потому, что от MTU зависит эффективность работы любого приложения. Чтобы MTU не создал вам проблем нужно понимать какие его разновидности бывают и какие протоколы на него полагаютcя. Бонусом данной статьи станет знакомство с альтернативой ручному поиску Path MTU утилитой mtupath. Все чаще мы в своей практике сталкивамся с проблемами, связанными с MTU. То разработчик отечественного...
10 месяцев назад
MTU (maximum transmission unit)
Ранее уже был пост на тему выбора размера MTU для VPN туннелей. Чаще всего об этом не нужно беспокоиться, принимая все параметры по умолчанию, но иногда бывают ситуации, и я с ними сталкивался, когда приходится разбираться из-за заметного уменьшения быстродействия туннеля без видимых причин. Я вспомнил об этой теме, потому что столкнулся с реальным примером. У меня не возникло каких-то проблем с быстродействием, но получилось на практике посмотреть на эти настройки. Мне нужно было подключиться к старенькому PPTP туннелю...
10 месяцев назад
Когда вы настраиваете VPN, встаёт вопрос выбора размера MTU (maximum transmission unit) внутри туннеля. Это размер полезного блока с данными в одном пакете. Как известно, в сетевом пакете часть информации уходит для служебной информации в заголовках. Различные технологии VPN используют разный объём служебных заголовков. А если VPN пущен поверх другого VPN канала, то этот вопрос встаёт особенно остро. Если ошибиться с размером MTU, то пакеты начнут разбиваться на несколько, чтобы передать полезный блок с данными. Это очень сильно снижает скорость передачи данных. Минимум в 2 раза, но на деле гораздо больше. Правильно выбрать размер MTU можно с помощью готового калькулятора - Visual packet size calculator. К сожалению, в калькуляторе нет OpenVPN. И я как-то сходу не смог найти информацию, сколько места занимают служебные заголовки этого протокола. Покажу пример для WireGuard, если я всё правильно понимаю. Если ошибаюсь, прошу поправить. Мы устанавливаем туннель WireGuard, чтобы гонять по нему ipv4 трафик. Идём в калькулятор и выстраиваем там цепочку: IPv4 (20 bytes) ⇨ WireGuard (40 bytes) ⇨ IPv4 (20 bytes) Имея на родительском интерфейсе MTU 1500, внутри туннеля нам необходимо установить его 1420. Если не ошибаюсь, это как раз значение по умолчанию для WireGuard. Тема MTU довольно сложная. Если вы не сетевой инженер и специально ей не интересовались, то вникнуть непросто. На практике я сталкивался с подобными проблемами. Решал их в меру своих сил и способностей - просто уменьшал MTU до некоторых значений, когда проблем пропадала. Если вы не разбираетесь детально в этой теме, рекомендую поступать так же. И важно знать, что если у вас PPPoE соединение от провайдера, то оно дополнительно 8 байт занимает на заголовки. Часто дефолтные значения различного софта не учитывают этого нюанса и нужно будет поправить вручную.
10 месяцев назад
Чем отличаются утилиты 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 помогает быстро увидеть проблему. Возьмите на вооружение.
11 месяцев назад
Протоколы семейства TCP/IP. Теория и практика
В сети можно найти огромное количество материала о том, как функционируют сети на базе стека протоколов TCP/IP, а также как писать компьютерные программы с сетевыми возможностями. При рассмотрении компьютерных сетей часто углубляются в описание физических основ и структур данных, передаваемых по сети, а при рассмотрении сетевого программирования основное внимание уделяют интернет-сокетам. Но при изучении и исследовании хочется большего, например, поэкспериментировать с пакетами сетевых протоколов...