Network Working Group                                 Andrew G. Malis 
Internet Draft                                                Ken Hsu 
Expiration Date: August 2001                    Vivace Networks, Inc. 
                                                                      
                                                      Steve Vogelsang 
                                                        John Shirron 
                                                Laurel Networks, Inc. 
                                                                      
                                                         Luca Martini 
                                         Level 3 Communications, LLC. 
                                                                      
                                                        February 2001 
 
 
   SONET/SDH Circuit Emulation Service Over MPLS (CEM) Encapsulation 
                     draft-malis-sonet-ces-mpls-02.txt 
 
 
Status of this Memo 
 
   This document is an Internet-Draft and is in full conformance with 
   all provisions of Section 10 of RFC 2026 [1]. 
 
   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. 
    
    
1. Abstract 
    
   This document describes a method for encapsulating SONET/SDH Path 
   signals for transport across an MPLS network. 
    
    
2. Conventions used in this document 
    
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in 
   this document are to be interpreted as described in RFC 2119 [2]. 
    
    
 
  
Malis, et al.            Expires August 2001                 [Page 1] 

                SONET/SDH Circuit Emulation Over MPLS   February 2001 
 
 
3. Introduction 
    
   This document describes a method for encapsulating time division 
   multiplexed (TDM) digital signals (TDM circuit emulation) for 
   transmission over a packet-oriented MPLS network. The transmission 
   system for circuit-oriented TDM signals is the Synchronous Optical 
   Network (SONET)[3]/Synchronous Digital Hierarchy (SDH) [4]. To 
   support TDM traffic, which includes voice, data, and private leased 
   line service, the MPLS network must emulate the circuit 
   characteristics of SONET/SDH payloads.  MPLS labels and a new 
   circuit emulation header are used to encapsulate TDM signals and 
   provide the Circuit Emulation Service over MPLS (CEM). 
    
   This document is closely related to references [5], which describes 
   the control protocol methods used to signal the usage of CEM, and 
   [6], which describes a related method of encapsulating Layer 2 
   frames over MPLS and which shares the same signaling. 
    
    
4. Scope 
    
   This document describes how to provide CEM for the following digital 
   signals: 
    
   1. SONET STS-1 synchronous payload envelope (SPE)/SDH VC-3 
    
   2. STS-Nc SPE (N = 3, 12, or 48)/SDH VC-4, VC-4-4c, VC-4-16c 
    
   Other SONET/SDH signals, such as virtual tributary (VT) structured 
   sub-rate mapping, are not explicitly discussed in this document; 
   however, it can be extended in the future to support VT and lower 
   speed non-SONET services. OC-192c SPE/VC-4-64c are also not included 
   at this point, since most MPLS networks use OC-192c or slower 
   trunks, and thus would not have sufficient capacity.  As trunk 
   capacities increase in the future, the scope of this document can be 
   accordingly extended. 
    
    
5. CEM Encapsulation Format 
    
   A TDM data stream is segmented into packets and encapsulated in MPLS 
   packets. Each packet has one or more MPLS labels, followed by a 32-
   bit CEM header to associate the packet with the TDM stream.  
    
   The outside label is used to identify the MPLS LSP used to tunnel 
   the TDM packets through the MPLS network (the tunnel LSP).  The 
   interior label is used to multiplex multiple TDM connections within 
   the same tunnel.  This is similar to the label stack usage defined 
   in [5] and [6]. 
    



  
