Network Working Group Internet Draft Expiration Date: May 2001 Helena Koay Yangguang Xu Lucent Nov. 2000 Automatic Neighbor Discovery for Optical Network 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 I-D presents a procedure for performing Automatic Neighbor Discovery (AND)in optical only network. The protocol and message sequence diagram are provided. H. Koay, Y. Xu Expires May 2001 [Page 1] Internet Draft draft-koay-mpls-and-optical-00.txt Nov. 2000 1. Introduction In-fiber J0 neighbor discovery can help nodes automatically configure the primary control channels via LAN or Line DCC. For link connections between the same nodeID pairs, if neighbor's IP address is not reachable via LAN, enable Line DCC for the link connections with the lowest nodeID and portID. This document describes the automatic discovery of physical (transmission) link connections between Neighbor Nodes in an optical only network as well as in a SONET/SDH only network. The discovery is based on in-band communication as well as out-of-band communication between the nodes. For unidirectional links in an optical only network, the discovery of neighbors is done in two parts; an in-band identification signal (IDSIG) is sent with an out-of-band identification response (IDRESP) to the originator when the IDSIG is received. For bidirectional links in SONET/SDH, the IDSIG and IDRESP are sent in-band via the same physical media. The user is not involved in providing the neighbor end-point of a link connection to the local node. Once the neighbor's nodeID and portID has been discovered, the concatenated value can be used as the expected section trace identifier string. If the fiber is recabled to a different port, the trace identifier mismatch notification can be raised. 1.1 Scope of Document Requirements in this document will address the automatic discovery of neighbors via -- SONET/SDH overhead section trace J0 byte -- SONET/SDH overhead line DCC bytes 2. Automatic Physical Neighbor Discovery Automatic discovery of the physical neighbor by each network element (NE) refers to discovering the other end of a transmission link connection in terms of the neighbor's nodeID (and/or network address) and the neighbor's portID. 2.1 Network Control Neighbors Neighbors of interest to Network Controller are those NEs running the Network Control software and that have a switching capability. Regenerators are of no interest to Network Control and therefore should not to be discovered. 2.2 PortID Needed There is a general problem in accurately determining link connections. If the User does not manually type in the link information, NEs sharing more than one physical link with each other, cannot unambiguously determine the connectivity unless a data link message is exchanged in-band, over each shared link. H. Koay, Y. Xu Expires May 2001 [Page 2] Internet Draft draft-koay-mpls-and-optical-00.txt Nov. 2000 2.3 Bidirectional vs. Unidirectional Link Connections Link connections in a SONET/SDH network are bidirectional i.e. one pair of transmitting and receiving lasers from one port on one NE will be physically connected to a pair of receiving and transmitting lasers on the same other port, on another NE or the same NE. Link connections in an optical Network can be categorized as unidirectional link connections, where an optical transmitter can be installed for a unidirectional application but the corresponding optical receiver is not installed until there is a need for a bidirectional application. While unidirectional link connections allow for more optimal configurations (multicast/ video applications), the discovery of the end nodes of a link connection is more complex and up to twice as much information may be generated for the neighbor (transmit and receive neighbor id). [D]neighbor-portID information = local portID, neighbor portID, neighbor nodeID, directionality (Transmit, Receive, Bidirectional[default]). For unidirectional links, the discovery of neighbors is done in two parts; an in-band identification signal (IDSIG) is sent with an out-of-band identification response (IDRESP) to the originator when the IDSIG is received. The response can be sent via an in-band channel if one is available but an out-of-band channel has to be provided if the in-band channel is not available. The neighbor discovery is dependent on the availability of a robust out-of-band signaling channels. For bidirectional links, the IDSIG and IDRESP are sent in-band via the same physical media. This leads to a simpler and faster neighbor discovery procedure, without using the signalling channels for the IDRESP. The neighbor's IP address can be used to automatically set up a signalling channel between the two nodes. 3. In-band Physical Media This document proposes that the physical media used for neighbor discovery be via the J0 or DCC bytes in the SONET/SDH overhead bytes. The merits of using either type of overhead byte will be discussed. 3.1 Line DCC-MS Line DCC or Multiplex-section DCC are the D4-D12 bytes in the overhead of a SONET or SDH frame respectively. Being in the line or multiplex-section overhead, they are passed thru repeaters in the span. Hence, DCC-MS should be used for neighbor discovery when the link connection contains section terminating regenerators. SDH customers should already be familiar with enabling multiplex-section DCC for management traffic (ITU-T G.784 10/98). In this standard, Line DCC-MS is recommended for routing management traffic and for communication between two SONET/SDH line/MS terminating nodes when regenerators are in the span. H. Koay, Y. Xu Expires May 2001 [Page 3] Internet Draft draft-koay-mpls-and-optical-00.txt Nov. 2000 3.2 Section DCC-RS Section DCC or regenerator-section DCC are the D1-D3 bytes in the overhead of a SONET or SDH frame respectively. The section overhead bytes are terminated by regenerators. Since regenerators are not Network Control nodes, Section DCC-RS can be used only if there are no regenerators in the span. 3.3 J0 Section Trace Byte The SONET J0 section trace byte is one byte in the SONET section overhead which is repeated every 64th count, while the SDH J0 trace byte is one byte in the SDH regenerator section overhead which is repeated every 16th count. This allows a 64 byte message to be embedded in the SONET J0 trace byte and a 16 byte message in the SDH J0 trace byte. The J0 byte provides the operator a way to manually verify if node A is indeed connected to node B, by inserting a string at the upstream NE and extracting the (hopefully) same string at the downstream NE of a link connection. Using the J0 byte to automatically discover the neighboring node is still a consistent use of the J0 byte with the added benefit of freeing the User from being involved in verifying a neighbor link connection. The User no longer needs to manually (an error prone activity) enter section trace identifiers at each of the end points; instead, the User can view the neighbor information for actual fiber connectivity. Like the Section DCC-RS bytes, the J0 section trace byte can be used only if no regenerators are in the span. In addition, not every NE has the capability to process J0 bytes. On the other hand, one major advantage of using the J0 byte over the section DCC bytes is that it is a more efficient use of the overhead bytes for discovering the neighbor; one byte instead of 3 or 9 bytes. This reduces the need to enable DCC channel processing for every transmission link connection; very often the NE has much fewer DCC processing ports than transmission links. H. Koay, Y. Xu Expires May 2001 [Page 4] Internet Draft draft-koay-mpls-and-optical-00.txt Nov. 2000 3.4 Neighbor Discovery Strategy +------------------------------------------------------------------------------+ | Strategy for Neighbor Discovery | | | | | | | | V | | Bidirectional Link Connection? | | | | | +------------------+-----------------------+ | | yes, bidir | no unidir | | | | | | | V V | | (section-terminating) (section-terminating) | | Regenerator in the Span Regenerator in the Span | | | | | | +--------+--------+ +-------+-------+ | | yes | no | yes | no | | | V V V V | | use Line DCC 16 byte J0 Do not allow 16 byte J0 | | | regens?? | | +---------+---------+ | | yes | no | | | V V | | 16 byte J0 64 byte J0 | | | | | +------------------------------------------------------------------------------+ Figure 1. Automatic Neighbor Discovery Strategy 4. SDH J0 16 Byte: Message 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Frame | CmdType | NID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NID cont. | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NID cont. | portID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | portID cont. | NeType | Unused | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2. SDH J0 byte message H. Koay, Y. Xu Expires May 2001 [Page 5] Internet Draft draft-koay-mpls-and-optical-00.txt Nov. 2000 4.1 Frame Framing and CRC-7 byte per G.707 (3/96) section 9.2.2.2. 8 bit value with (bit 0) MSBit = 1 for frame identification, bit 1-7 for the CRC-7 over the pervious frame (CRC-7 calculation is specified in annex B of G.707). The SDH J0 byte message is a repeated 16 byte message with 1 frame byte (8- bit value) and 7-bit T.50 IRV (International Reference Version) characters used in the remaining 15 bytes. A T.50 character can be a printable ascii value from "space" to "delete" inclusive. A bit pattern of 00000001(absolute value of 1 per J0 byte) means that the Regenerator Section Trace is unspecified or unused. J0 bytes containing a value of 1 are discarded and frame processing begins at the next non-1 byte value. 4.2 CmdType Command type and implied version number. 7-bit NON-T.50 (printable ascii) values are used to identify upstream nodes which conform to traditional section TTI in the J0 byte. 4.3 NID or NodeID Node ID is currently the communication address (IP v4 address), unique within a network communication domain. 7-bit ascii value containing 1 hex ascii character per byte. Hence a 48-bit IP address can be represented in 8-bytes. Case insensitive comparisons. Alternatively, packing the 48 bits in 7-bit bytes following the CmdType is also acceptable. OIF2000.289 [2]. 4.4 PortID Port ID unique within the Node. This a generic physical location descriptor consisting of 4 bytes: bay/frame, shelf, slot/unit, and port. Each byte is represented by 7-bit ascii value where +-------------+-------------+ | J | charToInt(J)| +-------------+-------------+ | "0" - "9" | 0 - 9 | | "a" - "z" | 10 - 35 | | "A" - "Z" | 36 -61 | +-------------+-------------+ charToInt(P) = "0"-"9" mapped into 0-9, "a" - "z" mapped to 10-35, "A" - "Z" mapped to 36-61. [D] The OIF proposal does not use 0-9 hence is limited to 52 values. It also suggests that a 2 byte portID can be interpreted as: P1P2 = 52*(charToInt(P1)) + charToInt(P2) Range 0 to 2703 (52x52=2704). H. Koay, Y. Xu Expires May 2001 [Page 6] Internet Draft draft-koay-mpls-and-optical-00.txt Nov. 2000 The PortID can be interpreted as bay, shelf, slot, port. This will make the physical location of the port within the NE be more visible to the external user, thereby saving the User an extra step of having to retrieve a mapping of a 2-byte random number from each local NE to its physical location. The 2 byte mapping to physical port will not be available if the node is unreachable. If a limit of 62 for the bay, shelf, slot, port is too restrictive, then we should consider using all the printable values from space to delete (not including the delete char), which gives us 95 or 96 (delete char included). In this case charToInt = (Pvalue - 32) - 1 Alternatively, packing the 48 bits in 7-bit bytes following the CmdType is also acceptable. OIF2000.289 [2]. 4.5 NeType The NeType can be used to differentiate the optical switches from electrical switches, and the optical multiplexors (DWDM NEs) from the electrical multiplexors (ADM), especially if a common J0 byte scheme is used. If a DWDM NE originates the J0 test message towards the receiving DWDM NE, but the receiving DWDM NE is in the transparent mode, it is possible that the J0 test message is detected by an optical switch beyond the optical demultiplexor. The NEType will be useful for the optical switch to know that the originator of the message is not another optical switch. 5. SDH 16-byte J0 : Unidirectional Neighbor Discovery The unidirectional discovery is accomplished with an in-band datalink-layer identification signal (IDSIG) sent by a local node, followed by an identification response (IDRESP) from the peer node when it receives the IDSIG. The IDRESP is a network-layer message sent via whatever physical layer media is available (in-band or out-of-band) between the two communicating nodes. 5.1 Message Sequence Diagram +--------+ +--------+ | | | | | NE-X | <----------------> | NE-A | | | | | +--------+ +--------+ Figure 3: Network Scenario (1)The automatic neighbor discovery for a local target port is initiated when -- a port is newly registered -- or a pre-registered port is re-initialized (reset or recovery from equipment failure) H. Koay, Y. Xu Expires May 2001 [Page 7] Internet Draft draft-koay-mpls-and-optical-00.txt Nov. 2000 -- or a TxRetry Timer expires -- change from incoming J0 from "not used" to "my node information" is detected The transmitting node, NE-X, has to be sends an identification message via the SDH 16-byte J0 message from the local target port for the duration of the Recognition Timer. The Recognition Timer is a User configurable timer and is set to accommodate the worst case where a peer node has only transparent ports. Recognition Timer = IDSIG + PeerPollCycle + IDRESP received (2)The receiving node, NE-A, constantly polls each non-service port for a maximum of 1 second or until an IDSIG is detected on the received port. If an IDSIG is detected on the received port and -- the information for the neighbor is different from its view, -- or the originator (NE-X) has not yet indicated it has received the initial IDRESP NE-A will send an IDRESP to the originator (of the IDSIG) via a network- layer session (may be out-of-band). NE-A will use any communication session already established between the originating and peer node. NE-A then sets a Response Timer for receiving an echoed IDRESP from the originating node before moving onto the next transparent port to detect an IDSIG. The Response Timer is a User configurable timer. Response Timer = (2 x round-trip delivery) + IDRESP processing (3)If the transmitting node (NE-X) receives an IDRESP for the local target port, it -- cancels the Recognition Timer -- and acknowledges the receipt of this message back to the peer node. If the neighbor information in the IDRESP from the peer node (NE-A) is different from what is recorded in the local node's view for the target, NE-X informs the local control component about the change. (4)If the IDRESP acknowledged by the originating node (NE-X) is received by the peer node (NE-A), the neighbor discovery is complete and the Response Timer is cancelled. If the neighbor (NE-X) information received in this IDRESP message is different from what is recorded in the peer node's view (NE-A), this information will be given to local control component at NE-A. (5)If the Response Timer expires (session to neighbor failed or neighbor not responsive), the receiving node (NE-A) will send another IDRESP, again setting the Response Timer as before. H. Koay, Y. Xu Expires May 2001 [Page 8] Internet Draft draft-koay-mpls-and-optical-00.txt Nov. 2000 (6)If NE-X receives an IDRESP, it will acknowledge the message and cancel any pending Recognition or Retry Timers since neighbor discovery is complete. If the neighbor (NE-A) information in the IDRESP is different from its view, NE-X will inform the responsible control component. (7)The neighbor discovery is complete. See Step 4 for the action taken. (8)If the Response Timer expires a second time for this discovery cycle, notify the User regarding the failure to discover the neighbor for the local port. (9)If the Recognition Timer expires, set a TxRetry Timer for when to initiate the neighbor discovery cycle again. The TxRetry Timer is a User configurable timer. TxRetry Timer = 30 minutes [default] 6. Security Considerations This document raises no new security issues. 7. References [OIF2000.159] : Methods for Neighbor Discovery in SONET & SDH. August 3, 2000 proposal by Greg Bernstein of Ciena Corp., B.Rajagopalan and Debanjan Saha of Tellium. [OIF2000.289] : End System Discovery Using SONET Section J0 and Link Management Protocol (LMP). November 11, 2000. 8. Authors' Addresses Helena Koay 21-3C23, 1600 Osgood St. Lucent Technologies, Inc. N. Andover, MA 01845 Email: koay@lucent.com Yangguang Xu 21-2A41, 1600 Osgood St. Lucent Technologies, Inc. N. Andover, MA 01845 Email: xuyg@lucent.com H. Koay, Y. Xu Expires May 2001 [Page 9]