3

Если вопрос недостаточно ясен, рассмотрите следующую ситуацию:

  1. Установите соединение TCP/IP с компьютера C на сервер X
  2. Измените шлюз по умолчанию (компьютера C) со шлюза A на шлюз B (оба шлюза могут достигать сервера X)

Теперь через какой шлюз будут проходить пакеты? Если это зависит от ОС, скажите, пожалуйста, поведение Windows и Linux.

1 ответ1

6

Предполагая, что сетевой стек ОС применил изменение немедленно, тогда пакеты будут проходить через текущий шлюз.

Маршрут по умолчанию и вообще маршрутизация - это только IP, а IP не имеет состояния. Это просто пакетный движок. То есть он получает пакет с IP A на IP B. Между пакетами не хранится состояние, это для TCP.

TCP не заботится о том, по какому маршруту он идет, состояние TCP основывается на исходном IP-адресе / порте и IP-адресе назначения / порте, поэтому не следует прерывать TCP-соединения. Это так, если ваш шлюз не является NAT, а смена шлюзов заставляет IP-пакет проходить через другой NAT.

Настоящим тестом этого вопроса было бы установить сценарий и посмотреть, что произойдет, но я предполагаю, что вы спрашиваете из любопытства.

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