Я читал на www, но просто не могу получить самые важные основы P2P.
Схема такая:
[peer1]<-->[dsl-router1]<-->[central server]<-->[dsl-router2]<-->[peer2]
Я разрабатываю программное обеспечение для чата на центральном сервере. Сообщения чата уже передаются через центральный сервер, однако мне нужно сделать функцию обмена файлами p2p, потому что пропускная способность (полоса пропускания кабеля, а не предел передачи) сервера предназначена только для передачи сообщений чата.
Проблема в том, что мое программное обеспечение на центральном сервере знает IP-адреса и порты маршрутизатора1 и маршрутизатора2, но не узла 1 и 2, поскольку эти узлы находятся за маршрутизаторами и не имеют IP-адресов.
Как на самом деле передать некоторые данные от узла 1 к узлу 2 и наоборот, не пропуская эти данные через центральный сервер?
(и в худшем случае между пиром и dsl-маршрутизатором есть беспроводной маршрутизатор)