Peer-to-Peer Protocol (P2PP) - Routing

Routing

Recursive routing : the request traverses the peers until it reaches the peer responsible for the resource-object if it exists; the peer issuing has no control over peers the request traverses.

Iterative routing : (can be sent to multiple peers at the same time), the peer sends a request to another peer which replies with the network address of the peer to which the request should be forwarded; the requesting peer has control over peers the request is forwarded. UDP can send messages limited by MTU. TCP needs a connection establishing with each requested node (what takes time due to three-way handshake). It is preferred to use UDP for lookups (by sending only resource-ID), and TCP to send whole resource-object once, when node responsible for it has been found. TCP used to maintain routing tables causes increasing of necessary connections up to 320. If request sent over UDP and response extends MTU, 413 Message Too Large, returned.

Read more about this topic:  Peer-to-Peer Protocol (P2PP)