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

Почему другой компьютер в локальной сети может пинговать меня, даже если я использую подсеть / 30?

Вот установка:
ПК A: IP-адрес: 192.168.1.2 Сетевая маска: 255.255.255.252 Шлюз: 192.168.1.1
ПК B: IP-адрес: 192.168.1.220 Сетевая маска: 255.255.255.0 Шлюз: 192.168.1.1
ПК B может успешно проверить связь с ПК A.
Исходя из того, что я думал, процесс должен быть следующим:

  1. ПК B отправляет эхо-запрос на ПК A как обычно, поскольку IP-адрес ПК A считается находящимся в той же сети с точки зрения ПК B.
  2. ПК A получает эхо-запрос ICMP и хочет ответить.
    С точки зрения ПК A, ПК B находится в другой сети, поэтому, чтобы пакет дошел до него, он должен быть отправлен на шлюз,
  3. ПК A отправляет пакет эхо-ответа на адрес 192.168.1.1.
  4. Шлюз видит, что отправитель пакета находится в той же подсети, что и получатель, поэтому он отбрасывает пакет, поскольку маршрутизации не требуется.
  5. Таким образом, ответ от A до B никогда не достигается.

Но, видимо, я ошибаюсь, потому что я ясно вижу, что B может пинговать A.
ПК A и ПК B подключены с помощью кабелей Ethernet к модему ADSL. Почему ПК B может проверить связь с ПК A?
Где я ошибаюсь?

Шлюз видит, что отправитель пакета находится в той же подсети, что и получатель, поэтому он отбрасывает пакет, поскольку маршрутизации не требуется.

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

Если вы также настроили свой шлюз с / 30, то ответ не сможет попасть туда, но тогда ПК B, вероятно, будет иметь проблемы с подключением к чему-либо.

Почему ПК B может проверить связь с ПК A?

Поскольку ПК B может отправлять пакеты на ПК A, не выходя за пределы своей локальной сети из-за маски подсети, которую он использует - давая ему / 24, вы говорите, что адреса 192.168.1.1-255 не должны идти в шлюз для доступа к ним.

Первый компьютер B должен получить MAC-адрес компьютера A, чтобы он либо отправил ARP, либо уже получил бесплатный ARP. В любом случае у него есть MAC-адрес, и да, он отправит эхо-запрос на ПК A. ПК A получает его, потому что он направлен на его MAC и IP-адреса.

ПК A должен теперь отправить ответ на шлюз, как вы говорите. В кадре будет IP-адрес ПК B, но MAC-адрес шлюза. Шлюз - это маршрутизатор. Он получает пакет и знает, куда его отправить. Опять же, может потребоваться ARP. В любом случае шлюз направляет пакет, и на этот раз он будет направлен на MAC-адрес компьютера B. ПК B получает этот пакет, потому что MAC и IP-адрес совпадают с его собственным. Шлюз также может отправлять ICMP-перенаправление на ПК A. ПК A должен игнорировать это, потому что с его точки зрения ПК B находится вне сети.

В заключение, ваш пункт 4 - это то, где ваше описание не работает, маршрутизатор будет маршрутизировать обратно в исходную подсеть, если не настроен.