По очень простой причине - он для этого писался :) В мире не так уж и много IP-адресов (v4, конечно же), а устройств, которым он нужен, гораздо больше. Поэтому во-первых:
- провайдер Вам выдаст максимум 1 белый IP (все остальное - за деньги)
- во внутренней сети у Вас будут адреса типа 192.168.1.1
Далее происходит что:
- устройство 192.168.1.1 отправляет пакет ... ну например на 77.88.55.66 (такой адрес есть, это Яндекс :) )
- роутер, который подключен к провайдеру, заменяет в пакете адрес источника на выданный провайдером белый IP и запоминает это
- пакет, в котором адрес источника - белый IP провайдера, доходит до яндекса, яндекс посылает ответ, пакет возвращается на роутер
- роутер, помня, что и где он менял, меняет в полученном пакете адрес назначения на 192.168.1.1 и отправляет пакет на устройство.
Получить доступ до 192.168.1.1 из внешней сети невозможно никак, потому что любой роутер такие пакеты просто обрезает, хотя иногда провайдеры нарушают RFC и устраивают "полосатый" интернет в своей локалке, когда 192.168.1.1 из одной сети может получить доступ скажем к 172.16.1.1 в другой сети