The application relates to a method for maintaining the sequence of packets in connectionless packet switching with alternative routing for a network comprising a plurality of routers.
Networks with connectionless packet switching (e.g. the present-day Internet) generally have no facility for maintaining the sequence of packets during transportation through the network, i.e. for providing the same sequence at the output from the network as at the input, if the route to a destination within the network can be individually selected for each packet, for example, in order to distribute the load.
Errors in the packet sequence can, for example, reduce the throughput of connections unnecessarily where said throughput is regulated by the TCP protocol (Transmission Control Protocol).
In order not to overload the network and to achieve a fair division of the overall bit rate among a large number of connections, a TCP transmitter adjusts its transmission rate downward (by reducing the transmit window) after a packet loss has been detected. Also, a packet sequence transposed in the network leads in practice to repeated confirmations with the same sequence number, so TCP also reduces the rate here.
For the aforementioned reasons, alternative routing at packet level, i.e. distribution of packet traffic in a flow, is not generally used today. In order to avoid the aforementioned problems, alternative routing at the level of (aggregated) flows is proposed, for example in MPLS (multi-protocol label switching), i.e. all packets which belong to the same connection or which are exchanged between the same pair of network nodes, are sent on the same path through the network. For this to occur, however, appropriate network information has to be filed in each network node, e.g. by configuring paths (static) or by first establishing a path for each connection (dynamic but time-consuming and therefore not necessarily scaleable for large networks). The number of flows to be stored depends here very heavily on the duration of the flows and may, in the case of long flows each containing little traffic, be very large.
Furthermore, equipment which restores the packet sequence can be used at the network output. In IP (Internet Protocol) networks, however, this is no mean task, since IP packets generally possess no sequence number for such purposes. While the “Identity” field in the packet header identifies a packet uniquely, it is not necessarily increased by 1 in each case within each TCP connection or each UDP (User datagram protocol) association. In order to evaluate the TCP “sequence number” specified on the octet level, the packet header has to be further evaluated, as this number increases from one TCP segment to the next by the number of bytes in the segment. Since the segments can also carry different quantities of user information within a connection, a resequencing device cannot know how many packets are still missing between two other packets which have been received if the sequence numbers thereof do not follow one another. In addition, if a resequencing device were used, packet losses would cause a delay in the playing out of the packets and thus cancel out the “fast retransit” mechanism of TCP, which would cause the bandwidth control in TCP to be adjusted sharply downward and would thus bring no advantage compared with delivery out of sequence.
The object of the invention is to specify a method which in a network comprising multiple routing options reduces performance degradation caused by packet overhauls.
This object is achieved in the features of claim 1 or of claim 4.
The invention sharply reduces the frequency of packet overhauls, in particular for high-bit-rate connections. The frequency of transpositions in the packet sequence is reduced by means of the aforementioned technical features. The maximum number of flow entries in the flow table FT is predetermined by the number of packets to be stored in the router. The restriction to packets stored in the router thus sharply reduces the quantity of status information in the router compared with solutions like MPLS or IP switching, which have to maintain a status for each existing flow. In addition, in contrast to MPLS or IP switching, no signaling is needed between the network nodes so that, particularly in the case of short flows, no unnecessary delay occurs. Restricting status information to a short service life also has the advantage that the flexibility of alternative routing for distributing the load in the network remains assured, so a compromise can be reached between absolute adherence to the packet sequence and optimum load distribution. Connections which transmit at a high rate and of which there is always at least one packet stored temporarily in the router, will experience no sequence transpositions. Connections in which a packet is transmitted only rarely, will also have no problems if the runtime differences between the different paths selected in the network are small in comparison to the time between two packets. The solution described is therefore advantageous in particular for connections in which data is transmitted in bursts (e.g. World Wide Web).
Advantageous further developments of the invention are specified in the subclaims.
The invention will be explained in detail below as an exemplary embodiment to an extent necessary for comprehension with reference to the drawings, in which
In the figures, the same reference characteristics indicate the same elements.
In the case of the load being distributed to a plurality of alternative routes, the routing table is extended and contains, in addition to the next node on the shortest path, further next nodes for further permissible paths to the destination. For each arriving packet a permissible output path to the destination, to which path the packet is then forwarded, can now be chosen on the basis of a load distribution algorithm.
It is proposed according to the invention that a table of flow or connection information (referred to below only as flow information FI) be maintained in the router, which table stores the selected route for each packet which is located in the router (that is, which is temporarily stored in one of the queues Q1, Q2 or Q3 or which has just been switched in the switching network). If (in this embodiment) the packet leaves the router, then the information is deleted again. If a new packet with the same FI comes to the router, then it is forwarded on the same path as the last packet with the same FI.
The decision as to which of the alternative paths a packet will be forwarded on is therefore retaken only if no packet with the same FI as a newly arrived packet is already located in the router. The frequency of packet overhauls for high-bit-rate connections is greatly reduced by this means.
The appropriate router in
1. The principle can be applied to each queue individually, to a subset or to all buffers in a device, if an IP router uses for example input and output buffers or a combination of such buffers with a central buffer. The following alternatives are possible:
2. IP routers generally have an output queue for each output link, whereby the output link can be a physical network connection or a logic channel within a physical connection (e.g. an ATM-VP (Asynchronous Transfer Mode-Virtual Path) or ATM-VC (Asynchronous Transfer Mode-Virtual Channel), a wavelength or an STM (Synchronous Transport Module) channel). In backbone routers, just one IP router is generally assigned to each of these channels. In local area networks, by contrast, one output channel can reach a plurality of next IP routers if the channel is e.g. a shared medium (Ethernet or similar). In this case, there are the options of entering either the output channel or—as indicated in
3. In the description relating to
4. If a router handles a plurality of traffic classes, the method can be used for all or for only a portion of the traffic classes.
5. A time limit according to option 3 can be adjusted adaptively according to other parameters. Parameters which may be considered here are in particular those which determine the distribution of traffic (e.g. the frequency for the choice of an alternative path).
Number | Date | Country | Kind |
---|---|---|---|
102 45 490.6 | Sep 2002 | DE | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/DE03/03246 | 9/29/2003 | WO | 3/30/2005 |