ROUTING OF PACKETS IN A TELECOMMUNICATIONS SYSTEM

Abstract: The invention relates to packet transfer in a packet-switched telecommunications network in which packets are transferred by means of routers. The data packets to be transferred are segmented into lower protocol layer data units that are transferred from router to router in the network. To accelerate the packet transfer in as simple a manner as possible, (a) on the basis of the incoming data units (50), the occurrence of the limit between two successive data packets (30) is monitored, (b) upon detection of the start of a data packet, the destination address of the data packet is read from a data unit, (c) the output port associated with the destination address is sought for an individual data unit and the data unit is routed to that output port, and (d) all other data units that have the same connection identifier as said data unit are routed directly on the basis of the connection identifier included in them as long as the content of said data units indicates that the data packet is still in progress.

Description: Routing of packets in a telecommunications system Field of the Invention The invention generally relates to packet transfer carried out in a packet-switched telecommunications network, particularly to the transfer of IP packets (IP, Internet Protocol) through an ATM network. Background of the Invention IP is the most popular of the current network layer (third layer in the OSI model) protocols, mainly on account of the great popularity of the Internet, and in the future IP will probably be more and more popular. With the exponential growth of hosts connected to the Internet, the throughput of IP networks has become a bottleneck, and new ways are required to transfer IP traffic more rapidly than at present. Figure 1 illustrates the typical structure of an IP network. In an office environment, personal computers PC or similar terminal equipment are connected to local area networks LAN1...LAN3, which are typically Ethernet networks. The local area networks in turn are interconnected with a backbone network (WAN, Wide Area Network) using routers (RT1...RT6). All computers that are in the same local area network have the same IP network address. When a data packet is sent from a computer connected to the local area network, the IP layer of the protocol stack of the sending computer checks whether the IP destination address is the same as its own IP network address. If the address is the same, no routers are necessary, but the packet is sent across the local area network to the computer having that destination address. If the IP network address of the destination is different than the IP network address of the sending computer, the computer forwards the packet to a router that transfers the packet further to another network. The transmission links between the routers can be implemented with PDH or SDH technology or with the packet network technique, for instance (ATM, Frame Relay, X.25). A router has two main functions: packet transfer and updating of routing tables. The packet transfer process in principle operates in such a way that the router first reads the network address of the destination from an incoming IP packet. Thereafter it finds from its routing table the output port associated with that address and sends the packet through said port to the next router. The packets are transferred from router to router until one of the routers finds that the destination address is the same as its own network address, in which case it sends the packet to the destination host. With the increase in transfer rate requirements, new technologies have been introduced. ATM technology is used to an ever increasing degree as a backbone network technique, as it enables high-capacity backbone connections. In such a case, interfaces have been constructed in the routing nodes towards the ATM network; packets are first reconstructed from the cells arriving from the ATM network, the packets are routed, and thereafter the packets are again disassembled into ATM cells for transfer in the ATM network. A standard ATM adaptation layer (AAL) performs the disassembly and reconstruction of the IP packets. This will be described more closely hereinbelow to provide a background for the description of the invention which is to follow. When a workstation in the above-described Ethernet local area network sends data to a workstation in another local area network, the data unit P1 formed by the application at the workstation is first encapsulated into a TCP packet P2, for instance, as shown in Figure 2 (provided that the protocol used in the transport layer is TCP, Transmission Control Protocol). The TCP packet is thereafter encapsulated into an IP packet P3 and the IP packet further into an Ethernet frame P4 which is sent across the local area network to a router connected thereto, having an interface towards the ATM network as well. This router removes the Ethernet segment and disassembles the IP packet into ATM cells in the ATM adaptation layer. It is to be noted that the encapsulation may include insertions both in front and after the packet (so-called trailer). Figure 3 illustrates the structure of one IP packet 30 (i.e., IP datagram). The minimum size of the packet header is 20 bytes, which is divided into five four-byte "words", presented in consecutive lines in the figure. After the name of each field, the length of that field in bits is shown in the figure in parentheses. The header firstly comprises a 4-bit version field 31 , indicating the IP version that is used. This is followed by the length field 32 (IHL, Internet Header Length), indicating the length of the header in 4-byte words. Type field 33 indicates the type of service, and field 34 the total length of the data- gram, including the header. Identification field 35 is used to identify the IP packet in conjunction with the reconstruction of the packet. Flags field 36 allows the system to deduce whether a fragment of a disassembled packet is the last fragment of the original packet or not. The content of fragment offset field 37 in turn indicates in what location in the original packet the fragment belongs. Lifetime field 38 indicates the longest time that the packet may exist in the network. Each router through which the packet travels deducts from the value of this field. Protocol field 39 indicates the higher layer protocol of the data carried by the datagram (e.g. TCP). Field 40 contains a header checksum. Fields 41 and 42 are for the source and destination addresses, i.e. they indicate the address of the sending and receiving host in the form of 32-bit addresses. The address fields are followed by an option field 43 that is seldom used. The data to be transported in this field generally relates to network testing or troubleshooting; the data may for example define a given route that the datagram should travel. The field is supplemented with stuff bits when necessary, so that the number of bytes is divisible by four. After the above-described header, the actual data in the IP packet begins. The length of the data field may vary, but its upper limit is bounded by the length of field 34, which means that the maximum length of the entire packet is 2 16 bytes. As stated previously, in the ATM network in accordance with Fig- ure 1 the IP packets are transferred in the form of ATM cells. Figure 4a shows the basic structure of one cell to be transmitted in the ATM network. Each cell to be transmitted in the network comprises a 48-byte payload and a 5-byte header, but the precise structure of the header (the content of the header) is dependent on which part of the ATM network is being used in each case, as the ATM network architecture comprises a number of interfaces closely specified in the standards, and the header structure employed in the ATM cell is dependent on which interface (i.e., which part of the network) is concerned. Figure 4b shows the cell header structure at the UNI interface (User-to-Network Interface) of the ATM network, which is the interface between the ATM terminal equipment and the ATM node. Figure 4c in turn illustrates the cell header structure at the NNI interface (Network-to-Network Interface) of the ATM network, which is the interface between two ATM nodes, either within the network or between two networks. The routing field of the cell header consists of the virtual path identifier (VPI) and the virtual channel identifier (VCI). In the header structure shown in Figure 4b, which is thus used at the subscriber terminal only, a total of 24 bits has been reserved for the routing field (VPI/VCI). In the header structure shown in Figure 4c, which is used in all other parts in the ATM network, 28 bits have been reserved for the routing field (VPI/VCI). As the name implies, the routing field serves as a basis for routing cells in the ATM network. Primarily in the inner parts of the network a virtual path identifier VPI is used, which in practice often determines to what physical connection the cell is to be routed. The virtual channel identifier VCI, on the other hand, is often used for routing merely at the boundary of the network. It is to be noted, however, that it is the VPI and VCI together that unambiguously define the route for the cell. The other fields in the ATM cell header, as defined in the specifications, are - GFC (Generic Flow Control), a field intended for traffic supervi- sion at the subscriber terminal, not yet precisely defined, - PTI (Payload Type Indicator), mainly used to distinguish network management cells from subscriber information cells, but it is possible to additionally differentiate the subscriber information cells according to whether a congestion has been detected on the route or not, - CLP (Cell Loss Priority), used to prioritize cells as regards cell loss probability (largely corresponds to the DE bit in a Frame Relay Network), - HEC (Header Error Control), header checksum. Of these other fields, only the PTI field relates to the present in- vention. This field can be used for example for transferring virtual path and virtual channel -specific congestion messages. However, the invention utilizes another characteristic of the PTI field that will be described in detail hereinbelow. In general, signals of various formats arrive at the ATM adaptation layer, and the task of the ATM adaptation layer is on the one hand to form these signals into the standard format required by the ATM network prior to their being passed on to the ATM network, and on the other hand to reconstruct these signals from the cells arriving from ATM networks prior to their being relayed further to the user or control interfaces. Different types of ad- aptation layers (AAL1...AAL5) have been standardized for different service classes (A...D). For example, AAL types 3, 4 and 5 offer transmission serv- ices for applications in which there is no time dependency between the source and the destination. Figure 5 illustrates the segmentation of IP packets performed by AAL 5 into ATM cells and the reconstruction of packets from ATM cells, as it illustrates the operation of the ATM adaptation layer in the exemplary network shown in Figure 1. The ATM adaptation layer is generally divided into two sublayers, which are referred to by the abbreviations SAR (Segmentation and Reassembly Sublayer) and CS (Convergence Sublayer). The last-mentioned sublayer performs encapsulation/deencapsulation of user data units (for example IP packets) and control data. The frame produced as a result of the encapsulation performed by the CS sublayer is referred to as the CS-PDU (Convergence Sublayer Protocol Data Unit). The AAL 5 encapsulation is performed in such a way that a trailer portion is added to the user data unit (e.g. an IP packet), containing for instance an error check portion (CRC). The trailer portion has a length of 8 bytes. The length of the entire CS-PDU corresponds to a multiple of 48 bytes, which is obtained by adding when appropriate a padding field PAD having a length of 0...47 bytes between the trailer portion and the payload of the packet. The SAR sublayer segments each CS-PDU in the transmit direc- tion into segments of 48 bytes, which are referred to as the SAR-PDU (Segmentation and Reassembly Protocol Data Unit). In the receive direction, the CS-PDUs are formed by putting the SAR-PDUs together. The ATM layer beneath the ATM adaptation layer is responsible for adding five-byte header fields CH (Figures 4b and 4c) into the SAR-PDUs to be transmitted, thus producing ATM cells 50 that are sent to the ATM network. The ATM network only processes the cell header, the 48-byte payload is not processed and not even read in the ATM network. In the receive direction, the ATM layer removes the headers from the cells and supplies the 48-byte payloads to the SAR sublayer for assembly. When in the network of Figure 1 the routers send IP packets, they segment the packets into cells in the above manner and send the packets to an ATM transmission link. The router at the opposite end of the link reconstructs a packet from the cells in the above manner, makes a routing decision in the conventional manner on the basis of the IP address, and seg- ments the packet again into cells for the next ATM link. Normally the routing decision on the packets is made by software. When routing implemented with software is combined with the above- described packet segmentation and reconstruction, the operation of the ATM-based router network is slowed down considerably. This conventional routing method is also expensive to carry out. To alleviate these drawbacks, a method has been developed that is termed IP switching. IP switching is based on the flow concept: a flow is a series of IP packets that are headed from (generally) the same source to the same destination. Hence, one flow (generally) comprises the IP packets whose source and destination addresses are the same. For example a TCP connection is a flow: when the TCP connection has been opened, a series of packets is sent from the source to the destination. In IP switching, router nodes identify the flows and request routers at the boundary of the network to furnish the packets of each flow with a unique flow identifier, e.g. a unique VPI/VCI identifier. When the packets pertaining to a given flow are provided with a unique VPI/VCI identifier, the routers within the network can carry out packet relay on a cell level, using a normal ATM switching. Hence, the routing need not go as far as the third layer (IP layer), but can be performed in the second layer (ATM layer). The drawback of the last-mentioned prior art solution is, however, that it presupposes for all routers a capability to identify the flows and to transmit the flow information forward. Known routers are not capable of such flow control. Furthermore, the solution will produce additional traffic in the network, as the router must request the transmitting-end router to insert a flow identifier into the packets. Summary of the Invention It is an object of the invention to remove the above drawbacks and to provide a solution that will improve the capacity of routers without, how- ever, requiring any new flow control protocol to be applied. This object is achieved with the solution defined in the independent claim. The idea of the invention is to monitor the limit between two successive packets at a higher protocol layer on the basis of lower protocol layer data units and to read at the start of each respective packet the higher level address (packet address) from the lower protocol level data units. On this basis, routing is performed for the first data unit of the packet and thereafter the same routing is automatically applied to the next data units, providing that the lower level connection identifier included in the data units is the same as in the first data unit. Automatic routing is continued as long as the content of the data units having the same connection identifier indicates that the higher level packet is still in progress. In the preferred embodiment of the invention, the lower-layer data units are ATM cells; thus the invention utilizes firstly the characteristic of the ATM adaptation layer according to which a bit in the cell header indicates whether the last cell formed from the packet is concerned. This bit is the third bit in the PTI field. Another feature utilized in the invention is that the AAL5 frame has no flow identification field that would enable multiplexing of cells using a single VPI/VCI identifier. Thus, one can be certain that all cells transferred over the same virtual connection prior to the cell indicating the end of the packet belong to the same packet. On account of the solution in accordance with the invention, the throughput of the routers can be increased in that the need for segmenting and reconstructing packets is obviated. This is achieved with conventional routers. Hence, no extra flow control protocol is needed in the network, and thus also the routers remain simpler and cause no additional traffic in the network. Brief Description of the Drawings The invention and its preferred embodiments will be described in greater detail in the following with reference to Figures 6 and 7 by means of examples in accordance with the accompanying drawings, in which Figure 1 illustrates the environment in which the invention is used, Figure 2 illustrates forming of packets prior to their being sent to the net- work, Figure 3 illustrates the structure of an IP packet, Figures 4a...4c illustrate the generic structure of an ATM cell, Figure 5 illustrates packet segmentation into ATM cells as performed by ATM adaptation layer 5 and reconstruction of packets from ATM cells, Figure 6 is a flow chart illustrating the method of the invention, and Figure 7 presents a functional block diagram of a router carrying out the method of the invention. Detailed Description of the Invention In the solution in accordance with the invention, segmentation of IP packets is performed in a node at the boundary of the network in accordance with the above, and the ATM cells are sent to the ATM transmission link. As stated previously, the last bit in the PTI field (bit number two in Figures 4a...4c) indicates when a new higher layer packet (IP packet) starts. When the bit is set to be 1 , the last cell of the IP packet is concerned, in which case the next packet starts with the next non-idle cell. The PTI field has the value 000 or 010 when user data is concerned (no control data) and the cell is the first cell in the packet or a cell within the packet. On the other hand, the PTI field has the value 001 or 011 when user data is concerned and the cell is the last cell in the packet. When a router in an ATM network receives ATM cells, the first cell of the IP packet can thus be found on the basis of the last bit of the PTI field. A router in accordance with the invention makes use of this feature. This will be described in the following with reference to Figure 6, which illustrates the operation of the router of the invention. Initially the router monitors the value of the third bit in the PTI field in the incoming ATM cells over the VPI/VCI connection (step 61). Such monitoring is carried out as long as the value of that bit remains zero. Imme- diately when it is detected that the bit has been set to 1 for any virtual connection, it can be presumed that the next non-idle cell over that virtual connection is the first cell of a packet. Hence, the method can proceed to reading the next cell. After this cell has arrived, its IP destination address is read (step 63); this address is mapped, as can be seen from Figure 3, in seg- mentation in such a way that it always has a fixed location in the payload bytes 13-17 of the cell. On the basis of the destination address that has been read, the identifier of the output port associated with that address from the routing table is found (step 64) and the cell is transmitted to that output port (step 65). Thereafter the PTI field of the cells is monitored over said virtual connection and all cells are transmitted to the same output port as long as the third bit in the PTI field remains zero, i.e. as long as the packet is in prog- ress (step 66). When it is detected that the third bit in the PTI field changes to 1 , the method proceeds to reading the next non-idle cell in step 62. Figure 7 illustrates one possible implementation of a packet switch in a router. The router comprises three successive blocks A, B, and C be- tween input IN and output OUT. Block A defines the output port associated with the packet address, block B performs routing to the correct port. Block C is comprised of output ports, and for example a new VPI/VCI identifier for the next link can be formed therein. For temporary storage of incoming cells, a cell buffer 70 is provi- sioned at the input of the router; the buffer reads the address of the incoming cell (VPI/VCI identifier and PTI field). When the cell buffer indicates to IP address retrieval block 72 that the first cell of a packet is concerned, the retrieval block reads the IP address from the cell and supplies the address to content addressable memory (CAM) 73. The content addressable memory is also termed an associative memory; it is a memory in which the storage locations are identified on the basis of their content. On the basis of the IP address, the memory 73 returns the address of the output port associated with the IP address to the retrieval block. The retrieval block supplies the identifier indicating the output port to a configuration process 71 that defines on the basis thereof an available outgoing VPI/VCI identifier and writes data on the output port and on the outgoing VPI/VCI identifier into the routing table (table T1) of the ATM switch 76 (in the line corresponding to the input port and the incoming VPI/VCI) identifier). The writing is performed once for each packet, and thus all cells that belong to the same packet (i.e., have the same VPI/VCI and the same input port) are switched to the same output port and receive the same outgoing VPI/VCI pair. As long as the cell buffer 70 finds that the packet is still in progress and the cells have the same VPI/VCI identifier as the first cell in the packet, it transfers the cells directly to the ATM switch, which performs the routing on the basis of its routing table. The ATM switch is thus configured at the start of each packet, whereafter all cells in the packet are automatically switched to the correct output port. The content addressable memory is used as a cache for the main routing table 75, for the purpose of accelerating the process. If the IP desti- nation address is not found in the memory 73, the cells can be buffered and the output port may be sought by a conventional software retrieval process 74 directly from the main routing table 75. The content addressable memory is updated on the basis of the retrieval. By the above-described method, routing of packets can be considerably accelerated, and the router may have maximum simplicity of con- figuration. The examples set out above all relate to cases in which the protocol used at the network layer is IP, which is the most common of the protocols used at that layer. However, the solution in accordance with the invention is not restricted to IP, but can be used equally well in connection with any other (network layer or higher layer) protocol in which the packet has a standard-format address so that it will be found in the lower layer data units. Even though the solution in accordance with the invention is intended mainly for a network transferring ATM cells, the solution is not necessarily to be so limited either, but the lower layer may utilize any protocol in whose data units the limits between higher protocol layer data units (packets) can be distinguished. In principle, it is also possible that the higher level address will not be found immediately in the first data unit (depending on the location of the address in the data packet), but the first data units must be stored until the higher layer address is found. Even though the invention has been explained in the above with reference to examples in accordance with the accompanying drawings, it is to be understood that the invention is not restricted thereto, but it may be modified within the scope of the inventive idea set forth in the appended claims.

