Почему в интернете показан мой IP, а не IP роутера провайдера или крайнего роутера?

Я делаю запрос на myip.com. Он мне показывает IP, который назначен мне провайдером.

Почему не так:

Я делаю запрос на myip.com. Он мне показывает IP провайдера или крайнего роутера.

Мои мысли:

Когда я вбиваю myip.com, мне нужно сделать 2 вещи: узнать ip этого домена, а потом, грубо говоря, установить TCP соединение. Какой тут порядок? Я думаю +- так:

  1. Система ищет у себя в кэше инфу про myip.com
  2. Там ее нет, она что? Отправляет DNS пакет моему провайдеру? А основной пакет, пока никуда не идет (GET myip.com)?
  3. DNS: Resolver -> ROOT -> Namespace server и обратно ко мне.

На данном этапе провайдер знает, что я делал DNS запрос по myip.com. Идем далее:

  1. Теперь зная IP, мой комп отправляет пакет (с dst ip myip.com и MAC моего роутера) на мой роутер.
  2. Мой роутер отправляет пакет на роутер провайдера (с dst ip myip.com и MAC роутера провайдера)

На этом этапе провайдер знает куда я собрался, ну и если нет шифрования, то знаеет вообще все.

Соответственно, src ip будет всегда меняться на ip предыдущего роутера. И когда мой GET дойдет до myip.com в source уже должен быть IP моего провайдера или вообще предыдущего роутера. Отсюда у меня возникают два вопроса:

  1. Правильно ли что, сначала уходит чисто DNS запрос, а HTTP никуда не идет?
  2. Каким образом myip.com умудряется узнать мой IP? Ведь там в запросе в src должен быть IP пред роутера?

Пока писал вопрос, пришла мысль, что network layer вообще не трогается, а меняется всегда только MAC? Но если network layer не трогать, то как VPN умудряется его изменить?

Пожалуйста, помогите. Что-то я совсем запутался.


Ответы (0 шт):