Internet DRAFT - draft-boudani-gxcast

draft-boudani-gxcast





INTERNET DRAFT                                Ali Boudani  
Expires:  April 2005                        Alexandre Guitton        
                                              Bernard Cousin       
                                               IRISA-France
 
                                                October 2004

          GXcast: Generalized Explicit Multicast Routing Protocol
                      <draft-boudani-gxcast-02.txt>

Status of this Memo

     By submitting this Internet-Draft, I certify that any applicable
     patent or other IPR claims of which I am aware have been disclosed, 
     or will be disclosed, and any of which I become aware will be 
     disclosed, in accordance with RFC 3668."

     Internet Drafts are working documents of the Internet Engineering
     Task Force (IETF), its areas, and 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 obsolete by other documents
     at anytime. 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

    Recently several multicast mechanisms were proposed that scale better
    with the number of multicast groups than traditional multicast does.
    These proposals are known as small group multicast (SGM) or explicit
    multicast (Xcast). Explicit multicast protocols, such as the Xcast 
    protocol, encode the list of group members in the Xcast header of 
    every packet. If the number of members in a group increases, routers
    may need to fragment an Xcast packet. Fragmented packets may not be 
    identified as Xcast packets by routers. In this paper, we show that 
    the Xcast protocol does not support the IP fragmentation and we show
    also that avoiding fragmentation induces hard-coded limits inside the
    protocol itself in terms of group size. First, we describe the Xcast
    protocol, the Xcast+ protocol (which is an extension of Xcast) and we
    compare these two protocols with traditional multicast protocols.We
    propose then a generalized version of the Xcast protocol, called
    GXcast, intended to permit the Xcast packets fragmentation and to
    support the increasing in the number of members in a multicast
    group.  


  
I. INTRODUCTION
 

  

Boudani et al.                                                  [Page 1]


INTERNET-DRAFT                GXcast                        October 2004


    Multicast, the ability to efficiently send data to a group of
    destinations, has become increasingly important with the emergence of
    network-based applications like IP telephony, videoconferencing,
    distributed interactive simulation and software upgrading. A 
    multicast routing protocol should be simple to implement, scalable,
    robust, use minimal network overhead consume minimal memory resources
    , and inter-operate with other multicast routing protocols.
    Most of proposed multicast protocols like DVMRP [1] and MOSPF ([2], 
    [3]) perform well if group members are densely packed. However, the 
    fact that DVMRP periodically floods the network and the fact that 
    MOSPF sends group membership information over the links, make these 
    protocols not efficient in cases where group members are sparsely 
    distributed among regions and the bandwidth is not plentiful.
    To address these issues, the Protocol Independent Multicast (PIM) 
    routing protocols are being developed by the Inter-Domain Multicast 
    Routing (IDMR), working group of the IETF. PIM contains two 
    protocols: PIM-Dense Mode (PIMDM) [4] which is more efficient with 
    applications where group members are densely distributed, and 
    PIM-Sparse Mode (PIM-SM) [5] which performs better with applications
    where group members are sparsely distributed. Although these two
    protocols share similar control messages, they are essentially 
    proposed for two different kinds of applications. Today's multicast 
    protocols [6] can be used to minimize bandwidth consumption, but it
    suffers from a scalability problem with the number of concurrently 
    active multicast groups because it requires a router to keep a 
    forwarding state for every multicast tree passing through it and the
    number of forwarding states grows with the number of groups. There 
    seem to be two kinds of multicast that are important: a broadcast-
    like multicast that sends data to a large number of destinations and
    a narrowcast multicast that sends data to a fairly small group. An 
    example of the first kind of multicast is the audio and video
    multicasting of a presentation to all employees in a corporate 
    intranet. An example of the second kind of multicast is a 
    videoconference involving three or four parties [6]. Thus, a 
    one-size-fits-all protocol will be unable to meet the requirements 
    of all applications [7]. Providing for many groups of small 
    conferences (a small number of widely dispersed people) with global 
    topological scope scales badly given the current multicast model [8].
    Recently several multicast mechanisms were proposed that scale better
    with the number of multicast groups than traditional multicast does.
    These proposals are known as small group multicast (SGM) [9] or 
    explicit multicast (Xcast) [10]. Explicit multicast protocols, such 
    as the Xcast protocol, encode the list of group members in the Xcast
    header of every packet. Xcast assumes that there is no packet 
    fragmentation. However, if fragmentation occurs (e.g. if the group 
    size or the data is too large) the fragmented packets will not be 
    identified as Xcast packets by routers. In this paper we propose a
    generalized Xcast protocol to support the group size increasing and 
    to overcome the fragmentation problem. 

