cs423-cotter 1
P2P
Discovering P2P (Miller)
Internet
2
Peer to Peer Processing
cs423-cotter 3
P2P Applications
• Person 2 Person (Instant Messaging)– AOL, MSN
• File Sharing– Napster, Gnutella, BitTorrent, KaZaA
• Distributed Computing– seti@home, climateprediction.net
• P2P Collaboration– Lotus Notes, Microsoft
cs423-cotter 4
P2P Traffic Estimates
• 2004– BitTorrent accounts for 30% of all Internet Traffic
• 2005– File-sharing accounts for 60% of all Internet Traffic– For file-sharing; 62% video, 11% audio– eDonkey dominates video traffic over BitTorrent– Gnutella – 69% music
• 2010– Internet video traffic accounts for 40% of all Internet Traffic– P2P traffic accounts for 40% of all Internet Traffic
• 2015– P2P traffic will account for 16% of all Internet Traffic,
although volume will double from 2010
cs423-cotter 5
P2P Process Model
• Discovery (?)– Who is out there that I can talk to?
• Connection (C)– What is their address, so that I can connect?
• Messaging (M)– What kinds of things do they support, and what am I
looking for?
• Data Distribution (D)– Send data
cs423-cotter 6
P(erson)2P(erson) Models
• Server Based Instant Messaging
?CMD ?CMD
cs423-cotter 7
P(erson)2P(erson) Models
• Peer-based Instant Messaging
?C
CMD
?C
cs423-cotter 8
P(erson)2P(erson) Models
• Mixed Server / Peer Instant Messaging
?CM
CD
?CM
cs423-cotter 9
Fall 2011 Project – P2P IM
1.UDP Client (Server-based IM)
2.TCP Servent (peer-based) – Windows
3.TCP Servent (peer-based) – Linux
4.Java Servent
cs423-cotter 10
UDP IM Client Functionality
• (Server-based IM)• Discovery (Log onto Server)
– Receive list of current users– Notify current users of new arrival– Format: msg#;1;myName
• Connection (to Server)– Happens during logon to server
• Messaging (Through Server)– Format: msg#;2;myName
buddyName message
cs423-cotter 11
UDP IM Client Functionality
• Data Distribution– Not included in this assignment
• Keep-Alive signal– Periodically generated by server to test whether client is still
running or not.– Format: tst;4;keep-alive
• Connection closing– Notify users of my departure– Format: msg#;3;myName
cs423-cotter 12
Example Session (User1)
cs423-cotter 13
Example Session (User2)
IMServer
Log
cs423-cotter 14
cs423-cotter 15
Summary
• P2P Traffic represents a significant portion of Internet traffic today.
• It incorporates the functions of both client and server into a single program (servent)
• There are many ways in which P2P communications can be supported.