Internet Draft






MSDP Working Group                                     Masahiro Jibiki
Internet Draft                                           Atsushi Iwata
Expires in six months                                  NEC Corporation
                                                         November 2000


                 MSDP Specific Forwarding Extension for
                   Inter-Domain Multicast Forwarding
                 <draft-jibiki-iwata-msdp-idmf-01.txt>


Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   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

   This draft proposes a general inter-domain multicast forwarding
   (IDMF) mechanism for the PIM-SM multicast routing protocol and its
   application to the MSDP specific forwarding extension (MSDP-FE).
   Although there have been various inter-domain multicast routing and
   forwarding protocols, they are still limited in their capacity to
   handle policy routing, QoS routing, accounting and security, which
   network administrators are willing to use in their network. In order
   to overcome this limitation, we propose a novel approach to create an
   inter-domain multicast forwarding tree (or routing table) among
   multiple PIM-SM domains with logical multicast paths over which
   multicast packets are forwarded or flooded. The logical multicast
   paths are created by either the IP-in-IP tunneling method, the IP
   masquerade-like method, or the MPLS label switched path (LSP) method,
   which can easily reuse policy routing and QoS routing for unicast



Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt          [Page 1]

Internet Draft                                             November 2000


   routing. These logical multicast paths are established among IDMF-
   capable nodes, which are located within each PIM-SM domain, either
   manually or by a dynamic IDMF tree construction protocol. This
   general framework for IDMF can be used as an MSDP based forwarding
   mechanism. Furthermore, the IDMF-capable nodes (i.e., MSDP-FE-capable
   nodes) can also function as a proxy sender of multicast packets. This
   can prevent a multicast receiver from changing an RP-tree into a
   global SP-tree, and also can help to reduce, on the surface, the
   number of multicast sources for a particular multicast group. This
   property can be effectively used for accounting, security, and
   scalability enhancement required for inter-domain communication.


1. Introduction

   Various inter-domain multicast routing protocols, such as the
   Multicast Source Discovery Protocol (MSDP) [MSDP] and the Border
   Gateway Multicast Protocol (BGMP) [BGMP], have been proposed and have
   been standardized in IETF. In particular, MSDP is expected to be a
   short term promising solution for inter-domain multicast routing due
   to its protocol simplicity and ease of deployment. MSDP is a
   mechanism to connect multiple PIM-Sparse Mode (PIM-SM) [RFC2362]
   domains to create a single global PIM-SM tree with distributed
   Rendezvous Points (RP) in each PIM-SM domain. The current MSDP draft
   [MSDP] discusses mainly the protocol mechanism for multicast source
   address advertisement among PIM-SM RPs, and does not well address the
   issue of multicast packet forwarding. Multicast packet forwarding is
   very important for handling policy routing, QoS routing, accounting
   and security, which network administrators are willing to use in
   their network. Therefore, this draft proposes a general framework for
   the inter-domain multicast forwarding (IDMF) scheme and MSDP specific
   forwarding extension based on the IDMF.

   The key elements of the proposed general IDMF scheme are:

     (1) Logical multicast path tree built among PIM-SM domains:

        Multicast traffic across PIM-SM domains can be aggregated in
        unicast-format packets and transferred along the logical
        multicast path tree (IDMF tree) among domains. This mechanism
        allows us to use policies and QoS control of the inter-domain
        traffic in the same way as in current unicast IP networks.









Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt          [Page 2]

Internet Draft                                             November 2000


     (2) Automatic/dynamic maintenance of IDMF tree:

        The characteristics of the IDMF tree (i.e., disconnection,
        delay, packet loss, failure and so on) can be periodically
        monitored.  If the path cannot satisfy, for example, the QoS
        requirements of inter-domain traffic, only IDMF-capable nodes
        automatically reroute the path for establishing a new IDMF tree,
        so as to reduce the influence on the active inter-domain
        multicast traffic.

     (3) Proxy sender of inter-domain multicast packets:

        IDMF-capable nodes can also be equipped with the accounting and
        security mechanism required for inter-domain communication. As
        one means of enhancing security, IDMF-capable nodes can also
        behave as a proxy sender of multicast packets. There are two
        cases for this proxy sender; (1) the last-hop IDMF-capable node
        toward multicast receivers and (2) the first-hop IDMF-capable
        node from multicast senders.

        In the first case, this capability can prevent multicast
        receivers from changing the multicast path from shared RP-tree
        to the global source-based shortest-path tree (SP-tree). Since
        it is difficult to use the global SP-tree to ensure the above
        accounting and security for inter-domain traffic, it should be
        restricted as much as possible.

        In the second case, this capability can help to reduce the
        number of multicast sources (S) logically for a particular
        multicast group, although it may be difficult to reduce the
        number of multicast groups (G). Thus the property of (2) can be
        regarded as one of scalability enhancement.

   This draft focuses on MSDP specific forwarding extension (MSDP-FE)
   using a general IDMF scheme, and also mentions a proxy node
   implementation as an example, although the proposed scheme can be
   basically implemented on other platforms, such as PIM-SM RPs and area
   border routers.













Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt          [Page 3]

Internet Draft                                             November 2000


2. Existing Inter-Domain Forwarding Problems

   The PIM-SM protocol uses the PIM-JOIN message to build a multicast
   traffic delivery tree, which can be an RP-tree shared from RP to
   multicast receivers or an SP-tree shared from multicast sources to
   receivers.  This is because the PIM-JOIN message usually is sent
   along the best-effort unicast path from receivers to RP or sources,
   and intermediate routers along the path create a forwarding entry for
   the (*, G) or (S, G), so that they will be able to forward multicast
   packets downstream toward the multicast receivers. This means that
   this multicast path is built based on best-effort unicast path, thus
   no router can choose a multicast path which is different from the
   best-effort unicast path.

   Therefore, if the same tree construction mechanism is applied to the
   inter-domain multicast forwarding, we have to support a global SP-
   tree across several PIM-SM domains directly using PIM-JOIN messages.
   Although the current MSDP allows this global SP-tree mode, this mode
   has the following problems:

     (1) QoS routing and Traffic engineering for multicast packets:

        Since multicast traffic is passed along with the reverse path to
        which a join message was sent (usually best-effort unicast path
        to the RP), it is difficult to distinguish and manage a unicast
        path and a multicast path.  That is, it is difficult for a
        network administrator to perform QoS routing and traffic
        engineering for multicast packets with the same approach as is
        done in unicast IP networks.

     (2) Policy routing for multicast packets:

        For the same reasons as given in (1), even if the network
        administrator wants to specify the policy for multicast routing
        and to control the multicast path, no suitable framework has yet
        been proposed for this.

     (3) Accounting and security enhancement for multicast packets:

        Currently, there is no mechanism for choosing and controlling
        users who are allowed to join the inter-domain multicast tree,
        and for switching over from the shared RP-tree to the SP-tree.
        There is also no mechanism for managing and controlling the
        multicast sender to allow multicast data to be sent to a
        multicast group.






Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt          [Page 4]

