the extensible peer protocol (xpp) emil ivov - enrico marocco

14
The eXtensible Peer Protocol (XPP) Emil Ivov - emcho@sip- communicator.org Enrico Marocco – [email protected]

Upload: kelley-derek-griffith

Post on 19-Jan-2018

222 views

Category:

Documents


0 download

DESCRIPTION

Design Choices XPP uses UDP (only) – Simple & Reliable NAT Traversal – Allows turning off reliability Small and simple header with TLV options Sessions – Sessions are established and ended with SIP Where is the DHT? July 22nd eXtensible Peer Protocol (XPP) Emil Ivov, Enrico Marocco Routing DHT Put DHT Get Location Identity Assertion XPP-PCAN Fragmentation Reliability Transport Security XPP

TRANSCRIPT

Page 1: The eXtensible Peer Protocol (XPP) Emil Ivov - Enrico Marocco

The eXtensible Peer Protocol (XPP)

Emil Ivov - [email protected] Marocco – [email protected]

Page 2: The eXtensible Peer Protocol (XPP) Emil Ivov - Enrico Marocco

Table of Contents

• Design Choices• XPP Session Establishment• XPP Operations• Fragmentation and Reliability• Message Formats• XPP-PCAN Overview

July 22nd 2007 eXtensible Peer Protocol (XPP) Emil Ivov, Enrico Marocco 2

Page 3: The eXtensible Peer Protocol (XPP) Emil Ivov - Enrico Marocco

Design Choices

• XPP uses UDP (only)– Simple & Reliable NAT Traversal– Allows turning off reliability

• Small and simple header with TLV options

• Sessions – Sessions are established and ended

with SIP

• Where is the DHT?

July 22nd 2007 3eXtensible Peer Protocol (XPP) Emil Ivov, Enrico Marocco

Page 4: The eXtensible Peer Protocol (XPP) Emil Ivov - Enrico Marocco

Use Cases

Simultaneous Session Establishment

July 22nd 2007 4eXtensible Peer Protocol (XPP) Emil Ivov, Enrico Marocco

SIP INVITE

Alice’s SIP INVITE:INVITE sip:[email protected] SIP/2.0 To: Bob <sip:[email protected]> From: Alice <sip:[email protected]>;tag=1928301774…c=IN IP4 130.79.90.54m=application 1234 UDP/XPP * a=ltag: 0xAAAA …

SIP OK

SYN SYN

ACK ACK

XPP Session

Alice Bob

Bob’s SIP OK:SIP/2.0 200 OKTo: Bob <sip:[email protected]>;tag=a6c85cf From: Alice <sip:[email protected]>;tag=1928301774……c=IN IP4 103.97.9.45m=application 4321 UDP/XPP *a=ltag: 0xBBBB …

Page 5: The eXtensible Peer Protocol (XPP) Emil Ivov - Enrico Marocco

Use Cases

A Sample XPP Operation

July 22nd 2007 5eXtensible Peer Protocol (XPP) Emil Ivov, Enrico Marocco

XPP Operation Request

ACK

Alice Bob

ACK

XPP Operation Response

XPP Operation ResponseRetrans.Timer

Page 6: The eXtensible Peer Protocol (XPP) Emil Ivov - Enrico Marocco

Use Cases

XPP Message Fragmentation

July 22nd 2007 6eXtensible Peer Protocol (XPP) Emil Ivov, Enrico Marocco

XPP Operation Request; Fragment 1ACK 1

Alice Bob

ACK

Retrans.Timer

XPP Operation Request; Fragment 2ACK 2

XPP Operation Request; Fragment 3

XPP Operation Request; Fragment 3

ACK

XPP Operation Request; Fragment N

Page 7: The eXtensible Peer Protocol (XPP) Emil Ivov - Enrico Marocco

XPP Fragment Header 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |S|A|R|L|K| | | Ver | Reserved |Y|C|E|F|P| Sequence Number | | | |N|K|L|R|A| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local ID | Remote ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | XPP Message Fragment (Optional) ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

July 22nd 2007 eXtensible Peer Protocol (XPP) Emil Ivov, Enrico Marocco 7

Page 8: The eXtensible Peer Protocol (XPP) Emil Ivov - Enrico Marocco

XPP Messages 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |S|A|R|L|K| | | Ver | Reserved |Y|C|E|F|P| Sequence Number | | | |N|K|L|R|A| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local ID | Remote ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Operation Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Operation Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Parameters ... +-+-+-+-+-+-+-+-+-+-+-+-

July 22nd 2007 eXtensible Peer Protocol (XPP) Emil Ivov, Enrico Marocco 8

Page 9: The eXtensible Peer Protocol (XPP) Emil Ivov - Enrico Marocco

XPP TLV Options 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |S|A|R|L|K| | | Ver | Reserved |Y|C|E|F|P| Sequence Number | | | |N|K|L|R|A| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local ID | Remote ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Operation Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Operation Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Value ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

July 22nd 2007 eXtensible Peer Protocol (XPP) Emil Ivov, Enrico Marocco 9

Page 10: The eXtensible Peer Protocol (XPP) Emil Ivov - Enrico Marocco

XPP-PCAN’s Passive Approach• A P2PSIP client registers with the

overlay just as it would register with any other SIP registrar

July 22nd 2007 eXtensible Peer Protocol (XPP) Emil Ivov, Enrico Marocco 10

SIP REGISTER

XPP Sessions

Client

Page 11: The eXtensible Peer Protocol (XPP) Emil Ivov - Enrico Marocco

XPP-PCAN’s Passive Approach• A P2PSIP client registers with the

overlay just as it would register with any other SIP registrar

• During the initial registration the P2PSIP client asserts its identity against the credentials stored in the overlay. Once this phase completed, the client starts maintaining a SIP Outbound connection with a peer in the overlay.

July 22nd 2007 eXtensible Peer Protocol (XPP) Emil Ivov, Enrico Marocco 11

SIP OutboundConnection

XPP Sessions

Client

Page 12: The eXtensible Peer Protocol (XPP) Emil Ivov - Enrico Marocco

XPP-PCAN’s Passive Approach• A P2PSIP client registers with the

overlay just as it would register with any other SIP registrar

• During the initial registration the P2PSIP client asserts its identity against the credentials stored in the overlay. Once this phase completed, the client starts maintaining a SIP Outbound connection with a peer in the overlay.

• At some point of time an existing peer may decide to invite it to join the overlay and establish an XPP session with it.

July 22nd 2007 eXtensible Peer Protocol (XPP) Emil Ivov, Enrico Marocco

12

Client

XPP SessionSIP INVITE

XPP Sessions

Page 13: The eXtensible Peer Protocol (XPP) Emil Ivov - Enrico Marocco

XPP-PCAN’s Passive Approach• A P2PSIP client registers with the overlay

just as it would register with any other SIP registrar

• During the initial registration the P2PSIP client asserts its identity against the credentials stored in the overlay. Once this phase completed, the client starts maintaining a SIP Outbound connection with a peer in the overlay.

• At some point of time an existing peer may decide to invite it to join the overlay and establish an XPP session with it.

• The inviting peer would also advertise the arrival of the new peer to all its future neighbors.

July 22nd 2007 eXtensible Peer Protocol (XPP) Emil Ivov, Enrico Marocco 13

XPP Session

XPP SessionsXPP UPDATE

XPP UPDATE

Page 14: The eXtensible Peer Protocol (XPP) Emil Ivov - Enrico Marocco

The eXtensible Peer Protocol (XPP)

Emil Ivov - [email protected] Marocco – [email protected]