network-programmingcomparisonp2pupnphole-punching

Comparison of P2P Technology


I have gone through various udp based P2P Technology like Stun . I have implemented UDP/TCP hole punching recently for implementing p2p.

I found there are other technology as for like ICE,UPnP and teredo

  1. Can any body tell me what is the difference between these technology.
  2. Which one is the latest technology/protocol used for P2P in recent year.

It will good If any can provide comparative analysis on various UDP based P2P protocols. Any link or suggestion will appreciated.


Solution

  • ICE stands for Interactive Connectivity Establishment. It is a protocol for NAT traversal (i.e., punching holes) supported by the IETF. There has been several reviews and evolutions of the RFC. Some may find the specifications overkill in general or unclear when it comes to performing TCP NAT traversal.

    UPnP is a technology helping local devices finding each other and start communicating automatically. It implements IGD for NAT traversal, which allows remote configuration of the NAT/Router (when possible) to redirect WAN traffic to the device. Unfortunately, this method is a huge threat to security, since any application could hijack NATs/routers to let any undesirable traffic come in.

    Teredo is not really related to P2P or NAT traveral. If you have an IPv6 device A on a ipv4 LAN (for example), it won't be able to connect using ipv6 to a remote ipv6 enabled device B located on the WAN. Teredo allows A to communicate with B with ipv6 by transporting ipv6 over ipv4. Teredo is massaging the frictions between ipv4 and ipv6, so to speak.

    None of these technologies is 'dominating' P2P for now. It is still a boiling environment.