Internet Draft                                             November 2000


        That is, a multicast router must accept join messages from any
        receiver, and each node on the SP-tree must forward the
        multicast data that any sender transmits, regardless of policy
        considerations.  Therefore, it is difficult to ensure the
        accounting and security in inter-domain multicasting.

     (4) Heterogeneous router capability support:

        When there is a network that does not support multicasting along
        the SP-tree, the nodes located downstream cannot always
        participate in the SP-tree. Although this problem can usually be
        solved by configuring a static tunneling across such a network,
        no mechanism to create such a tunnel flexibly and dynamically
        has been proposed yet.

        Although it may be possible to solve this problem by changing a
        topology and policy in a private domain from a single
        administrative perspective, it is very difficult to solve it
        between domains unless there is standard architecture for
        accommodating these capabilities.

   In order to solve the above problems, we propose a general inter-
   domain multicast forwarding (IDMF) scheme. The overview of the
   proposed scheme and its application to MSDP specific forwarding
   extension (MSDP-FE) are discussed in the following sections.


























Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt          [Page 5]

Internet Draft                                             November 2000


3. General Framework for IDMF

   This section addresses an overview of the inter-domain multicast
   forwarding (IDMF) scheme. IDMF is a novel approach to create a
   logical inter-domain multicast forwarding tree (IDMF tree) among
   multiple PIM-SM domains with logical multicast paths, over which
   multicast packets are forwarded or flooded. The logical multicast
   paths (IDMF paths) are created by either the IP-in-IP tunneling
   method [RFC2003], the IP masquerade-like method, or the MPLS label
   switched path (LSP) method [MPLS-ARCH][MPLS-LABEL], which can be used
   for aggregating multicast flows, on the surface, (i.e., reducing the
   number of multicast flows) toward the same PIM-SM domain along the
   same IDMF paths. Thus unicast packets and multicast packets destined
   for the same network can follow the same route as the unicast route,
   which is convenient for performing QoS routing, traffic engineering,
   and policy routing in the same way as in unicast IP networks.

   These IDMF paths are established among IDMF-capable nodes or proxies,
   which are located within each PIM-SM domain, either manually or by a
   dynamic IDMF tree construction protocol. One advantage of this is the
   effect on aggregation of multicast traffic along the IDMF paths
   between IDMF-capable nodes, this can be simplified to account for
   multicast packets and to filter those packets for security purposes.

   Another advantage is that the IDMF-capable nodes can behave as a
   proxy sender of multicast packets, which can prevent a multicast
   receiver from changing the shared RP-tree into the global SP-tree.
   This is effectively used so that the multicast receiver cannot know
   the real multicast source addresses, while receiving the traffic sent
   from the real multicast source nodes. This property also helps to
   achieve the accounting and security enhancement required for inter-
   domain communication.



















Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt          [Page 6]

Internet Draft                                             November 2000


4. Extension of MSDP Based on IDMF Scheme

4.1 Overview

   This subsection addresses an overview of MSDP specific forwarding
   extension (MSDP-FE) using a general IDMF scheme.  MSDP-FE-capable
   nodes (i.e., RPs) create logical multicast paths (MSDP-FE paths) by
   one of three methods specified in the IDMF scheme.  Thus, inter-
   domain multicast forwarding tree (MSDP-FE tree) among multiple PIM-SM
   domains is built along MSDP peerings by MSDP-FE paths.

   Multicast packets are forwarded or flooded over logical multicast
   paths according to the MSDP Peer-RPF Forwarding rules [MSDP], which
   is convenient to perform QoS routing, traffic engineering, and policy
   routing in the same way as in unicast IP networks.  These MSDP-FE
   paths are established logically among MSDP-speaking routers which are
   located as RPs within each PIM-SM domain. That is, since RPs with an
   MSDP peering also have an MSDP-FE path for data transmission, by an
   MSDP-FE tree construction message, a data forwarding tree (MSDP-FE
   tree) is built along the reverse path against peer-RPF path (i.e.,
   shortest path for SA message forwarding).  This can be simplified to
   account for multicast packets and to filter those packets for
   security purposes. If accidents occur in the MSDP-FE tree and the
   tree is disconnected, the topology can revive by modification only at
   the node where peer-RPF is changed.  Therefore, RPs check the peer-
   RPF of SA messages in order to dynamically modify the MSDP-FE tree
   topology.

   The MSDP-speaking routers can also behave as proxy senders of
   multicast packets and advertise aggregated SA messages, which
   prevents a multicast receiver from changing the shared RP-tree into
   the global SP-tree. This is effectively used so that the multicast
   receiver cannot know the real multicast source addresses, while
   receiving the traffic sent from the real multicast source nodes. This
   property also helps to enhance the accounting and security required
   for inter-domain communication.

   The following subsection explains the overview of the following
   items:

     (1) MSDP-FE tree construction

     (2) Packet delivery between PIM-SM domains using MSDP-FE

     (3) Restrictions on global SP-tree construction






Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt          [Page 7]

Internet Draft                                             November 2000


4.2 MSDP-FE Tree Construction

   The RP on MSDP-speaking routers establishes an MSDP peering to RP in
   another PIM-SM domain for multicast source address advertisement.
   Establishment of MSDP peerings can be performed in the same manner as
   a BGP [RFC1771] peering based on the policy of the network
   administrator.  This MSDP peering can be used to establish an MSDP-FE
   path which is a logical multicast path for data forwarding between
   these peers.  A global inter-domain multicast tree (MSDP-FE tree), in
   other words a data-forwarding tree, is built up on the MSDP peering
   tree, and has the same topology as that of the peer-RPF path to which
   SA messages are forwarded. The inter-domain multicast forwarding
   table (MSDP-FE forwarding table) is configured at each hop of the
   MSDP-FE-capable nodes.

   Furthermore, MSDP-FE-capable nodes (i.e., RP on MSDP-speaking
   routers) can also provide an MSDP-FE capability as proxy nodes.  If
   MSDP-speaking routers behave as proxies and aggregate multicast
   flows, the topologies of MSDP-FE trees can be either in the form of a
   flat multicast tree or a hierarchical multicast tree, depending on
   the total size of the network.

   Receiving the PIM-JOIN messages, the RP updates the PIM-SM forwarding
   entry to support (*, G) and checks the multicast source addresses,
   which are associated with multicast group G in the MSDP database.
   Then, it sends an MSDP-FE-JOIN message for each multicast source to
   the upstream peer, according to the 'MSDP Peer-RPF Forwarding rules',
   along the reverse path in which the SA message was sent.  The
   intermediate nodes forward the MSDP-FE-JOIN message to the upstream
   MSDP peer (i.e., peer-RPF), creating an MSDP-FE forwarding entry (*,
   G) pair, if such a forwarding entry does not yet exist. Therefore,
   each RP needs to hold the peer-RPF of the SA message.

   When an MSDP-FE-JOIN message reaches the originating RP of the SA
   message, the MSDP-FE-TYPE message which specifies the method of
   establishing a logical multicast path is returned from this
   originating RP up to the receiving RP along the reverse path in which
   the MSDP-FE-JOIN message was sent. The intermediate RPs which
   received the MSDP-FE-TYPE message add a unicast-type within the
   message to the MSDP-FE forwarding entry, and return an MSDP-FE-TYPE-
   ACK message to the peer-RPF which is the transmitting origin of this
   type message. When the ack message received in the peer-RPF shows
   rejection of the unicast-type specified in the last type message,
   this peer-RPF sends another type message.  The MSDP-FE-TYPE-ACK
   message specifies also the port number in which downstream RP
   receives the unicast-type data.  The intermediate RPs generates a new
   MSDP-FE-TYPE message with new unicast-type and transmits it toward a
   downstream peer, after replying to the ack message.  The entry to



Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt          [Page 8]

