Причина такого разделения заключается в том, что у вас редко бывает прямое подключение к компьютеру, на который вы хотите что-то отправить. Данные, которые вы отправляете, обычно отправляются на маршрутизатор, который затем перенаправляет их на другие маршрутизаторы и т.д., Пока последний маршрутизатор в цепочке не доставит их в вашу систему.
Чтобы это работало, должен быть способ узнать, какие IP-адреса можно получить, просто выгрузив данные из сетевой карты, а какие IP-адреса можно получить только "за" маршрутизатором. Сетевая часть IP-адреса, определяемая маской сети, делает это различие.
Итак, если мой IP-адрес 10.1.1.42, а моя сетевая маска - 24 бита слева (255.255.255.0), то это означает, что я могу достичь любого IP-адреса от 10.1.1.1 до 10.1.1.254, просто отправив данные из моей сети. карта. Я буду использовать свой IP-адрес в качестве адреса источника, конечный компьютер в качестве адреса назначения и просто выбрасывать трафик по проводам. Он должен попасть туда, если, скажем, другая машина подключена через коммутатор или концентратор, без какой-либо дополнительной помощи.
Допустим, я хочу поговорить с 10.1.2.50. Ну, я не могу этого достичь, просто выплевывая кусочки из моей сетевой карты. Это должно пройти через роутер. Самая простая ситуация - это шлюз по умолчанию, предоставленный DHCP. Допустим, шлюз по умолчанию, предоставленный нам через DHCP, - это 10.1.1.254. Затем я отправлю свой трафик на 10.1.2.50 по 10.1.1.254, указав свой IP (10.1.1.42) в качестве адреса источника и 10.1.2.50 в качестве адреса назначения. Шлюз по умолчанию не является конечным пунктом назначения, но я действительно ожидаю, что 10.1.1.254 перенаправит трафик на 10.1.2.50 от моего имени. Надеюсь, что машина в 10.1.1.254 имеет подключение к сети 10.1.2.0/24, и сможет это сделать.
Я надеюсь, что это полезно.