Вот установка:
ПК 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.
Исходя из того, что я думал, процесс должен быть следующим:
Но, видимо, я ошибаюсь, потому что я ясно вижу, что 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 - это то, где ваше описание не работает, маршрутизатор будет маршрутизировать обратно в исходную подсеть, если не настроен.