VOIP over PeertoPeer R 94921046 R 94921042 R

  • Slides: 35
Download presentation
VOIP over Peer-to-Peer R 94921046 歐政穎 R 94921042 羅成俊 R 94921027 黃家俐 R 93922064

VOIP over Peer-to-Peer R 94921046 歐政穎 R 94921042 羅成俊 R 94921027 黃家俐 R 93922064 蔡明倉

Road Map l Introduction l Background l VOIP with P 2 P architecture SIP

Road Map l Introduction l Background l VOIP with P 2 P architecture SIP l Media routing l l Interwork l Problems l Summary with PSTN

Introduction l Advantages of P 2 P systems High scalability l Robustness l Fault

Introduction l Advantages of P 2 P systems High scalability l Robustness l Fault tolerance l Network self-organizes l Intelligence (cooperation) l l How can VOIP be integrated within a P 2 P system?

Road Map l Introduction l Background l VOIP on P 2 P architecture SIP

Road Map l Introduction l Background l VOIP on P 2 P architecture SIP l Media routing l l Interwork l Problems l Summary with PSTN

P 2 P Architecture l Centralized l l l Pure l l l Directory

P 2 P Architecture l Centralized l l l Pure l l l Directory is stored in one server, but data is transferred between peers Napster Directory is stored in each peer, and lookup is by flooding query messages Gnutella Hybrid (super-node) l l Directory is stored in each super node, and lookup is by requesting super-nodes Kazza

P 2 P Architecture

P 2 P Architecture

Distributed Hash Table Chord, Pastry, CAN, Tapestry, … l Lookup styles directly map to

Distributed Hash Table Chord, Pastry, CAN, Tapestry, … l Lookup styles directly map to the redirect and proxy server l Chord

P 2 P Comparison Property/ scheme Un-structured CAN Chord Tapestry Pastry Viceroy Routing O(N)

P 2 P Comparison Property/ scheme Un-structured CAN Chord Tapestry Pastry Viceroy Routing O(N) or no guarantee d x N 1/d log(N) log. BN log(N) State Constant 2 d log(N) log. BN B. log. BN log(N) Join/leav e Constant 2 d (log. N)2 log. BN log(N) Reliability and fault resilience Data at Multiple locations; Retry on failure; finding popular content is efficient Multiple peers for each data item; retry on failure; multiple paths to destination Replicate data on consecuti ve peers; retry on failure Replicate data on multiple peers; keep multiple paths to each peers Routing load is evenly distributed among participant lookup servers

Server-based vs. Peer-to-Peer Reliability, failover latency DNS-based. Depends on client retry timeout, DB replication

Server-based vs. Peer-to-Peer Reliability, failover latency DNS-based. Depends on client retry timeout, DB replication latency, registration refresh interval DHT self organization and periodic registration refresh. Depends on client timeout, registration refresh interval. Scalability, number of users Depends on number of servers in the two stages. Depends on refresh rate, join/leave rate, uptime Call setup latency One or two steps. O(log(N)) steps. Security TLS, digest authentication, S/MIME Additionally needs a reputation system, working around spy nodes Maintenance, configuration Administrator: DNS, database, middle-box Automatic: one time bootstrap node addresses PSTN Gateways, TRIP, ENUM interoperability Interact with server-based infrastructure or co-locate peer node with the gateway

Road Map l Introduction l Background l VOIP on P 2 P architecture SIP

Road Map l Introduction l Background l VOIP on P 2 P architecture SIP l Media routing l l Interwork l Problems l Summary with PSTN

VOIP on P 2 P Architecture l Block diagram of a P 2 P-SIP

VOIP on P 2 P Architecture l Block diagram of a P 2 P-SIP node l SIP Initialization l Registration and Peer discovery l Dialing out l Node shutdown l l Media routing Firewall and NAT traversal l Intelligent routing l

Block diagram of a P 2 P-SIP node

Block diagram of a P 2 P-SIP node

Initialization

Initialization

Initialization l Calculate the key for DHT by IP l l 7 Contact one

Initialization l Calculate the key for DHT by IP l l 7 Contact one of the node in DHT network l Request REGISTER sip: 128. 59. 15. 31 SIP/2. 0 To: <sip: 7@128. 59. 15. 56> From: <sip: 7@128. 59. 15. 56> l Response SIP/2. 0 200 OK To: sip: 7@128. 59. 15. 56 Contact: <sip: 10@128. 59. 15. 55>; predecessor=sip: 1@128. 59. 15. 60

Initialization l Insert self into correct position l l Between predecessor: 1 and successor:

