Network Admin
12.5K subscribers
1.01K photos
13 videos
8 files
1.03K links
Обучающий канал по сетевому и системному администрированию.

Сотрудничество: @dad_admin
Биржа: https://telega.in/c/networkadm

РКН: https://bit.ly/4ioc61C
Download Telegram
BFD flaps на стабильных линках

Линк выглядит стабильным: OSPF и BGP держат соседство, ping проходит, маршруты есть, но BFD внезапно сигнализирует «link down».

В результате мгновенно конвергируют маршруты, появляются кратковременные packet drops, а логи показывают тревожные сообщения, хотя физический линк не упал.


Часто причина кроется в jitter или небольших microbursts на линке. BFD очень чувствителен к задержкам: heartbeat и detect time могут «срабатывать» слишком быстро.

Проверка ситуации:

show bfd neighbors
show bfd sessions
ping <neighbor-ip> repeat 100


Что помогает: увеличить тайминги BFD (detect interval, multiplier), проверить качество линка на jitter и drops, применить QoS для BFD-трафика, чтобы он не терялся при нагрузке.

N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
Как понять, что упираешься в single-flow limit

Канал вроде быстрый, интерфейс не забит, CPU в порядке - но скорость упирается в 200–300 Мбит/с и выше не растёт. При этом параллельные загрузки «вдруг» дают почти весь канал.


Это классический случай single-flow ограничения: один TCP-поток не может «раскачать» линк из-за latency и размеров окна. Чем выше RTT, тем сильнее эффект - поток просто не успевает нарастить объём данных в полёте.

Самая быстрая проверка - сравнить один поток и несколько:

iperf3 -c <server-ip> -P 1
iperf3 -c <server-ip> -P 10


Если при -P 1 скорость низкая, а при -P 10 резко растёт - это не проблема канала. Это ограничение одного TCP-потока.

Дальше можно посмотреть детали по соединению:

ss -ti


Обращаем внимание на cwnd, rtt, retrans. Маленькое окно или высокий RTT сразу объясняют, почему throughput не растёт.

Что обычно влияет:
latency между узлами
TCP window size и autotuning
packet loss (даже небольшой сильно режет throughput)

⚡️В таких ситуациях «сеть медленная» - неправильный вывод. Канал свободен, просто один поток физически не может его загрузить.

N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
Parallelism в сети: почему несколько потоков - это норма

Один TCP-поток почти никогда не использует весь канал между узлами с высокой пропускной способностью или большим RTT.

Даже гигабитный линк может быть недогружен, если работает только одно соединение.


Чтобы это обойти, системы создают несколько параллельных соединений. Браузеры открывают сразу несколько TCP-сессий к серверу, CDN и S3 одновременно гонят несколько потоков для одного файла.

В итоге канал используется максимально, ограничения одного TCP-потока нивелируются, а мелкие потери пакетов уже не тормозят весь трафик.

Проверка и тест:

iperf3 -c <server-ip> -P 1    # один поток, упираемся в single-flow limit
iperf3 -c <server-ip> -P 8 # 8 потоков, канал почти полностью загружен


N.A.
👍151
Апгрейд канала не всегда ускоряет приложение

Увеличили линк с 1 Гбит/с до 10 Гбит/с, а скорость приложения почти не изменилась. Такое часто встречается, когда речь про один TCP-поток.

Дело не в канале, а в том, сколько данных поток успевает держать «в полёте». 


RTT остался прежним, TCP window не вырос - поток просто не успевает заполнять новый bandwidth.

Реальный прирост появляется только если:
добавить параллельные потоки
оптимизировать TCP параметры

Проверка:

iperf3 -c <server-ip> -P 1    # один поток — потолок не выше старого
iperf3 -c <server-ip> -P 8 # несколько потоков — канал полностью загружен


N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
TCP retransmits в реальных сетях

Даже на пустом канале приложения могут тормозить. Packet loss или jitter заставляют TCP пересылать пакеты снова и снова, а один поток не успевает «накачать» канал.

Признаки - медленный throughput, высокий RTT, заметные retransmits.

На Linux проверить легко

ss -ti | grep retrans
tcpdump -i eth0 tcp and host <peer-ip> -vv


Даже 0.1–0.5% потерь на WAN сильно сказываются на скорости одного потока. Параллельные соединения и настройка TCP window позволяют компенсировать этот эффект.

Особенно это важно для high-speed каналов между датацентрами, VoIP и стриминговых сервисов, где каждая миллисекунда задержки критична.

N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
QoS surprises в multi-tenant сетях