Internet Draft                                             November 2000


   which no MSDP-FE-TYPE message has been sent for a certain fixed time
   after transmitting MSDP-FE-JOIN message is deleted.

   Each RP on the established path sends an MSDP-FE-JOIN message to the
   peer-RPF in the same manner as PIM-SM periodically, in order to
   maintain the upstream MSDP-FE state, after an MSDP-FE-TYPE message
   reaches the receiving RP of the multicast packet. In order to prevent
   unnecessary MSDP-FE forwarding entries from remaining, entries to
   which a join message has not been sent for a certain fixed time are
   deleted in the same manner as type messages.

   There are three methods for creating the MSDP-FE paths: the IP-in-IP
   tunneling method, the IP masquerade-like method, and the MPLS label
   switched path (LSP) method.

   The IP-in-IP tunneling method [RFC2003], or encapsulation by IP, is a
   simple mechanism. However, if the packet length of a multicast packet
   is the same as the Maximum Transmission Unit (MTU) along the path,
   the packets have to be fragmented, and this is likely to cause a
   performance bottleneck in this processing. Considering that most of
   the current multicast applications are used for real-time
   applications, their packet lengths are very likely short, and the
   possibility of fragmentation may be less than that in normal unicast
   traffic situations.

   With the IP masquerade-like method, MSDP-FE-capable nodes need to
   convert original multicast IP packets into new unicast IP packets
   where the original IP multicast packet header information, such as
   source/destination IP address and source/destination port number, is
   aggregated into a source port number of the new unicast IP packet.
   The conversion rule is exchanged between MSDP peers in advance. Since
   this method does not change the packet length, it does not have a
   fragmentation problem. Instead the conversion takes more processing
   power to support the wire-speed forwarding in a short latency.

   The MPLS label switched path (LSP) method [MPLS-ARCH][MPLS-LABEL] is
   a scheme for tunneling lower layers than those in IP-in-IP tunneling.
   Although IP-in-IP tunneling uses 3rd layer forwarding capability in
   IP routing, MPLS LSP uses an MPLS layer forwarding (i.e., layer 2.5)
   beneath the 3rd layer routing. From the IP multicast packet point of
   view, MPLS LSP looks like a leased line service. The main benefit of
   using the MPLS LSP is to control the unicast path for improving the
   network utilization (i.e., traffic engineering), such as load
   balancing, multi-path routing and so on. However, since the label
   (shim header) has to be put in front of the IP multicast packet when
   forwarding, this method also has packet fragmentation problems.

   Since each approach has a trade-off for performance, the network



Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt          [Page 9]

Internet Draft                                             November 2000


   administrator has to choose one of the methods, depending on the
   network configuration and traffic demand.


4.3 Packet Delivery between PIM-SM Domains in MSDP-FE

   The MSDP-FE capability is collocated within the RP of its own domain,
   and can detect the multicast packets sent from multicast senders
   within the domain. When receiving the multicast packets, the RP
   checks the MSDP-FE forwarding entry. If such a forwarding entry
   exists, the RP forwards or floods the received multicast packets
   along the associated outgoing MSDP-FE paths, in which the multicast
   packets are converted into unicast-type packets.

   When the RP receives a unicast-type packet from an MSDP peer, it
   processes the following:

     (1) The RP converts the received unicast-type packets into
         original multicast packets, and checks the PIM-SM forwarding
         entry associated with the multicast destination group. If an
         outgoing entry exists toward its own PIM-SM domain, the
         multicast packets are forwarded downstream toward the multicast
         receivers within the same domain through the shared RP-tree.
         This multicast packet format can select either an original
         multicast packet or a converted multicast packet in which the
         RP functions as a proxy of multicast senders. The latter case
         is discussed in the following subsection.

     (2) After checking the MSDP-FE forwarding entry, if the outgoing
         entry exists toward the next-hop (downstream) MSDP peers, the
         original multicast packets are encoded again with the unicast-
         type packets and are flooded along the associated downstream
         MSDP peers, except for the MSDP peer from which the unicast-
         type packet is received (i.e., the peer-RPF of the SA message).

   Since the MSDP-FE tree is built with logical multicast paths (MSDP-FE
   paths), it is possible to transmit multicast traffic across a domain
   boundary and to use the unicast route specified by BGP policy for
   multicast traffic.  That is, in inter-domain multicast communication,
   the network administrator can re-use the current policy mechanism
   provided by BGP and QoS routing and signaling in the same manner as
   the unicast IP networks. Since multicast communication is emulated
   along the logical multicast communication, it is also possible to
   prevent eavesdropping between domains by unauthorized users.
   Moreover, since a multicast communication beyond the domain boundary
   can be controlled only by an RP, an accounting model can be easily
   developed.




Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 10]

Internet Draft                                             November 2000


