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

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

РКН: https://bit.ly/4ioc61C
Download Telegram
RIB vs FIB divergence в high-end роутерах

В routing table (RIB) маршрут отображается корректно: next-hop есть, метрики нормальные, протокол сходится.

Но data-plane не использует этот маршрут - пакеты не уходят, и кажется, что сеть «работает частично». 


Причины чаще всего связаны с ограничениями ASIC, рекурсивным разрешением next-hop или проблемами с adjacency.

Для диагностики сначала проверяем, как маршрут запрограммирован в FIB/CEF:

show ip cef <prefix> detail


Если next-hop не разрешается через adjacency, пакеты не будут пересылаться:

show adjacency detail
show ip arp <next-hop>


На high-end платформах полезно проверить hardware table и возможные дропы:

show platform hardware qfp active feature cef drop


Решение обычно включает корректировку рекурсивного next-hop, перераспределение нагрузки по ASIC, а иногда - оптимизацию L3 adjacency и проверку максимального количества маршрутов/entry в FIB для high-end маршрутизаторов.

N.A.
👍7
CoS/DSCP конфликт в мульти-tenant сети

В сети несколько VLAN и overlay, QoS вроде настроен, но голосовой или видео-трафик начинает тормозить.

На L2 пакеты помечены CoS, на L3 - DSCP, и на trunk или VTEP эти метки могут не совпадать. В итоге latency-sensitive трафик попадает в обычный queue, и jitter растёт.

Смотрим, как метки проходят через интерфейсы:

show mls qos interface <interface> statistics
show policy-map interface <interface>


На роутерах проверяем, что DSCP не теряется:

show class-map
show policy-map
show interface <interface> | include DSCP


Для overlay VTEP важно, чтобы CoS правильно транслировался в DSCP:

show nve vni
show nve peers


Когда видишь, что голосовой трафик попадает в «обычный» queue, а не в priority, обычно проблема именно в несовпадении CoS DSCP на пути через trunk и overlay.

N.A.
👍7
SNMP polling начинает «тормозить» сеть

Маршрутизатор вроде работает, интерфейсы up, маршруты в таблице, но приложения жалуются на задержки или потерю пакетов.

Часто виноват частый SNMP polling: когда CPU под нагрузкой, device тратит ресурсы на обработку запросов, и forwarding пакетов начинает падать.

Сначала проверяем, сколько SNMP-запросов обрабатывается:

show processes cpu sorted
show snmp group


Далее можно увидеть spikes и drops в data-plane:

show interfaces counters errors
show platform hardware qfp active statistics drop


Если на high-end маршрутизаторах наблюдаются microbursts в CPU, пакеты тихо дропаются, а latency-sensitive трафик (VoIP, video) начинает тормозить.

Признак проблемы: ping стабильный, но потоковый TCP/UDP трафик теряет пакеты, и это коррелирует с периодом SNMP polling.

N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
BFD flaps при высокой jitter

BGP и OSPF соседства держатся, но BFD периодически фиксирует «link down», и маршрутизатор мгновенно перестраивает путь.

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

Состояние BFD смотрим так:

show bfd neighbors
show bfd sessions


Для анализа задержек и потерь:

ping <neighbor-ip> repeat 100 size 100 df-bit
show interfaces <interface> counters


На высоконагруженных линках короткие spikes создают колебания heartbeat, что проявляется именно как BFD flap, хотя маршруты в control-plane остаются стабильными.

N.A.
👍8
ECMP и hash buckets: почему трафик концентрируется на одном линке

Вроде несколько uplink и ECMP включён, но весь трафик «съезжает» на один порт.

Причина в том, как работает hashing: большинство платформ используют 5-tuple (src/dst IP, src/dst port, protocol) для распределения потоков по линкам. 

Если потоков мало или они одинаковы по этим полям, почти всё попадает в один bucket.

На high-end роутерах есть ограничения ASIC - максимальное число hash-bucket’ов, которые реально могут распределять трафик. Даже при большом количестве линков маленькие TCP/UDP потоки часто концентрируются на одном порту.

Проверка распределения трафика:

show etherchannel load-balance
show interface <port-channel> counters
show interface <member-interface> statistics


На некоторых платформах можно посмотреть hash-бакеты напрямую:

show platform hardware forwarding hash <port-channel>


Признак проблемы: линк full-duplex не загружен по среднему, но один порт получает почти весь трафик, а остальные почти пустые.

С небольшой коррекцией hash или увеличением числа параллельных потоков трафик начинает распределяться равномернее.

N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
5 команд, которые реально спасают на high-end сетях

Ситуация: маршруты есть, линк up, ping работает, но TCP/UDP падает, jitter/packet loss наблюдается. Эти команды быстро выявляют глубокие проблемы:

1️⃣RIB vs FIB divergence - маршрут есть в control-plane, но не запрограммирован в forwarding:

show ip route <prefix>
show platform hardware forwarding table drop


2️⃣ECMP hash distribution - почему traffic концентрируется на одном uplink:

show platform hardware forwarding hash <port-channel>
show etherchannel load-balance


3️⃣BFD session flaps - link вроде жив, но маршруты конвергируют мгновенно:

show bfd neighbors
show bfd sessions


4️⃣Overlay/VTEP sanity check - VXLAN/EVPN мультикаст и BUM-трафик:

show nve vni
show nve peers
show ip mroute


5️⃣CPU spikes под SNMP/NetFlow - microbursts silently дропят пакеты:

show processes cpu sorted
show platform hardware qfp active statistics drop


N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
VRF для полной изоляции management-трафика

На первый взгляд кажется, что смешивание management и user traffic - нормальное решение. 


Пока сеть лёгкая и нагрузка маленькая - работает. Но стоит появиться перегрузке, broadcast storm или spikes, и управление сетью превращается в кошмар: ping проходит, но SSH/Telnet/HTTPS могут не открываться, ACL и QoS накладывают неожиданные ограничения, и любое управление становится невозможным.

VRF - это способ полностью изолировать management VLAN от основной сети. В нём свой routing table, отдельные ACL и QoS. Даже при критических нагрузках на user traffic, доступ к устройствам остаётся стабильным.

Пример на Cisco:

vrf definition MGMT
rd 65000:99

interface Vlan99
vrf forwarding MGMT
ip address 10.99.0.10 255.255.255.0
no shutdown


Теперь management VLAN живёт в своём «контейнере маршрутов». Трафик не смешивается с основной сетью, можно спокойно применять правила безопасности и приоритеты QoS без риска повлиять на user traffic.

Даже если в будущем нужно расширить управление или добавить мониторинг - всё остаётся чётко разделённым и предсказуемым.

N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍112
SNMP и NetFlow могут тайно ломать сеть

На первый взгляд кажется, что мониторинг - безопасное занятие. Но на high-end маршрутизаторах частый SNMP или NetFlow polling может создавать настоящие microbursts для CPU. В результате:

Ping остаётся стабильным, но TCP/UDP падает.
Пакеты silently drop, jitter растёт.
Даже high-speed uplinks начинают вести себя странно.

Симптомы, которые сразу бросаются в глаза:

show processes cpu sorted
show platform hardware qfp active statistics drop
show interface <int> counters errors


N.A.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤔21
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
👍9
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
👍51
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
👍51
Почему «низкая загрузка» не означает, что сеть здорова

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


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

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

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

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


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

N.A.
👍3