WO2003021832A1 - Routing packets in frame-based data communication networks - Google Patents
Routing packets in frame-based data communication networks Download PDFInfo
- Publication number
- WO2003021832A1 WO2003021832A1 PCT/US2001/026004 US0126004W WO03021832A1 WO 2003021832 A1 WO2003021832 A1 WO 2003021832A1 US 0126004 W US0126004 W US 0126004W WO 03021832 A1 WO03021832 A1 WO 03021832A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data packets
- frame
- frames
- node
- packets
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/10—Routing in connection-oriented networks, e.g. X.25 or ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/427—Loop networks with decentralised control
- H04L12/43—Loop networks with decentralised control with synchronous transmission, e.g. time division multiplex [TDM], slotted rings
Definitions
- This invention relates to telecommunication network systems. It is disclosed in the context of a system for efficiently routing higher-layer protocols over frame-based networks, including the transport of Internet Protocol (hereinafter sometimes IP) packets over Synchronous Optical NETwork (hereinafter sometimes SONET) or Synchronous Digital Hierarchy (hereinafter sometimes SDH) transport.
- IP Internet Protocol
- SONET Synchronous Optical NETwork
- SDH Synchronous Digital Hierarchy
- Telecommunication service providers are faced with two significant obstacles to this explosive growth.
- First, existing, or legacy, telecom networks were not designed to transport packet-based data efficiently, and certainly were not designed to scale up in data-handling capacity at the rate that packet-based data traffic is increasing.
- Second, most existing telecoms' primary revenue streams are based on voice data, while their fastest-rising and most significant demands and costs are those associated with the increase of packet-based data traffic.
- the telecoms are faced with a dilemma. They can either invest significant amounts of capital to build high- capacity data networks or risk obsolescence.
- Data is generally switched two ways.
- Voice for example, has historically been circuit switched.
- a circuit switched network each data stream is sent over a circuit between the sender and the receiver. This circuit is dedicated for exclusive use for the duration of the data transmission.
- circuit switching is convenient for voice data such as telephone calls, it is very inefficient for other types of data communications.
- Digital data such as a file being downloaded, is generally packet switched. That is, a data file is segmented into multiple packets. The individual packets are then sent along whatever path(s) is (are) available to their destination where they are reassembled into the transmitted file.
- SONET (as well as SDH, the standard widely used outside of North America) permitted multiple services based on Time Division Multiple Access (hereinafter sometimes TDMA) to be multiplexed from lower-speed, for example, voice, circuits into layers in the SONET hierarchy.
- TDMA Time Division Multiple Access
- the tremendous bandwidth available over the common SONET/SDH interface made it attractive to carry IP traffic over a frame relay and/or an Asynchronous Transfer Mode (hereinafter sometimes ATM) backbone network.
- ATM Asynchronous Transfer Mode
- IP transport continues to be data-oriented.
- IP telephony With the increasing demand for such services, there is an attendant need to develop SONET/SDH data routers with sophisticated Quality of Services (hereinafter sometimes QoS) mechanisms.
- QoS Quality of Services
- telecommunication engineers routinely encountered the need to efficiently transport and route large amounts of packet- formatted data, namely IP data, originating from Local Area Networks (hereinafter sometimes LANs).
- a solution they developed was to locate ATM networks as intermediate transport layers between the LANs and backbone SONET rings. In the short term, ATM was a good solution.
- ATM provided extensive bandwidth management, wire speed switching, network based addressing, routing, and QoS control over the network.
- ATM also provided for the convergence of circuit-switched data (such as voice) and packet-switched data (such as IP -based file transfers) onto a single transport system.
- An ATM network is a cell-based network, and the Public Switched Telephone Network
- PSTN Time Division Multiplexed
- TDM Time Division Multiplexed
- Telecommunication engineers used ATM networks in the beginning to transport circuit-switched data such as Tl, Digital Subscriber (at 1.544Mb/s), and DS- 3 (45 Mb/s).
- the overhead resulting from ATM headers and data packetization resulted in inefficiency in bandwidth utilization.
- time delay associated with ATM because ATM is connection oriented and a connection takes a finite time to set up.
- CES Circuit Emulation Switch
- IP had evolved to the point where it incorporated much of the network management functionality of ATM. Now it was possible to transport IP packets over SONET without requiring an intermediate ATM layer.
- POS Packet Over SONET
- This multi-level encapsulation process starts by encapsulating the IP packet in a Point-to-Point Protocol (hereinafter sometimes PPP) frame.
- PPP Point-to-Point Protocol
- HDLC High-Level Data Link Control
- the POS frames are sent as a byte-oriented stream using a point-to-point link to the next node. They do not make use of the framing information that is provided by the SONET overhead bytes. And, because PPP is used, the packet must pass through every node in the network and be regenerated at each node for transit to the next node. This process includes a costly segmentation and reassembly of the packet. In some cases the POS protocol was then transported over ATM, resulting in further inefficiencies resulting in 40 to 45% of the system bandwidth being used for overhead.
- PPP is used with the SONET ring because SONET was originally designed as a point-to-point network. In these systems, the packet must pass through every node in the network and be regenerated at each node for transit to the next node. Also, PPP alone is not sufficient for true data encapsulation. It can be used for mapping and translation only if the X.25 HDLC protocol and a mechanism called Address Resolution Protocol (hereinafter sometimes ARP) are employed to translate and map each data packet to its destination through the point-to-point SONET network. However, this requires stripping out the HDLC frame at each node, analyzing the header and then re-packaging it for the next PPP link.
- ARP Address Resolution Protocol
- SONET was originally designed to be a simple transport system for TDM voice signals that could be used at high line rates using, by modem standards, relatively simple electronics. Because of this, SONET protocols are less well suited as data transport protocols than protocols specifically designed for data transmission, such as IP or ATM. SONET engineers have focused on increasing line rates and improving administration tools rather than improving the intrinsic data transport performance of SONET. To date, data transport over SONET has been accomplished by adding protocol layers above the SONET transport layer.
- FIG. 1 illustrates a typical
- SONET Bidirectional Line Switched Ring (hereinafter sometimes BLSR) in which data frames 1.5 and 1.6 flow in opposite directions in the two rings 1.7 and 1.8, sometimes referred to herein as an inner ring and an outer ring.
- each ring carries traffic that is one-half or less of its total capacity.
- each node that is adjacent to the failure will wrap traffic between the inner and outer rings. This permits the network to continue to operate in the event of disruption of the working ring or network equipment such as an Add/Drop Multiplexer (hereinafter sometimes ADM) 1.1-1.4 at any location along the working ring.
- ADM Add/Drop Multiplexer
- SONET systems have Automatic Protection Switching (hereinafter sometimes APS) to detect signal failures and switch traffic between the inner and outer rings to isolate and direct traffic around the fault.
- APS Automatic Protection Switching
- the ADMs typically will be connected to IP routers 1.9, 1.11, 1.13.
- SONET uses TDM to multiplex and demultiplex low- speed data traffic to or from a high-speed optical transport network. Each such low- speed connection is semi-permanently allocated a fraction of the capacity of the highspeed ring by "provisioning" bandwidth. This provisioning assigns bandwidth from each node to each other node.
- This provisioning can be thought of as a multi-lane highway in which a lane is allocated for traffic from one ADM to another ADM.
- the lanes are provisioned by allocating time slots in the TDM sequence. With provisioning, the communication between each pair of ADMs is point-to-point. That is, if a specific set of time slots are provisioned for sending traffic 1.6 from ADM 1.4 to ADM 1.1 along a ring illustrated in FIG. 1 , that provisioned capacity is not used for any other purpose by the equipment on the ring. ADMs not using a particular lane simply forward traffic not addressed to them, without inspecting or otherwise processing it.
- SONET was designed to be a reliable circuit-switched network. SONET owes its reliability in part to the 100% capacity redundancy. As noted above, SONET provides two fiberoptic rings. Each ring normally carries 50% or less of its rated capacity. However, when SONET is being used to transport bursty, packet- based traffic such as IP, the 100% redundancy requirement results in considerable excess capacity. For IP traffic, it is more effective to require 100% redundancy only for traffic that requires relatively high availability under the terms of a service-level agreement (hereinafter sometimes SLA) between the carrier and the customer. Traffic that does not require such availability can be transported using capacity that is not supported by redundancy. In the event of a ring failure, low priority traffic is reduced so that traffic requiring high availability can be transported in accordance with the terms of outstanding SL As.
- SLA service-level agreement
- DPT Dynamic Packet Transport
- SRP Spatial Reuse Protocol
- SRP does not use point-to-point links in the traditional sense.
- IP packets are transported inside of SRP packets and the SRP data is sent as a byte-oriented stream that does not utilize the SONET framing mechanisms.
- each IP packet 2.1-2.4 is encapsulated and has its own SRP header 2.5-2.8.
- the SRP headers contain information that is used as an addressable link-layer protocol.
- the destination address for every SRP packet is inspected to determine if the destination is the current node.
- the SRP packet is stripped from the data stream and processed by the current node. If the destination is not the current node, the current node performs a table lookup to determine which optical interface is the destination for that SRP packet. Because SRP utilizes both rings concurrently, it supports two sets of optical interfaces per node.
- SRP requires a plurality of packet buffers for its operation. Essentially, traffic from the current node is sent to an output optical interface whenever there is available capacity in the optical transport system. The detailed decisions regarding which packets are sent to the output depend on the priority and the source of the traffic. Packets remain buffered until they are sent. A global fairness algorithm provides each node fair access to the capacity of the ring.
- SRP does not observe the SONET paradigm of having 100% capacity redundancy between the inner and outer rings. Instead, all of the capacity in both rings is available for transport. SRP has its own protection mechanism. It does not use SONET's protection switching. If a protection switching event, such as a break in one of the rings, occurs, the network capacity in the vicinity of the event is reduced. This, of course, affects the total capacity of the optical network.
- a method and apparatus are provided for transporting data packets through a data transport network including multiple interconnected circuits.
- the method includes aggregating data packets into frames, each frame including a first field which indicates the destination address of the frame.
- the apparatus includes a first device for aggregating data packets into frames, each frame including a first field which indicates the destination address of the frame.
- the method further includes inspecting the first field when the frame is received at a node, and, if the first field contains an address served by the node, extracting the packets destined for the address served by the node, and forwarding to the next node frames not destined for addresses served by the node.
- the apparatus further includes a second device for inspecting the first field when the frame is received at a node, extracting the packets destined for the address served by the node if the first field contains an address served by the node, and forwarding to the next node frames not destined for addresses served by the node.
- aggregating data packets into frames includes aggregating data packets into frames, each containing a second field which indicates frame delivery requirements.
- the first device aggregates data packets into frames, each containing a second field which indicates frame delivery requirements.
- aggregating data packets into frames, each containing a second field which indicates frame delivery requirements includes aggregating data packets into frames, each containing a second field which indicates a priority for queueing of frames for transport.
- the first device aggregates data packets into frames, each containing a second field which indicates a priority for queueing of frames for transport.
- the method further includes using the content of the second field to verify a packet transport level of service agreement between a network proprietor and a subscriber to that level of service.
- the first device uses the content of the second field to verify a packet transport level of service agreement between a network proprietor and a subscriber to that level of service.
- a method and apparatus are provided for transporting data packets through a data transport network including multiple interconnected circuits.
- the method includes aggregating data packets into frames, each frame including a field which indicates to a node on the network whether the node is to forward a packet without first inspecting it.
- the apparatus includes a first device for aggregating data packets into frames, each frame including a field which indicates to a node on the network whether the node is to forward a packet without first inspecting it.
- a method and apparatus are provided for transporting data packets through a data transport network including multiple interconnected circuits.
- the method includes aggregating data packets into frames, at least one frame including a fragment containing less than all of the packet addressed to a destination address.
- the apparatus includes a device for aggregating data packets into frames, at least one frame including a fragment containing less than all of the packet addressed to a destination address.
- a method and apparatus are provided for multicasting data packets in a data transport network including multiple interconnected circuits.
- the method includes providing the data packets to be multicast with the destination addresses which are to receive the multicast data packets.
- the apparatus includes a first device for aggregating the data packets to be multicast with destination addresses which are to receive the multicast data packets.
- providing the data packets to be multicast with the destination addresses which are to receive the multicast data packets includes providing the data packets with multiple headers, each of the multiple headers having one of the destination addresses.
- the first device includes a first device for providing the data packets with multiple headers. Each of the multiple headers has one of the destination addresses.
- the method includes aggregating the data packets into frames, and providing the data packets with multiple headers, each having one of the destination addresses.
- Each of the multiple headers is provided with a field which contains a value which indicates the distance from a boundary within the frame to the data associated with that header.
- the first device provides in each of the multiple headers a field which contains a value which indicates the distance from a boundary within the frame to the data associated with that header.
- a method and apparatus are provided for transporting data packets through a frame-based data transport network including multiple interconnected circuits.
- the method includes aggregating data packets into frames, providing a device for identifying frames containing packets destined for addresses served by the device, and routing the identified packets to the addresses served by the device.
- the apparatus includes a device for identifying frames containing packets destined for addresses served by the device and routing the identified packets to the addresses served by the device.
- a method and apparatus are provided for transporting data packets through a data transport network including multiple interconnected circuits.
- the method includes aggregating data packets into frames, at least some of the frames being partitioned into subframes.
- the apparatus includes a first device for aggregating data packets into frames, at least some of the frames being partitioned into subframes. Each subframe contains one or more destination addresses and packet data intended for those one or more destination addresses.
- Fig. 1 is a schematic illustration of a SONET bidirectional line- switched ring (hereinafter sometimes BLSR) network;
- Fig. 2 illustrates the transport of IP packets using SRP and SONET
- Fig. 3 illustrates the contents of a SONET Synchronous Transport Signal level 1 (hereinafter sometimes STS-1) frame;
- Fig. 4 illustrates the flow of traffic in a four-node SONET BLSR network
- Fig. 5 illustrates the contents of a SONET STS-1 frame having a single ERP header
- Fig. 6 illustrates the contents of the ERP header
- Fig. 7 is a conceptual block diagram which illustrates data handling by a typical ERP-capable node
- Fig. 8 illustrates a flow diagram of a process for constructing a frame that supports payload aggregation and header concatenation
- Fig. 9 illustrates a frame using header concatenation with multiple ERP headers and packets destined for multiple nodes;
- Fig. 10 illustrates a schematic diagram of an embodiment of the invention.
- frame means a fixed-length logical unit of data that is typically arranged as a binary sequence having a specified number of octets of data.
- packet refers to a fixed- or variable-length sequence of data having a header containing control information such as a destination address.
- destination generally means either a final destination or the terminal end of a next hop.
- ring generally means the frame-based network whether it is a ring, mesh, linear, or other topology. When the path through the network's topology does not have a closed loop, frames that in a closed loop would be dropped by the originating node are dropped by the node at the termination of the path.
- This invention relates to methods and apparatus by which a routeable protocol, such as IP, can be efficiently transported and routed using a frame-based transport network, such as SONET or SDH.
- the methods and apparatus include a protocol and methods for efficiently aggregating and transporting routeable packets that are located within the payload portion of frames.
- the methods and apparatus are disclosed in the context of the SONET protocol, but are believed to be useful in other applications as well.
- Methods and apparatus are provided by which routeable packets can be efficiently transported and routed within a frame-based network. Packets having a common next hop or destination are mapped into source-routed frames.
- the methods and apparatus also support multicast and have features to support traffic engineering for guaranteeing QoS.
- ERP Encapsulation Routing Protocol
- IP transport mechanisms such as POS or IP over ATM (IPOATM).
- IPATM IP over ATM
- the methods and apparatus are unlike prior art methods and apparatus for transporting IP packets over SONET in that they do not use PPP, HDLC, or ATM. However, they do use the SONET framing mechanism. And, although nodes incorporating the present methods and apparatus can operate via conventional point- to-point connections, the present methods and apparatus permit multiple nodes to share the capacity of one or more provisioned (or unprovisioned) optical links.
- the present methods and apparatus comply with SONET standards. At the transport level, the present methods and apparatus are compatible with existing SONET-compliant network equipment. Thus, rather than requiring the expensive upgrading or replacement of existing equipment, the present methods and apparatus can operate transparently on rings containing legacy equipment. This is unlike other proposed improvements to SONET, such as Cisco Systems' DPT, or "SONET-lite,” as it is sometimes called, that use a SONET-like transport system, but break compatibility with existing SONET equipment.
- SONET has been adapted for the transport of other forms of data traffic such as ATM cells and IP packets.
- a primary reference document for SONET is Bellcore GR-253 "Synchronous Optical Network Transport System," which is incorporated herein by reference.
- SONET multiplexing equipment such as ADMs, send frames of data to each other over provisioned TDM channels.
- SONET was originally designed for the transport of digitized telephone conversations at a frame rate of 8 kHz. Since the frame rate is fixed, higher data rates are accommodated by sending larger frames. In the SONET standards, the resulting data rates are integral multiples of 51.84 Mbps, which is referred to as STS-1. These data rates include
- OC-12 ring can transport twelve STS-1 tributaries.
- each STS-1 SONET frame includes bytes for line overhead 3.1, bytes for section overhead 3.2, and bytes within the synchronous payload envelope (SPE) 3.3.
- the SPE 3.3 contains bytes for path overhead 3.4, bytes for payload 3.5, and fixed stuff 3.6.
- multiple STS-1 tributaries can be transported over a higher-speed link.
- an STS-3 frame contains three STS-1 tributaries which are byte-interleaved inside of the STS-3 frame.
- Each SONET frame is arranged as nine rows and N columns. The frame data is transmitted over a serial optical link starting with the first byte in the first row, and proceeding row-wise until the entire frame has been transmitted.
- a number of nodes 4.1-4.4 (illustrated as ADMs) are interconnected using two rings of optical fiber 4.5- 4.6.
- Data frames 4.8 in one ring 4.5 are transported in a first direction, sometimes referred to hereinafter as counter-clockwise.
- Data frames 4.7 in the other ring 4.6 are transported in a second and opposite direction, sometimes referred to hereinafter as clockwise.
- the ADMs 4.1-4.4 are typically connected with other network equipment 4.9-4.12 such as ATM switches or routers, which then forward the IP packets to other connected networks, such as Ethernet or ATM networks.
- network equipment 4.9-4.12 such as ATM switches or routers
- the transport capacity between nodes 4.1-4.4 is provisioned by programming each node 4.1-4.4 to send or receive its data using specified STS-1 tributaries within the SPE 3.3. Any STS-1 tributary that is not used by that node 4.1- 4.4 for sending or receiving data is forwarded unmodified to the next node 4.1-4.4 along the ring. In an OC-12 ring, for example, if two STS-1 tributaries are provisioned for sending data from node 4.4 to node 4.2, then node 4.1 will forward those STS-1 tributaries without inspecting or modifying them.
- the methods and apparatus of this invention can operate on networks that use provisioning, as well as on networks that do not use provisioning.
- the support for provisioning permits nodes having reduced complexity, since tributaries that are simply forwarded require less processing than tributaries that the node must process.
- ERP can concurrently use both rings. Additionally, the ERP can be extended to more than two rings. Unlike existing encapsulation methods such as PPP, ERP does not require a point-to-point link. Instead, ERP uses addressable multiple-access methods that permit the entire frame 4.8 to be routed over a frame-based transport layer having multiple nodes sharing the same communication channel. Addressable multiple- access frame-based routing is believed to be unique to the disclosed methods and apparatus.
- IP packets are routed and mapped into SONET frames 4.8.
- the SONET transport network includes multiple nodes that are interconnected within rings or meshes. The rings and meshes can also be interconnected to form a wide-area network (hereinafter sometimes WAN) for packet transport.
- the network topology can include multiple paths between destinations for greater availability. Routing over these multiple paths can use existing routing protocols.
- IP packets are aggregated into frames 4.8.
- the size of a frame 4.8 is implementation-dependent. In an illustrative embodiment, the frame size is 774 octets which is the size of a SONET STS-1 frame, less the line, section, and path overhead.
- IP packets have variable lengths of up to 65536 octets, although Ethernet networks use a maximum transfer unit (MTU) of 1522 octets.
- MTU maximum transfer unit
- the typical packets in an IP network are relatively small, on the order of 50 octets.
- SPE SPE of Fig. 5
- a frame such as a SONET STS-1 frame can be divided into subframes.
- the 774 octet payload can be divided into three 258 octet subframes.
- Each of these subframes can be treated as a separate ERP frame having a smaller capacity than the original frame 4.8. This can be used, for example, to control the granularity of the data transport system.
- each of three consecutive subframes can contain 258 octets of data bound for one of three different addresses, rather than having a frame containing 774 octets of data bound for a first one of the three addresses, a later frame containing 774 octets of data bound for a second one of the addresses, and a still later frame containing 774 octets of data bound for a third one of the addresses.
- There is somewhat of an increase in transport overhead because of the multiple headers in the frame, but the use of subframes permits the network to be "tuned" to the traffic and latency demands of subscribers, or otherwise for optimum performance.
- Each ERP frame 4.8 includes a header 5.1 that is used as a medium- access control (hereinafter sometimes MAC) layer protocol.
- the header in the illustrated embodiment includes 18 octets of information.
- the first field 6.1 in the header structure illustrated in FIG. 6 is the 2-bit version number, currently zero. This two-bit number is incremented (modulo 4) whenever a new version of the ERP header is released.
- the second field 6.2 is the 8-bit hop limit (hereinafter sometimes HL) field.
- the node that originates the frame 4.8 uses a software-selectable parameter to set the initial value of the HL field 6.2. Each node that forwards this frame 4.8 decrements the HL field 6.2 by one.
- the frame 4.8 is discarded if the HL field 6.2 reaches zero.
- the purpose of the HL field 6.2 is to prevent frames 4.8 from continuously circulating around the ring if a frame 4.8 has a bad destination address, a node is malfunctioning, or if either of the destination or source nodes exit the network. For the same reason, on ring-based networks, any frames 4.8 that return to the originating node along the same ring along which the packet was sent are dropped.
- the ring indicator bit 6.3 specifies the ring on which the packet was originally sent. It may be set to zero for the outer ring and to one for the inner ring, for example.
- the destination strip (hereinafter sometimes DS) bit 6.4 instructs the destination node whether or not to forward the packet.
- the 4-bit priority (hereinafter sometimes P) field 6.5 is used to indicate the priority, latency requirements, and loss tolerance of the frame 4.8.
- the P field helps control frame transport queuing and, in the illustrated embodiment, has the same meaning as the IPv6 priority field in IP.
- the P field helps provide the QoS verification for each SLA.
- the 32-bit destination address (hereinafter sometimes DA) 6.6 indicates the destination of the frame 4.8, a unique address of a specific interface on a particular node and the 32-bit source address (hereinafter sometimes SA) 6.7 indicates a specific interface on the source node.
- DA 32-bit destination address
- SA 32-bit source address
- the 8-bit next header (hereinafter sometimes NH) field 6.8 indicates the type of header that immediately follows the ERP header.
- NH is set to 01 (hexadecimal) whereas if another ERP header follows the ERP header, NH is set to 04 hex.
- This field can also provide a mechanism for header concatenation.
- the read (hereinafter sometimes R) bit 6.9 is initially set to zero. It is set to one by the destination node to indicate that the destination node has read the frame 4.8. This is useful when determining the drop location(s) of frames containing concatenated headers.
- the reserved (Z) bit 6.10 is unused in the illustrated embodiment.
- the 6-bit sequence number field 6.11 is a modulo-64 counter that is used to ensure in-order processing of frames 4.8 by the receiving node. This aids the correct reassembly of packets that are fragmented across frame 4.8 boundaries.
- the 16-bit offset pointer (hereinafter sometimes PTR) field 6.12 is the index in octets of the start of the data packets for the destination node specified by the DA 6.6 in the current header. It is measured from the start of the STS-1 payload area.
- the 16-bit fragment length (hereinafter sometimes FL) field 6.13 indicates the length of the packet fragment, if any, for the first packet for this ERP header. If there is no packet fragment, this is set to zero.
- the PTR and FL fields 6.12 and 6.13 simplify packet extraction in the illustrated embodiment.
- the PTR field permits the frame processor to locate the start of the packet data for this destination node more readily.
- the FL field aids in locating the packet that immediately follows the fragment.
- the header error control field 6.14 is a 16-bit cyclic redundancy check (hereinafter sometimes CRC) that is computed over all of the other header bits.
- CRC cyclic redundancy check
- the CRC generator polynomial is the ITU standard x 15 + x n + 5 + l.
- the first option is that, if a packet would exceed the capacity of the current frame 4.8, that IP packet is not placed into the current frame 4.8, and the remainder of the current frame 4.8 is filled with stuff bytes. This excluded packet is then used to start filling the next frame.
- the second option is to fragment the packet, using part of its contents to fill the current frame 4.8 and putting the remaining packet contents into a subsequent frame.
- the second option must be supported.
- the current frame 4.8 has only Q octets of capacity remaining, where Q is a software-configurable parameter, and the next packet selected for transport in this frame is larger than Q octets then the next packet will be used to begin filling a subsequent frame and the remainder of the current frame 4.8 will be filled with stuff bytes. If a packet is fragmented so that part of the packet is transported in a subsequent frame, the FL field 6.13 in the ERP header of this subsequent frame is set to the number of octets from the packet that are transported within the subsequent frame. The FL field 6.13is used by the receiving node to simplify packet extraction from the frame 4.8.
- ERP For unicast packets, all of the packets within a particular ERP frame 4.8 often have the same node as their next destination along their path to their final destination.
- ERP also supports broadcast and multicast over the SONET network. Because ERP uses a MAC address on the frame-based network, broadcast and multicast can be handled in a manner similar to that used by Ethernet IP networks.
- the destination address 6.6 in the illustrated embodiment is set to all ones and the DS bit 6.4 is set to zero. This causes the frame 4.8 to circulate on the network and then be stripped by the source node.
- Multicast packets can be handled using any of four different methods.
- the first method is to use a broadcast frame 4.8.
- the other nodes on the ring receive the frame 4.8 and forward the packets both to the node's router 7.5 and to the next node.
- the router 7.5 then either utilizes or drops the packets, depending on whether any network connected to the node requires the multicast data.
- the second method is for the source node to replicate the packets and forward separate copies of the packets to each node that has subscribed to the multicast.
- the third method is to reserve a subset of the destination address space for multicast, as is done with Internet Protocol. A node can subscribe to a particular multicast by receiving frames having that specific multicast address.
- a fourth method according to this invention is to use header concatenation, in which multiple ERP headers refer to the same packets.
- the multiple references to the same packets are achieved by using the same value for the PTR field 6.12 in the multiple headers.
- a local interface 7.1 such as an Ethernet interface receives packets from a local network 7.3, these packets are processed by the router 7.5. If the node has a plurality of local interfaces, the next hop or destination for these packets will either be through another local interface 7.2 to some other local network 7.4 or through a node that is reachable through an interface 7.7 or 7.8 on the frame-based network.
- the router will send the packet to that local interface, as in the prior art. If the destination is reachable through an interface 7.7-7.8 on the frame-based network, the packet is queued into a frame buffer 7.9-7.12 by the router.
- the router maintains a plurality of frame buffers 7.9-7.12, normally at least one for every other node that is attached to the same frame-based network, that is, at least one buffer 7.9-7.12 for every node connected to the same SONET UPSR or BLSR.
- frame buffers 7.9-7.12 When multiple priority levels (refer to the above discussion of the P field 6.5) are used, there will normally be buffers for each supported individual priority level or group of priority levels.
- Each frame buffer 7.9-7.12 has a destination address 6.6 that corresponds to the destination node. As packets arrive from the local interfaces 7.1,7.2, these packets fill the frame buffers 7.9-7.12.
- a buffer 7.9-7.12 The contents of a buffer 7.9-7.12 are ready to be moved from the router 7.5 and queued for transport with the frame processor 7.6 coupled to the interfaces 7.7,7.8 on the frame-based network when either of two conditions are satisfied.
- the first condition 8.1 is that the frame 4.8 is sufficiently full, that is, it has less than Q octets of remaining capacity.
- the second condition 8.2 is that the time elapsed since the first packet (or fragment) was copied into the buffer meets or exceeds a prescribed latency requirement.
- step 8.2 If the latency requirement has been met in step 8.2, then the remaining octet capacity of the buffer is obtained and compared at 8.3 to a software-settable parameter P. If the remaining capacity is less than P, the buffer is queued at 8.7 for transport. Otherwise, the remaining capacity of the other frame buffers is inspected at 8.4 to find (an)other buffer(s) that, when combined with the current buffer will yield a full, or nearly full, frame 4.8.
- This search 8.4 for other buffers is conducted by first inspecting buffers having the same priority level (or group) as the current buffer and then searching for buffers with increasingly disparate priorities. At 8.5, when a suitable match is found, a composite frame 4.8 is constructed at 8.6 which contains the contents of the identified buffers.
- the composite frame 4.8 contains packets that are destined for more than one node on the ring. Therefore, the ERP header must indicate these multiple destinations.
- the simplest approach is to use a network multicast or broadcast address in the ERP header.
- the frame 4.8 would then be read by each node and forwarded to the node's internal router for further processing.
- the router would parse the frame 4.8, process any packets that are destined for the attached internal networks and discard the other packets.
- this approach increases the processing overhead, since each router would need to process the entire frame 4.8.
- the frame 4.8 could be parsed by a Field Programmable Gate Array or other appropriate device (hereinafter collectively sometimes FPGA) to extract packets before sending frame 4.8 to the router.
- FPGA Field Programmable Gate Array
- the illustrated embodiment uses header concatenation when constructing the composite frames 4.8.
- a frame 4.8 that contains packets for multiple destinations is constructed having an ERP header for each node that is a destination for one or more packets within the frame 4.8.
- an ERP header 9.1-9.3 is constructed for each of the destination nodes, and these headers 9.1-9.3 are placed at the start of the frame 4.8.
- the headers are followed by the packets being transported.
- the packets are normally grouped in the same order as the headers, that is, the packets for the destination node specified by header 9.1 immediately follow the last header 9.3.
- the first candidate buffers selected will have the same transport priority P. If insufficient buffers are found at the same priority, the search for candidate buffers is expanded to include buffers having similar priorities. Therefore, a composite frame 4.8 may contain packets having different priorities. Nodes that forward the frame 4.8 do so based on the highest priority found among all of the ERP headers 9.1-9.3 for that frame 4.8. The search for this highest priority becomes trivial if the ERP header 9.1-9.3 having the highest priority is the first ERP header 9.1 in the frame 4.8. Alternatively, each node could treat forwarded traffic with a higher priority than traffic originating from that node. When a composite frame 4.8 is received by a node it decrements the
- HL field 6.2 sets the corresponding R bit 6.9 to one. If there is only one ERP header 9.1, or if all of the R bits 6.9 in the ERP headers 9.1-9.3 are ones, the frame 4.8 has been received by all of the destination nodes and is dropped by the last destination node. A frame 4.8 is also dropped whenever the HL field 6.2 becomes zero. If the frame 4.8 is dropped, the node may send a frame 4.8 from its frame buffers 7.9-7.12 to an external interface 7.7-7.8. If a node drops a frame 4.8 but does not have any frames 4.8 ready to send, it sends an "empty" frame 4.8 so that the frame 4.8's capacity can be utilized by a node further along the ring. A frame 4.8 is marked as empty by setting the DA 6.6 and SA 6.7 to zero. The use of "empty" frames 4.8 is controlled by a fairness algorithm that ensures that each node gets its allocated or fair share of the network capacity.
- the frame processor 7.6 inspects the first ERP header 9.1-9.3. If the destination address 6.6 in this header matches the address of this interface, the frame processor 7.6 checks the NH field 6.8. If the NH field does not indicate a concatenated header, indicating that it is not a composite frame 4.8, the offset pointer 6.12 can be used to locate the start of the data packets and these packets are sent to the router 7.5.
- the frame processor 7.6 checks each ERP header 9.1-9.3 for a matching destination address. When a matching address is found, the frame processor 7.6 uses the offset pointer 6.12 to locate the starting location of packets that are destined for this node. If the matching ERP header 9.1-9.3 is not the last ERP header 9.3, then the frame processor 7.6 uses the offset pointer 6.12 of the next ERP header 9.1-9.3 to locate the end of the packets that are destined for this node. These offset pointers 6.12 permit the frame processor 7.6 to extract the group of packets for this node without inspecting other groups of packets.
- This pre-processing of the frames 4.8 by the frame processor 7.6 reduces the amount of data forwarded to the router 7.5, thereby reducing both the processing load on the router 7.5 and the required bandwidth for data transfers from the external interfaces 7.7-7.8 to the router 7.5. Once the packets have been extracted by the frame processor 7.6, the packets are sent to the router 7.5.
- the HL field 6.2 is decremented and, if HL has not reached zero, the frame 4.8 is queued to an interface on the frame-based network to be transported to the next node.
- Fig. 10 illustrates a block diagram of an embodiment of the invention designed for use in a SONET OC-3 BLSR.
- One connection 10.1 is to the inner ring and the other connection 10.2 is to the outer ring.
- the BLSR supports concurrent traffic in both rings.
- the transceivers 10.3- 10.4 also convert outgoing electrical signals from the framer/deframer 10.5 into photonic signals 10. lb, 10.2b.
- the framer/deframer 10.5 aligns the data stream and determines the SONET frame boundaries.
- the framer/deframer extracts the section, line, and path overhead bytes which are transferred over conductors 10.14 and used as inputs to an FPGA 10.6, which may be, for example, a Xilinx XC2V1000 FPGA.
- the SPE is also extracted from the SONET frame and is transferred over a bus 10.15 to the FPGA 10.6.
- the FPGA 10.6 implements the frame processor and handles the queuing of output frames 4.8. It also implements utility functions such as the CRC computation and the payload scrambler/descrambler.
- the payload scrambler polynomial in the current embodiment is the standard x 43 + 1.
- the FPGA 10.6 contains an interface to a 32-bit Peripheral Component Interconnect (PCI) bus 10.7 which serves as the system bus.
- PCI Peripheral Component Interconnect
- the router 7.5 is also connected to the PCI bus 10.7.
- the router 7.5 is implemented using a high-integration CPU 10.8, such as, for example, a ZF Micro Devices MachZ x86 system-on-a-chip.
- One or more Ethernet devices 10.12 such as, for example, Realtek RTL8139C Ethernet devices, are also coupled to the PCI bus 10.7.
- Each Ethernet device 10.12 provides an interface to an external network 10.13.
- the external network 10.13 can serve as a source or a destination for the packet data.
- the FPGA 10.6 When the FPGA 10.6 receives frames 4.8 containing packets that are destined for the node, that is, those having a matching DA 6.6, multicast address, or broadcast address, it extracts the packets and transfers them to the router 7.5.
- the transfer mechanism is direct memory access over the PCI bus 10.7 to the router memory 10.11. An interrupt is then sent to the router 7.5.
- the router 7.5 processes the packets using known IP routing algorithms.
- the FPGA 10.6 buffers the frame 4.8 and queues it for transport on another interface on the ring. If the frame 4.8 is stripped by the node or marked as empty, then the FPGA 10.6 may send a frame 4.8 that has previously been queued for transport. The source of this queued frame 4.8 is normally the router 7.5. If there are no frames 4.8 to send, the frame 4.8 is marked as empty by setting the DA 6.6 and the SA 6.7 to zero so that the frame 4.8 can be used by another node.
- the router 7.5 requires the CPU 10.8 plus additional components including a non-volatile program and data store 10.9, such as, for example, an M- Systems MD2810 DiskOnChip, a boot ROM, such as, for example, an Atmel AT29C020 ROM 10.10, and a RAM, such as, for example, a 128 megabyte SDRAM 10.11.
- a non-volatile program and data store 10.9 such as, for example, an M- Systems MD2810 DiskOnChip
- a boot ROM such as, for example, an Atmel AT29C020 ROM 10.10
- a RAM such as, for example, a 128 megabyte SDRAM 10.11.
- the inner and outer rings can be treated as network interconnections on different subnetworks by the routing software.
- the illustrated embodiment contemplates the use of SONET protection switching, which affects the network topology, signals from the SONET APS (which are generated by the framer/deframer 10.5) are processed by the FPGA 10.6 and sent to the router 7.5 so that it can update its routing tables accordingly.
- the router 7.5 can be made aware of the actual hop count and ring topology when sending frames 4.8 to other nodes. This is facilitated by having the nodes send out topology discovery packets on a regular basis. As each topology packet passes through a node, the node appends its MAC address, ring ID, and status. When the topology packet returns to the originating node, the originating node uses this information to construct accurate routing metrics. This is a novel use of topology packets to provide and update the hop count for the interfaces on a frame- based network.
- the invention combines the functionality of a router 7.5 and an ADM, but it could be implemented using a separate router.
- the invention has been presented in the context of a SONET BLSR. However, it is applicable to any network having a physical or virtual ring topology. It can also be used for linear or mesh topologies. It can also be used in systems where the network capacity is allocated or channelized using any of, or any combination of, time-division multiplexing, frequency-division multiplexing, wavelength-division multiplexing, code-division multiplexing, or space-division multiplexing.
- the invention is independent of the network protocol of the packets being transported and that the only requirement for applicability is the need to transport a plurality of packets within a sequence of one or more frames 4.8. It is also independent of the technology of the physical layer of the network.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2001/026004 WO2003021832A1 (en) | 2001-08-28 | 2001-08-28 | Routing packets in frame-based data communication networks |
US10/487,552 US20040252688A1 (en) | 2001-08-28 | 2001-08-28 | Routing packets in frame-based data communication networks |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2001/026004 WO2003021832A1 (en) | 2001-08-28 | 2001-08-28 | Routing packets in frame-based data communication networks |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2003021832A1 true WO2003021832A1 (en) | 2003-03-13 |
Family
ID=21742786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2001/026004 WO2003021832A1 (en) | 2001-08-28 | 2001-08-28 | Routing packets in frame-based data communication networks |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2003021832A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006131099A1 (en) * | 2005-06-06 | 2006-12-14 | Adva Ag Optical Networking | Method and time-division multiplexing/demultiplexing unit for data transmission using time-division multiplexing, particularly for bandwidth-optimized data transmission of ip traffic with broadcast and multicast components in a wdm system |
EP2053834A1 (en) * | 2006-08-15 | 2009-04-29 | Huawei Technologies Co Ltd | A method, network and node device for data retransmission in network with double-layer |
WO2011000247A1 (en) * | 2009-07-03 | 2011-01-06 | 中兴通讯股份有限公司 | Method and device for bandwidth self-adapting data ranking protection |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4418425A (en) * | 1981-08-31 | 1983-11-29 | Ibm Corporation | Encryption using destination addresses in a TDMA satellite communications network |
US4726018A (en) * | 1986-08-25 | 1988-02-16 | International Business Machines Corporation | Method of providing priority access to a transmission communication ring |
US4912701A (en) * | 1987-12-23 | 1990-03-27 | Rockwell International Corporation | Packet switching module |
US5088090A (en) * | 1990-01-31 | 1992-02-11 | Rad Network Devices Ltd. | Routing system to interconnect local area networks |
US5177788A (en) * | 1991-10-15 | 1993-01-05 | Ungermann-Bass, Inc. | Network message security method and apparatus |
US5623605A (en) * | 1994-08-29 | 1997-04-22 | Lucent Technologies Inc. | Methods and systems for interprocess communication and inter-network data transfer |
US6151318A (en) * | 1998-07-06 | 2000-11-21 | Motorola, Inc. | Method and apparatus for encapsulating ATM cells in a broadband network |
US6252887B1 (en) * | 1998-01-28 | 2001-06-26 | Northern Telecom Limited | Cell to frame conversion management |
-
2001
- 2001-08-28 WO PCT/US2001/026004 patent/WO2003021832A1/en active Search and Examination
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4418425A (en) * | 1981-08-31 | 1983-11-29 | Ibm Corporation | Encryption using destination addresses in a TDMA satellite communications network |
US4726018A (en) * | 1986-08-25 | 1988-02-16 | International Business Machines Corporation | Method of providing priority access to a transmission communication ring |
US4912701A (en) * | 1987-12-23 | 1990-03-27 | Rockwell International Corporation | Packet switching module |
US5088090A (en) * | 1990-01-31 | 1992-02-11 | Rad Network Devices Ltd. | Routing system to interconnect local area networks |
US5177788A (en) * | 1991-10-15 | 1993-01-05 | Ungermann-Bass, Inc. | Network message security method and apparatus |
US5623605A (en) * | 1994-08-29 | 1997-04-22 | Lucent Technologies Inc. | Methods and systems for interprocess communication and inter-network data transfer |
US6252887B1 (en) * | 1998-01-28 | 2001-06-26 | Northern Telecom Limited | Cell to frame conversion management |
US6151318A (en) * | 1998-07-06 | 2000-11-21 | Motorola, Inc. | Method and apparatus for encapsulating ATM cells in a broadband network |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006131099A1 (en) * | 2005-06-06 | 2006-12-14 | Adva Ag Optical Networking | Method and time-division multiplexing/demultiplexing unit for data transmission using time-division multiplexing, particularly for bandwidth-optimized data transmission of ip traffic with broadcast and multicast components in a wdm system |
DE102005026173B4 (en) * | 2005-06-06 | 2012-11-15 | Adva Ag Optical Networking | Method and time division multiplexing / demultiplexing unit for data transmission in time division multiplex, in particular for bandwidth-optimized data transmission of IP traffic with broadcast and multicast portions in a WDM system |
EP2053834A1 (en) * | 2006-08-15 | 2009-04-29 | Huawei Technologies Co Ltd | A method, network and node device for data retransmission in network with double-layer |
EP2053834A4 (en) * | 2006-08-15 | 2009-10-21 | Huawei Tech Co Ltd | A method, network and node device for data retransmission in network with double-layer |
US8804713B2 (en) | 2006-08-15 | 2014-08-12 | Huawei Technologies Co., Ltd. | Method and system for forwarding data in layer-2 network |
US9100351B2 (en) | 2006-08-15 | 2015-08-04 | Huawei Technologies Co., Ltd. | Method and system for forwarding data in layer-2 network |
WO2011000247A1 (en) * | 2009-07-03 | 2011-01-06 | 中兴通讯股份有限公司 | Method and device for bandwidth self-adapting data ranking protection |
US8788902B2 (en) | 2009-07-03 | 2014-07-22 | Zte Corporation | Method and device for bandwidth self-adapting data ranking protection |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040252688A1 (en) | Routing packets in frame-based data communication networks | |
US20040184450A1 (en) | Method and system for transport and routing of packets over frame-based networks | |
US8018947B2 (en) | Device for performing IP forwarding and ATM switching | |
US6771663B1 (en) | Hybrid data transport scheme over optical networks | |
US7453877B2 (en) | Method of transmitting data service on synchronous digital network | |
US7586941B2 (en) | Method and apparatus for translating SDH/SONET frames to ethernet frames | |
US6847644B1 (en) | Hybrid data transport scheme over optical networks | |
US7272157B2 (en) | Any size and location of concatenated packet data across SONET frames in a SONET signal | |
US7006525B1 (en) | Hybrid data transport scheme over optical networks | |
US8416770B2 (en) | Universal service transport transitional encoding | |
US6990121B1 (en) | Method and apparatus for switching data of different protocols | |
US20020083190A1 (en) | Apparatus and method for GFP frame transfer | |
CN100493075C (en) | Method for hybrid transmission of variable-length data packet and fixed length cell, and adaptation device | |
US6778561B1 (en) | Hybrid data transport scheme over optical networks | |
US6973084B1 (en) | Hybrid data transport scheme over optical networks | |
US20040105453A1 (en) | Capacity re-use in data communication networks | |
WO2001069834A1 (en) | Hybrid data transport scheme over optical networks | |
US8532137B1 (en) | Network architecture for a packet aware transport network | |
WO2003021832A1 (en) | Routing packets in frame-based data communication networks | |
US20010015980A1 (en) | Mapping of dynamic synchronous transfer mode network onto an optical network | |
Yang et al. | Channel statistical multiplexing in SDH/SONET networks | |
WO2002080420A1 (en) | Capacity re-use in data communication networks | |
CA2322905A1 (en) | Methods and devices for adding and removing data from serial data streams |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BY BZ CA CH CN CO CR CU CZ DE DM DZ EC EE ES FI GB GD GE GH HR HU ID IL IN IS JP KE KG KP KR LC LK LR LS LT LU LV MA MD MG MN MW MX MZ NO NZ PH PL PT RO SD SE SG SI SK SL TJ TM TR TT TZ UG US UZ VN YU ZA Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ UG ZW AM AZ BY KG KZ MD TJ TM AT BE CH CY DE DK ES FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW MR NE SN TD TG Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 10487552 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |
|
DPE2 | Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101) |