протокол TCP/IP упаковывает пакеты слоями; каждый роутер смотрит только верхний слой с адресом откуда и куда идет пакет; дальше этот заголовок уничтожается, и когда пакет приходит на следующий роутер, он уже видит другой верхний слой с другими адресами
на данный момент, пакеты совершают в интернете в норме от 6 до 20 хопов
теоретически может быть и 300 хопов, но по факту, обычно такие пакеты никуда не доходят
первичное назначение адресов в маршруте производят маршрутизаторы, они и пробивают 'туннель'; туннелей при передаче пакетов может быть не один, и как правило, не один; но каждый роутер знает только про свой маршрут
адресное пространство разбито условно на 4 класса (классификация устарела, но по факту она так и используется): A B C D; в первом, А классе, всего около 240 адресов; ими владеют крупнейшие мировые провайдеры континентального уровня, всякие министерства связи и оборонка; класс B (порядка 40000 адресов) - провайдеры помельче; C (уже около 16000000 адресов) - пользовательские машины, бизнес, коммерческие организации; ну и класс D - локальные машины, конечные терминалы в самых мелких сетях (почти 3.8 миллиарда адресов) -- это все про протокол ipv4
для протокола ipv6 адресов на 2^16 больше, и деление на классы просто уже не нужно (можно всем назначать белые адреса первого класса - если была бы техническая возможность сделать одноранговую сеть, но ее нет)
напрямую компьютеры находящиеся в разных подсетях обратиться друг к другу могут ТОЛЬКО через прокси; прокси должен сначала узнать адреса обоих, затем он начинает пробивать туннель, посылая специальные пакеты в обе стороны, и передавая ответы от друга другу; когда роутеры запомнили маршрут - все, туннель пробит, и теперь эти два компьютера могут взаимодействовать по схеме p2p