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

Как TCP-запрос направляется с виртуальной машины на внешний ресурс и обратно?

Сценарий: компьютер A имеет локальный IP-адрес 192.168.1.100, внутри которого запущена виртуальная машина. Теперь виртуальная машина отправляет tcp-запрос на внешний IP-адрес (74.125.225.98).

Может ли кто-нибудь объяснить, как запрос маршрутизируется как на удаленный IP-адрес, так и обратно на виртуальную машину?

Насколько я понимаю, виртуальная машина обертывает этот запрос в IP-пакет с IP-адресом назначения, а затем снова обертывает внутри кадра Ethernet со своим собственным уникальным (возможно, поддельным) MAC-адресом. Затем маршрутизатор заменяет IP-адрес и MAC-адрес виртуальной машины своими собственными и устанавливает MAC-адрес назначения для маршрутизатора Интернет-провайдера.

Моя основная путаница заключается в том, что когда ответ TCP создается и отправляется обратно в виртуальную машину ... поскольку виртуальная машина работает внутри компьютера A, как маршрутизатор будет выполнять запрос ARP, чтобы получить MAC-адрес виртуальных машин?

Спасибо за помощь :)

РЕДАКТИРОВАТЬ:

Нашел следующее видео, которое помогло объяснить NAT: https://www.youtube.com/watch?v=01ajHxPLxAw

Если вы ищете краткий ответ, то он (маршрутизатор / брандмауэр) уже знает все, что нужно для «ответа» TCP из таблицы сеансов и таблицы маршрутизации.

Общий пример будет выглядеть так:

Если это необходимо, маршрутизатор может запустить ARP-запрос так же, как и в любое время, когда ему нужно выполнить поиск MAC-адреса. Но обычно это будет для локальных устройств, то есть в зависимости от подсети может закончиться просто маршрутизация пакетов уровня 3 вместо этого на другое устройство.

Более сложный ответ будет заключаться в знании того, КАК виртуальная машина находится в сети (мостовая / NAT и т. Д.), А также сложности сети и т. Д., Что будет книга ответ и пить из шланга, если честно.

Есть два метода, которые можно использовать для обработки трафика ARP, когда NAT не используется.

  • Трафик может передаваться по мосту, и виртуальная машина будет получать и отвечать на запрос ARP самостоятельно.
  • Трафик можно маршрутизировать, и хост виртуальной машины отвечает ответом ProxyARP.

Для виртуальной машины также характерен NAT. В этом случае адрес источника (и, возможно, порт) изменяется, когда пакеты маршрутизируются хостом виртуальной машины во внешний мир. В ответах пункт назначения меняется на исходный.