awesome-everything EN
↑ Обратно к восхождению

Сети и протоколы

Всё вместе: чтение трасс и захватов

Суть Чтение реального вывода инструментов — захват tcpdump, трассировка dig, TLS-рукопожатие curl и согласование HTTP/3 через Alt-Svc — и диагностика того, что байты на самом деле говорят.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 14 min

Производственная диагностика — это чтение вывода инструментов, а не цитирование RFC. Четыре реальных захвата охватывают весь стек: трасса пакетов, обход резолвера, TLS-рукопожатие и апгрейд до HTTP/3. Прочитай каждый и скажи, что на самом деле произошло на проводе.

Цель

Отработай senior-приём: открой захват, найди строку, которая рассказывает историю, и переведи сырой вывод протокола в одно предложение о том, что сделала сеть и что делать дальше.

Захват 1 — tcpdump открытия соединения

12:00:00.000000 IP 10.0.0.5.51514 > 93.184.216.34.443: Flags [S], seq 1001, win 64240, length 0
12:00:00.056120 IP 93.184.216.34.443 > 10.0.0.5.51514: Flags [S.], seq 7001, ack 1002, win 65535, length 0
12:00:00.056300 IP 10.0.0.5.51514 > 93.184.216.34.443: Flags [.], ack 7002, win 64240, length 0
12:00:00.056480 IP 10.0.0.5.51514 > 93.184.216.34.443: Flags [P.], seq 1002:1519, ack 7002, length 517
Викторина

Что показывают эти четыре пакета и какова доминирующая стоимость до сих пор?

Захват 2 — dig +trace

$ dig +trace www.example.com

.                  518400  IN  NS  a.root-servers.net.
com.               172800  IN  NS  a.gtld-servers.net.
example.com.       172800  IN  NS  a.iana-servers.net.
www.example.com.   60      IN  A   93.184.216.34
;; Received 56 bytes from 199.43.135.53#53(a.iana-servers.net) in 48 ms
Викторина

У финальной A-записи TTL 60. Сайт стоит за CDN. Во что обходится этот TTL в 60 секунд и правильный ли это дефолт?

Захват 3 — TLS-рукопожатие curl -v

* Connected to example.com (93.184.216.34) port 443
* ALPN: offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN: server accepted h2
Викторина

Это TLS 1.3-рукопожатие. Какие два факта senior читает с него сразу?

Захват 4 — Alt-Svc и апгрейд до HTTP/3

$ curl -sI https://example.com
HTTP/2 200
alt-svc: h3=":443"; ma=86400

$ curl --http3 -sI https://example.com
HTTP/3 200
Викторина

Первый ответ пришёл по HTTP/2, но рекламирует h3. Почему браузер на самом первом визите всё равно доходит до страницы по HTTP/2?

Итог

Чтение стека по его собственному выводу: tcpdump показывает SYN/SYN-ACK/ACK плюс ClientHello, так что виден один RTT TCP до любых TLS-данных; dig +trace раскрывает обход делегирования и TTL, решающий, как часто повторяется стоимость холодного DNS; TLS-трасса curl говорит полное-vs-возобновлённое (наличие Certificate) и какой ALPN-протокол победил; а заголовок Alt-Svc раскрывает, что HTTP/3 обнаруживается на предыдущем h2-соединении и апгрейдится до QUIC на следующем. Навык — найти ту единственную строку, что рассказывает историю, и превратить её в действие.

Продолжить восхождение ↑Всё вместе: трассируй и оптимизируй полную загрузку страницы
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.