Malis, et al.            Expires August 2001                 [Page 2] 

                SONET/SDH Circuit Emulation Over MPLS   February 2001 
 
 
   The 32-bit CEM header has the following format: 
    
      0                   1                   2                   3 
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
      | Rsvd  |   Sequence Num    | Structure Pointer |N|P|   ECC-6   |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
 
                        Figure 1. CEM Header Format 
    
    
   The above fields are defined as follows: 
    
   Reserved: These bits are reserved for future use. 
    
   Sequence Number:  This is a packet sequence number, which 
   continuously cycles from 0 to 1023.  It begins at 0 when a TDM LSP 
   is created. 
    
   Structure Pointer: The pointer points to the J1 byte in the payload 
   area. The value is from 0 to 1,022, where 0 means the first byte 
   after the CEM header. The pointer is set to 0x3FF (1,023) if a 
   packet does not carry the J1 byte.  See [3] and [4] for more 
   information on the J1 byte and the structure pointer. 
    
   The N and P bits: See sections 6 and 7 for their definition. 
    
   ECC-6: An Error Correction Code to protect the CEM header.  This 
   offers the ability to correct single bit errors and detect up to two 
   bit errors.  The ECC algorithm is described in Appendix B. 
 
 
6. Clocking Mode 
    
   It is necessary to be able to regenerate the input service clock at 
   the output interface.  Two clocking modes are supported: synchronous 
   and asynchronous. 
    
6.1 Synchronous 
    
   When synchronous SONET timing is available at both ends of the 
   circuit, the N(JE) and P(JE) bits are set for negative or positive 
   justification events. The event is carried in five consecutive 
   packets at the transmitter. The receiver plays out the event when 
   three out of five packets with NJE/PJE bit set are received. If both 
   bits are set, then path AIS event has occurred (this is further 
   discussed in section 7).  If there is a frequency offset between the 
   frame rate of the transport overhead and that of the STS SPE, then 
   the alignment of the SPE shall periodically slip back or advance in 
   time through positive or negative stuffing. The N(JE) and P(JE) bits 
   are used to replay the stuff indicators and eliminate transport 
   jitter. 
    
  
Malis, et al.            Expires August 2001                 [Page 3] 

                SONET/SDH Circuit Emulation Over MPLS   February 2001 
 
 
 
6.2 Asynchronous 
    
   If synchronous timing is not available, the N and P bits are not 
   used for frequency justification and adaptive methods are used to 
   recover the timing. The N and P bits are only used for the 
   occurrence of a path AIS event. An example adaptive method can be 
   found in Section 3.4.2 of [7]. 
 
 
7. Circuit Outages 
    
   In a SONET/SDH network, circuit outages are signaled using 
   maintenance alarms such as Path AIS (AIS-P).  In particular, AIS-P 
   indicates that the SONET Path is not currently transmitting valid 
   end-user data, and the SPE contains all one bits.  To conserve 
   network bandwidth, the CEM header is used to indicate that the 
   emulated SONET Path is signaling AIS-P, and the actual one bits are 
   not transmitted. 
    
   In the CEM header, both the N and P bits are set to signal AIS-P.  
   When a CEM header is received with both bits set, the CEM receiver 
   transmits the AIS-P alarm out the associated TDM interface. 
    
   Note that the return RDI-P indication is contained, as usual, in the 
   G1 octet in the SONET header. 
    
   Also note that this differs from the outage mechanism in [5], which 
   withdraws labels as a result of an endpoint outage.  TDM circuit 
   emulation requires the ability to distinguish between the de-
   provisioning of a circuit, which would cause the labels to be 
   withdrawn, and temporary outages, which are signaled using AIS-P. 
    
 
8. CEM LSP Signaling 
    
   For maximum network scaling, CEM LSP signaling may be performed 
   using the LDP Extended Discovery mechanism as augmented by the VC 
   FEC Element defined in [5].  MPLS traffic tunnels may be dedicated 
   to CEM, or shared with other MPLS-based services.  The value 8008 is 
   used for the VC Type in the VC FEC Element in order to signify that 
   the LSP being signaled is to carry CEM.  Note that the generic 
   control word defined in [6] is not used, as its functionality is 
   included in the CEM encapsulation header. 
    
   Alternatively, static label assignment may be used, or a dedicated 
   traffic engineered LSP may be used for each CEM circuit. 
    
    
