Peer-to-Peer Protocol (P2PP) Binary-based, type-length-value (TLV) objects No DHT specific detail Simple state-machine each request generates a response Request routing recursive vs. iterative parallel requests Transport TCP vs. UDP links between peers API Transport -tradeoffs between the use of TCP and UDP for recursive and iterative routing -TCP or UDP for overlay maintenance
P2PP Functionality DHT commonalities, performance enhancements are incorporated in the protocol Capabilities (such as b/w, connection state) exchange Logical separation for overlay maintenance resource manipulation diagnostics Overlay maintenance join, leave, keep-alive, routing-peer-lookup, replicate, update, query Resource manipulation insert, lookup, remove Connection state: behind a NAT or a firewall
To SIP or not to SIP SIP guidelines document allows to register AOR but not a service STUN or TURN service Bandwidth estimation service Overlay maintenance is an active operation Nodes come and go Routing-neighbor information needs to be exchanged SIP is not a distributed system maintenance protocol Overloading meaning of SIP headers is not a good practice
Definitions Resource vs. service Peer vs. client There is no difference between resource and a service. What can be a better name for client?