voip over peer-to-peer r94921046 歐政穎 r94921042 羅成俊 r94921027 黃家俐 r93922064...

35
VOIP over Peer-to-Peer R94921046 歐歐歐 R94921042 歐歐歐 R94921027 歐歐歐 R93922064 歐歐歐

Upload: susan-mccormick

Post on 13-Dec-2015

251 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

VOIP over Peer-to-Peer

R94921046 歐政穎R94921042 羅成俊R94921027 黃家俐R93922064 蔡明倉

Page 2: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Road Map

IntroductionBackgroundVOIP with P2P architecture

SIPMedia routing

Interwork with PSTNProblemsSummary

Page 3: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Introduction

Advantages of P2P systems High scalabilityRobustnessFault toleranceNetwork self-organizes Intelligence (cooperation)

How can VOIP be integrated within a P2P system?

Page 4: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Road Map

IntroductionBackgroundVOIP on P2P architecture

SIPMedia routing

Interwork with PSTN ProblemsSummary

Page 5: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

P2P Architecture

Centralized Directory is stored in one server, but data is transfer

red between peers Napster

Pure Directory is stored in each peer, and lookup is by flo

oding query messages Gnutella

Hybrid (super-node) Directory is stored in each super node, and lookup i

s by requesting super-nodes Kazza

Page 6: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

P2P Architecture

Page 7: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Distributed Hash Table

Chord, Pastry, CAN, Tapestry, … Lookup styles directly map to the redirect and

proxy server

Chord

Page 8: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

P2P Comparison

Property/

scheme

Un-structured CAN Chord Tapestry Pastry Viceroy

Routing O(N) or no guarantee

d x N1/d log(N) logBN logBN log(N)

State Constant 2d log(N) logBN B.logBN log(N)

Join/leave

Constant 2d (logN)2 logBN logBN 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 consecutive peers; retry on failure

Replicate data on multiple peers; keep multiple paths to each peers

Routing load is evenly distributed among participant lookup servers

Page 9: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Server-based vs. Peer-to-PeerReliability, 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 interoperability

Gateways, TRIP, ENUM Interact with server-based infrastructure or co-locate peer node with the gateway

Page 10: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Road Map

IntroductionBackgroundVOIP on P2P architecture

SIPMedia routing

Interwork with PSTN ProblemsSummary

Page 11: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

VOIP on P2P Architecture

Block diagram of a P2P-SIP nodeSIP

InitializationRegistration and Peer discoveryDialing outNode shutdown

Media routingFirewall and NAT traversal Intelligent routing

Page 12: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Block diagram of a P2P-SIP node

Page 13: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Initialization

Page 14: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Initialization

Calculate the key for DHT by IP 7

Contact one of the node in DHT network Request

REGISTER sip:128.59.15.31 SIP/2.0

To: <sip:[email protected]>

From: <sip:[email protected]>

ResponseSIP/2.0 200 OK

To: sip:[email protected]

Contact: <sip:[email protected]>; predecessor=sip:[email protected]

Page 15: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Initialization

Insert self into correct position Between predecessor: 1 and successor: 10

Build routing table 10>= 7+2i-1, i = 1, 2 Send sip REGISTER from 11 (= 7+23-1)

REGISTER sip:128.59.15.55 SIP/2.0To: <sip:[email protected]>From: <sip:[email protected]>

Respond by 15SIP/2.0 200 OKTo: <sip:[email protected]>Contact: <sip:[email protected]>; predecessor=sip:[email protected]

Page 16: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Initialization

Page 17: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Registration and Peer Discovery

SIP REGISTER with SIP registrar

DHT Discover peers: bootstrap node Join DHT using node-key =Has

h(ip) REGISTER with DHT using us

er-key =Hash([email protected])

[email protected]

REGISTER

DB

sipd

Detect peers

columbia.edu

14

32

5812

42

REGISTER alice=42

REGISTER bob=12

Page 18: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Dialing Out

Call, instant message, etc.INVITE sip:[email protected] sip:[email protected]

If existing buddy, use cache first

If not found SIP-based lookup (DNS NAPT

R, SRV,…) P2P lookup

Send to super-nodes: proxy Use DHT to locate: proxy or redir

ect

DHT

INVITE key=42

302

42

INVITE

Page 19: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Node shutdown

Graceful termination 7 will send unregister message to its predecessor:1 and succe