Даже когда вроде всё настроено, трафик может терять приоритет. CoS на L2 и DSCP на L3 не совпадают, и на trunk или overlay это особенно заметно: пакеты проходят, но VoIP, видео и контрольные протоколы начинают тормозить.

Чтобы понять, где «теряется приоритет», полезно смотреть, как устройство обрабатывает QoS. Например на Cisco:

# Как классифицируются пакеты на интерфейсе
show mls qos interface Gi1/0/1
show policy-map interface Gi1/0/1

# Какие очереди и сколько пакетов дропается
show queueing interface Gi1/0/1

# Какие class-map и DSCP сопоставления настроены
show class-map
show policy-map

# Проверка QoS на VLAN
show vlan brief
show mls qos vlan 10


Практика: согласовывать trust boundary между L2 и L3, следить за очередями и задержками для критичных VLAN. Даже маленький mismatch может превратить приоритетный трафик в «тормозной», а эти команды помогут быстро увидеть проблему и исправить её.

N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
Почему «низкая загрузка» не означает, что сеть здорова

На графиках всё спокойно. 10–20% загрузки, никаких красных зон, интерфейсы не перегружены. С точки зрения мониторинга - сеть «дышит».


Но пользователи всё равно жалуются: видео фризит, API отвечает рывками, TCP ведёт себя странно.

А дело в том, что сеть редко работает равномерно. Трафик приходит не гладкой линией, а короткими всплесками. И эти microbursts легко забивают буферы даже на полностью «свободном» канале.

В этот момент интерфейс может выглядеть почти пустым по среднему значению, но внутри уже идут очереди, дропы и задержки.

show interfaces counters
show interface <int> | include rate
show queueing interface <int>


И получается парадокс: по метрикам всё хорошо, а по факту сервис уже деградирует.

N.A.
👍81
DNS кеш на уровне системы и «устаревшие» ответы

Сервис уже переехал, DNS запись обновлена, инфраструктура выглядит корректно. Но часть клиентов продолжает ходить на старый IP и поведение выглядит нестабильно.


В таких ситуациях проблема часто не в DNS как сервисе, а в том, что ответ уже зафиксирован ближе к клиенту.

Это может быть кеш ОС, systemd-resolved, браузера или самого приложения. Пока TTL не истечёт или кеш не сброшится, запросы продолжают уходить на старый адрес.

resolvectl status
resolvectl statistics

dig <domain>
nslookup <domain>

getent hosts <domain>


В реальной работе это чаще всего проявляется при миграциях сервисов, смене backend или переезде между датацентрами.

Сеть уже работает на новом IP, но часть трафика всё ещё живёт в старой картине из-за локального резолва.

N.A.
👍71
Link aggregation hashing algorithms и почему нагрузка распределяется неравномерно

Port-channel или bond выглядит как один быстрый интерфейс, но внутри трафик всегда режется по алгоритму хеширования. И от того, какие поля участвуют в hash, зависит реальная загрузка линков.

Если hash основан на L2 (например src-mac или dst-mac), распределение зависит от количества MAC-адресов. В сети с few talkers это быстро приводит к перекосу, когда один линк загружен, а остальные почти пустые.

Если используется L3/L4 (src-ip, dst-ip, 5-tuple), балансировка становится ближе к реальной нагрузке приложений, но все равно упирается в количество потоков. Один большой поток всегда останется на одном физическом линке.

Cisco:

show etherchannel load-balance
show etherchannel summary
show interfaces port-channel 1


Можно посмотреть, как именно устройство строит hash и какие поля участвуют в распределении.

MikroTik:

/interface bonding print
/interface bonding monitor bond1


А проявляется так: порт-канал есть, суммарная скорость высокая, но один линк перегружен, остальные недоиспользованы. И поведение может меняться просто из-за смены типа трафика или количества потоков.

N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3
VXLAN vs MPLS vs VLAN design в датацентре

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

1️⃣VLAN design

VLAN - это классическая L2 сегментация через broadcast domain. Всё просто: разделили сеть на VLAN и связали их через trunk или L3 устройство.

Подходит для небольших и средних сетей, где важна простота и быстрый запуск.

Проблемы начинаются при масштабировании: рост количества VLAN, зависимость от STP и сложность расширения между сегментами и стойками.

show vlan brief
show interfaces trunk
show spanning-tree


2️⃣MPLS

MPLS использует label switching вместо чистого IP routing. Трафик идет по меткам, что позволяет строить масштабируемый core и управлять путями.

Часто используется в операторских сетях и больших backbone инфраструктурах, где важны контроль и предсказуемость.