9. Open Issues 
    
   Future revisions of this draft will discuss underlying MPLS QoS 
   requirements and mechanisms for CEM, support for VT and lower speed 
  
Malis, et al.            Expires August 2001                 [Page 4] 

                SONET/SDH Circuit Emulation Over MPLS   February 2001 
 
 
   non-SONET services, and sending additional maintenance alarms in 
   addition to AIS-P. 
 
 
10. Security Considerations 
 
   As with [5], this document does not affect the underlying security 
   issues of MPLS. 
    
    
11. Intellectual Property Disclaimer 
 
   This document is being submitted for use in IETF standards 
   discussions.  Vivace Networks, Inc. has filed one or more patent 
   applications relating to the CEM technology outlined in this 
   document.  Vivace Networks, Inc. will grant free unlimited licenses 
   for use of this technology. 
    
    
12. References 
 
   [1]  Bradner, S., "The Internet Standards Process -- Revision 3", 
        BCP 9, RFC 2026, October 1996. 
    
   [2]  Bradner, S., "Key words for use in RFCs to Indicate Requirement 
        Levels", BCP 14, RFC 2119, March 1997 
    
   [3]  American National Standards Institute, "Synchronous Optical 
        Network (SONET) - Basic Description including Multiplex 
        Structure, Rates and Formats," ANSI T1.105-1995. 
    
   [4]  ITU Recommendation G.707, "Network Node Interface For The 
        Synchronous Digital Hierarchy", 1996. 
    
   [5]  Martini et al, "Transport of Layer 2 Frames Over MPLS", draft-
        martini-l2circuit-trans-mpls-05.txt, work in progress, February 
        2001. 
    
   [6]  Martini et al, "Encapsulation Methods for Transport of Layer 2 
        Frames Over MPLS", draft-martini-l2circuit-encap-mpls-01.txt, 
        work in progress, February 2001. 
    
   [7]  ATM Forum, "Circuit Emulation Service Interoperability 
        Specification Version 2.0", af-vtoa-0078.000, January 1997. 
 
 
13. Acknowledgments 
    
   The authors would like to thank Mitri Halabi and Bob Colvin, both of 
   Vivace Networks, and Jeremy Brayley of Laurel Networks, for their 
   comments and suggestions. 
    
    
  
Malis, et al.            Expires August 2001                 [Page 5] 

                SONET/SDH Circuit Emulation Over MPLS   February 2001 
 
 
14. Authors' Addresses 
    
   Andrew G. Malis 
   Vivace Networks, Inc. 
   2730 Orchard Parkway 
   San Jose, CA 95134 
   Email: Andy.Malis@vivacenetworks.com 
    
   Ken Hsu 
   Vivace Networks, Inc. 
   2730 Orchard Parkway 
   San Jose, CA 95134 
   Email: Ken.Hsu@vivacenetworks.com 
    
    
   Steve Vogelsang 
   Laurel Networks, Inc. 
   2706 Nicholson Rd. 
   Sewickley, PA 15143 
   Email: sjv@laurelnetworks.com 
    
    
   John Shirron 
   Laurel Networks, Inc. 
   2607 Nicholson Rd. 
   Sewickley, PA 15143 
   Email: jshirron@laurelnetworks.com 
    
    
   Luca Martini 
   Level 3 Communications, LLC. 
   1025 Eldorado Blvd. 
   Broomfield, CO 80021 
   Email: luca@level3.net 



















  
Malis, et al.            Expires August 2001                 [Page 6] 

                SONET/SDH Circuit Emulation Over MPLS   February 2001 
 
 
