INTERNET DRAFT FUJIKAWA Kenji draft-fujikawa-plasma-00.txt Kyoto University March 1997 Point-to-point Link Assembly for Simple Multiple Access (PLASMA) Status of this Memo This document is an Internet-Draft. 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.'' To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Abstract This document describes PLASMA, which enables a simple multicast mechanism and autoconfiguration in an IP subnet consisting of point- to-point links, such as ATM, Frame Relay, SONET/SDH, etc. PLASMA utilizes an L2 label switching mechanism and creates data flow paths in a subnet using the PLASMA protocol. The PLASMA protocol is very simply defined and works effectively within a single IP subnet. PLASMA applications to ATM and PPP are also described. FUJIKAWA Kenji Expires on September 16, 1996 [Page 1] INTERNET DRAFT PLASMA March 1996 1. Introduction A network that is configured assembling several point-to-point links, such as ATM, Frame Relay or SONET/SDH. is generally not capable of a native multicast mechanism. Here the term ``native multicast mechanism'' refers to one that implements multicasting without requesting each sender to know the receivers, nor requesting each receiver to know the senders. However, if such a network is configured as a single IP subnet given ability of the native multicast mechanism, IP multicasting[1] and autoconfiguration of an IP subnet are simply implemented over it. This document describes the method called Point-to-point Link Assembly for Simple Multiple Access (PLASMA), and the PLASMA Protocol (PLASMAP). PLASMA requires that each datagram (cell in the case of ATM) places some kind of layer 2 labels (L2 labels) and that each node has the capability of L2 label switching. PLASMA provides a simple mechanism of multiple access in a single IP subnet by utilizing those functions. Therefore, an IP subnet based on PLASMA is multicast-capable, and in addition, autoconfigurable. 1.1. Specification of Requirements In this document, several words are used to signify the requirements of the specification. These words are often capitalized. MUST This word, or the adjective ``required,'' means that the definition is an absolute requirement of the specification. MUST NOT This phrase means that the definition is an absolute prohibition of the specification. SHOULD This word, or the adjective ``recommended,'' means that there may exist valid reasons in particular circumstances to ignore this item, but the full implications must be understood and carefully weighed before choosing a different course. MAY This word, or the adjective ``optional,'' means that this item is one of an allowed set of alternatives. An implementation which does not include this option MUST be prepared to interoperate with another implementation which does include the option. FUJIKAWA Kenji Expires on September 16, 1996 [Page 2] INTERNET DRAFT PLASMA March 1996 2. Terminology node In a PLASMA network, there are nodes which are connected to each other via point-to-point links. A node is an entity that inter- prets PLASMAP and sets up links for multiple access. This has no concern with whether an entity receives and takes in datagrams towards itself or just receives and passes it. For example, a host or a router in a PLASMA network is obviously a node, and even an ATM switch is a node, if it executes PLASMAP. It should be noted that if an ATM switch provides only, for example, PVP, not executing PLASMAP, then it is considered as just a part of a link. peer The other end of the point-to-point link. layer 2 label (L2 label) A Layer 2 label (L2 label) is a label that is placed in a layer 2 frame. In the case of ATM, a pair of VPI/VCI fields of a cell is an L2 label, In the case of another network, where the Point-to- Point Protocol (PPP)[2] could be introduced, we describe how to place an L2 label in an L2 frame in a later section. L2 label switching L2 label switching architecture detects the destination(s) of an L2 frame from its L2 label, and forwards the L2 frame to the destination(s) at a high speed, alternating the value of the L2 label. interface and link Each node owns one or more interfaces, and each interface con- sists of one or more links. An interface is an object that is assigned an address (or several addresses in multihoming). Thus, some links possibly share the same address as a result of sharing the same interface. FUJIKAWA Kenji Expires on September 16, 1996 [Page 3] INTERNET DRAFT PLASMA March 1996 3. PLASMA Mechanisms In this section, we describe the PLASMA mechanisms. 3.1. Features of PLASMA PLASMA provides a simple and straightforward multicast mechanism in a small non-multiple-access network comprising nodes and point-to-point links, such as ATM, Frame Relay or SONET/SDH. The term ``small net- work'' refers to a network that has a small number of nodes (about less than 300), not concerning whether it is a LAN, MAN or WAN. In a network based on PLASMA, every sender does not need to know which hosts are receivers, nor every receiver needs to know which hosts are senders. One PLASMA domain constructs just one multicast-capable IP subnet. PLASMA utilizes the L2 label switching architecture in a node. For example, in ATM, an L2 frame and its L2 label correspond to a cell and the VPI/VCI value of the cell respectively. Besides, ATM switches provide hardware-level L2 label switching architecture. For other point-to-point link networks, nodes can place L2 labels in PPP frames. This method is described in a later section. Data flow paths are created as a result of L2 label switching at the en route nodes. Each node employs the PLASMA Protocol (PLASMAP) which advertises L2 label switching information just in a single IP subnet. A PLASMA node does not have to be assigned its own identif- ier for processing PLASMAP when it is not an end in terms of data transportation on the layer 2. Therefore, PLASMA enables autoconfi- guration of IP subnets, that is, all users have to do is connect PLASMA nodes and turn them on. In a PLASMA network, where PLASMAP messages are exchanged, nodes can be connected in any topological manner. Of course, a PLASMA network is allowed to contain some loops, thus improves flexibility of net- work configuration. 3.2. PLASMAP Messages PLASMAP uses the following three types of messages: JOIN A node joins uni-/multicast addresses by sending a JOIN message to its peers. If a node sends a JOIN message that has no join addresses, then it is considered to join all the addresses used in the subnet. Such a JOIN message is especially called a JOIN- ALL message. FUJIKAWA Kenji Expires on September 16, 1996 [Page 4] INTERNET DRAFT PLASMA March 1996 NOTIFY A node notifies its peers of a data flow requested by itself or by one of its upstream nodes by sending a NOTIFY message. Nodes deliver a NOTIFY message from an upstream node to downstream nodes along the data flow path represented by it. NOTIFY mes- sages are distinguished by a pair of a source address and a flow ID. ACCEPT A node accepts an requested date flow and notifies the L2 label value by sending an ACCEPT message, when it determines that the flow is needed for itself or for one of its downstream nodes. Each Node delivers an accept message from a downstream node to an upstream node. Table 1: Key fields of JOIN, NOTIFY and ACCEPT messages +-------+---------------------------------------------------------+ |Message| Key fields | +=======+=========================================================+ |JOIN | Join addresses | +-------+---------------------------------------------------------+ |NOTIFY | Source address, Flow ID, Hop count, Destination address,| | | Flowspec | +-------+---------------------------------------------------------+ |ACCEPT | Source address, Flow ID, L2 label | +-------+---------------------------------------------------------+ Table 1 shows the key fields of the PLASMAP messages. Nodes create a data flow path, in other words, begin to receive and/or to send the data when they are sending NOTIFY messages related to the data and receive related ACCEPT messages. If nodes are pure receivers, then they are not required to receive ACCEPT messages. A node that is not one of the ends makes use of L2 label switching fabric for forwarding the data. Nodes MUST send PLASMAP messages periodically. They expire a data flow path after a defined period of time for which they are not receiving related PLASMAP messages. Therefore, data flow paths in PLASMA has the nature of the ``soft-state.'' Each node is required to process NOTIFY, ACCEPT and JOIN-ALL mes- sages, and is recommended to process JOIN messages. If a node that cannot process JOIN messages receives JOIN messages, then it simply discards them. FUJIKAWA Kenji Expires on September 16, 1996 [Page 5] INTERNET DRAFT PLASMA March 1996 3.3. Managing Join States by JOIN Messages Each node keeps a ``join state,'' which holds join addresses, for itself and for every point-to-point link it is attached to. A join state at a link is created and managed in accordance with the JOIN messages received from the link. A node that cannot send JOIN messages is required to send at least a JOIN-ALL message to its peers. From a different point of view, this implies that a node can send a JOIN-ALL message to any peer at any time instead of sending a JOIN message. The join addresses placed in a JOIN message that is to be transmitted from one link, are determined from the join states of the node and at the other links. That is, the join addresses are the merged ones of the node and at the other links. If a join state at another link holds all addresses (this means that this interface is receiving a JOIN-ALL message), a JOIN-ALL message is sent from the link. (Join D) +--------*[N4] | D (Join D) (Join A,B) [N1]*------*[N2]ABCD---*[N5]AB------*[N7] * * BC | | | | * | (Join B,C) +--------*[N3] +---------*[N8] A | (Join A) +--------*[N6] N1, N2, N3...N8 : Node A, B, C and D : Address * : All addresses (Join A,B) : N7 joins A and B [N7] [N5]AB-- : N5 has a join state of A and B at this link Figure 1: Managing join states Figure 1 shows example join states in a PLASMA network. In this net- work, for instance, Node N5 joins Address D, and is receiving a JOIN-ALL message, a JOIN message of Address A and B and a JOIN mes- sage of Address B and C from Node N2, N7 and N8 respectively. As a FUJIKAWA Kenji Expires on September 16, 1996 [Page 6] INTERNET DRAFT PLASMA March 1996 result, Node N5 has the join states shown in the figure, each of which corresponds to one of the receiving JOIN messages, and is send- ing a JOIN message of Address A, B, C and D to Node N2 and a JOIN-ALL message to Node N7 and N8. There is a case where some of the join states of all addresses (*) become join states of Address A, B, C and D. Assuming that the link between Node N1 and N3 breaks, and resumes after some period of time, such a case will occur. Even in this case, PLASMAP works correctly and makes the state converge to the one illustrated in the figure in time. PLASMAP simply supports this function as follows; when a node receives the same NOTIFY messages from different links, it makes join states at those links to hold all addresses (*). This function avoids loops of redundant JOIN messages. 3.4. Creating Data Flow Paths by NOTIFY and ACCEPT Messages When a node wants to send data to a certain uni-/multicast address, it sends basically a NOTIFY message to all the peers. Then, the NOTIFY message is flooded within the subnet. It should be noticed that flooded messages are not data but signaling messages, thus the load on flooding does not become so large. Besides, the flooding policy achieves simple QoS routing. A NOTIFY message is transmitted along the following procedures: 1. When a node receives a NOTIFY message, or when it is an origina- tor of the message, it goes to the next stage. 2. The node checks whether the same NOTIFY message has come from another link recently. If the same NOTIFY message that has a smaller or equal hop count has already come, then the node dis- cards the new NOTIFY message. 3. The node sends the NOTIFY message, incrementing the hop count, to a peer beyond every link that holds a join state of all addresses or the destination address. A node sends an ACCEPT message to the peer that sends a related NOTIFY message to it when it joins the destination address placed in the NOTIFY message or it receives a related ACCEPT message from a downstream node. FUJIKAWA Kenji Expires on September 16, 1996 [Page 7] INTERNET DRAFT PLASMA March 1996 (Join D) +--------*[N4] (discarded) | -----> D -----> (Join D) (Join A,B) [N1]*------*[N2]ABCD---*[N5]AB------*[N7] * * ^ BC -----> | | | | | <----- * | | ----->(Join B,C) +--------*[N3] +---------*[N8] A | <----- (Join A) +--------*[N6] (Notify B) (a) Sending a NOTIFY message (Join D) +--------*[N4] | D <----- (Join D) (Join A,B) [N1]*------*[N2]ABCD---*[N5]AB------*[N7] * * | BC <----- | | | | | * V | <-----(Join B,C) +--------*[N3] +---------*[N8] A | -----> (Join A) +--------*[N6] (Notify B) (b) Sending ACCEPT messages Figure 2: Creating data flow path by NOTIFY and ACCEPT messages Figure 2(a) shows an example network, where Node N7 and N8 joins Address B and N6 is sending a NOTIFY message so that it can send data to Address B. The NOTIFY message is delivered finally to Node N7 and N8 according to the above mentioned procedures. Discarding the NOTIFY message from N1 to N2 avoids creating a loop of the NOTIFY message. Consequently, the ACCEPT messages are delivered as shown in Figure 2(b), and the data flow path is created along the reverse path of the ACCEPT messages. 3.5. Connecting PLASMA Networks via Routers PLASMA routers, which are PLASMA nodes as well, reside on IP subnet boundaries as the conventional routers. Each router is set up to FUJIKAWA Kenji Expires on September 16, 1996 [Page 8] INTERNET DRAFT PLASMA March 1996 manage sets of point-to-point links as one interface belonging to a specified subnet. PLASMA routers prevent forwarding PLASMAP messages from one subnet to another. Thus, PLASMAP is terminated at routers and is valid only in a single subnet. This also implies that routers usually forward data from one subnet to another in the conventional packet forwarding, not in L2 label switching. The way to make use of L2 label switching across subnet boundaries are discussed in the next section. +--------[N2] | [N1]-------[N3] | Subnet S1 | +-----[N4] | | =====[Router]======== Subnet boundary | | | +-----[N6] | Subnet S2 [N5]-------[N7] | +--------[N8] Figure 3: Router separates PLASMA subnets In the network pictured in Figure 3, nodes from N1 to N4 and Router exchange PLASMAP within Subnet S1, while nodes from N5 to N8 and Router do within Subnet S2. However, for example, PLASMAP messages from N4 are never forwarded to N6. Furthermore, connecting N4 to N6 with a point-to-point link is not allowed because this destroys the PLASMAP schemes. FUJIKAWA Kenji Expires on September 16, 1996 [Page 9] INTERNET DRAFT PLASMA March 1996 4. QoS Assurance in PLASMA PLASMA suits to assuring Quality of Service (QoS) of data flows since it can distinguish data flows just by their L2 labels. In this sec- tion, we describe how to utilize RSVP in PLASMA to gurantee QoS. 4.1. Introducing RSVP for QoS Specified Data Flows We incorporate RSVP[3] as a data flow setup protocol for PLASMA net- works to guarantee QoS. PLASMA supports a straightforward multicast mechanism and RSVP is considered to manage IP multicasting, so they cooperate with each other and guarantee QoS in IP multicasting together. In PLASMA with RSVP, QoS-specified transportation is implemented by utilizing an independent data flow path for each service, while non- QoS-specified transportation, i.e. best-effort transportation, is supported with a shared data flow path. Thus, PLASMA assign an independent data flow path to each RSVP flow. The nodes on the way arrange a queue for the data flow, distinguish the data by the L2 label, and queue it in a dedicated queue. 4.2. Extension of LIH Field for QoS-assured Flows across Subnets As mentioned above, routers do not usually forward data in L2 label switching. However, a PLASMA router is recommended to detect the correspondence between an ingress QoS-specified data flow path in one subnet and an egress one in another subnet for the purpose of for- warding the data from the ingress to the egress in L2 label switch- ing. PLASMAP cannot make this detection possible by itself. Thus, we make use of the LIH field in the RSVP messages. Each RSVP sender transmits an RSVP PATH message, which is transferred on a non-QoS specified data flow path, placing the flow ID of a PLASMA data flow path in the LIH field. A router detects that the ingress RSVP flow corresponds to an ingress data flow path by the LIH field placed in the PATH message. Consequently, the router detects the correspondence between the ingress and egress data flow paths since it already knows the correspondence among the ingress PATH mes- sage, the egress PATH message and the egress data flow path. 5. Message Formats The message formats of PLASMAP will be determined in the next version of this draft. FUJIKAWA Kenji Expires on September 16, 1996 [Page 10] INTERNET DRAFT PLASMA March 1996 6. PLASMA Applications 6.1. PLASMA Application to IP/ATM Networks The PLASMA mechanisms can be easily applied to IP/ATM networks. Nodes of PLASMA, L2 labels and data flow paths correspond to ATM hosts and switches, VPI/VCI values and VCs respectively. All the ATM hosts and switches in an IP/ATM subnet exchange PLASMAP messages with each other. The advantage of utilizing ATM is that ATM cell switch- ing fabric, which corresponds to L2 label switching, transmits data at a high speed with low delay and low jitter. In IP/ATM networks based on PLASMA, IP unicasting and multicasting are simply implemented by using IPv4 (or IPv6) uni-/multicast addresses as PLASMA addresses. Any servers like an ARP server, MARS, LECS, LES and/or BUS are not required. Therefore, PLASMA enables straightforward IP multicasting in IP/ATM networks without any kinds of servers. In addition, autoconfiguration of an IP/ATM subnet is provided since ATM switches do not need to have their own identif- iers. ATM supports four sorts of bit rate services, CBR, VBR, ABR and UBR. VCs of CBR and UBR are established for RSVP data flows and non-RSVP data flows over IP/ATM networks based on PLASMA as follows: o In transportation with RSVP, each process running on a host utilizes a QoS-assured VC for each RSVP flow. o In transportation without RSVP, multiple processes on the same host is obliged to share a UBR class VC, that is, share a non- QoS-assured VC. Cell switching routers (CSRs) are proposed in [4,5], which are routers that can forwards data in cell switching as well as in packet forwarding. Since this function equals to that of our PLASMA routers in IP/ATM networks, we introduce CSRs in IP/ATM networks based on PLASMA, and add the LIH extension to CSR's features. 6.2. PLASMA Application to PPP Environment PLASMA can be applied to PPP environment, and makes PPP environment multiple-accessible one. The packet encapsulation in PLASMA inherits that in PPP except the usage of the first two octets, the protocol field. PLASMAP utilizes these two octets as the L2 label field. FUJIKAWA Kenji Expires on September 16, 1996 [Page 11] INTERNET DRAFT PLASMA March 1996 Related Works The Tag Distribution Protocol (TDP) employed in tag switching[6,7] and the ARIS (Aggregate Route-Based IP Switching) protocol[8] intend to integrate L2 label information distribution and L3 routing. That is, they are used in inter-subnet, while PLASMAP is used in intra- subnet, not related to L3 routing at all. In the case of ATM networks, PLASMA is similar to the Ipsilon approach[9,10] regarding not using Q.2931 for signaling. The differ- ence between them is that an ATM switch of Ipsilon is a router as well as a switch, while that of PLASMA is not a router but is like a hub having cell switching fabric. PLASMA realizes autoconfiguration of an IP/ATM subnet consisting of multiple ATM switches. Acknowledgments PLASMA is designed after IP-SVC[11,12] for the purpose of generaliz- ing IP-SVC to suit not only to ATM but also to other networks based on L2 label switching. FUJIKAWA Kenji Expires on September 16, 1996 [Page 12] INTERNET DRAFT PLASMA March 1996 References [1] Deering, S., ``Host Extensions for IP Multicasting,'' RFC1112, August 1989. [2] Simpson, W., ``The Point-to-Point Protocol (PPP),'' RFC1661, July 1994. [3] Braden, R., Zhang, L., Berson, S., Herzog, S. and Jamin, S., ``Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification,'' IETF Internet Draft (work in progress), draft-ietf-rsvp-spec-14.txt, November 1996. [4] Goto, Y., Ohta, M. and Hirabaru M., ``Design of Internet Resource Reservation on ATM Network,'' Proceedings of The 10th International Conference on Information Networking (ICOIN-10), pp.510-516, January 1996. [5] Katsube, Y., Nagami, K. and Esaki, H., ``Toshiba's Router Architecture Extensions for ATM : Overview,'' RFC2098, Febru- ary 1997. [6] Rekhter, Y., Davie, B., Katz, D., Rosen, E. and Swallow, G., ``Cisco Systems' Tag Switching Architecture Overview,'' RFC2105, February 1997. [7] Doolan, P., Davie, B., Katz, D., Rekhter, Y. and Rosen, E., ``Tag Distribution Protocol,'' IETF Internet Draft (work in progress), draft-doolan-tdp-spec-00.txt, September 1996. [8] Woundy, R., Viswanathan, A., Feldman, N. and Boivie, R., ``ARIS: Aggregate Route-Based IP Switching,'' IETF Internet Draft (work in progress), draft-woundy-aris-ipswitching- 00.txt, November 1996. [9] Newman, P., Edwards, W. L., Hinden, R., Hoffman, E., Ching Liaw, F., Lyon, T. and Minshall, G., ``Ipsilon Flow Management Protocol Specification for IPv4 Version 1.0,'' RFC1953, May 1996. [10] Newman, P., Edwards, W. L., Hinden, R., Hoffman, E., Ching Liaw, F., Lyon, T. and Minshall, G., ``Transmission of Flow Labelled IPv4 on ATM Data Links Ipsilon Version 1.0,'' RFC1954, May 1996. [11] Fujikawa, K., ``Another ATM signaling protocol for IP (IP- SVC),'' IETF Internet Draft (work in progress), draft- fujikawa-ipsvc-01.txt, November 1996. FUJIKAWA Kenji Expires on September 16, 1996 [Page 13] INTERNET DRAFT PLASMA March 1996 [12] Fujikawa, K. and Ikeda, K., `IP-SVC: An ATM Signaling Protocol for IP Unicasting and Multicasting,'' Asian'96, Workshop on Networking, December 1996. Author's Address FUJIKAWA, Kenji Department of Information Science, Faculty of Engineering, Kyoto University Yoshidahonmachi, Sakyo Ku, Kyoto City, 606-01, Japan Phone : +81 75-753-5387 Email : magician@kuis.kyoto-u.ac.jp FUJIKAWA Kenji Expires on September 16, 1996 [Page 14]