Сложность выше за счет control-plane (LDP, RSVP, BGP) и более сложной диагностики.

show mpls forwarding-table
show mpls ldp neighbor
show ip route


3️⃣VXLAN

VXLAN строит overlay поверх IP сети. Ethernet кадры инкапсулируются в UDP и переносятся через L3 underlay.

Это основной подход для современных spine-leaf DC, где underlay остается простым IP routing, а логика сегментации уходит в overlay.

Минус - добавляется слой абстракции, который нужно дебажить вместе с underlay.

show nve peers
show nve vni
show bgp l2vpn evpn summary


N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥91👍1
FastPath vs FastTrack и разрыв модели обработки трафика

FastPath и FastTrack оба ускоряют обработку, но работают на разных уровнях и ломают привычную линейную модель прохождения пакета через RouterOS.


FastPath пытается вывести трафик из полного firewall pipeline и отправить его напрямую в forwarding path, если условия позволяют.

FastTrack работает поверх conntrack и ускоряет уже установленные соединения, сокращая участие firewall, mangle и части обработки для established/related потоков.

Один и тот же поток сначала проходит полный стек обработки, а после установления состояния часть трафика начинает идти по ускоренному пути.

В итоге поведение firewall, очередей и счетчиков может меняться в процессе жизни соединения без изменения конфигурации.

MikroTik проверка

/ip firewall filter print
/ip firewall mangle print
/ip firewall connection print
/ip settings print


N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Правильное Питание (ПП) коммутационного оборудования

Система резервного электроснабжения должна обеспечивать не просто бесперебойное, но правильное питание. ПП — как у зожников, только для электроприборов. Много есть неочевидных нюансов — и первые в мире ПП-ИБП, решающие все проблемы с плохим качеством электричества, делает Systeme Electric.

Тотальный онлайн-ЗОЖ — онлайн Защита от Отключений Железа. ПП-ИБП Systeme Electric с онлайн-топологией двойного преобразования обеспечат чистый синус, защитят от помех и скачков напряжения.

Повышенная БЖУ — Бесперебойность Жизненно-важных Устройств. Тянут нагрузку в 150% от номинальной. Система не рухнет в момент включения мощных потребителей (именно в это время возникают краткосрочные, но сильные перегрузки).

Настоящий суперфуд для оборудования — высочайший КПД 95%. Из-за этого ПП-ИБП Systeme Electric не перегреваются.

Самое полное ПП-меню — поддерживают все возможные интерфейсы и протоколы (EPO, SNMP, RS-485, RS-232, USB, RJ45/RJ11, EMBS). Не будет сложностей с подключением нового бесперебойника к существующему оборудованию.

Гарантия рекордная — 3 года — такую больше никто не дает.

Техподдержка 24/7 (в мессенджерах, днем и по телефону): после 6 — можно!

ПП-ИБП Systeme Electric — это не какой-то китайский электро-фастфуд. Это бывшее российское подразделение Schneider Electric, производителя легендарных APC. Технологии и лучшая команда инженеров те же самые — только вывеска новая (из-за евросанкций). Эти люди точно знают: на здоровье оборудования не экономят!

Первые в мире ПП-ИБП тут.
5🤔2
⚡️ Анонсирована еще более бюджетная версия MacBook Pro

N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣25🔥3😁3
Почему после изменения ACL пропадает доступ к части сети

Настроили новый ACL на интерфейсе или между сегментами, но часть сервисов перестала отвечать: одни IP доступны, другие нет, часть приложений зависает на таймаутах.

Чаще всего проблема не в самом ACL, а в порядке правил и скрытых “deny any” в конце. Также часто забывают про обратный трафик, из-за чего запрос проходит, а ответ блокируется.

Типовые причины: правило блокирует обратный трафик (return traffic) ACL применён не в том направлении (in/out) отсутствуют разрешения для established/related соединений правило выше по списку перекрывает нужный allow забытый implicit deny в конце списка ACL применён только на одном интерфейсе в цепочке
Команды для проверки:

show access-lists
show ip interface
show run interface Gi0/0


Проверка фактической обработки трафика:

debug ip packet
(аккуратно в проде)


Проверка пути:

traceroute <ip>
ping <ip>
 

Проверка логики ACL:

show access-lists <name>


Смотрим counters у правил - если растут deny, значит трафик реально режется.
Если проблема в направлении применения ACL:

interface Gi0/0
ip access-group <name> in


или

ip access-group <name> out
 