Appendix A. SONET/SDH Rates and Formats 
    
   For simplicity, the discussion in this section uses SONET 
   terminology, but it applies equally to SDH as well.  SDH-equivalent 
   terminology is shown in the tables. 
    
   The basic SONET modular signal is the synchronous transport signal-
   level 1 (STS-1). A number of STS-1s may be multiplexed into higher-
   level signals denoted as STS-N, with N synchronous payload envelopes 
   (SPEs). The optical counterpart of the STS-N is the Optical Carrier-
   level N, or OC-N. Table 1 lists standard SONET line rates discussed 
   in this document. 
    
    
     OC Level          OC-1    OC-3    OC-12      OC-48     OC-192 
     SDH Term             -   STM-1    STM-4     STM-16     STM-64 
     Line Rate(Mb/s) 51.840 155.520  622.080  2,488.320  9,953.280 
    
                    Table 1. Standard SONET Line Rates 
    
    
   Each SONET frame is 125 ´s and consists of nine rows. An STS-N frame 
   has nine rows and N*90 columns. Of the N*90 columns, the first N*3 
   columns are transport overhead and the other N*87 columns are SPEs. 
   A number of STS-1s may also be linked together to form a super-rate 
   signal with only one SPE. The optical super-rate signal is denoted 
   as OC-Nc, which has a higher payload capacity than OC-N. 
    
   The first 9-byte column of each SPE is the path overhead (POH) and 
   the remaining columns form the payload capacity with fixed stuff 
   (STS-Nc only).  The fixed stuff, which is purely overhead, is N/3-1 
   columns for STS-Nc.  Thus, STS-1 and STS-3c do not have any fixed 
   stuff, STS-12c has three columns of fixed stuff, and so on. 
    
   The POH of an STS-1 or STS-Nc is always nine bytes in nine rows. The 
   payload capacity of an STS-1 is 86 columns (774 bytes) per frame. 
   The payload capacity of an STS-Nc is (N*87)-(N/3) columns per frame.  
   Thus, the payload capacity of an STS-3c is (3*87 - 1)*9 = 2,340 
   bytes per frame. As another example, the payload capacity of an STS-
   192c is 149,760 bytes, which is exactly 64 times larger than the 
   STS-3c. 
    
   There are 8,000 SONET frames per second. Therefore, the SPE size, 
   (POH plus payload capacity) of an STS-1 is 783*8*8,000 = 50.112 
   Mb/s. The SPE size of a concatenated STS-3c is 2,349 bytes per frame 
   or 150.336 Mb/s. The payload capacity of an STS-192c is 149,760 
   bytes per frame, which is equivalent to 9,584.640 Mb/s. Table 2 
   lists the SPE and payload rates supported. 
    
    
 
 
 
  
Malis, et al.            Expires August 2001                 [Page 7] 

                SONET/SDH Circuit Emulation Over MPLS   February 2001 
 
 
   SONET STS Level     STS-1   STS-3c  STS-12c    STS-48c   STS-192c 
   SDH VC Level            -     VC-4  VC-4-4c   VC-4-16c   VC-4-64c 
   Payload Size(Bytes)   774    2,340    9,360     37,440    149,760 
   Payload Rate(Mb/s) 49.536  149.760  599.040  2,396.160  9,584.640 
   SPE Size(Bytes)       783    2,349    9,396     37,584    150,336 
   SPE Rate(Mb/s)     50.112  150.336  601.344  2,405.376  9,621.504 
    
                      Table 2. Payload Size and Rate 
 
 
   To support circuit emulation, the entire SPE of a SONET STS or SDH 
   VC level is encapsulated into packets, using the encapsulation 
   defined in section 5, for carriage across MPLS networks. 
    
    