4.4 Restriction of Global SP-Tree Construction

   As explained above, the MSDP-FE-capable node, the RP, forwards
   multicast packets downstream toward the shared RP-tree within the
   same domain, if an outgoing entry exists toward its own PIM-SM
   domain. In PIM-SM, the multicast receivers have the option of
   switching the receiving multicast tree from the shared RP-tree to the
   global SP-tree, once the amount of receiving packets goes beyond a
   predetermined threshold, so as to improve such performances as end-
   to-end delay.

   If the multicast tree switches from the shared RP-tree to the global
   SP-tree, multicast traffic will be delivered directly from the sender
   in another domain, and will not be passed through the RP within the
   same domain. As discussed in Sec.2, since the global SP-tree has
   several problems, the following three approaches are used for solving
   them.

   As a straightforward approach against a change in the multicast tree,
   there is a method of configuring the threshold to a special (or
   highest) value which prevents each PIM-SM router in a domain from
   switching the tree, even if the amount of receiving packets
   increases.  Since the threshold value is defined as dependence on
   operation/implementation in RFC, this approach, along with RP fixing,
   is frequently used as a means of providing a stable network.

   Another approach is a scheme where the RP behaves as a proxy of
   multicast senders. The RP converts the original packets into a new
   multicast packet, which uses IP masquerade-like conversion for
   supporting this behavior. In this case, the RP can change the source
   address of the packet into its own address. Even if each multicast
   receiver switches from the shared RP-tree to the global SP-tree, the
   global SP-tree is established between the RP and the multicast
   receiver, which means it is only an intra-domain PIM-SM tree. Thus,
   the SP-tree is not built across a boundary of the domain. By using
   both approaches, inter-domain multicast communication can be
   performed without adding any modifications to the current PIM-SM.

   A third approach is to have all PIM-SM routers refuse any PIM-JOIN
   messages from receivers outside their own domain.  However, in this
   case, PIM-SM needs to be modified so that any router which refuses a
   PIM-JOIN message returns an error message to the designated router
   (DR) of the receiver.








Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 11]

Internet Draft                                             November 2000


5. Modifications to Current MSDP Specifications

   In order to perform inter-domain multicast communication using MSDP,
   the current MSDP specifications need to be extended to MSDP-FE with
   respect to the following.


5.1 Peer-RPF Cache

   An MSDP-FE-JOIN message is sent to the peer-RPF, in the direction of
   the originating RP of the multicast packet, along the reverse path of
   the SA message. Therefore, each MSDP router not only caches the SA
   message, but needs to cache the peer-RPF for the SA message at the
   same time. When the peer-RPF is changed, the RP which detected this
   modification sends a new MSDP-FE-JOIN message generated from the
   MSDP-FE forwarding entry to the new peer-RPF, and tries to
   reconstruct the MSDP-FE tree.


5.2 New TLVs

   The following three TLVs need to be added.

     (1) MSDP-FE-Join TLV for receiver RP to send join message to the
         originating RP of the multicast packet

     (2) MSDP-FE-Type TLV for the originating RP to return methods for
         creating the logical multicast path to receiver RP

     (3) MSDP-FE-Type-Ack TLV for each RP to acknowledge a received
         MSDP-FE-TYPE message


5.3 New Timers

   In order to prevent unnecessary MSDP-FE forwarding entry from
   remaining, RPs send MSDP-FE-JOIN messages periodically in the same
   manner as PIM-SM.  That is, entries to which a join message has not
   been sent for a certain fixed time are deleted.

     (1) MSDP-FE-Join-Timer for RPs periodically sending MSDP-FE-JOIN
         messages to peer-RPFs

     (2) MSDP-FE-Type-Timer for RPs waiting for an MSDP-FE-TYPE message
         after transmitting an MSDP-FE-JOIN message






Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 12]

Internet Draft                                             November 2000


     (3) MSDP-FE-Entry-Timer for RPs holding an MSDP-FE forwarding entry
         until the next MSDP-FE-JOIN message arrival


5.4 Data Packet Forwarding

   Each RP transmits a unicast-type packet to a peer along logical
   multicast paths, according to the MSDP-FE forwarding entry.  There
   are three types of logical multicast paths, and the upstream RP
   notifies the downstream which type was adopted using an MSDP-FE-TYPE
   message.


5.5 Proxy Mode

   This extension is optional. However, by behaving as a proxy of a
   multicast sender, an MSDP-speaking router can aggregate a multicast
   flow and can prevent a shared RP-tree from switching to a global SP-
   tree. In case an RP behaves as a proxy, an SA message is advertised
   not according to the appearance of a new sender but according to the
   appearance of a new group.

   When sending data to a peer on a logical multicast path, the RP
   modifies the source port number of the unicast-type packet for every
   actual sender (i.e., IP masquerade-like conversion) and sends it.
   Correspondence with the port number selected in transmission and the
   actual sender is managed by each RP.  When the receiver replies to
   the sender, this packet is sent to the source port of the RP.  The RP
   transmits the packet to the actual sender according to the port
   number which received the reply from the multicast receiver.





















Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 13]

Internet Draft                                             November 2000


6. Detailed Procedures for the Proposed MSDP-FE Scheme

   Figure.1 shows an example in which seven PIM domains A..G establish
   the MSDP peering and build the MSDP network. Domain A advertises the
   SA message SA-A. The arrows in Fig.1 indicates the direction of peer-
   RPF to SA-A. Although domain C may receive SA-A from domains B and G,
   since peer-RPF of C is B, C discards SA-A from G and advertises SA-A
   from B to D.


               +---+   <==   +---+   <==   +---+   <==   +---+
               | A +---------| B |---------| C |---------| D |
               +-+-+         +-+-+         +-+-+         +-+-+
                 |             |             |
              /\ |             |             |
              || |             |             |
                 |             |             |
               +-+-+   <==   +-+-+   <==   +-+-+
               | E +---------+ F +---------+ G |
               +---+         +---+         +---+

       Figure 1:  Example of an inter-domain multicast communication


   In Fig.1, when the receiver to the multicast group
   (224.60.70.80:3400) advertised by SA-A appears in domain C, the RP in
   domain C sends the MSDP-FE-JOIN message to the RP in domain B which
   is peer-RPF of SA-A, toward domain A.

   The enlarged view of the above PIM domains A..C is shown in the next
   page.




















Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 14]