Claims: Claims 1. A method for transferring data packets in a packet-switched telecommunications network in which data packets are transferred by means of routers (RT1...RT6), in accordance with which method the data packets (30) to be transferred are segmented into lower protocol layer data units (50) that are transferred from router to router in the network, characterized in that on a router of the network - on the basis of the incoming data units (50), the occurrence of the limit between two successive data packets (30) is monitored, - upon detection of the start of a data packet, the destination address of the data packet is read from a data unit, - the output port associated with the destination address is sought for an individual data unit and the data unit is routed to that output port, - all other data units that have the same connection identifier as said data unit are routed directly on the basis of the connection identifier included in them as long as the content of said data units indicates that the data packet is still in progress. 2. A method as claimed in claim 1 , wherein said segmented data units are ATM cells, characterized in that the occurrence of the limit between two successive packets and the fact whether the packet is still in progress is monitored on the basis of the PTI field in the header of the incoming cells. 3. A method as claimed in claim 2, wherein the higher layer packets are IP packets, characterized in that the destination address is read from the first cell in the packet, and an output port is only sought for the first cell in the packet. 4. A method as claimed in claim 3, characterized in that the output port associated with the destination address is first retrieved from a content addressable memory (73) to which the destination address is pro- vided as an input. 5. A router arrangement for transferring packets in a packet- switched telecommunications network in which the data packets (30) to be transferred are segmented into lower protocol layer data units (50) that are transferred from router to router in the network, the router arrangement com- prising - first reading means (70, 72), for reading the destination address of the data packet, - second reading means (70) for reading the connection identifiers of incoming data units, - monitoring means (70) for monitoring the occurrence of the limit between two successive packets on the basis of the incoming data units, - defining means (74, 75) for defining the output port associated with the destination address that has been read, - switching means (76) for routing data units to the desired output port, c h a r a c t e r i z e d in that - said first reading means perform the reading directly from the lower protocol layer data units in response to detection of the start of each packet, and that the routing arrangement further comprises - configuration means (71) for configuring the switching means at the start of each data packet in such a way that the data units having the same connection identifier as the first data unit in the packet are routed directly to the same output port as said first data unit as long as the packet is in progress. 6. A router arrangement as claimed in claim 5, wherein the defining means comprise a routing table and a software retrieval process (74), c h a r a c t e r i z e d in that the defining means further comprise a content addressable memory (73) serving as a cache for the routing table.

Inventors: HULKKONEN MATTI, HULKKONEN, MATTI
Applicants: HULKKONEN MATTI, NOKIA TELECOMMUNICATIONS OY, HULKKONEN, MATTI
Application year: 1997
Main classification: H04L12
IPC codes: H04L12