Top Menu

QuickP2P system is general purpose NAT traversal/Peer-to-peer networking API. Its peer-to-peer system of so-called "mixed" type because it uses super-nodes as key points of a network. This architecture is proven as most usable compared to other types of peer-to-peer network architectures. It is because it basically takes the best possible ways of implementation. There are similar solutions like this, like Skype and LogMe In. But neither of them comes in a package as quickP2P providing your API so you can bring those functionalities to your application.

quickP2P apstract aritecutre

Supernode network is unlimitedly scalable. The minimal quickP2P network has one supernode equipped with 1 checkpoint service, 1 handshake service, 2 STUN services, 1 Relay and 1 Index service. An unlimited number of new supernodes can be added to the network and they will all act as one. Information published by one peer connected to any supernode is available to all other supernodes. Instant message can always find it's way from one peer to any other peer.

Peers can do various lookups and negotiations on a network. When they decide to create the direct tunnel between them, some handshake service chosen by the system will help them create it. After creation tunnel connection is totally independent on the quickP2P network. For example, if the client loses connection to supernodes, this tunnel will continue to exists. It is because basically tunnel depends only on mappings in NAT tables of routers between two peers. These mappings are forced during handshake procedure. They will be available as long as two peers maintain connection sending any data through it.

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

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