Хватит винить «сеть»: как зафиксировать реальные задержки и потерю пакетов
Ops and Odds
0:00 / 0:00
Хватит винить «сеть»: как зафиксировать реальные задержки и потерю пакетов
74 просмотра · 2 нед. назад
Ops and Odds
159 подписчиков
74 просмотра · 2 нед. назад
Когда время ожидания ответа от конечной точки API достигает 500 миллисекунд, в журналах приложений отображаются лишь расплывчатые симптомы: «таймаут чтения», «соединение разорвано удаленной стороной» или «пул исчерпан». Инженеры часто пожимают плечами и винят «сеть» как непредсказуемый черный ящик.
Но сеть никогда не бывает волшебной: она управляется детерминированной физикой, очередями ядра операционной системы и конечными автоматами протоколов. Ядро Linux хранит достоверные данные для каждого пакета: дрейф времени кругового пути, повторные передачи TCP, паузы приемника с нулевым окном и сбросы в очереди.
Это заключительная серия нашего 10-серийного цикла «Основы работы с сетями». Мы развеиваем иллюзию «черного ящика» и предоставляем вам достоверные диагностические данные: от необработанных данных PF_PACKET и фильтров BPF в ядре tcpdump до журналов потоков eBPF на скорости передачи данных с помощью Cilium Hubble, статистического анализа MTR-узлов, скрытых «черных дыр» Path MTU, переполнения буфера и катастрофических скачков времени ожидания повторной передачи TCP (RTO).
⏱ *Разделы*
00:00 Иллюзия «черного ящика» и стоимость задержки
01:22 Надежный захват пакетов: анализаторы tcpdump и Wireshark
02:49 Наблюдаемость в пространстве ядра: журналы потоков eBPF и счетчики сокетов
04:25 Анализ путей и транспортные ловушки: MTR, PMTUD и переполнение буфера
06:06 Транспортная механика: повторные передачи, RTO и управление перегрузкой
07:55 Руководство по производственной диагностике и ментальная модель финала серии
📚 *Источники и дополнительная литература*
• Фильтр пакетов BSD: новая архитектура для захвата пакетов на уровне пользователя (МакКанн и Джейкобсон, USENIX '93): https://www.tcpdump.org/papers/bpf-us...
• Документация ядра Linux — Справочник по BPF и XDP: https://docs.kernel.org/bpf/
• RFC 1191 — Обнаружение MTU пути: https://www.rfc-editor.org/rfc/rfc1191
• RFC 2018 — Параметры выборочного подтверждения TCP (SACK): https://www.rfc-editor.org/rfc/rfc2018
• RFC 6298 — Вычисление таймера повторной передачи TCP: https://www.rfc-editor.org/rfc/rfc6298
• BBR: Управление перегрузкой на основе перегрузки (Нил Кардуэлл и др., ACM Queue '16): https://queue.acm.org/detail.cfm?id=3...
• Руководство пользователя Wireshark: https://www.wireshark.org/docs/wsug_h...
🎉 *Серия завершена:* Вы прошли все 10 эпизодов курса «Основы работы с сетями».
🔔 Подпишитесь на `@opsandodds` и получите лучшие шансы на успех.
#networking #sre #devops #systemdesign #linux #ebpf #tcpdump #wireshark #tcp #latency #cloudnative #kubernetes