quickP2P system is general purphose NAT traversal/Peer-to-peer networking api. Its peer-to-peer system of so called "mixed" type becuse it uses super-nodes as key points of network. This arhitecture is proven as most usable compared to other types of peer-to-peer network aritectures becuse it basicly takes the best posible ways of implementation. There are similar solutions like this like Skype and LogMe In but neather of them comes in package as quickP2P providing you api so you can bring those functionalities to your application.

quickP2P apstract aritecutre

Supernode network is unlimitebly scalable. Minimal quickP2P network has one supernode equiped with 1 checkpoint service, 1 handsake service, 2 STUN services, 1 Relay and 1 Index service. Unlimited number of new supernodes can be added to network and they will all act as one. Information published by one peer connected to any supernode is available to all othe supernodes and instant message can always find it's way from one peer to any other peer.

Peers can do varous lookups and negotinations on network and when they decide to create direct tunnel between them some handshake service chosen by system will help them create it. After creation tunnel connection is totaly independent on quickP2P network, for example if client lose connection to supernodes this tunell will continue to exists becuse basicly tunnel depends only on mappings in NAT tables of routers between two peers. This mappings are forced during hanshake procedure and they will be available as long as two peers maintain conection sending any data through it.

Architecture described on above picture is not so important to client itself (API user). All he needs to do is to establish connection with any super-node and form his point of view that super-node will be single entity that does all requested operations for him.

quickP2P provides additional entry points except for peers like services to provide index data to managment/support systems you may have for your application.