II. THE XCAST AND THE XCAST+ PROTOCOLS
    To solve the problems of traditional multicast protocols, Boivie et 
     

    

Boudani et al.                                                  [Page 2]


INTERNET-DRAFT                GXcast                        October 2004


    al. propose the Explicit Multicast protocol (Xcast). 

    A. The Xcast protocol

    The Xcast protocol is a newly proposed multicast protocol to support
    a very large number of small multicast groups. To send data to a 
    given group, the source first explicitly encodes the list of 
    destinations in the Xcast header of the packet. Then, the source 
    parses the header, partitions the destinations based on each next 
    unicast hop and forwards a packet with an appropriate header to each
    of the next hops. Each router along the path to destinations repeats
    the same processing on receiving an Xcast packet. If a router 
    detects that there is only one destination in the destination list 
    of a packet, the packet is converted to unicast. The algorithm 
    realizing the conversion of an Xcast packet to a unicast packet is 
    called Xcast-to-Unicast (X2U). This packet is then forwarded in 
    unicast along the remainder of the route.

    B. The Xcast+ protocol

    Xcast+ is an extension of Xcast for a more efficient delivery of 
    multicast packets [11]. Every source or destination is associated to
    a Designated Router (DR). Instead of encoding in the Xcast packet 
    header the set of group members, Xcast+ encodes the set of their DRs.
    When a new member wants to join the group G of source S, it sends an
    IGMP-join message [12] to its DR. The DR will send a join-request 
    message to the source S. The DR of the source intercepts this message
    and analyzes it in order to keep track of all concerned DR addresses.
    When the source S wants to send a message to the group G, it sends a
    multicast packet. This packet is received by its DR and converted to
    an Xcast packet using the Multicast-to-Xcast algorithm (M2X). The 
    packet is then forwarded as in Xcast to the DRs, since the 
    destination list in the Xcast header contains the DR addresses 
    instead of the member addresses. Then, each DR converts the Xcast 
    packet to a multicast packet using the Xcast-to-Multicast protocol 
    (X2M) and sends it in its subnetworks.

    C. The IP fragmentation mechanism 

    Due to physical reasons, every link can transfer only a limited 
    volume of information in each packet. The Internet protocol (IP) 
    [13] contains a mechanism called fragmentation which makes this 
    limitation transparent for end stations. The  fragmentation 
    mechanism allows a packet to be cut into fragments in order to be 
    suitably transferred on a link. Suppose that a router receives a 
    packet. After having decided on which link this packet should be 
    forwarded, the router checks the maximum capacity of this 
    link which is the Maximum Transmission Unit (MTU). If the packet is 
    too large and unless it is explicitly forbidden, the router cuts out 
    it in order to respect the following constraints: each resulting 
    fragment is an autonomous IP packet, with a valid IP  header, each 
    resulting fragment has a size less than or equal to the  MTU, the 
   

     
  
Boudani et al.                                                  [Page 3]


