Назад | Перейти на главную страницу

«Ввод ссылки в браузере» на «поиск маршрута к хосту» как это работает?

Есть ли вики или книга, в которой объясняется, что происходит, когда пользователь вводит ссылку в браузере, и как разрешается DNS, как маршрутизатор находит маршрут к хосту и т. Д. Меня в основном интересует маршрутизация пакетов.

Спасибо

Это несколько подробный обзор процесса. Я опускаю некоторые подробности о маршрутизации. Фактическое решение о маршрутизации не так уж интересно, оно «просто» сводится к поиску наиболее конкретного маршрута (255.255.255.0 - это более конкретная сетевая маска, чем 255.0.0.0). С точки зрения маршрутизации интересным моментом является то, как информация о маршрутизации распространяется по сети (сетям).

  1. Пользователь входит http://www.example.com/ в браузере.
  2. Браузер использует либо собственную библиотеку преобразователя, либо libresolv.
  3. Библиотека резолвера опрашивает определенные хостом серверы имен.
  4. Сервер имен либо знает ответ, либо ищет его от имени хоста, либо говорит: «Спросите корневой сервер имен».
    1. Серверы имен могут повторно подключаться к корневым серверам и запрашивать серверы имен, которые обслуживают com. домен
    2. затем спросите, кто обслуживает example.com. домен
    3. затем запросите IP-адрес www.example.com
  5. Браузер инициирует TCP-соединение (отправляет TCP SYN) на IP-адрес www.example.com.
  6. Хост ищет в своей таблице маршрутизации следующий переход для этого IP-адреса, затем отправляет IP-кадр со встроенным TCP SYN, со своим собственным IP-адресом в качестве источника и адресом www.example.com в качестве пункта назначения. Он встроен в кадр Ethernet с исходным MAC-адресом исходящего интерфейса хоста и MAC-адресом назначения шлюза следующего перехода.
  7. Шлюз по умолчанию получает кадр, увеличивает TTL, повторно вычисляет контрольную сумму и отправляет ее на следующий переход.
  8. Этот процесс продолжается до тех пор, пока IP-пакет не достигнет маршрутизатора, ближайшего к www.example.com.
  9. В этот момент маршрутизатор видит, что он предназначен для локальной сети. Он сверяется со своей таблицей ARP, чтобы узнать, есть ли у него отображение IP-MAC для пункта назначения.
    1. Если нет, он отправляет ARP-запрос для разрешения MAC-адреса для IP-адреса.
  10. Хост www.example.com получает TCP SYN, отправляет TCP SYNACK в качестве ответа.
  11. Обход сети происходит, как описано выше, только «в обратном порядке».
  12. Пользовательский хост отвечает TCP ACK.
  13. Когда TCP ACK поступает на www.example.com, операционная система хоста уведомляет веб-сервер 14. о наличии ожидающего соединения.
  14. Пользовательский хост отправляет HTTP-запрос GET
  15. Хост сервера передает HTTP GET процессу веб-сервера.
  16. Процесс веб-сервера отвечает одним или несколькими пакетами с веб-страницей.
  17. Хост пользователя передает этот трафик браузеру.
  18. Браузер анализирует HTML и отображает страницу пользователю (может быть инициировано больше запросов, если есть ссылки на документы CSS, на изображения или другие связанные документы, которые могут потребоваться для полной визуализации)

Это определенно обширная тема. Книга, с которой я больше всего знаком, это Иллюстрированный TCP / IP, Vol. 1: Протоколы. Кроме того, вот пара ссылок на как маршрутизаторы работай.