Если вас интересует, как P2P-приложения взаимодействуют через Интернет, это действительно зависит от того, о каком P2P-приложении вы говорите. Все приложения P2P, о которых мне известно, передают по TCP/IP, учитывая, что это основа, на которой работает Интернет.
Каждое приложение обменивается данными по сетевому протоколу, который обычно специально разрабатывается тем, кто разрабатывал данное приложение. Например, BitTorrent обычно передает через ряд портов (6881-6889), а функциональность BitTorrent в отношении того, как он взаимодействует через Интернет, лучше всего суммируется следующим образом (взято из WikiPedia)
Клиент BitTorrent - это любая программа, реализующая протокол BitTorrent. Каждый клиент может подготовить, запросить и передать компьютерный файл любого типа по сети, используя протокол. Пир - это любой компьютер, на котором запущен экземпляр клиента.
То же самое можно сказать и о любом приложении, будь то сервер-клиент или P2P, или любой другой тип топологии, который он использует. Все общение происходит через сетевые протоколы, которые понимают оба компьютера.