Mobile Ad Hoc Networking Working Group Charles E. Perkins INTERNET DRAFT Nokia Research Center 8 July 2006 Thomas Clausen, Philippe Jacquet INRIA Rocquencourt, France Multicast With Minimal Congestion Using Connected Dominating Sets draft-perkins-manet-smurf-00.txt Status of This Memo This document is a submission by the Mobile Ad Hoc Networking Working Group of the Internet Engineering Task Force (IETF). Comments should be submitted to the manet@ietf.org mailing list. This document is an Internet-Draft and is subject to all provisions of section 3 of RFC 3667. 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. Abstract Flooding is useful for many reasons in ad hoc networks, but causes congestion that can block traffic. Selecting multi-point relays (MPRs) reduces congestion due to flooding, but has several disadvantages. It is possible to select a subset of the MPRs to do the same job more effectively. In this document, signaling is specified for identifying a relatively small connected dominating set that can still manage the flooding operation. Perkins Expires 8 January 2006 [Page 1] Internet Draft Low-Congestion Flooding 8 July 2006 1. Introduction Flooding is useful for many reasons in ad hoc networks, but causes congestion that can block traffic within such a network. The goal of this document is to specify a flooding algorithm that greatly reduces the number of packet retransmissions needed to flood the whole network. Since there a many fewer retransmissions, the amount of congestion due to flooding will be greatly reduced. In order to reduce the total number of retransmissions, we can reduce the number of nodes that perform the retransmissions, as long as all nodes still receive at least one transmission of the flooded packet. If a particular node can determine its one-hop and two-hop neighborhoods, then it can identify a subset of its neighboring nodes that still be able to reach every node of the two-hop neighborhood. The nodes in such a subset are called "multi-point relays" (MPRs) in the OLSR specification [7]. There are various ways to pick enough MPRs so that, when each MPR retransmits a packet, the two-hop neighborhood will be completely covered. These neighboring MPRs will themselves have selected some of their other neighbors to be MPRs. When the neighboring MPRs retransmit, then some of their neighbors will again retransmit, until eventually the whole network is covered. Selecting multi-point relays MPRs, as specified in OLSR [7] is beneficial to reduce congestion due to flooding, but has several disadvantages. Another related concept is that of a "connected dominating set" (CDS). There are many distributed algorithms for computing a CDS, with a variety of interesting properties. The set of MPRs that retransmit a packet originated from a source node within an ad hoc network is also a CDS. Otherwise, the set of MPRs would not be able to cover the network by retransmission hop-by-hop. In this document, signaling is specified for identifying a relatively small connected dominating set that can still manage the flooding operation. The names of the multicast groups used for flooding are given as "ALL_IPv4_MANET_NODES" and "ALL_IPv6_MANET_NODES" [5]. The backbone nodes selected for flooding packets can, however, be used for flooding to any designated multicast address as long as the members of that multicast group form a connected subgraph of the ad hoc network. Specifications for future multicast groups intended for flooding or very dense dissemination should specifically indicate that their members should communicate across the SMURF backbone. Future documents may offer improved algorithms for the purpose of identifying backbone nodes, while still utilizing the protocol in this document for periodic updates to the necessary neighborhood information. Perkins Expires 8 January 2006 [Page 2] Internet Draft Low-Congestion Flooding 8 July 2006 DISCUSSION: should there be a version field to handle unforeseen future incompatibilities? 2. SMURF Terminology 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 [2]. This section defines other terminology that is not already defined in [3]. MPR A "multi-point relay" -- that is, a neighboring node that can relay flooded packets, thus assisting with the dissemination of those packets throughout the network broadcast Transmit to the IPv4 Limited Broadcast address, 255.255.255.255, or else for IPv6 to the link-local AllNodesMulticast address. neighborhood, one-hop neighborhood The neighborhood (also called the one-hop neighborhood) of a node is the set of nodes which are directly reachable by that node. two-hop neighborhood The two-hop neighborhood of a node is the set of nodes which are either directly reachable by that node, or directly reachable by one of the neighbors of that node. dominating set A subset of a graph is a dominating set if every node in the graph is eiher a member of the subset, or else a neighbor of at least one node in the subset. connected set A set with more than one element is connected if every node in the subset is a neighbor of some other node in the subset. A set with fewer than two elements is connected. Perkins Expires 8 January 2006 [Page 3] Internet Draft Low-Congestion Flooding 8 July 2006 CDS (connected dominating set) A subset of a graph is a CDS if it is a dominating set, and it is connected. flooding backbone The flooding backbone of an ad hoc network is a CDS which is used for flooding packets throughout the network, considering every node in the ad hoc network as a node in a graph with edges defined by the (one-hop) communication links that are available between the nodes in the ad hoc network. backbone in this document, ``backbone'' always means the flooding backbone 3. Overview Each node listens for advertisements from its neighbors. From the advertisements, the node updates its stored information about its one-hop neighborhood and its two-hop neighborhood. The sender of the advertisement is a member of the node's one-hop neighborhood, and the sender's neighbors are either members of the node's one-hop neighborhood or its two-hop neighborhood. There are two kinds of periodic local topology advertisements, which are used to enable each node to construct a representation of its two-hop neighborhood and subsequently select MPRs. The first is called the "full advertisement", which has complete lists of all the necessary data. The second is called the "incremental advertisement", which only has information that has changed since the last full advertisement. It is expected that the incremental advertisement will be much smaller than the full advertisement. A node's neighborhood is considered to be composed of three mutually exclusive subsets: - undistinguished first hop neighbors - MPRs - the node itself Likewise, a node's two hop neighborhood is considered to be composed of four mutually exclusive subsets: - second hop neighbors - undistinguished first hop neighbors Perkins Expires 8 January 2006 [Page 4] Internet Draft Low-Congestion Flooding 8 July 2006 - MPRs - the node itself If a node is described as being in any one of these subsets, then by convention and agreement it does not belong to any of the other subsets. This eliminates overlap of information in the local topology advertisements. The following information is present in full advertisements: - advertisement sequence number - reluctance for offering service as a backbone node - first hop neighbors - MPRs - flags The following information is present in incremental advertisements: - advertisement sequence number of the last full advertisement - reluctance for offering service as a backbone node - addresses of new first hop neighbors - addresses of new MPRs - addresses of lost nodes - flags Any address in the lost node list has to be deleted from the neighbor list or the MPR list of the last full advertisement, and the nodes in these two lists reclassified if they were classified differently in the last full advertisement. A neighboring node cannot be considered for selection as an MPR until the link to that node has been verified as bidirectional. For each neighbor, two conditions must be verified: 1. an advertisement has been recently heard from the neighbor 2. the node itself must appear as a member of the one-hop neighbors reported by that neighbor. Once each node has constructed its two-hop neighborhood, it uses any reasonable algorithm to identify a subset of neighbors which are to be designated as MPRs. One algorithm that works well is the so-called "greedy algorithm": 1. Initialize the set of uncovered two-hop neighbors to contain all known two-hop neighbors 2. Pick the neighbor that is within range of the largest number of uncovered nodes in the two-hop neighborhood. Perkins Expires 8 January 2006 [Page 5] Internet Draft Low-Congestion Flooding 8 July 2006 3. Mark the two-hop neighbors reachable by that neighbor's local broadcasts as already covered. 4. If there are no more uncovered two-hop neighbors, stop. 5. Otherwise, iterate steps (2) -- (4). Once the nodes have identified the MPRs in their neighborhoods, each node must also determine whether to prune itself from the flooding backbone (i.e., the connected dominating set of nodes which will take responsibility for disseminating flooded data). In order for a node to prune itself to the flooding backbone, it uses the following algorithm [1]: 1. It forms a "CDS identifier" by appending its IP address to its last advertised "reluctance" value. 2. If it is the node with a CDS identifier lower than any of its neighbors, then it must continue to participate as a member of the flooding backbone. 3. Otherwise, if it not a MPR of its neighbor with the lowest CDS identifier, then it may prune itself from the flooding backbone. A node advertises the status of its decision to prune itself from the CDS backbone in its advertisement messages. 4. Full Advertisement The Full Advertisement has the following format: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence # |Rel| #1-hop | #MPRs | reserved|C| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : List of IP addresses of 1-hop neighbors : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : List of IP addresses of MPR neighbors : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type Type == 1. Perkins Expires 8 January 2006 [Page 6] Internet Draft Low-Congestion Flooding 8 July 2006 Length Length of the full advertisement data, in bytes, including all fields except for the Type and Length. Sequence # Advertisement sequence number Rel Reluctance (2 bits). A node selects a low value for its reluctance, if it is willing to be identified as an MPR, and thus potentially as a member of the connected dominating set. #1-hop Number of one-hop neighbors #MPRs Number of one-hop neighbors reclassified as MPRs 'C' The 'C' flag is set if the advertising node has selected itself as a member of the connecting dominating set for flooding 1-hop list List of IP addresses of 1-hop neighbors (#1-hop total addresses) MPR list List of IP addresses of MPR neighbors (#MPRs total addresses) The IP header TTL for the Full Advertisement packet MUST be 1. DISCUSSION: is 255 better? DISCUSSION: Is the Length field needed, or should we spend the bits on enlarging the other fields? 5. Incremental Advertisement The Incremental Advertisement has the following format: Perkins Expires 8 January 2006 [Page 7] Internet Draft Low-Congestion Flooding 8 July 2006 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence # |Rel| #1-hop|#MPRs| #lost |reservd|C| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : List of IP addresses of 1-hop neighbors : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : List of IP addresses of MPR neighbors : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : List of IP addresses of lost neighbors : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type Type == 2. Length Length of the incremental advertisement data, in bytes, including Sequence # Advertisement sequence number Rel Reluctance (2 bits). A node selects a low value for its reluctance, if it is willing to be identified as an MPR, and thus potentially as a member of the connected dominating set. #1-hop Number of new one-hop neighbors #MPRs Number of new nodes classified as MPRs #lost Number of nodes no longer in the one-hop neighborhood (and, thus, not possibly MPRs) as shown in the last full advertisement Perkins Expires 8 January 2006 [Page 8] Internet Draft Low-Congestion Flooding 8 July 2006 'C' The 'C' flag is set if the advertising node has selected itself as a member of the connecting dominating set for flooding 1-hop list List of IP addresses of new 1-hop neighbors (#1-hop total addresses) MPR list List of IP addresses of new MPR neighbors (#MPRs total addresses) lost list List of IP addresses of former neighbors that have not exhibited local connectivity recently (#lost total addresses) The IP header TTL for the Incremental Advertisement MUST be 1. DISCUSSION: is 255 better? DISCUSSION: Is the Length field needed, or should we spend the bits on enlarging the other fields? 6. Security Considerations This draft specifies a general mechanism for identifying a flooding backbone in an ad hoc network. It does not make any provision for securing the contents of the flooded data, either to protect against tampering or to protect against unauthorized inspection of the data. It does not make any provision for ensuring that the nodes of the flooding backbone are operating as expected. It does not make any provision to guarantee the correctness of information presented within the advertisement messages. The use of local broadcast for the advertisement messages precludes the use of point-to-point security associations such as might be used for constructing Authentication Header digests. In the future, if further security measures are to be undertaken, one could attempt to utilize public keys for the purpose of authenticating the flooded data, as long as the public keys were known to be properly associated with the node in question (to avoid man-in-the-middle attacks). Perkins Expires 8 January 2006 [Page 9] Internet Draft Low-Congestion Flooding 8 July 2006 7. IANA considerations New multicast addresses have to be allocated. A new UDP port number has to be allocated for the neighborhood messages. ICMP is another possibility. 8. Acknowledgments Thomas Clausen and Emmanuel Baccelli were frequent contributors to the conversation which inspired the production of this document. The algorithm for identifying the flooding backbone was published as Research Report 4597 [1] by Cedric Adjih et al. References [1] Cedric Adjih, Phlippe Jacquet, and Laurent Veinnot. Computing Connected Dominating Sets with Multipoint Relays. Technical report, Institut National de Recherche en Informatique et en Automatique (INRIA). INRIA RR 4597, October 2002. [2] S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. Request for Comments (Best Current Practice) 2119, Internet Engineering Task Force, March 1997. [3] Ed. J. Manner and Ed. M. Kojo. Mobility Related Terminology. Request for Comments (Informational) 3753, Internet Engineering Task Force, June 2004. [4] C. Perkins. Minimal Encapsulation within IP. Request for Comments (Proposed Standard) 2004, Internet Engineering Task Force, October 1996. [5] Charles E. Perkins. IP Flooding in Ad hoc Networks (Work In Progress). Internet Draft, Internet Engineering Task Force. draft-perkins-manet-bcast-02.txt, June 2005. [6] J. Postel. Internet Protocol. Request for Comments (Standard) 791, Internet Engineering Task Force, September 1981. [7] Ed. T. Clausen and Ed. P. Jacquet. Optimized Link State Routing Protocol (OLSR). Request for Comments (Experimental Protocol) 3626, Internet Engineering Task Force, June 2004. Author's Addresses Questions about this memo can be directed to: Perkins Expires 8 January 2006 [Page 10] Internet Draft Low-Congestion Flooding 8 July 2006 Charles E. Perkins Networking Technology Laboratory / Nokia Research Center 313 Fairchild Drive Mountain View, CA 94303 +1 650 625 2986 +1 650 625-2502 (fax) Charles.Perkins@nokia.com Thomas Heide Clausen INRIA Rocquencourt, BP 105, 78153 Le Chesnay Cedex France +33 1 3963 5133 Thomas.Clausen@inria.fr Full Copyright Statement Full Copyright Statement Copyright (C) The Internet Society (2005). 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 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. Perkins Expires 8 January 2006 [Page 11]