X.25 ACCESS TO FRAME RELAY NETWORK

Abstract: A packet switching network supporting X-series protocol access employs PVC (Permanent virtual connection) trunks as the backbone trunks for the network.

Description: X.25 ACCESS TO FRAME RELAY NETWORK This invention relates to a PVC backbone for packet switching networks capable of implementing CCITT X protocols, such as the X25 protocol. The primary protocol to be implemented by the X.25 service is the X.25 CCITT standard, 1988 version. Other related protocols are X.75, X.32, and the "triple X" PAD (Packet Assembler-Dissembler) (X.3, X.28, X.29) . Until now, packet switches have been built on trunking and routing systems that use simple circuit switching or point-to-point data communications technologies. This provided no flexibility and control of the individual virtual circuits when parts of the backbone network became congested. X.25 is an interface specification for stat istically multiplexing several independent data streams onto common facilities. It uses a link layer based on HDLC frames, using LAPB between the DTE and the DCE. An object of this invention is to provide an improved network supporting X-series packet and call protocol. Accordingly the present invention provides a packet switching network supporting X-series protocol access wherein PVC trunks are employed as the backbone trunks for the network. The invention also provides a node for use in a data transmission system comprising a hardware platform having sufficient memory, processing power and fanout to support X-series protocol access; processing means providing support for HDLC and LAPB at the link level, and standard X-series packet and call-control protocol; a packet transport system for transmitting packets between data communications equipment (DCE's) with no errors, no loss and in-sequence; and a routing system to establish a virtual connection between DCEs within specified time SUBSTITUTE SHEET limits, and maintain connectivity in the event of failures, errors and congestion. Preferably, the node includes a management system that provides the configuration data for the above system, and integrated management services, a system for reliably gathering accounting data from the nodes, and a system for validating Network User Identifiers The X-series protocol may be X.25 operating at speeds of 9.6K to Tl/El. Each node that supporting X.25 has one or more X.25 Packet Engines. This Packet Engine supports X.25 interfaces to users on either its own access ports, or through subrate interfaces. The X.25 Packet Engines connect to other X.25 packet engines through frame relay PVCs. These PVCs terminate on software processes within the Packet Engines. They act as trunks over which the X.25 data packets are multiplexed by the X.25 transport and routing software on the Packet Engine. This invention employs the frame relay protocol described in: ANSI T1.602, ANSI T1.606, ANSI TlSl/90-175, ANSI T1.617 - DSS 1, ANSI T1.618 - DSS1, CCITT Recommendation 1.122, CCITT Recommendation Q.922, CCITT Recommendation Q.933. The flow control procedures are based on CCITT Recommendation Q.922 and Frame Relay Forum Technical Committee Document Number FRFTC 92.15 "Frame Relay X.25 Interworking Implementation Agreement." The X.25 protocol is described in CCITT Recommendation X.25. The invention still further provides a method of transferring data comprising receiving X.25 LAPB frames, characterized in that it comprises the steps of establishing a permanent virtual connection between data communications equipment (DCE's), encapsulating the X.25 SUBSTITUTE SHEET LAPB frames into frame relay frames and attaching a DLCI identifier, transmitting the encapsulated frames over bewteen the DCE's over the PVC, and stripping off the frame relay header from the received encapsulated frames to restore the LAPB frames . This invention overcomes the above difficulties experienced in conventional systems by using PVCs, for example frame relay PVCs, as the backbone trunks for a packet switching network. This allows the use of frame relay explicit congestion noti . ation to individually flow control virtual circuits. ιy integrating the frame relay PVCs into a routing system that monitors the states of the PVCs and uses an OSPF-like procedure to calculate paths over the PVCs, a more robust and reliable backbone network is created. This robustness is further enhanced by the use of the frame relay Explicit Congestion Notification bits, the techniques of Q.922, and the procedures in this invention to flow control the individual virtual circuits. X.25 is e primary packet-switching protocol to be supporteα. The interface to the backbone is based on C language subroutine calls for virtual circuit setup, packet transfer and flow control, so any other packet oriented protocol (such as SNA) may be supported through this interface. The memory required to handle the storage and buffer requirements is defined by the following formula. The formula is based on: (ports * LCNs * average packet size * average window size) + total software. A real-time clock is required to provide accurate start and end times in the accounting records if the software cannot provide timing accurate within 1 second. The requirement for economical fanout at lower speeds means that HDLC frame streams between the DTE (user) and the DCE (Packet Engine) must be multiplexed onto DSOs, SUBSTITUTE SHEET for example, using DTUs, and subrate interfaces. This allows very effective backhaul from central offices direct to the packet engine. The invention will now be described in more detail, by way of example only, with reference to the accompanying drawings, in which: - Figure 1 shows a pair of X.25 packet engines; Figure 2 shows an X.25 packet engine interfacing with an X.25 network management system; Figure 3 is a block diagram of an X.25 frame relay packet engine; Figure 4 shows details of the packet flow control; Figure 5 the packet loss and recovery scheme; Figure 6 shows the system data paths; Figure 7 shows the call set-up data flow; Figure 8 shows the Call Accept and Clear Data Flow; Figure 9 shows User Data Packet Flowl Figure 10 shows the X.25 Data Packet Flow and Congestion Control; Figure 11 shows the X.25 Data Routing; and Figure 12 shows the X.25 Transit Data Packet Flow; and Figure 13 is a detailed diagram of an X.25- frame relay network. As shown in Figure 1, the X.25 protocol is implemented in layers of smaller subsystems. The X.25 Packet Engine 1 provides X.25 DCE (Data Communications Equipment) functionality, allowing any X.25 DTE 2 (Data Terminal Equipment) to connect using the CCITT X.25 standard. The link level connection 3 uses the standard CCITT X.25 LAPB (Link Access Protocol Balanced) protocol as implemented by Trillium software. SUBSTITUTE SHEET The X.25 Engine 1 receives packets from the DTE 2 encapsulated within HDLC frames as described in the X.25 standard. Requests to set up SVCs (Switched Virtual Circuits) are sent in-band by using call request packets They contain the requested address, an LCN (Logical channel number) to use for multiplexing subsequent data packets, and a variable length list of facilities (call- options) requested for the duration of the call. Network management data is received from the network manager 4 (Figure 2) . The following table summarizes the activities of the network manager 4. ACTION DATA ITEMS CROSS-CHECKS 1. Configure network Network name, herald None (alter, delete) Address format, escape digits Default packet size and ranges Default window sizes and ranges (mod 8, mod 128) Segment size Accounting intervals DNIC 2. Configure X.25 Routing ID 3600 node control data Engine Hardware address (alter, delete, move, Software modules and copy, schedule) versions Configuration parameters 3. Assign Frame Relay- Endpoint addresses of Frame relay assignment trunks X.25 Engines parameters (alter, delete, move, Frame Relay parameters X.25 Engine copy, schedule) assignments 4. Configure X.25 Port LCN ranges X.25 Engine definition (alter, delete, move. Routing I.D. Hardware addresses copy, schedule) Facilities Memory engineering' Billing information Processor engineering X.25 Gateway X.121 addresses information and address translation tables 5. Assign X.121 X.121 address X.25 port assignment address X.25 port and LCN Network configuration (delete, move, X.121 address schedule) uniqueness 6. Assign CUG CUG directory, options X.121 addresses SUBSTITUTE SHEET 7. Assign X.25 PVC PVC address, endpoint X.121 addresses (alter, delete, move, LCNs X.25 port assignment copy, schedule) LCNs 8. Configure NUI NUI id, password, None (alter, delete, billing information schedule) 9. Configure Hunt HG Address X.121 addresses Group Call distribution (alter, delete, options schedule) 9. Collect Accounting Call reference number Addresses Start time and duration segments transferred facilities requested 10. Monitor alarms Alarm type source severity time additional data 11. Define spooling site The routing system 5 receives routing and topology information from peer systems in other nodes. The X.25 Engine receives NUI (Network User Identifier) validation responses from the NUI database 6. This provides validation information for any NUI in the network. It must be accessible from any port in the network. It must also provide administration functions for password change, NUI cancellation, and indications of usage. At least 200 NUI/Passwords must be stored on the Packet Engine to provide a fast NUI validation by the X.25 transport layer. This table will become a local cache for the global NUI database system, but will initially be downloaded from a simple NUI managment function. The X.25 Engine 1 sends packets to the DTE 2 encapsulated within HDLC frames as described in the X.25 standard. Network alarms, status indicators and statistics are delivered to the network management system 4. SUBSTITUTE SHEET The routing system 5 sen r routing and topology information to peer syste _? in other nodes . The X.25 link layer, packet layer and transport layer software run on the Packet Engine (Figure 3) , as does the routing system and Frame Relay PVC trunks . The Packet Engine is based on a standard Frame Relay Engine with the additional of 16 Megabytes of memory and a real time clock and includes network address tables 20, X.25 access interfaces 21, Network management interfaces 22, packet routing system 23, and frame relay trunk interfaces 24. The X.25 DCE Data Link Layer 3 provides access via subroutines. It receives HDLC frames either directly from drivers handling the super-rate interfaces, or from the subrate feeder interface. The DCE Network Layer 11 is also a port of the Trillium X.25/X.75 DCE interface software to run on the Packet Engine. The X.25 Transport Layer 9 provides a packet-transpor * protocol for the X.25 DCE Network Layer, using the X.l.^ routing system and frame relay PVC trunks . It provides the following services: • At call setup, translates the X.121 addresses in the address tables 12 in the call packet to internal routing ids, and binds the two ends of the virtual circuit • buffers transmitted packets and starts a re¬ transmission timer • releases the buffer and stops the timer upon receipt of an acknowledgment • retransmits the packet upon time-out • acknowledges received packets, discard duplicates, and resequence any packets received out of order • delivers packets to the Trillium network layer software in order SUBSTITUTE SHEET • flow controls packets from the Trillium network layer using congestion information received from the frame relay trunks, based on Q.922 Annex A and Frame Relay forum standards • detects errors and recover appropriately - reset or clear the call only if absolutely necessary • responds to queries from the network management system • collects and forwards accounting data. The X.25 Transport Layer 9 thus manages the connection between the X.25 DCE software and the X.25 routing system. The X.25 DCE software provides subroutine calls to deliver and receive packets from a network layer. It expects this layer to handle the transport of packets through the network. The X.25 Transport Layer 9 makes the best use of the features available from the routing and trunking system. It handles the translation of X.121 addresses to routing ids when it binds the ends of an SVC during call setup. It forwards packets to the X.25 routing system, buffer and time the packets for retransmission, and either retransmit on timeout or discard upon receipt of an acknowlegment. It receives packets from the X.25 routing system, acknowledge them, and forward them to the X.25 packet layer in the proper sequence and without duplicates. The X.25 transport layer 9 must also provide flow control to the packet layer. Details of the packet flow control are shown in Figures 4 and 5. It makes use of the Explicit Congestion Notification bits from the frame relay protocol used by the trunking system to dynamically adjust the window sizes of any virtual circuit that may be experiencing congestion. When a call request is sent through the Transport Layer, it will record the assigned or negotiated window size for the call, and assign that number of "credits" to the virtual circuit. The credit counter will be decremented for each packet received from the packet layer, and incremented for each acknowledgment SUBSTITUTE SHEET received from the trunking system. If the credit counter ever reaches 0, then a flow control notification will be sent to the packet layer. When the credit counter eventually increases, the flow control notification will be cancelled. The reception of a packet with the BECN bit set indicate that that particular virtual circuit was following a route that was experiencing some form of congestion. Rather than immediately disrupt the network by trying to re-route or re-establish the call, an attempt will be made to temporarily throttle the data flowing on the virtual circuits over that route until the congestion is resolved. This is done by decreasing the current credit count to some fraction of the original window size, but never less than one. This will cause flow control notifications to be sent more frequently, reducing the throughput and hence congestion on that route. If the packets being received on that virtual circuit no longer have the BECN bits set, the credit count will be gradually increased back to the original window size. The packets may start arriving with clear BECN bits for two reasons: either the congestion has cleared up, or the routing system has re-routed the path over a different set of trunks. In both cases, it is valid to stop throttling the data. The techniques used for adjusting the credit counts are based on the window adjustment techniques and CCITT standard Q.922, Annex I. Referring to Figure 3, the network address tables 23 must provide a network-wide, consistent mapping of X.121 addresses to routing addresses that are understood by the packet routing system. The X.121 address can be as long as 19 BCD digits . The routing id's consist of two parts: the packet engine address, and the port address on the packet engine. Given the number of addresses that must be supported in a large network, it is required to optimize the storage SL .STITUTE SHEET requirements. ( 50,000 address * (8 bytes per address + 4 bytes per routing id) = 600K bytes of storage.) The demands for fast call setups also requires fast table access . One way to shorten the tables is to put only the information required at each node into its tables, and to partition the address assignments to each node. Outgoing packets only need to map the address as far as required to determine the destination node id. Each node keeps a full mapping of address to final hardware id for the ports directly on that node. Each node is assigned one or more address prefixes, analogous to an area code on the telephone network. The LSRouter (or generic frame router) can be used to exchange this information along with its routing table updates. This insures that the information is consistent and up to date throughout the network. The X.25 Packet Routing (LSRouter) 23 is an adaptation of the CPSS LSRouter. This system receives outgoing packets from the transport layer 9 and enqueues them for the X.25 trunk as indicated by the current routing tables. Packets for a local destination are put in the queue for that port address. Incoming packets are switched to the queue for the port address if the destination is on the node, or put into the queue for the next trunk hop if it is a transit packet. The packet routing system does not distinguish between data packets or call progress packets . To connect X.25 Trunks to Frame Relay PVCs, packets queued by the routing system are transmitted using the frame relay protocol as described in ITU-T, Q.933 and ANSI tl.617. Packets received from the frame relay PVC are queued for the routing system, along with any explicit congestion information. SUBSTITUTE SHEET The subrate feeder interface receives HDLC subrate data streams multiplexed on a DS-0 channel. It de-multiplexes and decapsulates the HDLC frames and deliver them to the link layer software. X.25 Gateways provide a connection to other X.25 networks. They offer the option of connecting either a DCE or DTE to a similar gateway configured as the complementary DTE or DCE on the other network. They provide the standard X.25 functionality, with the added ability to translate addresses between the two networks. This can be accomplished in several — s : • use explicit address translation tables • use subaddresses • use the address extension facility from the X.25 DTE facilities • use the user data field in the call request packet • integrate the address assignment schemes across the two networks The X.75 gateways X.75 Gateways provide connections between X.25 networks using DNIC (Data Network Identifier Code) in the addresses. This is normally limited to public networks. The X.75 gateway (STE) connects to a similar X.75 gateway (STE) on the other network using LAPB and a form of X.25 that is similar to but more symmetric than the X.25 DTE-DCE protocol. The network routing system must recognize the DNIC in an address and route the call to a gateway to the network identified by the DNIC. This network may be connected directly to the gateway, or indirectly via a transit network, which adds complexity to the routing decisions. The X.25 Engine sends NUI validation requests to the NUI database as set out I . The design of the X.25 Engine is then based on five main objects as shown in Figure 3, namely an X.25 service encapsulator 21, an address translation database 20, a SUBSTITUTE SHEET routing system controller 23, a network management interface 22, and a trunk interface 24. In addition, the packet engine comprises a packet object, which incorporates data and flow control packets, and queue objects, which operate on Packet objects. These comprise the The LAPB receive queue, the LAPB send queue, the FR trunk send queue, the FR trunk receive queue, the packet level retransmit queue, the call router serving queue, the packet router serving queue, and the free buffer queue (sorted by address to make it easy to recombine buffers) . The X.25 Engine or packet engine supports up to 60 directly connected high speed X.25 interfaces. A Subrate Feeder Interface provides the appropriate connection for these devices. An encapsulation technique is used to transport the X.25 HDLC frames through the FRS and backplane to the X.25 Engine. This encapsulation technique is supported on the X.25 Engine, the FRS, and any other device that will be connected to the packet engine. It allows the LAPB protocol to run transparently between the X.25 device and the X.25 Engine. The X.25 devices use HDLC to send LAPB frames, not Frame Relay frames, to the FRS. The FRS encapsulates the LAPB frames into frame relay frames and attach a DLCI identifier. The current FRS routing software routes these frames onto the circuits to the X.25 Engine. Packets from the X.25 Engine have the frame relay header stripped off and only the LAPB frame will be sent on the link to the X.25 device. Each X.25 device is allocated a single DLCI to the X.25 Engine. This allows the X.25 software to correctly identify the LCN and X.25 device. The packet engine with X.25 software also terminates circuits from the FRS that carry X.25 packets encapsulated in frame relay frames. The feeder interface SUBSTITUTE SHEET extracts the original X.25 packet and passes it on to the X.25 DCE software. Packets from the X.25 DCE software will be encapsulated and routed over the frame relay connection to devices on the FRS. Each device is identified either by the DLCI used to connect to it, or by addressing information contained within the encapsulation data. The routing system controller is based on a link-state routing system similar to OSPF. Other routing systems may be supported by implementing the appropriate routing objects. This allows integration with ATM backbone trunks. The network management interface 22 provides communications between the X.25 software objects and the 4602 network management system. The CPSS will still provide the basic communication path between the nodes and the 4602. The trunk interface 24 provides an interfa to the frame relay system. Each trunk queue corresponds to a frame relay PVC. These PVCs can be very quickly configured by the network management system and put into service by the X.25 system. This gives network operators a large operational benefit and cost saving. It becomes easier and faster to fine tune the engineering and utilization of the X.25 trunks. Frame relay features such as CIR and BECN can help provide a higher quality of service to the X.25 users. The protocol that runs between the trunk interface processes is based on LAPB. Protocol identification, routing information and the X.25 packets will be encapsulated in the information bytes of the LAPB frames. Future trunking systems can be based on newer ATM technology. Combined with the LWS system. This could allow the X.25 network to dynamically deploy and configure "trunks" as required by the network traffic. SUBSTITUTE SHEET Data Flows to and from the X.25 Engine are described in the following table. Inputs Outputs From Data Data To 3604 or other X.25 packet X.25 packets 3604 or other access devices: encapsulated in encapsulated in access devices: FRS, X.25 DTU, Frame Relay Frame Relay FRS, X.25 DTU, 3601, Viper 3601, Viper CPSS Network Alarms, Status, CPSS management Statistics, information Billing Information Other X.25 Incoming and Outgoing and Other X.25 Engines (Router transit X.25 transit X.25 Engines (Router sub-object) encapsulated encapsulated sub-object) packets packets Routing updates Routing updates NUI Database Validation info Validation NUI Database requests The system data paths are shown in Figure 6. Packets being sent on a frame relay feeder interface and on the frame relay trunks need to be encapsulated within frame relay frames. This encapsulation must pass the user information and the X.25 packet information transparently. The routing information must be inserted at the sending node and examined by the routing system at transit and termination points. Standard encapsulation techniques provide mechanisms for integrating flow control between the frame relay and X.25 protocols. Encapsulation techniques are described in Q.922 (Annex A) , and ANSI T! 617a (Annex F) and FRF.3 annex F, "Multiprotocol Encapsulation Implementation Agreement" . The encapsulation techniques must notify LCNs multiplexed on the DLCI of congestion and recovery as indexed on the SUBSTITUTE SHEET FECN and BECN bits, and transfer congestion information across trunk PVCs associated with each LCN. Figures 7 to 12 show various data flows in the packet switching network according to the invention. Figure 13 shows a detailed implementation of an X.25- frarme relay newtork. An advantage of the invention is that all the network management features and ability to provide virtual bandwidth offered by frame relay can be utilized in an X.25 service. SUBSTITUTE SHEET

