The eXtensible Peer Protocol (XPP) - PowerPoint PPT Presentation

The extensible peer protocol xpp l.jpg
Download
1 / 14

The eXtensible Peer Protocol (XPP). Emil Ivov - emcho@sip-communicator.org Enrico Marocco – enrico.marocco@tilab.com. Table of Contents. Design Choices XPP Session Establishment XPP Operations Fragmentation and Reliability Message Formats XPP-PCAN Overview. Design Choices.

Related searches for The eXtensible Peer Protocol (XPP)

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

Download Presentation

The eXtensible Peer Protocol (XPP)

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


The extensible peer protocol xpp l.jpg

The eXtensible Peer Protocol (XPP)

Emil Ivov - emcho@sip-communicator.org

EnricoMarocco – enrico.marocco@tilab.com


Table of contents l.jpg

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 l.jpg

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 l.jpg

Use CasesSimultaneous Session Establishment

SIP

Alice

Bob

Alice’s SIP INVITE:INVITE sip:bob@biloxi.com SIP/2.0

To: Bob <sip:bob@biloxi.com>

From: Alice <sip:alice@atlanta.com>;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 <sip:bob@biloxi.com>;tag=a6c85cf

From: Alice <sip:alice@atlanta.com>;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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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


The extensible peer protocol xpp14 l.jpg

The eXtensible Peer Protocol (XPP)

Emil Ivov - emcho@sip-communicator.org

EnricoMarocco – enrico.marocco@tilab.com


  • Login