Internet Draft                                             November 2000


      PIM-SM Domain A         PIM-SM Domain B         PIM-SM Domain C
      133.25.0.0/16           192.50.0.0/16           210.14.0.0/16
    +----------------+      +----------------+      +----------------+
    |                |      |                |      |                |
    |  RP-A          |      |  RP-B          |      |  RP-C          |
    |  133.25.24.10  |  *2  |  192.50.22.8   |  *1  |  210.14.40.7   |
    |      #A2       | <==  | #B1  #B2       | <==  | #C1  #C2       |
    |    O-----------------------O-----------------------O--------------
    | #A1|           |  ==> | #B3|           |  ==> | #C3|           |
    |    :           |  *3  |    :           |  *4  |    :           |
    | (Register Msg) |      | (Multicast)    |      | (Multicast)    |
    |    :           |  ==> |    :           |  ==> |    :           |
    |    |   *5      |  *6  |    |  *8       |  *7  |    |  *8       |
    |    |  <==      |      |    |  ==>      |      |    |  ==>      |
    |    O-------O   |      |    +-------O   |      |    +-------O   |
    |  DR     Sender |      |       Receiver |      |       Receiver |
    |    133.25.15.3 |      |   192.50.48.15 |      |   210.14.72.16 |
    |                |      |                |      |                |
    +----------------+      +----------------+      +----------------+

      Figure 2:  Details of the inter-domain multicast communication


   #XY in Fig.2 indicates the Yth interface with which RP-X in domain X
   is equipped. Moreover, the arrows *1, *2 indicate MSDP-FE-JOIN
   messages, and the arrows *3, *4 indicate MSDP-FE-TYPE messages.  The
   arrows *5..*8 indicate multicast packets, but the headers of these
   packets are different.  Sections 6.1..6.5 explain the
   forwarding/translation tables maintained at each RP, and the header
   structure of each packet *5..*8.

   Each RP maintains the inter-domain multicast forwarding table
   associated with:

     (1) Multicast-sender-to-RP forwarding

     (2) RP-to-RP forwarding

     (3) RP-to-multicast-receiver forwarding

   These tables are discussed in the following sections. In terms of
   (2), MSDP peerings are established among other RPs in other domains
   across the domain boundary. RPs use TCP connection between MSDP peers
   for updating the MSDP-FE forwarding/translation tables. In terms of
   (1) and (3), no special control connections are necessary between RPs
   and multicast senders/receivers.





Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 15]

Internet Draft                                             November 2000


   6.1 Forwarding Table Maintained at the RP

   If a receiver for a multicast group (224.60.70.80:3400) specified by
   the SA message appears, RP-C will create the following entries and
   will send an MSDP-FE-JOIN message to RP-B.


                        Source             Group
                 +------------------+-------------------+
                 | 133.25.15.3:2690 | 224.60.70.80:3400 |
                 +------------------+-------------------+

                   Input Interface          Type
                 +------------------+-------------------+
                 |       #C1        |     Undecided     |
                 +------------------+-------------------+

                   Output Interface         Type
                 +------------------+-------------------+
                 |       #C3        |      Direct       |
                 +------------------+-------------------+

              Figure 3:  Newly added forwarding entry at RP-C


   The method with which RP-B changes a multicast packet into unicast is
   stored in the Type field for the input interface.  Since this is
   information which will be notified by the MSDP-FE-TYPE message from
   RP-B, it is as yet undetermined.  Moreover, in this example, the
   interface for delivering a multicast packet into the domain is stored
   in the Output Interface.  Since a multicast packet is directly output
   to interface #C3, 'Direct' is stored in the Type field.

   If RP-B receives an MSDP-FE-JOIN message from RP-C, it will create
   the following entries and will transmit an MSDP-FE-JOIN message to
   RP-A.  In this case, the Type field for the output interface shows IP
   masquerade-like conversion that uses the converting rule No.120 in a
   translation table.  This information is notified to RP-C by the MSDP-
   FE-TYPE message afterwards.












Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 16]

Internet Draft                                             November 2000


                        Source             Group
                 +------------------+-------------------+
                 | 133.25.15.3:2690 | 224.60.70.80:3400 |
                 +------------------+-------------------+

                   Input Interface          Type
                 +------------------+-------------------+
                 |       #B1        |     Undecided     |
                 +------------------+-------------------+

                   Output Interface         Type
                 +------------------+-------------------+
                 |       #B2        |  Masquerade:120   |
                 +------------------+-------------------+

              Figure 4:  Newly added forwarding entry at RP-B


   Similarly, the originating RP of the multicast packet, RP-A, creates
   the following entries when it receives an MSDP-FE-JOIN message.


                        Source             Group
                 +------------------+-------------------+
                 | 133.25.15.3:2690 | 224.60.70.80:3400 |
                 +------------------+-------------------+

                   Input Interface          Type
                 +------------------+-------------------+
                 |       #A1        |      Direct       |
                 +------------------+-------------------+

                   Output Interface         Type
                 +------------------+-------------------+
                 |       #A2        |     IP-in-IP      |
                 +------------------+-------------------+

              Figure 5:  Newly added forwarding entry at RP-A


   The interface receiving a multicast packet from the sender in a
   domain is stored in this Input Interface field.  Since #A1 receives a
   multicast packet directly, 'Direct' is stored in the Type field.
   Then, RP-A sends an MSDP-FE-TYPE message to RP-B in the #A2
   direction.  A type message is used to notify the method for creating
   the logical multicast path, and 'IP-in-IP' is specified in this case.





Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 17]

Internet Draft                                             November 2000


   If RP-B receives the type message from RP-A, it will transmit a new
   type message in which IP masquerade-like conversion is specified with
   its converting rule to RP-C, after storing 'IP-in-IP' in Type field
   for the input interface. RP-C stores 'Masquerade:120' in Type field
   for the input interface when it receives the type message from RP-B.

   The port number in which each RP receives the unicast-type data is
   specified in the MSDP-FE-TYPE-ACK message.


6.2 Actions between Multicast Sender and RP

   Consider the case where the multicast sender (133.25.15.3) sends a
   multicast packet with the header information shown in Fig.6. Actually
   until the (S, G) state has been created in all the routers between RP
   and designated router (DR), this multicast packet is forwarded as
   packets encapsulated within unicast PIM-Register packets. After the
   (S, G) state has been created between them, the following multicast
   packet is forwarded to RP-A from the designated router in PIM-SM
   domain A.


                  Destination       Source
                +--------------+--------------+
            IP  | 224.60.70.80 | 133.25.15.3  | (IP address)
                +--------------+--------------+
                |     17       |                (protocol number)
                +--------------+--------------+
            UDP |     3400     |     2690     | (port number)
                +--------------+--------------+

          Figure 6:  Header information of the original multicast
                     packet *5 in Fig.2


















Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 18]

Internet Draft                                             November 2000


6.3 Actions between RP and Downstream RPs

   As explained above, the IP-in-IP tunneling method, the IP masquerade-
   like method, or the MPLS LSP method are used for creating logical
   multicast paths (MSDP-FE paths). Before actual transmission of
   unicast-type data, by an MSDP-FE-TYPE message, RP negotiates with
   each peer as to which method is to be used for packet encoding.  The
   IP-in-IP tunneling method is used as a default method, if the MSDP
   peers fail to successfully negotiate the encoding method.


6.3.1 IP-in-IP Tunneling Method

   When IP-in-IP tunneling is used as an MSDP-FE path, an RP appends a
   new unicast IP header, which is destined to the MSDP peer, in front
   of an original multicast packet. The RP forwards or floods this
   unicast packet downstream to associated MSDP peers in the MSDP-FE
   forwarding and translation tables. Here, we explain an example based
   on the network topology shown in Fig.2.

   RP-A creates the following IP-in-IP header, which is appended in
   front of the IP multicast packet header shown in Fig.6. The entire
   IP-in-IP tunneling header is shown in Fig.7. RP-A forwards or floods
   this packet to RP-B. When the RP-B receives this packet, it strips
   off the IP header to get the original multicast packet.

     Destination Address:  IP address of a downstream RP

     Source Address:       IP address of RP itself
                           transmitting this encapsulation packet

     Protocol Number:      4 (protocol number of IP)


                  Destination       Source
                +--------------+--------------+
            IP  | 192.50.22.8  | 133.25.24.10 | (IP address)
                +--------------+--------------+
                |      4       |                (protocol number)
                +--------------+--------------+
            IP  | 224.60.70.80 | 133.25.15.3  | (IP address)
                +--------------+--------------+
                |     17       |                (protocol number)
                +--------------+--------------+
            UDP |     3400     |     2690     | (port number)
                +--------------+--------------+

     Figure 7:  IP-in-IP header information used by packet *6 in Fig.2



Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 19]

Internet Draft                                             November 2000


   As a UNIX implementation example, each RP opens a RAW socket and
   waits for arrival of a packet in IPPROTO_IP. Once the RP receives a
   packet, it compares the source address in the IP header of the packet
   with its own forwarding entries shown in Sec.6.1.  If the source
   address is included in the entries and 'IP-in-IP' is specified in the
   Type field for the input interface, the RP strips off the IP header
   to get the original multicast packet.

   Then, RP-B compares the destination address (i.e., the multicast
   group) of the original multicast packet with the Group field in the
   MSDP-FE forwarding entry. If both are equal, RP-B creates another IP-
   in-IP tunneling header for this packet as shown in Fig.8 and outputs
   this packet to the output interface toward the downstream RPs. In
   this example, RP-B forwards the packet again to RP-C. Note that the
   IP and UDP headers of the original multicast packet are not changed
   along the RP-to-RP path.

     Destination Address:  IP address to a downstream RP

     Source Address:       IP address of RP itself, which
                           floods down the IP-in-IP tunneling packet

     Protocol Number:      4 (protocol number of IP)


                  Destination       Source
                +--------------+--------------+
            IP  | 210.14.40.7  | 192.50.22.8  |
                +--------------+--------------+
                |      4       |                (protocol number)
                +--------------+--------------+
            IP  | 224.60.70.80 | 133.25.15.3  | (IP address)
                +--------------+--------------+
                |     17       |                (protocol number)
                +--------------+--------------+
            UDP |     3400     |     2690     | (port number)
                +--------------+--------------+

     Figure 8:  IP-in-IP header information used by packet *7 in Fig.2












Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 20]

Internet Draft                                             November 2000


6.3.2 IP Masquerade-Like Method

   When the IP masquerade-like method is used as an MSDP-FE path, RP
   converts an original multicast IP header into a new unicast IP
   header, such as source/destination IP address and source/destination
   port number. The key to the original header information is shown by a
   source port number (unique ID within the RP) of the new unicast IP
   packet. The RP exchanges in advance such conversion rule by MSDP-FE-
   TYPE message, which includes the relationship between the original
   multicast header information and the assigned unique ID (i.e., a new
   source port number), as follows.

       << MSDP-FE-TYPE message contents >>

         (1) Destination address (multicast group)

         (2) Destination port number

         (3) Source address (multicast sender address)

         (4) Source port number

         (5) Unique ID for identifying above header information (this is
             used as the source port number in IP masquerade header)

   The downstream RP receives the MSDP-FE-TYPE message from an upstream
   MSDP peer, and checks the MSDP-FE translation table for associated
   downstream MSDP peers. If such peers exist, the RP assigns another
   new ID for flooding the packets to further downstream RPs.

   After exchanging the above information, the RP converts the header of
   the original multicast packet as follows and transmits to the
   downstream RPs.

     Destination Address:      IP address of the downstream RP

     Destination Port Number:  Port number in which the downstream RP
                               receives the unicast-type packet

     Source Address:           IP address of RP itself
                               forwarding the multicast packets

     Source Port Number:       Unique ID for identifying the original
                               multicast packet header. This information
                               is exchanged in advance by MSDP-FE-TYPE
                               message between MSDP peers.





Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 21]

Internet Draft                                             November 2000


   When the downstream RP receives the IP masquerade packets, it
   restores the packets into the original multicast packet by using the
   source port number which is associated with the original multicast
   headers.


                  Destination       Source
                +--------------+--------------+
            IP  | 224.60.70.80 | 133.25.15.3  | (IP address)
                +--------------+--------------+
                |     17       |                (protocol number)
                +--------------+--------------+
            UDP |     3400     |     2690     | (port number)
                +--------------+--------------+

          Figure 9:  Header information of the original multicast
                     packet *5 in Fig.2


   For example, given that the multicast sender (133.25.15.3) sends the
   multicast packet with the header information shown in Fig.9, RP-A
   sends the MSDP-FE-TYPE message including the following information to
   RP-B:

         Destination Address:      224.60.70.80

         Destination Port Number:  3400

         Source Address:           133.25.15.3

         Source Port Number:       2690

         Unique ID:                4210

   RP-B returns the MSDP-FE-TYPE-ACK message back to the RP-A,
   indicating 5370 as the receiving port number. After such a
   negotiation is done, RP-A performs a conversion of the original
   multicast header into the value shown in Fig.10, and transmits the IP
   masquerade-like packet to RP-B. Based on the source port number, RP-B
   can recognize that the multicast packet shown in Fig.9 is encoded
   with the IP masquerade-like method.










Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 22]

Internet Draft                                             November 2000


                  Destination       Source
                +--------------+--------------+
            IP  | 192.50.22.8  | 133.25.24.10 | (IP address)
                +--------------+--------------+
                |     17       |                (protocol number)
                +--------------+--------------+
            UDP |     5370     |     4210     | (port number)
                +--------------+--------------+

         Figure 10:  Header information of the IP masquerade-like
                     packet *6 in Fig.2


   When RP-B receives the MSDP-FE-TYPE message from RP-A, it checks the
   MSDP-FE forwarding entry to see the next downstream MSDP peers, RP-C
   in this example. RP-B assigns a new unique ID (for example, 6640) for
   the logical multicast path between RP-B and RP-C, and sends a newly
   generated MSDP-FE-TYPE message to RP-C. RP-C sends back an MSDP-FE-
   TYPE-ACK message, indicating 4990 as a receiving port number. Then,
   RP-B transmits the IP masquerade-like packet shown in Fig.11 to RP-C.
   In the same manner as RP-B, after acquiring 6640 from the source port
   number of the received packets, RP-C restores the original multicast
   packet.


                  Destination       Source
                +--------------+--------------+
            IP  | 210.14.40.7  | 192.50.22.8  |
                +--------------+--------------+
                |     17       |                (protocol number)
                +--------------+--------------+
            UDP |     4990     |     6640     | (port number)
                +--------------+--------------+

         Figure 11:  Header information of the IP masquerade-like
                     packet *7 in Fig.2


6.3.3 MPLS Label Switched Path (LSP) Method

   When the MPLS LSP method is used as an MSDP-FE path, RP appends an
   MPLS shim header[MPLS-LABEL], which is destined to the MSDP peer, in
   front of an original multicast packet. The RP forwards or floods this
   unicast packet downstream to associated peer RPs, based on the
   multicast forwarding table. The MPLS shim header is a 4 byte header,
   which consists of MPLS label field (20 bits), Experimental bit field,
   (3 bits), Bottom of stack field (1 bit), and Time to Live field (8
   bits). Path selection with label switching is controlled by this MPLS



Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 23]

Internet Draft                                             November 2000


   label field. Except for the prepended header format, the same
   behavior as IP-in-IP tunneling is applied for this mode.


6.4 Actions between RP and Multicast Receivers

   As explained in Sec.4.4, in order to prevent multicast receivers from
   switching from the shared RP-tree to the global SP-tree, RP behaves
   as a proxy of multicast senders. This also can be done in the same
   approach as in the IP masquerade-like method described above.

   Each RP assigns a new unique ID for the original multicast packet
   header before forwarding it down into its own PIM-SM domain.  The new
   unique ID is assigned to the source port number of forwarding
   packets, as follows.

     Destination Address:      Multicast group

     Destination Port Number:  Destination port number

     Source Address:           IP Address of RP forwarding
                               the multicast packets

     Source Port Number:       Unique ID for identifying the above
                               header address.

   Figure 12 shows a modification of the sender address and port number
   shown in Fig.2. Let us consider the case where RP-B forwards the
   multicast packet by changing the source address and the source port
   number of the original multicast packets. Additionally, let us
   consider the case where the multicast receiver also replies back with
   unicast to the RP, which can be forwarded to the real multicast
   sender by changing the header of the reply message.


















Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 24]

Internet Draft                                             November 2000


                                  PIM-SM Domain B
                 |                192.50.0.0/16
            +----|--------------------------------------------------+
            |    |                                                  |
            |    |                                    Receiver      |
            |    |               *8 ====>             192.50.48.15  |
   --------------O-----------..................---------O           |
     <====  |  RP-B                <==== *9                         |
       *10  |  192.50.22.8                                          |
            |    +------+-------------------+------------------+    |
            |    | 5500 | 224.60.70.80:3400 | 133.25.15.3:2690 |    |
            |    +------+-------------------+------------------+    |
            |    |      |                   |                  |    |
            |    :      :                   :                  :    |
            |               MSDP-FE Translation Table               |
            |                                                       |
            +-------------------------------------------------------+

          Figure 12:  Example of sender address/port# conversion
                      in intra-domain multicast communication


   RP-B in Fig.12 has the following IP masquerade-like processing
   tables,

       << Original multicast header>>

         Destination Address:      224.60.70.80

         Destination Port Number:  3400

         Source Address:           133.25.15.3

         Source Port Number:       2690

       << New ID for identifying the above multicast header >>

         Unique ID:                5500

   When RP-B retrieves the original multicast packets received from the
   upstream RP-A, it changes the source address and source port number
   for the original multicast header, and sends this multicast packet
   toward the multicast receivers, as shown in Fig.13.








Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 25]

Internet Draft                                             November 2000


                  Destination       Source
                +--------------+--------------+
            IP  | 224.60.70.80 | 192.50.22.8  |
                +--------------+--------------+
                |     17       |                (protocol number)
                +--------------+--------------+
            UDP |     3400     |     5500     | (port number)
                +--------------+--------------+

    Figure 13:  Header information of the multicast packet *8 in Fig.12
                delivered from the RP


   If the multicast receiver sends a reply back to the sender with
   unicast, the unicast reply packet is sent to the RP-B with the port
   number 5500, as shown in Fig.14. This example shows the case where
   the reply packet is UDP, although other transport protocols are also
   allowed.


                  Destination       Source
                +--------------+--------------+
            IP  | 192.50.22.8  | 192.50.48.15 |
                +--------------+--------------+
                |      17      |                (protocol number)
                +--------------+--------------+
            UDP |     5500     |     4450     | (port number)
                +--------------+--------------+

       Figure 14:  Header information of the unicast reply packet *9
                   in Fig.12 sent from a receiver


   In order to deliver this reply packet to 'the actual multicast
   sender', the RP checks the destination port number of received
   packets, and converts the reply packet by replacing the destination
   address and port number with the real value based on the unique ID
   assigned for the original multicast header.  Then, after restoring
   the destination of the packet to the original address, the RP
   forwards it toward an actual sender, as shown in Fig.15.











Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 26]

Internet Draft                                             November 2000


                  Destination       Source
                +--------------+--------------+
            IP  | 133.25.15.3  | 192.50.48.15 |
                +--------------+--------------+
                |      17      |                (protocol number)
                +--------------+--------------+
            UDP |     2690     |     4450     | (port number)
                +--------------+--------------+

      Figure 15:  Header information of the unicast reply packet *10
                   in Fig.12 sent from RP


   If a UNIX implementation is considered in this scenario, when
   multicast packets are sent from various sender addresses or port
   numbers to the same multicast group, it is difficult for the RP to
   prepare the preassigned port numbers for all possible multicast
   headers and to wait for the unicast packets sent from multicast
   receivers.

   In order to solve this problem, the RP opens a RAW socket and waits
   for the arrival of a packet in IPPROTO_IP. If the RP receiving the
   packet gets a destination port number from that UDP header directly,
   it does not need to open multiple communication ports and wait for
   packets.


























Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 27]

Internet Draft                                             November 2000


7. Packet Formats

   MSDP-FE messages will be encoded in the same TLV format as MSDP.


7.1 MSDP-FE-JOIN TLV

   When a RP receives a PIM-JOIN message to the multicast group to which
   a sender exists in another domain, the RP sends an MSDP-FE-JOIN
   message to the peer-RPF, in the direction of the originating RP of
   the multicast packet, along the reverse path of the SA message.
   After creating a MSDP-FE entry, the RP sends periodically MSDP-FE-
   JOIN message.


      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      |              20               |   Reserved    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Sequence Number        |           Reserved            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       Origin RP Address                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                         Group Address                         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                         Source Address                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


     Type
       MSDP-FE-JOIN TLV is type 11.

     Reserved
       Must be transmitted as zero and ignored on receipt.

     Sequence Number
       This field is used in order that each RP may discriminate
       corresponding MSDP-FE-TYPE message.

     Origin RP Address
       The originating RP address of the multicast packet is stored.

     Group Address
       The group address the MSDP peer is requesting.

     Source Address
       The IP address of the active source for above multicast group.




Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 28]

Internet Draft                                             November 2000


7.2 MSDP-FE-TYPE TLV

   When the originating RP of the SA message received an MSDP-FE-JOIN
   message, the RP returns the MSDP-FE-TYPE message which specifies the
   method of establishing a logical multicast path along the reverse
   path in which the MSDP-FE-JOIN message was sent.  The intermediate
   RPs which received the MSDP-FE-TYPE message add a unicast-type within
   the message to the MSDP-FE forwarding entry, and return an MSDP-FE-
   TYPE-ACK message to the peer-RPF which is the transmitting origin of
   this type message.


     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      |               x               |   Reserved    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |        Sequence Number        |          Entry Count          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Method Type  |                          Reserved             |-+
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
    |                              ID                               | |z
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
    |      Origin Group Port        |      Origin Source Port       |-+
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Type
      MSDP-FE-TYPE TLV is type 12.

    Length x
     Is the length of the control information in the message. x is
     8 octets (for the first two 32-bit quantities) plus 12 times
     Entry Count octets (z).

    Reserved
      Must be transmitted as zero and ignored on receipt.

    Sequence Number
      This field is used in order that each RP may discriminate
      corresponding MSDP-FE-JOIN and MSDP-FE-TYPE-ACK messages.

    Method type
      The following translation types are defined:
        0: Reserved
        1: IP-in-IP Tunneling Method
        2: IP Masquerade-Like Method
        3: MPLS Label Switched Path (LSP) Method




Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 29]

Internet Draft                                             November 2000


    ID
      is unique ID for identifying conversion rule for translated
      packet. This is used as the source port number in IP masquerade
      header.

    Origin Group/Source Port
      The original group/source port the MSDP peer is requesting.

    Origin Group Port
      The original group port the active source has sent data to.

    Origin Source Port
      The source number with which the active source has sent data.


7.3 MSDP-FE-TYPE-ACK TLV

   After a RP receives the MSDP-FE-TYPE message, the RP returns an MSDP-
   FE-TYPE-ACK message to the peer-RPF which is the transmitting origin
   of the MSDP-FE-TYPE message.  The MSDP-FE-TYPE-ACK message received
   in the peer-RPF shows rejection of the unicast-type specified in the
   last MSDP-FE-TYPE message, or specifies the port number in which
   downstream RP receives the unicast-type data.


     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      |              8                |   Reserved    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Sequence Number        |           Reserved            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Receive Port         |          Reject Cause         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


     Type
       MSDP-FE-TYPE-ACK TLV is type 13.

     Reserved
       Must be transmitted as zero and ignored on receipt.

     Sequence Number
       This field is used in order that each RP may discriminate
       corresponding MSDP-FE-TYPE-ACK message.

     Receive Port
       The port number in which each RP receives the unicast-type data.




Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 30]

Internet Draft                                             November 2000


     Reject Cause
       The reason to which downstream RP refuses the specified
       translation method.


8. MSDP-FE State Machine

   An MSDP-FE node has the MSDP-FE state for every interface.  An MSDP-
   FE peer starts in the INITIAL state. MSDP-FE peers establish a
   logical multicast path and transmit unicast packets according to the
   following state machine:

     (1) I-IF (Input Interface) state

                      +---------+
            +-------->| INITIAL |
            |         +---------+
            |              | RP receives MSDP-FE-JOIN or PIM-SM-JOIN
            |              v
            |         +-----------+
            |<--------| SEND_JOIN |<----------------------+
            | Timeout +-----------+                       |
            |              | RP receives MSDP-FE-TYPE     |
            |              v                              |
            |       +---------------+                     |
            --------| SEND-TYPE-ACK |---------------------+
            Timeout +---------------+ Timeout & RP has active o-if
             & RP has no o-if


     (2) O-IF (Output Interface) state

                            RP receives MSDP-FE-JOIN or PIM-SM-JOIN
               +---------+  & RP has no active i-if
     +-------->| INITIAL |------------------------------------+
     |         +---------+                                    |
     |           | RP receives MSDP-FE-JOIN or PIM-SM-JOIN    |
     |           |  & RP has active i-if                      |
     |           v                                            v
     |         +-----------+                           +-----------+
     |<--------| SEND-TYPE |<--------------------------| RECV-JOIN |
     | Timeout +-----------+                           +-----------+
     |           | RP receives MSDP-FE-TYPE-ACK       Timeout |
     |           v                                            v
     |       +---------------+                             INITIAL
     --------| RECV-TYPE-ACK |
     Timeout +---------------+
      & RP has no o-if



Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 31]

Internet Draft                                             November 2000


9. References

   [MSDP]       D. Farinacci, et al., "Multicast Source Discovery
                Protocol (MSDP)," draft-ietf-msdp-spec-06.txt, Apr.
                2000, Work in Progress.

   [BGMP]       D. Thaler, D. Estrin, and D. Meyer, "Border Gateway
                Multicast Protocol (BGMP): Protocol Specification,"
                draft-ietf-bgmp-spec-01.txt, Mar. 2000, Work in
                Progress.

   [RFC2362]    D. Estrin, et al., "Protocol Independent Multicast-
                Sparse Mode (PIM-SM): Protocol Specification," RFC 2362,
                Jun. 1998.

   [RFC1771]    Y. Rekhter, and T. Li, "A Border Gateway Protocol 4
                (BGP-4)," RFC 1771, Mar. 1995.

   [RFC2003]    C. Perkins, "IP Encapsulation within IP," RFC2003, Oct.
                1996.

   [MPLS-ARCH]  E. C. Rosen, A. Viswanathan, and R. Callon,
                "Multiprotocol Label Switching Architecture," Aug. 1999,
                Work in Progress

   [MPLS-LABEL] E. C. Rosen, Y. Rekhter, D. Tappan, D. Farinacci,
                G. Fedorkow, T. Li, and A. Conta, "MPLS Label Stack
                Encoding," Sep. 1999, Work in Progress


10. Authors' Addresses

   Masahiro Jibiki
   NEC Corporation
   Networks Development Laboratories
   11-5, Shibaura 2-Chome, Minato-ku,
   Tokyo 108-8557, JAPAN

   Phone: +81 (3) 5476-1071
   Fax:   +81 (3) 5476-1005
   Email: jibiki@netlab.nec.co.jp

   Atsushi Iwata
   NEC Corporation
   C&C Media Research Laboratories
   1-1, Miyazaki, 4-Chome, Miyamae-ku,
   Kawasaki, Kanagawa, 216-8555, JAPAN




Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 32]

Internet Draft                                             November 2000


   Phone: +81 (44) 856-2123
   Fax:   +81 (44) 856-2230
   Email: iwata@ccm.cl.nec.co.jp
















































Jibiki, Iwata      draft-jibiki-iwata-msdp-idmf-01.txt         [Page 33]