Appendix B. ECC-6 Definition 
    
   ECC-6 is an Error Correction Code to protect the CEM header.  This 
   provides single bit correction and the ability to detect up to two 
   bit errors.  
    
    
   Error Correction Code: 
 
 
   |---------------Header bits 0-25 -------------------| ECC-6 code| 
   0                   1                   2                   3 
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |1 1 1 1 1 0 0 0 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 1|1 0 0 0 0 0|    
   |1 1 1 1 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 1 1 1 1 1 1|0 1 0 0 0 0|   
   |1 0 0 0 1 1 1 1 0 0 1 0 1 1 1 0 0 0 1 1 1 1 0 0 1 1|0 0 1 0 0 0|  
   |0 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 1 0 0 1 1 0 1|0 0 0 1 0 0|    
   |0 0 1 0 0 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 1 0|0 0 0 0 1 0|   
   |0 0 0 1 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 1|0 0 0 0 0 1|   
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
                      Figure 2. ECC-6 Check Matrix X 
    
    
   The ECC-6 code protects the 32 bit CEM header as follows: 
    
   The encoder generates the 6 bit ECC using the matrix shown in Figure 
   2.  In brief, the encoder builds another 26 column by 6 row matrix 
   and calculates even parity over the rows.  The matrix columns 
   represent CEM header bits 0 through 25. 
   
   Denote each column of the ECC-6 check matrix by X[], and each column 
   of the intermediate encoder matrix as Y[].  CEM[] denotes the CEM 
   header and ECC[] is the error correction code that is inserted into 
   CEM header bits 26 through 31. 
    

  
Malis, et al.            Expires August 2001                 [Page 8] 

                SONET/SDH Circuit Emulation Over MPLS   February 2001 
 
 
   for i = 0 to 25 { 
        if CEM[i] = 0 { 
                Y[i] = 0; 
        } else {         
                Y[i] = X[i];             
        } 
   } 
    
   In other words, for each CEM header bit (i) set to 1, set the 
   resulting matrix column Y[i] according to Figure 2. 
    
   The final ECC-6 code is calculated as even parity of each row in Y 
   (i.e. ECC[k]=CEM[25+k]=even parity of row k). 
    
   The receiver also uses matrix X to calculate an intermediate matrix 
   YÆ based on all 32 bits of the CEM header.  Therefore YÆ is 32 
   columns wide and includes the ECC-6 code.   
    
   for i = 0 to 31 { 
        if CEM[i] = 0 { 
                YÆ[i] = 0; 
        } else {         
                YÆ[i] = X[i];            
        } 
   } 
 
   The receiver then appends the incoming ECC-6 code to Y as column 32 
   (ECC[0] should align with row 0) and calculates even parity for each 
   row.  The result is a single 6 bit column Z.  If all 6 bits are 0, 
   there are no bit errors (or at least no detectable errors).  
   Otherwise, it uses Z to perform a reverse lookup on X[] from Figure 
   2.  If Z matches column X[i], then there is a single bit error.  The 
   receiver should invert bit CEM[i] to correct the header.  If Z fails 
   to match any column of X, then the CEM header contains more than one 
   bit error and the CEM packet MUST be discarded.   
    
   Note that the ECC-6 code provides single bit correction and 2-bit 
   detection of errors within the received ECC-6 code itself. 
    
 
Full Copyright Statement 
 
   Copyright (C) The Internet Society (2001). All Rights Reserved. This 
   document and translations of it may be copied and furnished to 
   others, and derivative works that comment on or otherwise explain it 
   or assist in its implementation may be prepared, copied, published 
   and distributed, in whole or in part, without restriction of any 
   kind, provided that the above copyright notice and this paragraph 
   are included on all such copies and derivative works. However, this 
   document itself may not be modified in any way, such as by removing 
   the copyright notice or references to the Internet Society or other 
   Internet organizations, except as needed for the purpose of 
   developing Internet standards in which case the procedures for 
  
Malis, et al.            Expires August 2001                 [Page 9] 

                SONET/SDH Circuit Emulation Over MPLS   February 2001 
 
 
   copyrights defined in the Internet Standards process must be 
   followed, or as required to translate it into languages other than 
   English. 
    
   The limited permissions granted above are perpetual and will not be 
   revoked by the Internet Society or its successors or assigns. 
    
   This document and the information contained herein is provided on an 
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 
    
Acknowledgement 
    
   Funding for the RFC Editor function is currently provided by the 
   Internet Society. 
 


































  
Malis, et al.            Expires August 2001                [Page 10]