INTERNET-DRAFT                GXcast                        October 2004


    data is distributed between the fragments. The algorithm used to 
    fragment IPv4 packets is explained in [13]. The IPv6 protocol also 
    have a fragmentation mechanism, described in [14]. Note that one goal
    of IPv6 is to avoid the fragmentation. This will be discussed later.

    D. Xcast packet fragmentation   

    Since the Xcast packet header may be large, two cases can be  
    considered: either the whole Xcast packet header is short enough to 
    be kept in the first fragment, or the Xcast header has to be cut out.
    In both cases, the second fragment is not a valid Xcast packet since 
    it has no Xcast header. Thus, these packets cannot be forwarded to 
    receivers and the data they contain is lost. Moreover, in the second 
    case the first fragment contains only a subset of receivers and no 
    data. The first fragment may however be forwarded up to the mentioned
    receivers, inducing meaningful traffic.
    These problems show that the fragmentation of an Xcast packet should 
    be forbidden. This can be done in IPv4 by setting the appropriate 
    flag (Don't Fragment, DF) in the IP header. In order to reach the 
    receivers, the source has to limit the size of its packets to 576 
    bytes which is the minimum MTU guaranteed by IPv4 on any link. This 
    size limits the number of receivers in an Xcast group to 134. In 
    IPv6, since the minimum MTU is 1280 bytes and since IPv6 addresses 
    are stored using 16 bytes, the limit in the size of the Xcast group 
    is 76. Having these limits hardly coded in protocols is restrictive.
    What we propose is a simple mechanism to cancel these limitations 
    in the size of Xcast groups. The performance and the scalability of 
    our proposition will be analyzed. 

    E. Comparison between explicit multicast protocols and traditional
    multicast protocols

    Traditional multicast protocols and explicit multicast protocols are
    two different approaches designed to handle multicast groups. We 
    will try to emphasis the main advantages of each method, compared to
    the other one.
    1) Drawbacks of explicit multicast protocols: In addition to the 
    important Xcast packet fragmentation problem, other related 
    drawbacks also exist.
    a) Limited payload: packet size is limited as a result of network 
    MTU. In explicit multicast protocols, the larger the list of 
    destinations is, the lower the payload is.As a consequence, more 
    packets should be generated to transmit a given amount of data.
    b) Complex header processing: in explicit multicast protocols, each 
    destination in the header needs a routing table lookup. A packet with
    destinations in the list of destinations will require n+1 unicast 
    routing table lookups1. Additionally, a different header has to be 
    constructed per next hop. However, it can be noticed that since such
    protocols are typically designed for sparse sessions, there will be 
    a limited number of branching routers compared to non-branching 
    routers. The construction of different headers only occurs in 
    branching points. The header construction can moreover be reduced 
    



Boudani et al.                                                  [Page 4]


INTERNET-DRAFT                GXcast                        October 2004


    to a simple operation: the modification of a bitmap.
    2) Advantages of explicit multicast protocols: Explicit multicast 
    protocols make easier the routing of multicast packets. It has many 
    
     advantages over traditional multicast protocols.
    a) Routing state and signalisation messages management: in explicit 
    multicast protocols, routers do not have to maintain a state per 
    group. Indeed, there is no multicast forwarding table since only 
    unicast tables are used. This makes the Xcast protocol very scalable
    in terms of the number of groups that can be supported 
    simultaneously since the routers in the network do not need to 
    disseminate information for the groups.
    b) Automatic reaction to unicast reroutes and simplified traffic 
    engineering: explicit multicast protocols react immediately to 
    unicast route changes. Traditional multicast protocols need to 
    exchange information with unicast protocols in order to have an 
    adequate reaction. This is achieved on a polling basis in many 
    implementations, yielding a slower reaction to e.g. link failures. 
    This delay may also depend on the number of concerned groups. 
    Additionnaly, there is no need for a specific multicast traffic 
    engineering tool since packets follow traffic engineered unicast 
    paths. 
    c) Easier security and accounting: in explicit multicast protocols, 
    the source has a complete knowledge about members (or about DR 
    members). It will be able to drop dynamically some members and a 
    border router can be able to determine approximately how many times 
    a packet will be duplicated in its domain (especially when 
    link-state protocols like OSPF [15] are used in the domain).
    
    Other advantages can be mentionned:
 
    No multicast address allocation is needed except eventually in the 
    DR of the source in the case of the Xcast+ protocol.
    
    Shortest path is always used even in an asymmetric network.

    III. THE GXCAST PROTOCOL
    As explained in the previous section, the Xcast protocol can not 
    support large groups due to its incompatibility with the IP 
    fragmentation mechanism. In this section, we propose a generalized 
    Xcast routing protocol, the GXcast protocol, which is designed 
    basically to avoid the fragmentation. Moreover, the GXcast protocol 
    can be parameterized in order to improve the Xcast behaviour.
    
    A. The GXcast protocol
    
    The GXcast protocol [18] is a simple generalized version of the 
    Xcast protocol: instead of sending a message to the  destinations, 
    the source limits the number of destinations in a packet to nM. Thus, 
    the list of destinations is cutted into sub-lists of at most nM
    destinations. Each sub-list corresponds to a destination list for 
    an Xcast packet. Several packets may have to be sent in order to 
    


    
