Проблема с подключением двух разных сетей

Проблема с подключением двух разных сетей

У меня есть две сети: 192.168.13.0/24 (синяя) и 192.168.15.0/24 (зеленая).
Компьютер A подключен только к 13-сети. Компьютер B имеет два интерфейса, по одному в каждой сети.
Есть третий компьютер, который действует как маршрутизатор и подключает 13-сеть к 15-сети (только в этом направлении).

альтернативный текст

Теперь я хотел быпинг 192.168.15.100с компьютера A на B. К сожалению, ответа никогда нет. Но когда я использую хаб вместо коммутатора, все работает.

По моему мнению, пакет ping проходит через коммутатор к маршрутизатору (который является маршрутом/шлюзом по умолчанию для A). Маршрутизатор отправляет пакет обратно на коммутатор к B. Вероятно, B получает его на свой 15-сетевой интерфейс, но отвечает своим 15-м интерфейсом? Возможно ли это?
Проблема в том, что у B может быть только шлюз 192.168.13.50, но я в этом не совсем уверен (B — это встроенная система с ограниченными возможностями конфигурации).

Кто-нибудь может объяснить, что здесь происходит? Спасибо!

решение1

В обоих случаях пинг начинается с arpзапроса на получение MAC-адреса маршрутизатора. Затем сообщение ping упаковывается в пакет уровня 2 с маршрутизатором в качестве пункта назначения.

Что происходит, когда вы используете hub:

  • пинг рассылается всем клиентам (B x 2 и маршрутизатор),
  • Интерфейс B.13.100 сбрасывает пакет,
  • но его интерфейс 15.100 получает его, находясь, вероятно, в неразборчивом режиме (игнорируя целевой MAC),
  • таким образом, B отвечает напрямую A по его интерфейсу 13.100.

Используя switch,

  • B не получает пакет напрямую. Коммутаторзнаетчто пакет A направляется на маршрутизатор (благодаря своему MAC-адресу назначения) и не затрагивает другие порты.
  • Маршрутизатор обычно должен получить пакет на своем интерфейсе 13.50,
  • и должен переслать его через свой интерфейс 15.50, направленный в B.
  • B должен получить его на своем интерфейсе 15.100 и ответить со своего интерфейса 13.100
  • А должен получить его напрямую, но этого не происходит.

Вероятно, что-то не так с маршрутизатором.
Попробуйте tracerouteкоманду из A, используя коммутатор.

решение2

Вероятно, вы видите вот это:

  1. Пакет выходит из интерфейса A (13.10)
  2. Направляется в B через маршрутизатор (15.100 через маршрутизатор)
  3. Получает B (15.100)
  4. B отвечает и говорит: «О, привет, я в той же сети!»
  5. Пакет выходит из интерфейса на B(13.100)
  6. Получает А (13.10)
  7. Я не ожидал такого от 13.100 падений пакета

Вы можете убедиться в этом, запустив трассировку пакетов на A и B во время отправки ping-запроса, проверив заголовки и адреса источника и назначения.

Единственный реальный способ решить эту проблему — добавить запись маршрутизации /32 на хосте B, чтобы принудительно отправить пакет с 15.100, но это плохо масштабируется.

решение3

a) Выполните команду tracertот компьютера A к компьютеру B, которая должна показать, какие переходы он делает.
b) Какие шлюзы по умолчанию установлены на компьютере B?
c) Какой это тип коммутатора? Уровень 2, уровень 3?
d) Можете ли вы попробовать полностью отключить сетевую карту 13.100 на компьютере B, а затем перезагрузить эту машину и проверить, работает ли это?

Связанный контент