По порядку Middle Сеть в Linux обновлено
Путь HTTP-запроса
Вопрос
Расставь по порядку, что происходит, когда curl https://api.example.com/health выполняется на Linux-машине.
Попробуйте сами
Расставьте шаги по порядку стрелками.
- 1Выбор маршрута и интерфейса по таблице маршрутов
- 2TCP-рукопожатие SYN, SYN-ACK, ACK с портом 443
- 3Отправка HTTP-запроса и получение ответа
- 4TLS-рукопожатие и проверка сертификата
- 5Резолвинг имени:
/etc/hosts, затем DNS через/etc/resolv.conf
Показать ответ и разбор
Коротко
Сначала нужен IP-адрес, затем ядро выбирает маршрут, потом устанавливается TCP-соединение, поверх него TLS, и только затем HTTP. Каждый шаг виден в curl -v, а время каждого этапа даёт -w с timenamelookup, timeconnect, timeappconnect.
Правильный порядок
- 1Резолвинг имени:
/etc/hosts, затем DNS через/etc/resolv.conf - 2Выбор маршрута и интерфейса по таблице маршрутов
- 3TCP-рукопожатие SYN, SYN-ACK, ACK с портом 443
- 4TLS-рукопожатие и проверка сертификата
- 5Отправка HTTP-запроса и получение ответа
Разбор
Сначала нужен IP-адрес, затем ядро выбирает маршрут, потом устанавливается TCP-соединение, поверх него TLS, и только затем HTTP. Каждый шаг виден в curl -v, а время каждого этапа даёт -w с time_namelookup, time_connect, time_appconnect.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.