Перейти к содержимому

Хватит винить «сеть»: как зафиксировать реальные задержки и потерю пакетов

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