Boudani et al.                                                  [Page 5]


INTERNET-DRAFT                GXcast                        October 2004


    deliver data to all the destinations. is the parameter of the GXcast
    protocol and it impacts the protocol performance in terms of several
    criteria. GXcast packets are similar to Xcast packets: they have the
    same header and are treated in the same way by intermediate routers,
    DR destinations and destinations. The only difference between the 
    Xcast protocol and the GXcast protocol is done in the source or in 
    the DR of the source. The Xcast protocol and the GXcast protocol can 
    therefore inter-operate easily.

    B. Study of the GXcast parameter

    The behaviour of the GXcast protocol greatly depends on the value of
    the parameter. Indeed, as we will see in this subsection, there is a
    number of criteria that are directly influenced by the chosen value.
    In the following, we will denote by MTU the value of the MTU which 
    depends on the IP version used, by E the size of the header plus 
    the size of the Xcast header (typically 16 bytes) and by IP the size
    of an IP address. n will represent the number of destinations in the
    group and d the volume in bytes of data to transfer.
    1) Simple behaviour:
    Since a packet has to contain at least one byte of data, the maximum
    number of destinations n_max allowed in an Xcast packet is defined 
    as:

    The values n_max = 134 and n_max = 76 correspond respectively to the
    IPv4 and to the IPv6 specifications. The simplest behaviour GXcast 
    can have is to fix the value to the nM value. However, this is not 
    efficient for groups having a lot of members (typically more than 
    n_max).


    2) The number of members influenced by a fault: if a drop occurred 
    on a GXcast packet, every member having its address in the member 
    list will be concerned by the drop. To reduce the number of 
    destinations concerned by such errors, small values of should be 
    chosen.
    3) Number of generated packets: after studying the packet generating
    functtion , we found that this function admits a minimum value for:
    nM= n_max/2. Since this optimal value does not depend on n and on d 
    and since it is very simple to calculate it and provides good results
    in terms of the number of generated packets, we propose it as a 
    default value for the GXcast protocol.

    4) Using Path MTU instead of minimum MTU: At the beginning of this 
    section, we defined MTU as the minimum MTU guaranteed by IP. 
    However, the value of the Path MTU (PMTU) can also be used since we 
    don't make any assumptions on the stability of the MTU value in our 
    study. The PMTU is the minimum value of the MTU on the links of a 
    path. It can be noticed that the PMTU value is easy to obtain in 
    GXcast, since unicast paths are used.

References

    


Boudani et al.                                                  [Page 6]


