the extensible peer protocol xpp
Download
Skip this Video
Download Presentation
The eXtensible Peer Protocol (XPP)

Loading in 2 Seconds...

play fullscreen
1 / 14

The eXtensible Peer Protocol (XPP) - PowerPoint PPT Presentation


  • 201 Views
  • Uploaded on

The eXtensible Peer Protocol (XPP). Emil Ivov - [email protected] Enrico Marocco – [email protected] Table of Contents. Design Choices XPP Session Establishment XPP Operations Fragmentation and Reliability Message Formats XPP-PCAN Overview. Design Choices.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'The eXtensible Peer Protocol (XPP)' - richard_edik


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
table of contents
Table of Contents
  • Design Choices
  • XPP Session Establishment
  • XPP Operations
  • Fragmentation and Reliability
  • Message Formats
  • XPP-PCAN Overview

eXtensible Peer Protocol (XPP)

Emil Ivov, Enrico Marocco

design choices
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?

eXtensible Peer Protocol (XPP)

Emil Ivov, Enrico Marocco

use cases simultaneous session establishment
Use CasesSimultaneous Session Establishment

SIP

Alice

Bob

Alice’s SIP INVITE:INVITE sip:[email protected] SIP/2.0

To: Bob

From: Alice ;tag=1928301774

c=IN IP4 130.79.90.54

m=application 1234 UDP/XPP *

a=ltag: 0xAAAA

SIP INVITE

SIP OK

XPP

SYN

SYN

Bob’s SIP OK:SIP/2.0 200 OK

To: Bob ;tag=a6c85cf

From: Alice ;tag=1928301774…

c=IN IP4 103.97.9.45

m=application 4321 UDP/XPP *

a=ltag: 0xBBBB

ACK

ACK

XPP Session

eXtensible Peer Protocol (XPP)

Emil Ivov, Enrico Marocco

use cases a sample xpp operation
Use CasesA Sample XPP Operation

Alice

Bob

XPP Operation Request

ACK

XPP Operation Response

Retrans.Timer

XPP Operation Response

ACK

eXtensible Peer Protocol (XPP)

Emil Ivov, Enrico Marocco

use cases xpp message fragmentation
Use CasesXPP Message Fragmentation

Alice

Bob

XPP Operation Request; Fragment 1

ACK 1

XPP Operation Request; Fragment 2

ACK 2

XPP Operation Request; Fragment 3

Retrans.Timer

XPP Operation Request; Fragment 3

ACK

XPP Operation Request; Fragment N

ACK

eXtensible Peer Protocol (XPP)

Emil Ivov, Enrico Marocco

xpp fragment header
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) ...

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

eXtensible Peer Protocol (XPP)

Emil Ivov, Enrico Marocco

xpp messages
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| SequenceNumber |

| | |N|K|L|R|A| |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Local ID | Remote ID |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Operation Number |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Operation Type |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Parameters ...

+-+-+-+-+-+-+-+-+-+-+-+-

eXtensible Peer Protocol (XPP)

Emil Ivov, Enrico Marocco

xpp tlv options
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| SequenceNumber |

| | |N|K|L|R|A| |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Local ID | Remote ID |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Operation Number |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Operation Type |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Type | Length |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Value ...

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

eXtensible Peer Protocol (XPP)

Emil Ivov, Enrico Marocco

xpp pcan s passive approach
XPP-PCAN’s Passive Approach

XPP Overlay

  • A P2PSIP client registers with the overlay just as it would register with any other SIP registrar

XPP Sessions

SIP REGISTER

Client

eXtensible Peer Protocol (XPP)

Emil Ivov, Enrico Marocco

xpp pcan s passive approach11
XPP-PCAN’s Passive Approach

XPP Overlay

  • 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.

XPP Sessions

SIP Outbound

Connection

Client

eXtensible Peer Protocol (XPP)

Emil Ivov, Enrico Marocco

xpp pcan s passive approach12
XPP-PCAN’s Passive Approach

XPP Overlay

  • 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.

XPP Sessions

XPP Session

SIP INVITE

Client

eXtensible Peer Protocol (XPP)

Emil Ivov, Enrico Marocco

xpp pcan s passive approach13
XPP-PCAN’s Passive Approach

XPP Overlay

  • 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.

XPP Sessions

XPP UPDATE

XPP UPDATE

XPP Session

Client

Peer

eXtensible Peer Protocol (XPP)

Emil Ivov, Enrico Marocco

ad