🌐 Как компьютер понимает, куда отправить пакет?
В прошлый раз мы разобрались, как DNS превращает имя сайта в IP-адрес.
Допустим, браузер уже знает:
example.com → 93.184.216.34
Но теперь возникает новый вопрос:
как компьютер физически отправит данные по нужному адресу?
Тут в игру вступают локальная сеть, MAC-адреса, ARP и шлюз.
1️⃣ Сначала компьютер сравнивает адрес назначения со своей сетью
Например, у компьютера адрес:
192.168.1.20
а маска сети:
255.255.255.0
Это означает, что устройства 192.168.1.x находятся в его локальной сети.
А адрес 93.184.216.34 находится где-то в интернете.
Значит, напрямую отправить пакет этому серверу компьютер не сможет.
2️⃣ Пакет нужно передать шлюзу
Шлюзом обычно является домашний роутер.
Например:
192.168.1.1
Именно ему компьютер передаст пакет, чтобы роутер отправил его дальше.
Но для передачи данных внутри Ethernet или Wi-Fi одного IP-адреса недостаточно.
Нужен ещё MAC-адрес устройства.
3️⃣ Как узнать MAC-адрес роутера?
Для этого в IPv4 используется протокол ARP.
Компьютер фактически спрашивает локальную сеть:
Кто имеет IP 192.168.1.1?
Роутер отвечает:
Это я. Вот мой MAC-адрес.
Например:
A4:5E:60:12:34:56
После этого компьютер может сформировать Ethernet-кадр и отправить его роутеру.
4️⃣ Что интересно: IP сервера не меняется
Внутри IP-пакета по-прежнему указано:
назначение → 93.184.216.34
Но Ethernet-кадр отправляется:
MAC назначения → MAC роутера
То есть:
IP говорит, куда пакет должен попасть в итоге.
А MAC помогает передать его следующему устройству внутри локального участка сети.
🔧 Можно посмотреть самому
В Windows:
arp -a
В Linux:
ip neigh
Вы увидите таблицу известных соседних устройств и соответствующие им MAC-адреса.
💡 Поэтому ваш компьютер совсем не обязан знать MAC-адрес удалённого сервера.
Ему достаточно знать MAC следующего узла — обычно домашнего роутера.
В прошлый раз мы разобрались, как DNS превращает имя сайта в IP-адрес.
Допустим, браузер уже знает:
example.com → 93.184.216.34
Но теперь возникает новый вопрос:
как компьютер физически отправит данные по нужному адресу?
Тут в игру вступают локальная сеть, MAC-адреса, ARP и шлюз.
1️⃣ Сначала компьютер сравнивает адрес назначения со своей сетью
Например, у компьютера адрес:
192.168.1.20
а маска сети:
255.255.255.0
Это означает, что устройства 192.168.1.x находятся в его локальной сети.
А адрес 93.184.216.34 находится где-то в интернете.
Значит, напрямую отправить пакет этому серверу компьютер не сможет.
2️⃣ Пакет нужно передать шлюзу
Шлюзом обычно является домашний роутер.
Например:
192.168.1.1
Именно ему компьютер передаст пакет, чтобы роутер отправил его дальше.
Но для передачи данных внутри Ethernet или Wi-Fi одного IP-адреса недостаточно.
Нужен ещё MAC-адрес устройства.
3️⃣ Как узнать MAC-адрес роутера?
Для этого в IPv4 используется протокол ARP.
Компьютер фактически спрашивает локальную сеть:
Кто имеет IP 192.168.1.1?
Роутер отвечает:
Это я. Вот мой MAC-адрес.
Например:
A4:5E:60:12:34:56
После этого компьютер может сформировать Ethernet-кадр и отправить его роутеру.
4️⃣ Что интересно: IP сервера не меняется
Внутри IP-пакета по-прежнему указано:
назначение → 93.184.216.34
Но Ethernet-кадр отправляется:
MAC назначения → MAC роутера
То есть:
IP говорит, куда пакет должен попасть в итоге.
А MAC помогает передать его следующему устройству внутри локального участка сети.
🔧 Можно посмотреть самому
В Windows:
arp -a
В Linux:
ip neigh
Вы увидите таблицу известных соседних устройств и соответствующие им MAC-адреса.
💡 Поэтому ваш компьютер совсем не обязан знать MAC-адрес удалённого сервера.
Ему достаточно знать MAC следующего узла — обычно домашнего роутера.
Просмотры: 4