Назад |
Перейти на главную страницу
«Ввод ссылки в браузере» на «поиск маршрута к хосту» как это работает?
Есть ли вики или книга, в которой объясняется, что происходит, когда пользователь вводит ссылку в браузере, и как разрешается DNS, как маршрутизатор находит маршрут к хосту и т. Д. Меня в основном интересует маршрутизация пакетов.
Спасибо
Это несколько подробный обзор процесса. Я опускаю некоторые подробности о маршрутизации. Фактическое решение о маршрутизации не так уж интересно, оно «просто» сводится к поиску наиболее конкретного маршрута (255.255.255.0 - это более конкретная сетевая маска, чем 255.0.0.0). С точки зрения маршрутизации интересным моментом является то, как информация о маршрутизации распространяется по сети (сетям).
- Пользователь входит
http://www.example.com/
в браузере. - Браузер использует либо собственную библиотеку преобразователя, либо libresolv.
- Библиотека резолвера опрашивает определенные хостом серверы имен.
- Сервер имен либо знает ответ, либо ищет его от имени хоста, либо говорит: «Спросите корневой сервер имен».
- Серверы имен могут повторно подключаться к корневым серверам и запрашивать серверы имен, которые обслуживают com. домен
- затем спросите, кто обслуживает example.com. домен
- затем запросите IP-адрес www.example.com
- Браузер инициирует TCP-соединение (отправляет TCP SYN) на IP-адрес www.example.com.
- Хост ищет в своей таблице маршрутизации следующий переход для этого IP-адреса, затем отправляет IP-кадр со встроенным TCP SYN, со своим собственным IP-адресом в качестве источника и адресом www.example.com в качестве пункта назначения. Он встроен в кадр Ethernet с исходным MAC-адресом исходящего интерфейса хоста и MAC-адресом назначения шлюза следующего перехода.
- Шлюз по умолчанию получает кадр, увеличивает TTL, повторно вычисляет контрольную сумму и отправляет ее на следующий переход.
- Этот процесс продолжается до тех пор, пока IP-пакет не достигнет маршрутизатора, ближайшего к www.example.com.
- В этот момент маршрутизатор видит, что он предназначен для локальной сети. Он сверяется со своей таблицей ARP, чтобы узнать, есть ли у него отображение IP-MAC для пункта назначения.
- Если нет, он отправляет ARP-запрос для разрешения MAC-адреса для IP-адреса.
- Хост www.example.com получает TCP SYN, отправляет TCP SYNACK в качестве ответа.
- Обход сети происходит, как описано выше, только «в обратном порядке».
- Пользовательский хост отвечает TCP ACK.
- Когда TCP ACK поступает на www.example.com, операционная система хоста уведомляет веб-сервер 14. о наличии ожидающего соединения.
- Пользовательский хост отправляет HTTP-запрос GET
- Хост сервера передает HTTP GET процессу веб-сервера.
- Процесс веб-сервера отвечает одним или несколькими пакетами с веб-страницей.
- Хост пользователя передает этот трафик браузеру.
- Браузер анализирует HTML и отображает страницу пользователю (может быть инициировано больше запросов, если есть ссылки на документы CSS, на изображения или другие связанные документы, которые могут потребоваться для полной визуализации)