4

Я хочу знать, как мои пакеты перемещаются с моего компьютера на веб-сервер. Пожалуйста, имейте с длинным постом. Я поставлю много вопросов между ними и буду рад, если вы ответите на любой из них. Я подключен к локальной сети, где маршрутизатор дает мне IP-адрес через DHCP. Поэтому, когда я включаю свой WiFi, я отправляю широковещательную рассылку UDP на порт 67. DHCP-сервер получает широковещательную рассылку и назначает мне IP-адрес и адрес DNS-сервера. Я прав сейчас? Так что теперь я открываю свой браузер и набираю слово «www.cnn.com». Браузер выполняет поиск DNS и находит IP-адрес cnn.com. Затем он отправляет пакет на этот адрес. Компьютер просматривает IP-адрес dest и просматривает таблицу маршрутизации. Он видит, что IP-адрес dest не находится в локальной сети. Так. он отправляет пакет на шлюз по умолчанию (мой маршрутизатор). Маршрутизатор обычно также предоставляет службу DHCP.

Q1. Маршрутизатор подключен к моему провайдеру и имеет WAN IP и LAN IP. Этот WAN IP виден глобально? или маршрутизатор также является частью локальной сети интернет-провайдера?

Предполагая, что маршрутизатор имеет глобально видимый IP-адрес. На этом этапе он должен изменить IP-адрес src на свой собственный IP-адрес в глобальной сети. Маршрутизатор также имеет WAN MAC-адрес. Это тоже меняет адрес src MAC? Я предполагаю, что каждый последующий маршрутизатор, у которого нет глобально видимого IP-адреса, изменит IP-адрес src на свой собственный IP-адрес. Я немного запутался по этому поводу.

Q2. Предполагая, что пакеты как-то доходят до сервера, я получаю ответный ответ. Как маршрутизатор локальной сети узнает, для кого этот пакет? Использует ли он NAT, чтобы выяснить это? Использует ли он MAC (если он не изменил MAC выше)? Когда ARP входит в картину?

Я знаю, что есть два типа переключателей (уровень 2 и уровень 3). Какие типы коммутаторов являются типичными маршрутизаторами (Linksys и т.д.)?

Я знаю, что задаю слишком много вопросов, и многие / все они могут быть тупыми / глупыми. Но я действительно хочу знать ответы. Пожалуйста, укажите, если я что-то упустил в описании системы. Буду признателен, если вы сможете предоставить ссылки на блоги / статьи и т.д.

2 ответа2

2

Я попробую ...

Ваш первый абзац пока звучит правильно (хотя с различными уровнями детализации, например, "браузер выполняет поиск DNS", который включает в себя еще несколько систем).

В1: Ваш WAN IP обычно виден во всем мире, но есть случаи, когда между вами и Интернетом фактически есть еще одна сформированная провайдером локальная сеть. Например, когда вы подключаетесь к мобильному телефону, многие интернет-провайдеры используют NAT операторского уровня, поэтому многие мобильные телефоны используют один и тот же общедоступный IP-адрес.

Ваш второй абзац не верен. Устройства NAT, такие как ваш домашний компьютер, изменяют ваш частный IP-адрес на ваш публичный WAN-адрес, но все последующие маршрутизаторы не меняют IP-адреса SRC, поэтому ваш пакет поступает на веб-сервер с вашим общедоступным адресом WAN в поле SRC. Что меняется от маршрутизатора к маршрутизатору, так это MAC-адрес src/dst. Каждый маршрутизатор будет устанавливать MAC-адрес DST для следующего прыжка маршрутизации.

Q2: у вашего роутера есть таблица NAT. Эта таблица содержит исходный порт, используемый вашим маршрутизатором для отправки пакета запроса, и соответствующий внутренний IP-адрес. Ответный пакет будет иметь этот номер порта в качестве порта назначения. Затем маршрутизатор локальной сети узнает, какому внутреннему клиенту принадлежит этот пакет, замените IP-адрес назначения на IP-адрес внутренней локальной сети и порт назначения на порт-источник, который использовался для инициирования соединения вашим внутренним устройством. ARP приходит на место, чтобы найти MAC-адрес устройства в той же локальной сети. Маршрутизатор спрашивает: «Эй, у меня есть пакет для 192.168.1.7, и я знаю, что этот IP-адрес находится где-то здесь, на этой локальной сети, кто это? пожалуйста, дайте мне свой MAC-адрес "- устройство отправит ответный пакет ARP, содержащий его MAC-адрес.

1

На этот вопрос сложно ответить полностью из-за деталей многих связанных вопросов; Тем не менее, есть фантастические книги на эту тему. Одним из наиболее полезных для меня был межсетевой обмен Дуга Комера с TCP/IP ; Я заплатил за стоимость этой книги тысячи раз с приобретенными знаниями (и ценностью, которую мои работодатели оценили). Если в вашей локальной библиотеке есть приличный технический раздел, вы сможете найти копию, даже если она датирована (и это не должно иметь значения ... даже старые выпуски были выдающимися).

Чтобы ответить на ваши вопросы конкретно:

  • Q1:

    • Ethernet -> Mac-адреса Ethernet имеют область действия канала и различны для каждого отдельного маршрутизируемого Ethernet-канала, проходящего через сеть. Мак-Адреса назначения приходят из ARP; Исходные Mac-адреса (обычно) поступают с адреса, записанного в HW Ethernet сетевого адаптера.
    • IP -> общедоступные IP-адреса (например, адреса вашего интернет-провайдера) имеют глобальную область и не должны изменяться, если только не возникает административная проблема (например, реализация NAT).
    • NAT -> Ваш локальный маршрутизатор FW или NAT обычно имеет два интерфейса, один с локальным (частным) IP-адресом, а другой с глобальным (общедоступным) IP-адресом. Когда трафик проходит через этот маршрутизатор NAT, информация о сеансах IP и TCP в ваших пакетах перезаписывается и отслеживается в таблице состояний подключения.
  • Q2:

    • ARP -> ARP используется, когда устройство имеет IP-адрес назначения, но не имеет текущего mac-адреса Ethernet, связанного с этим IP-адресом.
    • NAT -> Ваш маршрутизатор NAT знает, как доставлять обратный трафик, потому что он проверяет информацию о сеансе IP / TCP / UDP (например, номер порта TCP или UDP) и выполняет обратный сопоставление с преобразованным общедоступным адресом, назначенным вашему личному адресу (на вашем LAN)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .