The present invention relates to a method for using a short address in a packet, and more particularly, to a method in a communication network for using a short address in a packet to avoid bandwidth speedup.
Packets having a header are sent between different elements of a communication network. The header may include information such as an address, protocol, security, Quality of Service (QoS), and the like. A network element may contain several processing elements. While performing a portion of the complete process each element typically increases the packet size when adding information to the packet. The increase packet size increases bandwidth, commonly referred to as “bandwidth speedup”. When bandwidth speedup occurs, higher bandwidth links between the processing elements are commonly used in the network elements to handle the increased bandwidth.
There exists a need to provide an improved packet processing in a communication network.
An aspect of the present invention involves a method of converting a long address to a short address by a processing element in a communication network, comprising receiving a standard packet having a first long address, retrieving a first short address associated with the first long address from a data repository, and replacing the first long address in the standard packet with the first short address forming an improved packet with a control field.
Another aspect of the present invention involves a method of converting a short address to a long address by a processing element in a communication network, comprising receiving a packet having a short address, retrieving from a data repository a long address associated with the short address, replacing the short address in the improved packet with the long address forming a standard packet, and sending the standard packet toward a subsequent device.
Yet another aspect of the present invention involves a modified Ethernet switch that converts between a Media Access Control (MAC) address and short address, comprising a first processing element and a second processing element. The first processing element having access to a first data repository and receives a first standard packet having an Ethernet header. The Ethernet header having a first MAC destination address and a MAC source address. The first processor converting the first MAC destination address to a first short address. The first processor replacing the first MAC destination address in the standard packet with the first short address forming an improved packet. The second processing element having a second data repository and receives the improved packet. The second processor converting the short destination address to the first MAC destination address. The second processor replacing the short destination address in the improved packet with the first MAC destination address forming a second standard packet. Wherein the first short address uses less bits that the first MAC address.
The above mentioned and other concepts of the present invention will now be described with reference to the drawings of the exemplary and preferred embodiments of the present invention. The illustrated embodiments are intended to illustrate, but not to limit the present invention. The drawings contain the following figures, in which like numbers refer to like parts throughout the description and drawings wherein:
The invention described herein may employ one or more of the following concepts. For example, one concept relates to avoiding bandwidth speedup. Another concept relates to modifying a packet to replace a long address with a short address to free up bits in the header. Another concept relates to modifying a packet to replace a short address with a long address. Yet another concept relates to a source for converting between a long address and a short address.
The present invention is disclosed in context of use of an Ethernet switch using Media Access Control (MAC) addresses. The principles of the present invention, however, are not limited to use with Ethernet switch but may be applied to other network elements having an Open Systems Interconnection (OSI) model layer-2 type other than Ethernet, such as High-Level Data Link Control (HDLC). Also, address schemes, presently known or later developed, other than MAC addresses may also be used. Furthermore, the principles of the present invention are not limited to the network element using the OSI layer-2 models or data-link layer addresses but may be applied to any communication network models and addresses presently known or later developed. While the present invention is disclosed in terms of converting a destination address in a packet to a short address the principles of the present invention are not limited to converting the destination address but may be applied to any address in a packet.
Referring to
The Ethernet switch 12 includes hardware, or a combination of hardware and software to perform processing such as switching, routing, security, and Quality of Service (QoS). The Ethernet switch 12 has processing elements 22(a through n) that include processors, Application-Specific Integrated Circuit (ASIC) devices or other devices capable of performing processing such as forwarding, flow classification, traffic policing, QoS. As traffic flows through the Ethernet switch 12, the processing element 22 may increase the packet size while adding information in the packet, thereby causing a bandwidth speedup. Bandwidth speedup is a problem since a processing element 22 may not be able to cope with the incoming traffic rate causing degradation to a traffic throughput.
For this example, traffic flows from traffic source 20(a) to processing element 22(a), then to processing element 22(b), to processing element 22(c), to processing element 22(n), to traffic destination 20(b). In this example, processing element 22(a) is the ingress-processing element and processing element 22(n) is the egress-processing element.
Now referring to
Now referring to
In the illustrated example of
Now referring to
To make use of the benefits of the short destination address 44, when a processing element 122 receives a standard packet 30, the processing element 122 replaces the long destination address 34 with the short destination address 44 to form an improved packet 40. It is preferable the replacement is done in the ingress-processing element 122(a) since it is the first element. However, the replacement may be done by a processing element 122 other than the ingress-processing element 122(a). The packet is sent toward a subsequent device 122. “Toward” refers to sending the packet from a sending point to a receiving point either directly or indirectly and wherein the sending point does not have to originate the packet and wherein the packet does not have to end at the receiving point
Prior to the traffic leaving the modified Ethernet switch 112, the processing element 122 replaces the short destination address 44 in the improved packet 40 with a long destination address 34 to form a standard packet 30. It is preferable that this replacement is done in the egress-processing element 122(n) since it is the last processing element 122 so that the use improved packet 40 made as long a possible. However, the replacement may be done by a processing element 122 other than the egress-processing element 122(n).
An example of packet processing using according to the present invention is as follows. A standard packet 30 is received by the ingress-processing element 122(a), the ingress-processing element 122(a) forms an improved packet 40 as described above, modifies the control field 46 in the improved packet 40, and sends the improved packet 40 to a subsequent element, processing element 122(b). Processing element 122(b) uses the information in the control field 46 provided by processing element 122(a), updates the control field 46, and sends the improved packet 40 to a subsequent element, processing element 122(c). Processing element 122(c) uses the information in the control field 46 provided by 122(a) and 122(b), and sends the improved packet 40 to a subsequent element, processing element 122(n). Processing element 122(n) uses the information in the control field 46 provided by 122(a) and 122(b), forms a standard packet 30 as described above, and sends the standard packet 30 to the traffic destination 20(b).
Not all of the processing elements 122(a through n) need to include the data repository 130. For example, processing elements 122 that do not replace the address do not need to include the data repository 130. However, any element that replaces a long address with the short address or vice versa preferably includes the data repository. If the data repository 130 is not included in a processing element 122(a), 122(n) that replaces the address, e.g. the data repository 130 is centralized or located in a different element, then the processing element 122(a), 122(n) should have access to the data repository 130.
An association between the short address and long address is maintained in the data repository 130. A central entity 140 is responsible for updating and synchronizing the tables 130 when a new association is made or removed For example, if a new association is made in data repository 130(a), the central entity 140 is responsible for updating data repository 130(b).
When the processing element 122(a) receives a standard packet 30, the data repository 130 is searched for the long destination address 34 to find an associated short address. The long destination address 34 is replaced with the associated short address forming an improved packet 40 with a short destination address 44. As recognized by those skilled in the art that there are many search methods, such as hash tables. If there is an association for the destination long address 34 the associated short address is used. However, if there is no associated short address, e.g. the long destination address 34 does not exist in the data repository 130, and then the packet is sent without modification to the long destination address 34, which may cause a temporary congestion of a traffic flow.
Additionally, when the processing element 122(a) receives a standard packet 30, a new association of the long source address 35 with a short address may be made in the data repository if the association does not already exist. The new association is made by finding a spare short address and updating the data repository to have the long source address 35 with the associated short address. As recognized by those skilled in the art that there are many way to find spare information. For example, a bit map indicating spare short addresses, or a link list of free short addresses.
It is also possible to remove an association through a process called aging. Aging involves removing an association after a period of time, whereupon the association is deemed “old”. The time period that an association becomes old may be configurable. Preferably the time period is greater than the time it takes for the modified Ethernet switch 112 to process the packet; otherwise, the association would not be there to replace the short address with the long address. More preferably, the time period is long enough to allow subsequent packet having the same long address use the association. When a subsequent packet having the same long address is received it is desirable to reset the time period for the association to keep it alive.
One skilled in the art would appreciate a packet may having more or less addresses than illustrated in
Now referring to
If the long destination address has an associated short address stored in the data repository the associated short address is retrieved from the data repository 58. The long destination address is replaced by the associated short address forming and improved packet having a control field 60, wherein the control field may be used for packet processing 62. The improved packet is forwarded to a subsequent device 64.
If, however, the long address is not stored in the data repository the long destination address is copied into the standard packet 53, preferably after the packet header. The long destination address is replaced with a value that may be ascertained by the processing elements forming an improved packet having a control field 54. The “value” is to indicate to subsequent devices that an association was not found. The value may be predefined, provided in the data repository or any other suitable way that allows the processing elements to have access to the value. Additionally, the value should be selected to not conflict with a short address, e.g. they should be mutually exclusive. The packet is sent without modification to the long destination address 54, which may cause a temporary congestion of a traffic flow due to the increased packet size.
The improved packet is forwarded to a subsequent device 64.
Now referring to
Now referring to
If the short destination address contains the value, the long address is set the copied long destination address in the improved header 74.
If the short destination address does not contain the value, the long address associated with the short destination address is retrieved from a data repository 72.
The short destination address is replaced in the improved packet with the long address thereby forming a standard packet having a long destination address 78. The standard packet is forwarded to the subsequent device 80.
Referring now to
The processing element 122(a) receives the standard packet 30(a) and retrieves a short address association with the long destination address 34(a). The processing element 122(a) replaces the long destination address 34(a) with a short address forming an improved packet 40(a) with a short destination address 44(a). Additionally, the processing element 122(a) updates the control field 46(a) to have indications such as the destination port, traffic class, drop precedence, flow number, and the like, and sends the improved packet 40(a) to processing element 122(b).
Processing element 122(b) receives the improved packet 40(a) and processes information in the control field 46(a). The control field is updated to have the processing results of the processing element 122(b) and the updated packet 40(b) is sent toward processing element 122(c).
Processing element 122(c) receives the improved packet 40(b) and processes information in the control field 46(b). The control field is updated to have the processing results of the processing element 122(c) and the updated packet 40(c) is sent toward processing element 122(n).
Processing element 122(n) receives the improved packet 40(c) and retrieves the long address associated with the short destination address 44(a). The processing element 122(n) replaces the short destination address 44(a) with the associated long address to form a standard packet 30(b) having a long destination address 34(a). The standard packet 30(d) is sent toward the traffic destination 20(b).
The present invention may be embodied in many different forms and may be applied to many different types of networks, and addresses and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present invention to those skilled in the art. Thus, the scope of the present invention should be determined based upon the appended claims and their legal equivalents, rather than the specific embodiments described above.