Communications systems, encompassing VoIP, IM, and other personal media, present different challenges for P2P environments than other P2P applications. In particular, reliable communication implies that each resource (person) is unique and must be reliably located, without false negatives. Because of their prevalence in real deployments, the overlay must use endpoints behind NATs as peers and must be resilient against DoS attacks that attempt to disrupt the system’s routing properties or DoS a particular person. We have designed and implemented a P2P communications system that addresses these issues, now deployed as both a commercial and academic project, which has resulted in a leading proposal for a P2PSIP standard in the IETF. We present the design tradeoffs necessary to meet the requirements of a reliable communications system and provide guidance on appropriate choices for designers of other similar systems in the future. In particular, the practical issues of non-transitive ro...
David A. Bryan, Bruce Lowekamp, Marcia Zangrilli