Как именно работает удаленная программа, такая как Team Viewer?

Если вы используете Windows RDP или Remmina, вы обычно используете IP (общедоступный) или подключенное имя хоста сервера для входа в систему. Мне было интересно, как работает удаленная программа, такая как Team Viewer? А также, как программа узнает, как направлять этот трафик через Интернет?