INTERNET-DRAFT                GXcast                        October 2004

 
    [1] D. Waitzman, C. Partridge, and S. Deering. Distance Vector 
    Multicast Routing Protocol. IETF RFC 1075, 1988.
    [2] J. Moy. Multicast Extensions to OSPF. IETF RFC 1584, 1994.
    [3] J. Moy. MOSPF: Analysis and Experience. IETF RFC 1585, 1994.
    [4] S. Deering et al. Protocol Independent Multicast version 2-Dense 
    Mode Specification. IETF Internet Draft, 
    http://catarina.usc.edu/pim/pimdm/pim-dm-06.txt, 1997.
    [5] D. Estrin et al. Protocol Independent Multicast-Sparse Mode 
    (PIM-SM): Protocol Specification. IETF RFC 2362, 1998.
       
    [6] M. Ramalho. Intra- and Inter-domain multicast routing protocols:
    A survey and taxonomy. IEEE Communications Surveys and Tutorials, 
    First Quarter 2000.
    [7] Reliable Multicast Transport Working Group Web Site.
    http://www.ietf.org/html.charters/rmt-charter.html, February 2003.
    [8] S. Deering, S. Hares, C. Perkins, and R. Perlman. Overview of 
    the 1998 IAB Routing Workshop. IETF RFC 2902, August 2000.
    [9] D. Ooms. Taxonomy of xcast/sgm proposals. IETF Internet draft, 
    July 2000.
    [10] R. Boivie, N. Feldman, Y. Imai, W. Livens, D. Ooms, and O.
    Paridaens. Explicit multicast (Xcast) basic specification. IETF 
    Internet draft, October 2000.
    [11] S. Myung-KI, K. Yong-Jin, P. Ki-Shik, and K. Sang-Ha. Explicit 
    multicast extension (xcast+) for efficient multicast packet delivery.
    ETRI Journal, 23(4), December 2001.
    [12] B. Cain, S. Deering, B. Fenner, I. Kouvelas, and A. 
    Thyagarajan. Internet group management protocol, version 3. IETF 
    Internet draft, January 2002.
    [13] University of Southern California J. Postel from the 
    Information Sciences Institute. Internet Protocol. IETF RFC 791, 
    1981.
    [14] S.Deering and R. Hinden. Internet Protocol, version 6 (ipv6) 
    Specification. IETF RFC 2460, 1998.
    [15] J. Moy. Ospf version 2. IETF RFC1247, July 1991.
    [16] K. Fall. and K. Varadhan. The NS Manual. UC Berkeley, LBL,
    USC/ISI, and Xerox PARC, January 2001.
    [17] E. Zegura, K. Calvert, and S. Bhattacharjee. How to model an
    internetwork. In INFOCOM, 1996.
    [18] A. Boudani, A. Guitton, B. Cousin. GXcast: Generalized Explicit 
    Multicast Routing Protocol. 9th IEEE Symposium on Computers and
    Communications (ISCC 2004) [organis‰e par l'IEEE], Alexandria, Egypt,
    June 2004 (ask authors for a hard copy).

Authors Addresses

    Ali Boudani
    IRISA/INRIA Rennes
    Campus Universitaire de Beaulieu
    Avenue du General Leclerc 35042 Rennes France
    Phone : (33) 02 99 84 25 37
    Fax : (33) 02 99 84 25 29
    E-mail : aboudani@irisa.fr

    


Boudani et al.                                                  [Page 7]


INTERNET-DRAFT                GXcast                        October 2004

    Alexandre Guitton
    IRISA/Universit‰ de Rennes1
    Campus Universitaire de Beaulieu 
    Avenue du General Leclerc 35042 Rennes France
    Phone : (33) 02 99 84 25 37
    Fax : (33) 02 99 84 25 29
    E-mail : alexandre.guitton@irisa.fr

    Bernard Cousin
    IRISA/INRIA Rennes
    Campus Universitaire de Beaulieu
    Avenue du General Leclerc 35042 Rennes France
    Phone : (33) 02 99 84 73 33
    Fax : (33) 02 99 84 71 71
    E-mail : bcousin@irisa.fr

Copyright Statement

Copyright (C) The Internet Society (2004).  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."

Expiration Date:  April 2005