Как отправить пакеты между двумя IP-хостами в разных подсетях? - PullRequest
1 голос
/ 21 октября 2009

Host 1 : 10.10.0.1

Host 2 : 10.10.1.2

Маска - это: 255.255.255.0

Как отправить пакет с хоста 1 на хост 2?

Ответы [ 3 ]

4 голосов
/ 21 октября 2009

Установите шлюз по умолчанию хоста 1 на машину шлюза, которая находится как в сети 10.10.0 / 24, так и в сети 10.10.1 / 24. Затем включите пересылку IP на машине шлюза.

Вы не можете отправить пакет напрямую, если он действительно не находится в одной физической сети. Если они находятся в разных физических подсетях, на какой MAC-адрес вы бы отправили пакет? Его нет - поскольку Хост 2 не находится в одной физической сети, - поэтому вместо этого вы отправляете его на шлюз.

Если хост 1 и хост 2 находятся в одной физической сети, то вам не нужно общее решение. В этом случае вы можете отправить запрос ARP, а затем отправить пакет на MAC-адрес, с которого вы получили ответ, и он поступит на узел 2 - так же, как пакеты TCP / IP обычно отправляются через Ethernet на узлы в той же сети.

0 голосов
/ 21 октября 2009

На вашем ПК или роутере вы можете добавлять маршруты в другие сети. Поэтому, если вы хотите получить маршрут от определенного порта на вашем ПК или в сети, вы можете добавить маршрут, который указывает, что все пакеты, адресованные этой целевой сети / хосту, будут отправлены определенному интерфейсу по вашему выбору.

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

В Windows вы можете сделать это в командной строке с помощью команды route. Введите route ? для подробностей.

Например, на сетевых маршрутизаторах Allied Telesis вы можете использовать команду add ip route, если у вас есть доступ к конфигурации маршрутизатора.

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

0 голосов
/ 21 октября 2009

Если вы можете разобрать - оба компьютера находятся в разных подсетях.

Выполните «Логика И: по IP и маске:

»

1-й дает - 10.10.0.0 и 2-й дает - 10.10.1.0. Эти два являются сетевыми адресами подсети. Вам необходимо отправить пакет на маршрутизатор другой подсети, чтобы он мог быть доставлен

OTOH, подскажите, где именно возникла эта ситуация. Знание сценария реального мира может помочь нам более эффективно решить проблему

Маршрутизация

Если вы хотите хорошо разбираться в маршрутизации, вы можете проверить этот ответ в группе новостей comp.os.linux.networking , касающейся маршрутизации

...