Internet DRAFT - draft-buford-irtf-sam-overlay-protocol
draft-buford-irtf-sam-overlay-protocol
SAM J. Buford
Internet Draft Avaya Labs
Intended status: Experimental March 12, 2008
Expires: September 12, 2008
SAM Overlay Protocol
draft-buford-irtf-sam-overlay-protocol-01.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that
any applicable patent or other IPR claims of which he or she is
aware have been or will be disclosed, and any of which he or she
becomes aware will be disclosed, in accordance with Section 6 of
BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on September 12, 2008.
Copyright Notice
Copyright (C) The IETF Trust (2008).
Abstract
The previously proposed Hybrid Overlay Multicast Framework uses a
structured peer-to-peer overlay to connect peers in different types
of multicast regions of the Internet. We use AMT (Automatic IP
Buford Expires September 12, 2008 [Page 1]
Internet-Draft SAM Overlay Protocol March 12, 2008
Multicast Without Explicit Tunnels) to connect peers in ALM
(Application Layer Multicast) regions with peers in native multicast
regions. Here we define the overlay messaging needed to support the
multicast tree operations. One goal of this approach is to ensure
that the SAM framework is compatible with the P2P-SIP overlay, which
is still being defined. Another goal is to be overlay agnostic so
that different overlay algorithms can interoperate in a single SAM
(Scalable Adaptive Multicast) session.
Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [RFC2119].
Table of Contents
1. Introduction...................................................3
2. Tree Lifecylce Messages........................................3
2.1. Create Tree...............................................4
2.2. Join......................................................4
2.3. Join Accept...............................................4
2.4. Join Confirm..............................................5
2.5. Join Decline..............................................5
2.6. Join Via AMT Gateway......................................5
2.7. JoinWithNativeLink........................................6
2.8. Leave.....................................................7
2.9. Leave Via AMT Gateway.....................................7
2.10. Re-Form or Optimize Tree.................................8
2.11. Heartbeat................................................8
3. AMT Gateway Advertisement and Discovery........................8
4. Peer Region and Multicast Properties Messages..................9
5. Message Format.................................................9
5.1. P2PP Extension............................................9
5.2. Experimental Message......................................9
6. SAM Extension-Body............................................10
7. Message Encoding..............................................10
8. Change History................................................11
9. Security Considerations.......................................11
10. IANA Considerations..........................................11
11. References...................................................11
11.1. Normative References....................................11
11.2. Informative References..................................11
Author's Addresses...............................................12
Full Copyright Statement.........................................13
Intellectual Property............................................13
Buford Expires September 12, 2008 [Page 2]
Internet-Draft SAM Overlay Protocol March 12, 2008
Acknowledgment...................................................13
1. Introduction
In this document we define messages for hybrid overlay multicast tree
creation, using an existing proposal (P2PP) in the P2P-SIP WG
[BAS2007] for a universal structured peer-to-peer overlay protocol.
The purpose of this approach is to ensure that the hybrid overlay
multicast framework [BUF2008] (hereafter SAM framework) can be
implemented on P2P-SIP overlays, and that the SAM framework is
overlay agnostic. Since P2PP is intended to cover at least a variety
of structured multi-hop algorithms, it is suitable for achieving an
overlay agnostic approach.
We are not proposing that these SAM-specific messages be incorporated
into [BAS2007] since constructing the SAM framework is still a
research activity. However, we do propose that P2PP add an extension
mechanism, defined here as the "Experimental" message type. This
document also defines a SAM extension to P2PP using this Experimental
message type.
As discussed in the SAM requirements draft, there are a variety of
ALM tree formation and tree maintenance algorithms. The intent of
this specification is to be algorithm agnostic, similar to how P2PP
is overlay algorithm agnostic. We assume that all control messages
are propagated using overlay routed messages.
The message types needed for ALM behavior are divided into the
following categories:
o Tree life-cycle (create, join, leave, re-form, heartbeat)
o AMT [THA2007] gateway advertisement and discovery
o Peer region and multicast properties
For encoding we propose a single SAM message type be added to P2PP.
Implementations of P2PP compliant with this specification MUST
support this new message type and all subtypes defined here.
2. Tree Lifecylce Messages
Peers use the overlay to transmit ALM (application layer multicast)
operations and hybrid ALM operations defined in this section.
Buford Expires September 12, 2008 [Page 3]
Internet-Draft SAM Overlay Protocol March 12, 2008
2.1. Create Tree
A new ALM tree is created in the overlay with the identity specified
by GroupId. The usual interpretation of GroupId is that the peer with
peer id closest to and less than the GroupId is the root of the tree.
The tree has no children at the time it is created.
The GroupId is generated from a well-known session key to be used by
other Peers to address the multicast tree in the overlay. The
generation of the GroupId from the SessionKey MUST be done using the
overlay's id generation mechanism.
Create(PeerId, SessionKey, GroupId, Options)
PeerId: the overlay address of the peer that creates the multicast
tree.
SessionKey: a well-known string when hashed using the overlay's id
generation algorithm produces the GroupId.
GroupId: the overlay address of the root of the tree
Options: name-value list of properties to be associated with the
tree, such as the maximum size of the tree, restrictions on peers
joining the tree, latency constraints, preference for distributed or
centralized tree formation and maintenance, heartbeat interval.
2.2. Join
Causes the distributed algorithm for peer join of a specific ALM
group to be invoked. If successful, the PeerId is notified of one or
more candidate parent peers in one or more JoinAccept messages. The
particular ALM join algorithm is not specified in this protocol.
Join(PeerId, GroupId, Options)
PeerId: overlay address of joining/leaving peer
GroupId: the overlay address of the root of the tree
Options: name-value list of options proposed by joining peer
2.3. Join Accept
Tells the requesting joining peer that the indicated peer is
available to act as its parent in the ALM tree specified by GroupId,
with the corresponding Options specified. A peer MAY receive more
than one JoinAccept from diffent candidate parent peers in the
GroupId tree. The peer accepts a peer as parent using a JoinConfirm
message. A JoinAccept which receives neither a JoinConfirm or
JoinDecline response MUST expire.
JoinAccept(ParentPeerId, ChildPeerId, GroupId, Options)
Buford Expires September 12, 2008 [Page 4]
Internet-Draft SAM Overlay Protocol March 12, 2008
ParentPeerId: overlay address of a peer which accepts the joining
peer
ChildPeerId: overlay address of joining peer
GroupId: the overlay address of the root of the tree
Options: name-value list of options accepted by parent peer
2.4. Join Confirm
A peer receiving a JoinAccept message which it wishes to accept MUST
explicitly accept it before the expiration of the JoinAccept using a
JoinConfirm message. The joining peer MUST include only those options
from the JoinAccept which it also accepts, completing the negotiation
of options between the two peers.
JoinConfirm(ChildPeerId, ParentPeerId, GroupId, Options)
ChildPeerId: overlay address of joining peer which is a child of the
parent peer
ParentPeerId: overlay address of the peer which is the parent of the
joining peer
GroupId: the overlay address of the root of the tree
Options: name-value list of options accepted by both peers
2.5. Join Decline
A peer receiving a JoinAccept message which does not wish to accept
it MAY explicitly decline it using a JoinDecline message.
JoinDecline(PeerId, ParentPeerId, GroupId)
PeerId: overlay address of joining peer which declines the JoinAccept
ParentPeerId: overlay address of the peer which issued a JoinAccept
to this peer
GroupId: the overlay address of the root of the tree
2.6. Join Via AMT Gateway
A request to create a hybrid native multicast connection for the
specified PeerId peer to join the tree identified by the GroupId. The
request is transmitted to one or more parent peer candidates and/or
rendezvous peers for the specified group id, according to the usual
join protocol in this overlay.
Buford Expires September 12, 2008 [Page 5]
Internet-Draft SAM Overlay Protocol March 12, 2008
If the parent peer is a P-AMT-GW (a peer which supports the AMT-GW
interface), then after JoinAccept and JoinConfirm steps, instead of
an overlay parent-child link, an AMT tunnel is formed using the AMT
protocol from the P-AMT-GW to the specified AMT-GW to which the Peer
is associated.
If parent peer is a peer P-NM in native multicast region, then after
JoinAccept and JoinConfirm steps, the tunnel is created between P-
NM's AMT-GW and the specified AMT-GW, using the AMT protocol.
If parent peer is a P-ALM, then the requested is propagated to other
peers in the tree according to the join processing rules.
JoinViaAMTGateway(PeerId, AMT-GW, GroupId, Options)
PeerID: the peer requesting to join the ALM group identified by
group_id
AMT-GW: ip address of the AMT gateway that the peer uses in its
native multicast region.
Options: name-value list of options proposed by joining peer
2.7. JoinWithNativeLink
This allows child to select specific parent peer, overriding
selection based on the basic join method. Typical use is for a peer
in NM region to join the multicast group using the local native
multicast path for this GroupId. Joining peer determines:
o It is in an NM region, determined for example using MRD (Multicast
Router Discovery) [RFC4286] or configuration
o It knows the native multicast address (NMA) in its region, if it
exists, which corresponds to the GroupId
o It can connect to the NMA using IGMP
o Either 1) there is at least one peer that is in the same NM region
that is already part of the GroupId, or 2) the region has an AMT-
GW which can connect to some P-AMT-GW or P-NM in another NM region
which is part of the GroupId. It uses a separate discovery step
such as LookupPeerNMInfo described later.
o If there is no such peer in the GroupId, then this joining peer is
the first peer to be added which is in an NM region. It CANNOT
join using this message type.
ParentPeer and ChildPeer are either in same NM region or in two
different NM regions with capability for AMT. Since media is passed
Buford Expires September 12, 2008 [Page 6]
Internet-Draft SAM Overlay Protocol March 12, 2008
via NM path, the parent-child relationship established by this join
is for control and membership management
JoinWithNativeLink(ChildPeer,ParentPeer,GroupId, Options)
ChildPeerId: overlay address of joining peer which is a child of the
parent peer
ParentPeerId: overlay address of the peer which is the parent of the
joining peer
GroupId: the overlay address of the root of the tree
Options: name-value list of options accepted by both peers
2.8. Leave
A peer which is part of an ALM tree idenfied by GroupId which intends
to detach from either a child or parent peer SHOULD send a Leave
message to the peer it wishes to detach from. A peer receiving a
Leave message from a peer which is neither in its parent or child
lists SHOULD ignore the message.
Leave(PeerId, GroupId, Options)
PeerId: overlay address of leaving peer
GroupId: the overlay address of the root of the tree
Options: name-value list of options
2.9. Leave Via AMT Gateway
A peer which is part of an ALM tree identified by GroupId which
intends to detach from either a child or parent peer and which uses
an AMT tunnel to connect to the peer SHOULD send a LeaveViaAMTGateway
message to the peer it wishes to detach from. A peer receiving a
LeaveViaAMTGateway message from a peer which is neither in its parent
or child lists SHOULD ignore the message.
The request is transmitted the AdjacentPeerId. AdjacentPeerId MUST
remove the specified PeerId from its children or parent lists if
present.
If AdjacentPeerId is a P-AMT-GW, then it MAY tear down the AMT tunnel
from P-AMT-GW to the specified AMT-GW if no other children are using
it. If AdjacentPeerId is a peer P-NM (peer in a native multicast
region), then the tunnel between P-NM's AMT-GW and the specified AMT-
GW MAY be removed according to the policy and configuration of the
AMT-GW.
LeaveViaAMTGateway(PeerId, AdjacentPeerId, AMT-GW, GroupId, Options)
Buford Expires September 12, 2008 [Page 7]
Internet-Draft SAM Overlay Protocol March 12, 2008
PeerId: overlay address of leaving peer
AdjacentPeerId: overlay address of an adjacent (parent or child) peer
AMT-GW: ip address of the AMT gateway that the peer uses in its
native multicast region.
GroupId: the overlay address of the root of the tree
Options: name-value list of options
2.10. Re-Form or Optimize Tree
This triggers a reorganization of either the entire tree or only a
sub-tree. It MAY include hints to specific peers of recommended
parent or child peers to reconnect to. A peer receiving this message
MAY ignore it, MAY propagate it to other peers in its subtree, and
MAY invoke local algorithms for selecting preferred parent and/or
child peers.
Reform(GroupId, { PeerId }, Options)
GroupId: the overlay address of the root of the tree
PeerId: if omitted, then the tree is reorganized starting from the
root, otherwise it is reorganized only at the sub-tree identified by
PeerId.
Options: name-value list of options
2.11. Heartbeat
A node signals to its adjacent nodes in the tree that it is alive. If
a peer does not receive a Heartbeat message within N heartbeat time
intervals, it MUST treat this as an explicit Leave message from the
unresponsive peer. N is configurable.
Heartbeat(PeerId1, PeerId2, GroupId)
PeerId1: source of heartbeat
PeerId2: destination of heartbeat
GroupId: overlay address of the root of the tree
3. AMT Gateway Advertisement and Discovery
Allows peer to disclose to other peers in the overlay their ability
to act as a native-multicast gateway (as in AMT) for peers in a given
region. We expect to use the P2P Publish and Lookup messages for
this purpose. But to avoid collision with the semantics of those
operations, we temporarily define shadow versions within the SAM
extension. Publish stores an advertisement object for a peer with is
an AMT gateway in the DHT for the overlay, under a given key.
Buford Expires September 12, 2008 [Page 8]
Internet-Draft SAM Overlay Protocol March 12, 2008
PublishAMTGateway(PeerId, Key, Region, Options)
LookupAMTGateway(PeerId, Key)
PeerId: the peer which is the AMT gateway
Key: the key by which other peers lookup the advertisement, details
TBD. There can be more than one key.
Region: an id for a region, using some region identification scheme
TBD. For example, the Autonomous System Number (ASN) could be
used.[RFC1930]
Options: Name-value list of options
4. Peer Region and Multicast Properties Messages
Peers can advertise the network region that they belong to and its
native multicast properties if any. Similar to AMT Gateway
advertisement and discovery, uses the DHT for lookup and publish.
PublishPeerNMInfo(PeerId, Key, Options)
LookupPeerNMInfo(PeerId, Key)
PeerId: the peer which is the AMT gateway
Key: the key by which other peers lookup the advertisement, details
TBD. There can be more than one key.
Options: Name-value list of options
5. Message Format
5.1. P2PP Extension
We propose a new message be added to the 18 existing message types:
P2PP-Msg = ... | Experimental
5.2. Experimental Message
Experimental = Common-header
Peer-Info
Certificate-Sign-Request
Password
Extension-Name
Extension-Body
Extension-Name = SAM | ...
Extension-Body = extension-specific
Buford Expires September 12, 2008 [Page 9]
Internet-Draft SAM Overlay Protocol March 12, 2008
6. SAM Extension-Body
The extension-body used by the SAM extension to P2PP is as follows.
Extension-Body = Extension-Message-Type | Arguments | Options
Extension-Message-Type =
CreateTree | Join | JoinAccept | JoinConfirm | JoinDecline |
JoinViaAMTGateway | JoinWithNativeLink | Leave | LeaveViaAMTGateway
| Heartbeat | PublishAMTGateway | LookupAMTGateway |
PublishPeerNMInfo | LookupPeerNMInfo | Reform
Arguments = PID | GroupId | Key | SessionKey | AMT-GW
PID = PeerId | AdjacentPeerId | ChildPeerId | ParentPeerId
Options = {Option}*
Option = Name, Value
7. Message Encoding
P2PP uses a binary encoding. The encoding for the SAM extension
messages will be defined in a subsequent draft.
Buford Expires September 12, 2008 [Page 10]
Internet-Draft SAM Overlay Protocol March 12, 2008
8. Change History
o 01 - Add JoinWithNativeLink message
9. Security Considerations
Overlays are vulnerable to DOS and collusion attacks. We are not
solving overlay security issues.
For this version we assume centralized peer authentication model
similar to what is proposed for P2P-SIP.
10. IANA Considerations
This document has no actions for IANA.
11. References
11.1. Normative References
[RFC1930] J. Hawkinson, S. Bates. "Guidelines for Creation,
Selection, and Registration of an Autonomous System (AS)".
BCP 6, RFC 1930, March 1996.
[RFC2119] S. Bradner, "Key Words for Use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997
[RFC4286] B. Haberman, J. Martin, "Multicast Router Discovery". RFC
4286, Dec. 2005
11.2. Informative References
[BUF2008] J. Buford. Hybrid Overlay Multicast Framework. February
2008. Internet Draft draft-irtf-sam-hybrid-overlay-
framework-02, work in progress.
[BAS2007] S. Baset, H. Schulzrinne, M. Matuszewski. Internet Draft
draft-baset-p2psip-p2pp-01, Work in progress.
[THA2007] D. Thale, M. Talwar, A. Aggarwal, L. Vicisano, T. Pusateri.
Automatic IP Multicast Without Explicit Tunnels (AMT).
Internet Draft draft-ietf-mboned-auto-multicast-08, Work
in progress. Oct 2007.
Buford Expires September 12, 2008 [Page 11]
Internet-Draft SAM Overlay Protocol March 12, 2008
Author's Addresses
John Buford
Avaya Labs
307 Middletown-Lincroft Road
Lincroft, NJ 07738, USA
Email: buford at samrg dot org
Buford Expires September 12, 2008 [Page 12]
Internet-Draft SAM Overlay Protocol March 12, 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE
IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL
WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY
RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Buford Expires September 12, 2008 [Page 13]