👋 Привет, сетевой друг! — 5 июня 2026 г. в 14:31:29.104
👋 Привет, сетевой друг! Сегодня разберём ещё 5 полезных фишек для Cisco IOS, которые реально экономят время и нервы. 🟣ECN через tc на уровне интерфейса - тонкая настройка вместо глобального sysctl: tc qdisc show dev eth0 # fq_codel с явным ECN tc qdisc replace dev eth0 root fq_codel ecn # Или fq для BBR tc qdisc replace dev eth0 root fq flow_limit 200 ecn # Статистика дропов и ECN-меток tc -s qdisc show dev eth0 fq_codel меряет latency очереди и маркирует пакеты ECN до того как начинает дропать. В отличие от глобального tcp_ecn=1 работает на уровне конкретного интерфейса и не зависит от поддержки на промежуточном оборудовании. 🟣Receive Packet Steering - распределяем обработку входящих пакетов по CPU без аппаратного RSS: nproc # Включаем RPS на интерфейсе для всех CPU (4-core = f) echo f > /sys/class/net/eth0/queues/rx-0/rps_cpus # RFS — направляем пакеты на тот CPU где живёт приложение sysctl -w net.core.rps_sock_flow_entries=32768 echo 2048 > /sys/class/net/eth0/queues/rx-0/rps_flow_cnt На однопоточном NIC без аппаратного multiqueue весь входящий трафик обрабатывается одним CPU. RPS разносит нагрузку программно. 🟣tcp_notsent_lowat - контролируем сколько данных накапливается в send buffer не отправленными: sysctl -w net.ipv4.tcp_notsent_lowat=16384 Без этого при медленном получателе send buffer забивается и приложение блокируется на write() даже когда реально может отправить данные. Критично для HTTP/2 серверов с приоритизацией потоков. 🟣 Отключаем GRO на интерфейсах где важна латентность: ethtool -k eth0 | grep generic-receive ethtool -K eth0 gro off ethtool -K eth0 tso off gso off GRO объединяет входящие пакеты в большие chunks перед передачей в стек - хорошо для throughput, плохо для латентности. На торговых системах и VoIP это принципиально. 🟣ip_local_reserved_ports - резервируем порты которые не должны занимать эфемерные соединения: sysctl -w net.ipv4.ip_local_port_range="1024 65535" sysctl -w net.ipv4.ip_local_reserved_ports="8080,8443,9090-9100" Без резервирования при высоком RPS эфемерное соединение может занять порт на котором должен подняться сервис, и сервис не стартует с EADDRINUSE. Серверная Админа | Zeroday | #Cisco