Initialization l Insert self into correct position l l Between predecessor: 1 and successor: 10 Build routing table l l 10>= 7+2 i-1, i = 1, 2 Send sip REGISTER from 11 (= 7+23 -1) REGISTER sip: 128. 59. 15. 55 SIP/2. 0 To: <sip: 11@sippeer. net> From: <sip: 7@128. 59. 15. 56> l Respond by 15 SIP/2. 0 200 OK To: <sip: 11@sippeer. net> Contact: <sip: 15@128. 58. 15. 48>; predecessor=sip: 10@128. 59. 15. 55 l …

Initialization

Initialization

Registration and Peer Discovery columbia. edu sipd l REGISTER SIP l DB l alice@columbia.

Registration and Peer Discovery columbia. edu sipd l REGISTER SIP l DB l alice@columbia. edu DHT l Detect peers l l REGISTER alice=42 42 58 12 14 REGISTER bob=12 32 REGISTER with SIP registrar Discover peers: bootstrap node Join DHT using node-key =Hash(ip) REGISTER with DHT using user-key =Hash(alice@columbia. edu)

Dialing Out l INVITE sip: hgs 10@columbia. edu MESSAGE sip: alice@yahoo. com INVITE key=42

Dialing Out l INVITE sip: hgs 10@columbia. edu MESSAGE sip: alice@yahoo. com INVITE key=42 302 Call, instant message, etc. If existing buddy, use cache first l If not found l INVITE l DHT l SIP-based lookup (DNS NAPTR, SRV, …) P 2 P lookup l l 42 Send to super-nodes: proxy Use DHT to locate: proxy or redirect

Node shutdown l Graceful termination l 7 will send unregister message to its predecessor:

Node shutdown l Graceful termination l 7 will send unregister message to its predecessor: 1 and successor: 10 REGISTER sip: 1@128. 59. 15. 60 SIP/2. 0 To: <sip: 7@128. 59. 15. 56> From: <sip: 7@128. 59. 15. 56> Expires: 0 Contact: <sip: 7@128. 59. 15. 56>; q=1. 0; predecessor=sip: 1@128. 59. 15. 60 Contact: <sip: 10@128. 59. 15. 55>; q=. 8 … REGISTER sip: 10@128. 59. 15. 55 SIP/2. 0 To: <sip: 7@128. 59. 15. 56> From: <sip: 7@128. 59. 15. 56> Expires: 0 Contact: <sip: 7@128. 59. 15. 56>; q=1. 0; predecessor=sip: 1@128. 59. 15. 60 l DHT system will re-organize

Node shutdown l Node failure When nodes find a remote node failure, it removes

Node shutdown l Node failure When nodes find a remote node failure, it removes it from its routing table l Resend the original query request to the new failover hop l

Firewall & NAT Traversal l Signaling SIP symmetric response routing l Connection reuse l

Firewall & NAT Traversal l Signaling SIP symmetric response routing l Connection reuse l l Use existing connections to transmit signals l Media ICE (interactive connectivity establishment) for media session l STUN and TURN l

Intelligent Routing l In an overlay network, there are diverse paths through relay nodes

Intelligent Routing l In an overlay network, there are diverse paths through relay nodes l But how to select a good one? It needs extra measurements! l Criterions for selecting paths Packet loss rate l End-to-end delay l Available bandwidth l

Intelligent Routing l Most of those measurements require the cooperation of middle nodes l

Intelligent Routing l Most of those measurements require the cooperation of middle nodes l They are easier to be implemented in P 2 P architecture than others

Road Map l Introduction l Background l VOIP on P 2 P architecture SIP

Road Map l Introduction l Background l VOIP on P 2 P architecture SIP l Media routing l l Interwork l Problems l Summary with PSTN

Interwork with PSTN (1/4) l How do they verify that the user owns the

Interwork with PSTN (1/4) l How do they verify that the user owns the number if he registers his number? l Every gateway node can reach potentially every phone number in the world – at very different rates. l Registering l Use tel URI (Not conformant with RFC 3966) l l a telephone prefix “tel: ; phone-context=+1 -212” “sip: +1212939 xxxx@sippeer. net; user=phone”

Interwork with PSTN (2/4) l Calling a telephone number INVITE tel: +1 -212 -939

Interwork with PSTN (2/4) l Calling a telephone number INVITE tel: +1 -212 -939 -7040 SIP/2. 0 To: <tel: +1 -212 -939 -7040> From: <sip: bob@example. com> Request-Disposition: redirect l l The basic key, K 0, is “tel: +12129397040” derived from To header after removing any fillers. Other keys, Kn−i, is computed as “tel: ; phonecontext=+first i digits prefix”, for i=1, 2, . . n-1, where n is total number of digits.

