22
Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc <[email protected]>

Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

Embed Size (px)

Citation preview

Page 1: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

Internet Peer-to-Peer Application Infrastructure

Darren New

Invisible Worlds, Inc

<[email protected]>

Page 2: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

BEEP and APEX

• Blocks Extensible Exchange Protocol• draft-ietf-beep-framework-11.txt

• draft-ietf-beep-tcpmapping-06.txt

• Application Exchange framework• draft-mrose-apex-core-00.txt

• draft-mrose-apex-access-00.txt

• draft-mrose-apex-presence-00.txt

Page 3: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

Why BEEP?

• Stop Reinventing the Wheel

• Design the Application, Not the Support

• Framing, Encoding, Reporting

• Parallelism, Synchronization, Flow-Control

• Authentication, Privacy

• Extensible but Simple (but not too simple!)• draft-mrose-beep-design-01.txt

Page 4: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

BEEP Introduction

• Connection-Oriented

• Message-Oriented

• Peer-to-Peer

Page 5: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

BEEP is Connection-Oriented

• Ordered Delivery of Messages

• Reliable Delivery

• Flow-Controlled

• Multiple Sub-connections (“channels”) per Connection (“session”)

Page 6: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

BEEP is Message-Oriented

• Loosely-Coupled

• Application-Specific Syntax

• 1 <-> 1 or 1 <-> N Messaging

Page 7: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

BEEP is Peer-to-Peer

• Bi-directional Channel Initiation

• Bi-directional Message Delivery

• Multiple Independent Channels

• Asynchronous Message Delivery

• Can be Client-Server

Page 8: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

BEEP Architecture

• Sessions

• Channels

• Profiles

• Privacy and Authentication

• Other Goodies

• No Naming or Authorization

Page 9: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

BEEP Sessions

• One or More Underlying Connections• (Right now, just a single TCP connection)

• One User Identity

• One Privacy Policy

• One or More Channels• (One for control, many for application)

Page 10: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

BEEP Channels

• Control Channel Always Open

• Zero or More Data Exchange Channels

• Messages Pass Both Ways on Channels

• Intra-Channel is Sequential

• Inter-Channel is Unsynchronized

Page 11: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

BEEP Profiles

• Messages on Control Channel Open and Close Other Channels

• Greeting Offers Multiple Profiles

• Profiles Define Syntax and Semantics

• Profiles Are Extensibility Mechanism

• Tuning Profiles vs Data Exchange Profiles

Page 12: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

Privacy and Authentication

• Use Initial Tuning Profiles First

• Greeting Can Offer TLS• (All channels closed, encryption starts, new greeting sent)

• Greeting Can Offer Any SASL Mechanism• (All channels take on new identity)

• Either Peer Can Start TLS

• Either or Both Peers Can Start SASL

Page 13: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

Other BEEP Goodies

• Standardized Error-Reporting Available

• Segmentation of Messages

• Flow-Control of Delivery

• Implementation-Checking Redundancy

Page 14: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

Naming and Authorization

• Not Directly Addressed by BEEP

• Each Profile Will Have Different Naming Requirements

• Authorization Depends On Naming

Page 15: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

BEEP Tools

• SpaceKits in Tcl, Java, Perl, Python

• Ethereal and TCPDump modules

• SEP, ASP, APEX, IDWG (maybe), reliable syslog, XRP, WCIP

• Eventually, Apache2 Module, C library

Page 16: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

APplication EXchange Framework (APEX)

• Extensible Asynchronous Application Message Relaying

• Built on Top of BEEP

• Applications Inject Requests to be Delivered to Other Applications

• Relay Mesh Delivers Messages

• Provides Naming, Authorization, Presence

Page 17: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

APEX Addresses

• Addresses Are URIs in “im:”

• Multiple Applications Per User• im:fred/[email protected]

• Services Have Special Addresses• im:[email protected]

Page 18: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

APEX Messages

• XML: Sender, Receivers, Flags, Content• (Internal or external reference to content)

• Best-Effort Store-and-Forward Datagrams• (Applications generally use time-outs and cancellations)

• Can Request Delivery Receipts, Traces

• Routing Based on DNS SRV Records

• Soon, End-System Reliable Multicast

Page 19: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

APEX Access Service

• Determines Which Services May Do What For Each User Combination

• Accessed via im:apex=access@domain

• Get and Set Permissions for Data Delivery and Each Service’s Operations

• Relay Mesh Enforces Permissions

Page 20: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

APEX Presence Service

• Determines Available Communication Protocols and Applications for a User

• Accessed via im:apex=presence@domain

• Each User Specifies Set of • Destination URI (I.e., end-point identifier)

• Application Info URI (defines protocol)

• “Available Until” and “Capabilities”

• Publish, Subscribe, Watch

Page 21: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

APEX Applications

• Instant Messaging

• Wide Area Multi-cache

Page 22: Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc

Summary

• BEEP - High-Quality Standardized Framework for Peer-to-Peer Connection-Oriented Internet Protocols

• APEX - High-Quality Standardized Application for Peer-to-Peer Datagram-Oriented Internet Protocols

• http://www.bxxp.org/ for More Info