Claims: Claims 1. A packet switching network supporting X-series protocol access characterized in that PVC (Permanent virtual connection) trunks are employed as the backbone trunks for the network. 2. A packet switching network as claimed in claim 1, characterized in that said PVCs are frame relay PVCs. 3. A packet switching network as claimed in claim 2, characterized in that the frame relay PVCs are integrated into a routing system that monitors the states of the PVCs and uses an OSPF-like procedure to calculate paths over the PVCs. 4. A packet switching network as claimed in claim 2, characterized in that frame relay explicit congestion notification (ECN) bits are used to flow control the individual virtual circuits. 5. A node for use in a data transmission system, characterized in that it comprises a hardware platform supporting X-series protocol access; processing means providing support for HDLC and LAPB at the link level, and standard X-series packet and call-control protocol; a frame relay packet transport system for transmitting packets between data communications equipment (DCE) with no errors, no loss and in sequence; and a routing system to establish a virtual connection between DCEs within specified time limits, and maintain connectivity in the event of failures, errors and congestion. 6. A node as claimed in claim 5, characterized in that said routing system establishes permanent virtual connections (PVCs) in a frame relay network. 7. A node as claimed in claim 6, characterized in that means are provided for encapsulating outgoing LAPB X.25 frames into frame relay frames and attaching a DLCI identifier ofr transmission over the PVCs. SUBSTITUTE SHEET 8. A method of transferring data comprising receiving X.25 LAPB frames, characterized in that it comprises the steps of establishing a permanent virtual connection between data communications equipment (DCE's) , encapsulating the X.25 LAPB frames into frame relay frames and attaching a DLCI identifier, transmitting the encapsulated frames over bewteen the DCE's over the PVC, and stripping off the frame relay header from the received encapsulated frames to restore the LAPB frames. 9. A method as claimed in claim 9, characterized in that each X.25 device is allocated a single DLCI. SUBSTITUTE SHEET

Inventors: ALLAN KEITH, BENNING REX, HURD JIM, ALLAN, KEITH, BENNING, REX, HURD, JIM
Applicants: ALLAN KEITH, BENNING REX, HURD JIM, NEWBRIDGE NETWORKS CORP, ALLAN, KEITH, BENNING, REX, HURD, JIM, NEWBRIDGE NETWORKS CORPORATION
Application year: 1995
Main classification: H04L12
IPC codes: H04L12