Interwork with PSTN (3/4) l Incoming l The canonical “tel” URI is formed to

Interwork with PSTN (3/4) l Incoming l The canonical “tel” URI is formed to compute the DHT key by removing fillers and converting “sip” URI to “tel” URI. l l INVITE handling For example, “sip: +1 -212 -939 -xxxx@sippeer. net; user=phone” is converted to “tel: ; phone-context= +1212939”. This is used as the key to compute the next hop in routing.

Interwork with PSTN (4/4) l Response SIP/2. 0 302 Moved temporarily To: <tel: ;

Interwork with PSTN (4/4) l Response SIP/2. 0 302 Moved temporarily To: <tel: ; phone-context=+1212939> Contact: <sip: phone. cs. columbia. edu; lr> cost=0; q=1. 0 SIP/2. 0 302 Moved temporarily To: <tel: ; phone-context=+1212> Contact: <sip: phone. cs. columbia. edu; lr> cost=USD. 03/6 s; q=1. 0 Contact: <sip: manhattan. verizon. com; lr>; cost=USD. 06/60 s; q=. 8 SIP/2. 0 302 Moved temporarily To: <tel: ; phone-context=+1> Contact: <sip: mci. com; lr> cost=USD. 10/120 s; q=1. 0 Contact: <sip: att. com; lr>; cost=USD. 09/60 s; q=. 8

Road Map l Introduction l Background l VOIP on P 2 P architecture SIP

Road Map l Introduction l Background l VOIP on P 2 P architecture SIP l Media routing l l Interwork l Problems l Summary with PSTN

Problems l Security issues in peer-to-peer system l Malicious program l l break-in, spying

Problems l Security issues in peer-to-peer system l Malicious program l l break-in, spying or spread virus, spy-wares or worms Reducing risks by l l l Software developed by trusted entities or open source community Running the application as a regular user instead of an administrator (on Windows) or super-user (on Unix) Copyright violation l l Easily extended to support file transfer Reducing risk by l P 2 P-SIP does not have an efficient search method

Problems l Stolen identity l l l A malicious user may steal the identify

Problems l Stolen identity l l l A malicious user may steal the identify of another user Solved by doing Authentication l User identify must be a valid email address l System generates a password for the user identify and sends it to the email address l Using MD 5 hash function Data Privacy l l Public/Private/Protected Data Solved by using Public key mechanism

Problems l Trust l l Misbehaving peers that route calls incorrectly or log information

Problems l Trust l l Misbehaving peers that route calls incorrectly or log information for misuse Solved by l Hide the security algorithms

Summary l P 2 P useful l l Scalable, reliable No configuration Not as

Summary l P 2 P useful l l Scalable, reliable No configuration Not as fast as client/server P 2 P/SIP l l Basic operations easy Some potential issues l l l Security Performance Quality (audio)

Reference l l l Kundan Singh and Henning Schulzrinne, "Peer-to-peer Internet Telephony using SIP",

Reference l l l Kundan Singh and Henning Schulzrinne, "Peer-to-peer Internet Telephony using SIP", NOSSDAV. Skamania, Washington, June 2005. Kundan Singh and Henning Schulzrinne, "Peer-to-peer Internet Telephony using SIP", New York Metro Area Networking Workshop, Sep 2004. Kundan Singh and Henning Schulzrinne, "Peer-to-peer Internet Telephony using SIP", Columbia University Technical Report CUCS-044 -04, Oct 2004. http: //www 1. cs. columbia. edu/~kns 10/research/p 2 p-sip/ http: //www. p 2 psip. org/

Reference l l l An extension to the session initiation protocol (SIP) for symmetric

Reference l l l An extension to the session initiation protocol (SIP) for symmetric response routing. RFC 3581, Internet Engineering Task Force, Aug. 2003 Connection reuse in the session initiation protocol (SIP). Internet Draft draft-ietf-sip-connect-reuse-00, Internet Engineering Task Force, Aug. 2003 Interactive connectivity establishment (ICE): a methodology for network address translator (NAT) traversal for the session initiation protocol (SIP). Internet Draft draft-ietf-mmusic-ice-00, Internet Engineering Task Force, Oct. 2003 Improving Vo. IP Quality Through Path Switching, in Proceedings of IEEE INFOCOM 2005, Miami, March, 2005 Exploring the Performance Benefits of End-to-End Path Switching. In Proceedings of ACM Sigmetrics/Performance (Extended Abstract), New York, June 2004