The invention relates to a method and a node for specifying traffic distribution for nodes in a packet-oriented network formed with nodes and links and employing multi-path routing.
The development of methods for the transmission of real-time traffic, such as, for example, voice traffic, over packet-oriented networks is a central field of activity for network specialists, switching systems engineers and internet experts.
Circuit-switched networks and packet-based data networks coexist at the present time. Out of economic considerations it is desirable for voice and data to be transmitted over a standardized network. For the commonest type of packet-oriented networks, which are based on the Internet Protocol and consequently are also called IP networks, various protocols or, as the case may be, methods have been developed which are designed to permit a voice transmission over IP networks with the voice quality familiar from conventional networks. At the same time a number of inadequacies of the original IP networks in relation to the transmission of real-time traffic (e.g. voice) need to be overcome.
Conventional IP networks transport data packets according to a “best effort” approach. Data packets are forwarded through nodes or routers on the basis of the destination addresses contained in the packet header. Routing decisions are local. The individual nodes operate autonomously. The quality of the transmission of packets is critically dependent on the conditions in the nodes passed in the course of the transmission. For example, with overloaded nodes considerable delays can occur and this can even lead to packets being discarded, as a result of which the quality features of a voice transmission cannot be guaranteed.
One possibility of reducing the susceptibility to constrictions or bottlenecks in the transmission path and of improving the distribution of the traffic is to transmit the traffic over more than one path. With the ECMP (Equal Cost Multi Path) concept, which is defined within the framework of the OSPF (Open Shortest Path First) standard, it is provided to transmit traffic over a plurality of paths that are equal in length in terms of a distance function or, as the case may be, are subject to the same costs (a method referred to as “least cost routing” is often carried out).
One of the following two strategies is typically employed for distributing traffic along these paths:
1. Distribution by packet: The packets are distributed individually onto the outputs (e.g. using what is termed a weighted round-robin strategy). Although this results in an optimal and deterministic distribution of the traffic, it leads to transpositions in the order of the packets of a communication session because the packets then take different paths before they arrive at the destination.
2. Distribution by flow: The traffic is distributed on the basis of traffic flows, with the result that the packets of a communication session all take the same output. In this case, however, the granularity or fineness of the traffic distribution is poorer, and the freedom in choosing a path when assigning a packet to a path is limited by the flow association. On the other hand, this strategy ensures the original packet sequence is retained within each communication session.
The flow concept is often defined in this context in the sense that packets with matching source address information and destination address information (e.g. IP addresses or IP addresses together with port numbers) are assigned to the same flow.
To achieve a practicable and scalable implementation of the second variant, i.e. distribution by flows, use is commonly made of hash codes. A hash code, in the present context, is a number generated by a hash function in the value range of the hash function. A hash function maps a string or a numeric sequence to a fixed value range or to a bit sequence having a fixed length. Hash functions are frequently also used for cryptographic methods. At the time of the distribution onto different paths a hash code is generated from the header of the IP packets (e.g. the source and/or destination address). Said hash code then determines the traffic distribution. When source and destination address are used as the input value for the hash code calculation, all packets of a source-destination communication session or, as the case may be, of a flow are automatically assigned the same hash code and consequently are routed to the same output. Methods are known which ensure that these hash codes are evenly distributed over the permitted range of the hash codes. Methods of said kind are described for example in the publication titled “Performance of hashing-based schemes for Internet load balancing” by Z. Cao, Z. Wang and E. Zegura, which was published in the Proceedings of the IEEE Conference on Computer Communications (IEEE Infocom 2000), New York, in March 2000.
More recent concepts tend toward providing a more flexible traffic distribution than in the ECMP concept. Two key aspects of this more flexible distribution are:
In contrast to ECMP, where a fixed allocation to non-branching paths is provided between two points, a routing along branching multi-path routes or multi-path paths is to be allowed. In the ideal case the distribution can be performed here autonomously by the nodes, i.e. the local distribution of flows onto links is not determined globally.
An increased autonomy of the individual nodes in respect of the routing decisions is also important with regard to a fast response to faults (e.g. link failure). In contrast to the ECMP method, in which a redefinition of all the paths would have to be carried out in response to a fault, the aim is to allow a local change to multi-path routes.
With extensions of this kind aimed at flexible multi-path routing, an inherent difficulty of the method arises in the use of hash codes for distributing the traffic. A basic problem of the hash method described is that nodes deliver the packets according to hash codes to the outputs of the links leading away from the node (the links associated with a multi-path route are also referred to below as route fan-outs) and so are therefore sorted by hash codes. If the same function for generating hash codes is applied again to the packets in the succeeding node connected to an output, the result can no longer be evenly distributed. Rather, the function will only produce the value range of the hash codes already anticipated by the sorting in the preceding node. This means that an efficient distribution of traffic is no longer guaranteed.
In the most general case the individual paths of a multi-path fanout are not necessarily routed disjointly end-to-end in an IP network employing multi-path routing. It therefore happens that in network nodes traffic converges which was already distributed previously on the basis of hash codes and was therefore sorted (thus, not only are packets sorted according to their hash codes during distribution in the nodes, but said sorted packet streams are also merged). More often than not this leads to rough deviations from the even distribution in said node, with the result that a desired distribution of the traffic onto outgoing links of a multi-path route fan-out is therefore no longer guaranteed.
An object of the invention is to specify a method which enables a traffic distribution by means of hash codes for any multi-path routing methods.
The object is achieved by the claims.
According to the invention, starting from one or more start nodes (e.g. edge nodes of the network) a multi-path route is successively taken and depending on a desired traffic distribution (i.e. a distribution of the traffic in the network) or, as the case may be, traffic allocation (i.e. a distribution of the traffic among the nodes) node-related value ranges of the hash codes are determined which guarantee a traffic allocation corresponding to the nominal traffic distribution. In this case a start node is characterized in that the traffic volume distribution is known as a function of the hash codes which are determined in the course of the transport of packets associated with flows over the multi-path route. On the basis of the known traffic volume distribution by the start node(s), the traffic volume distribution for the succeeding nodes can be determined as a function of the hash codes and value ranges can be specified for the distribution of the traffic in line with the nominal traffic distribution scheme. In this way value ranges of the hash codes and an assignment of these value ranges to links for the traffic distribution corresponding to the nominal distribution of the traffic can be specified node by node along the multi-path route. The total volume of the traffic routed over a link results here through integration of the traffic volume of the hash code value ranges which are assigned to the link. The nominal distribution can be determined for example by means of traffic models or, as the case may be, a traffic matrix.
By means of the inventive method a (deterministic) traffic distribution in accordance with a nominal traffic distribution in the network can be specified for any multi-path routes with traffic distribution on the basis of hash codes. In this scheme each outgoing link, for example, can be assigned a value range. A possible distortion through use of the same hash function for succeeding nodes is avoided by the definition of hash code value ranges in accordance with the nominal traffic distribution. With the method according to the invention the packets of the same flow generally follow the same path, thereby avoiding additional overhead for a re-sorting of packets (also referred to as “resequencing”).
It is favorable for the calculation of value ranges of the hash codes if the traffic volume density is evenly distributed in the start node or start nodes as a function of the hash codes. Hash codes are calculated for example on the basis of address information, e.g. a source and destination address or 2-tuples formed from source address and port number as well as destination address and port number which identify the flow.
The subject matter of the invention will be described in more detail below within the context of an exemplary embodiment with reference to figures, in which:
According to the invention, starting from nodes A and B of the multi-path route:
A) in a first step the resulting distribution of the traffic volume via the hash codes HC is calculated in the succeeding node C from the traffic volume and the specified nominal distribution weights.
B) is determined in a second step by (piece-by-piece) integration of this distribution, where the hash code limits are to be set in the node under consideration in order to reach the desired nominal distribution weight. If w is the desired distribution weight and IV(HC) the cumulative or, as the case may be, integrated distribution, normalized to 1, of the traffic volume V (HC) via the hash codes HC, then
w=V(HC1)−V(HC2)
where HC1 . . . HC2 is the range of the hash codes that are routed to the output which is to be assigned the weight w. If only two outputs are used, then HC1 is always equal to the minimum hash code HC_min occurring for the lower portion and always equal to the maximum hash code HC_max occurring for the upper portion HC2. If the traffic is to be distributed over more than two links, then the values of HC1 and HC2 must be calculated successively for the links, beginning with HC_min or HC_max.
The steps one and two described for node C can be performed successively for all nodes along the multi-path route until the destination node is reached (the method thus “travels through” the multi-path route).
The result is the hash code limits to be set at the node edges for the desired nominal traffic distribution weights for each node in the multi-path route.
Number | Date | Country | Kind |
---|---|---|---|
103-25-016.6 | Jun 2003 | DE | national |
This application is the US National Stage of International Application No. PCT/EP2004/050971, filed Jun. 1, 2004 and claims the benefit thereof. The International Application claims the benefits of German application No. 10325016.6 DE filed Jun. 3, 2003, both of the applications are incorporated by reference herein in their entirety.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP04/50971 | 6/1/2004 | WO | 12/2/2005 |