Если ломается из-за порядка правил — правило выше перекрывает нужный трафик, поэтому проверять нужно сверху вниз, а не по смыслу.

N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
Почему после добавления VLAN пропадает связь

Добавили VLAN, всё выглядит корректно, но хосты внезапно перестают видеть шлюз или друг друга. При этом линк “зелёный”, порты up, явных ошибок нет.

Проверка обычно начинается с того, что VLAN вообще существует и не потерялся на уровне коммутатора.

show vlan brief


Иногда уже здесь видно, что VLAN есть, но он фактически никуда не “приклеен” - нет активных портов или он не проходит дальше по сети.

Дальше почти всегда упирается в транк: VLAN создан, но между устройствами он просто не доходит.

show interfaces trunk


Частая ситуация - VLAN не в allowed list, и трафик физически режется на выходе, хотя локально всё выглядит нормально.

Если с транком всё ок, проверяется интерфейс с точки зрения реальной конфигурации, а не ожиданий.

show running-config interface Gi0/1


Иногда проблема всплывает в несовпадении native VLAN или в том, что один конец линка настроен иначе, чем другой.

Если есть L3, дальше смотрят SVI - и тут часто оказывается, что интерфейс просто не поднялся.

show ip interface brief | include Vlan


И если там down/down, VLAN как будто есть, но в маршрутизации он не участвует вообще.

Проверка маршрутов иногда быстро подтверждает картину.

show ip route connected


N.A.
👍12💯1
Появился удобный AI-инструмент для подготовки к найму и прохождения собеседований - Sobes Copilot.

Это ассистент, который помогает прямо во время интервью: слушает диалог, распознаёт речь в реальном времени и подсказывает, как лучше ответить. Работает в Zoom, Google Meet, Teams, VK Calls и других платформах, и не виден при демонстрации экрана.

Что есть в Sobes Copilot:
Подсказки в реальном времени во время собеседований
Пост-анализ интервью - сервис разбирает прошедший созвон, выделяет сильные и слабые места, удачные формулировки и зоны роста
Генератор и улучшение резюме - помогает собрать сильное резюме под конкретную вакансию
Мок-собеседования (и System Design) - тренировки с ИИ, приближённые к реальным интервью
Авто-отклики на HH - автоматизируют массовую подачу на вакансии по заданным фильтрам

Если хочешь проходить собеседования спокойнее, увереннее и системнее - посмотри, что умеет Sobes Copilot.
🔥1
Почему сервис “умирает” после включения retry

Retry включили на клиенте или gateway, и вместо стабилизации получили рост нагрузки и ощущение деградации, хотя инфраструктура не менялась.

curl -v <url>


Сразу видно, что один пользовательский запрос начинает превращаться в несколько попыток. Они накладываются друг на друга и создают лишний трафик там, где его не было.

Дальше это проявляется как рост latency и “тяжёлые” ответы, даже если сервис формально не падает.

mtr <ip>


Иногда кажется, что проблема в сети, но фактически это сам retry разгоняет нагрузку при любых задержках.

Если посмотреть на уровень пакетов:

tcpdump -i <iface>


видно, как одинаковые запросы уходят пачками вместо одного нормального потока.

На HTTP уровне это превращается в повторяющиеся обращения к одному endpoint без необходимости.

curl -I <url>


И в итоге система деградирует не из-за ошибок, а из-за того, что retry усиливает любую задержку в несколько раз.

N.A.
👍51
Почему “не видно проблему” в сети, пока не посмотришь состояние TCP очередей

Иногда сервис не падает, но начинает “вязнуть”: запросы идут, ответы есть, но задержки растут без очевидной причины.

В таких случаях полезно смотреть не соединения как факт, а их внутреннее состояние в ядре.

ss -tin state established


Здесь часто всплывают признаки деградации: растущий rtt, повторные передачи, перегруженные соединения, которые внешне выглядят как обычный HTTP-трафик.
Почему “всё открывается”, но часть запросов теряется

Бывает ситуация, когда сеть вроде бы живая, но часть пакетов просто не доходит. Это не видно на уровне приложения, пока не посмотреть статистику интерфейса.

ip -s link show <iface>


Потери, ошибки и dropped packets часто оказываются уже на уровне NIC или драйвера, а не где-то “в сети”.
Почему DNS “работает”, но поведение разное у клиентов

Иногда проблема вообще не в резолвинге как таковом, а в том, как ядро кеширует и повторно использует результаты.

getent ahosts <domain>


В отличие от dig, здесь видно реальное поведение резолвинга в контексте системы, а не абстрактного запроса.

N.A.
👍3