соединение через nat
вот к примеру slype, звоню абоненту, который находится в моей сети(за одним nat находимся), skype соединяется с ним напрямую, как он его находит?
хоть в общих чертах как такое возможно?
Если нет, то с сервера skype достаточно просто узнать IP нужного абонента, чтобы наладить с ним прямую связь (наивно думать, что через сервер skype идет весь голосовой трафик).
к интернету доступ есть у обоих, но для сервера skype мы выглядим одинаково, он получил адрес nat, а дальше как?
Ну как вариант передать через сервер друг другу свои внутренние IP адреса и какие то уникальные ключи для аутентификации при желанни начать голосовой чат. Если внешний IP адрес, который видит сервер и тот что прислал клиент не совпадает - попытаться подключиться к тому внутреннему IP. Если удалось и состоялся обмен ключами аутентификации - значит да оба клиента в одной сети и можно начинать прямой чат.