Я правильно понимаю, что в Интернете по сути любая связь между конечными компьютерами происходит всегда через какой-либо сервер в открытой сети и прямой связи просто не бывает, кроме как внутри подсети?
Правильно.
Тема соединения за NAT - она едрить смотрена-пересмотрена, писана-перерасписана сто тыщ мильенов раз.
К серверу, находящемуся за NAT по Вашей инициативе (а не сервера) подключиться НЕВОЗМОЖНО Вот просто технически невозможно. В каждой подсети, окружающей сети Вашего провайдера может оказаться свой 192.168.1.1 :) Куда прикажете направлять соединение?
Все сервисы по спариванию компьютеров типа TeamViewer работают по одному и тому же принципу - компьютер за NAT
инициирует соединение с сервером TeamViewer и регистрируется там. Другой точно так же регистрируется там. И TeamViewer обеспечивает их соединение
через свои сервера
То же самое и со всем остальным - всегда и везде есть управляющий
шар сервер.