ssor: 10REGISTER sip:[email protected] SIP/2.0To: <sip:[email protected]>From: <sip:[email protected]>Expires: 0Contact: <sip:[email protected]>; q=1.0; predecessor=sip:[email protected]: <sip:[email protected]>; q=.8…

REGISTER sip:[email protected] SIP/2.0To: <sip:[email protected]>From: <sip:[email protected]>Expires: 0Contact: <sip:[email protected]>; q=1.0; predecessor=sip:[email protected]

DHT system will re-organize

Page 20: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Node shutdown

Node failureWhen nodes find a remote node failure, it

removes it from its routing tableResend the original query request to the

new failover hop

Page 21: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Firewall & NAT Traversal

SignalingSIP symmetric response routingConnection reuse

Use existing connections to transmit signals

Media ICE (interactive connectivity establishment)

for media sessionSTUN and TURN

Page 22: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Intelligent Routing

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

But how to select a good one? It needs extra measurements!

Criterions for selecting pathsPacket loss rateEnd-to-end delayAvailable bandwidth

Page 23: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Intelligent Routing

Most of those measurements require the cooperation of middle nodes

They are easier to be implemented in P2P architecture than others

Page 24: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Road Map

IntroductionBackgroundVOIP on P2P architecture

SIPMedia routing

Interwork with PSTN ProblemsSummary

Page 25: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Interwork with PSTN (1/4)

How do they verify that the user owns the number if he registers his number?Every gateway node can reach potentially eve

ry phone number in the world – at very different rates.

Registering a telephone prefixUse tel URI (Not conformant with RFC 3966)

“tel:;phone-context=+1-212” “sip:[email protected];user=phone”

Page 26: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Interwork with PSTN (2/4)

Calling a telephone numberINVITE tel:+1-212-939-7040 SIP/2.0

To: <tel:+1-212-939-7040>

From: <sip:[email protected]>

Request-Disposition: redirect

The basic key, K0, is “tel:+12129397040” derived from To header after removing any fillers.

Other keys, Kn−i, is computed as “tel:;phone-context=+first i digits prefix”, for i=1,2,..n-1, where n is total number of digits.

Page 27: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Interwork with PSTN (3/4)

Incoming INVITE handlingThe canonical “tel” URI is formed to compute t

he DHT key by removing fillers and converting “sip” URI to “tel” URI.

For example, “sip:[email protected]; user=phone” is converted to “tel:;phone-context= +1212939”.

This is used as the key to compute the next hop in routing.

Page 28: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Interwork with PSTN (4/4)

ResponseSIP/2.0 302 Moved temporarilyTo: <tel:;phone-context=+1212939>Contact: <sip:phone.cs.columbia.edu;lr> cost=0; q=1.0

SIP/2.0 302 Moved temporarilyTo: <tel:;phone-context=+1212>Contact: <sip:phone.cs.columbia.edu;lr> cost=USD.03/6s; q=1.0Contact: <sip:manhattan.verizon.com;lr>; cost=USD.06/60s; q=.8

SIP/2.0 302 Moved temporarilyTo: <tel:;phone-context=+1>Contact: <sip:mci.com;lr> cost=USD.10/120s; q=1.0Contact: <sip:att.com;lr>; cost=USD.09/60s; q=.8

Page 29: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Road Map

IntroductionBackgroundVOIP on P2P architecture

SIPMedia routing

Interwork with PSTN ProblemsSummary

Page 30: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Problems

Security issues in peer-to-peer system Malicious program

break-in, spying or spread virus, spy-wares or worms Reducing risks by

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 Easily extended to support file transfer Reducing risk by

P2P-SIP does not have an efficient search method

Page 31: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Problems

Stolen identity A malicious user may steal the identify of another user Solved by doing Authentication

User identify must be a valid email address System generates a password for the user identify and sends

it to the email address Using MD5 hash function

Data Privacy Public/Private/Protected Data Solved by using Public key mechanism

Page 32: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Problems

Trust Misbehaving peers that route calls incorrectly or log information

for misuse Solved by

Hide the security algorithms

Page 33: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Summary

P2P useful Scalable, reliable No configuration Not as fast as client/server

P2P/SIP Basic operations easy Some potential issues

Security Performance Quality (audio)

Page 34: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Reference

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://www1.cs.columbia.edu/~kns10/research/p2p-sip/ http://www.p2psip.org/

Page 35: VOIP over Peer-to-Peer R94921046 歐政穎 R94921042 羅成俊 R94921027 黃家俐 R93922064 蔡明倉

Reference

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 VoIP 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