Load balancing hash computation for network switches
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
H04L-012/26
H04L-029/06
H04L-009/08
H04L-012/803
H04L-012/931
H04L-012/911
H04L-009/06
H04L-012/801
H04L-012/891
출원번호
US-0139428
(2013-12-23)
등록번호
US-9455966
(2016-09-27)
발명자
/ 주소
Roitshtein, Amir
Mizrahi, Tal
출원인 / 주소
MARVELL ISRAEL (M.I.S.L) LTD.
인용정보
피인용 횟수 :
0인용 특허 :
43
초록▼
A data unit is received at a network device associated with a link aggregate group. An initial key is determined based on information included in the data unit. Another key is generated based on a first field of the initial key and a second field of the initial key. A hash function is applied to the
A data unit is received at a network device associated with a link aggregate group. An initial key is determined based on information included in the data unit. Another key is generated based on a first field of the initial key and a second field of the initial key. A hash function is applied to the other key to generate a hash value. A communication link in the link aggregate group is determined based on the hash value, and the data unit is transmitted over the communication link.
대표청구항▼
1. A method for load balancing traffic in a communication network, comprising: receiving a data unit at a network device included in the communication network, the network device associated with a link aggregate group;determining a first key based on information included in the data unit;generating
1. A method for load balancing traffic in a communication network, comprising: receiving a data unit at a network device included in the communication network, the network device associated with a link aggregate group;determining a first key based on information included in the data unit;generating a second key based on a first field of the first key and a second field of the first key;applying a hash function to the second key to generate a first hash value;determining, based on the first hash value, a second hash value having a length different than a length of the first hash value;determining, based on the second hash value, a communication link in the link aggregate group; andcausing the data unit to be transmitted over the determined communication link. 2. The method of claim 1, wherein generating the second key comprises: applying a commutative function to the first field of the first key and to the second field of the first key;populating one of a first field of the second key or a second field of the second key with a result of the commutative function; andpopulating the other one of the first field of the second key or the second field of the second key with one of: a constant, or a derivative of the result of the commutative function. 3. The method of claim 2, wherein applying the commutative function comprises applying an addition function. 4. The method of claim 1, wherein generating the second key is based on at least two of: an IP (Internet Protocol) address source field of the data unit;an IP address destination field of the data unit;a MAC (media access control) address source field of the data unit;a MAC address destination field of the data unit;a virtual port source field associated with the data unit;a virtual port destination field associated with the data unit;a physical port source field associated with the data unit; ora physical port destination field associated with the data unit. 5. The method of claim 1, wherein determining the second hash value comprises determining the second hash value based on a mapping of first hash values to second hash values, andwherein a range of the second hash values corresponds to a total number of communication links included in the link aggregate group. 6. The method of claim 5, wherein the mapping of first hash values to second hash values corresponds to a modulo operation with a modulus based on the total number of communication links included in the link aggregate group. 7. The method of claim 1, wherein determining the second hash value is based on a total number of communication links included in the link aggregate group. 8. The method of claim 1, wherein the second hash value is determined to mitigate polarization across the link aggregate group. 9. A network device, comprising: a network interface configured to receive a data unit;a hash value generator configured to generate a first hash value based on the data unit, the hash value generator including: (i) a key generator configured to: determine a first key based on information included in the data unit, andgenerate a second key based on a first field of the first key and a second field of the first key,(ii) a hash function calculator configured to: apply a hash function to the second key to generate a first hash value, anddetermine, based on the first hash value, a second hash value having a length different than a length of the first hash value; anda link selector configured to select, based on the second hash value, a communication link included in a link aggregate group, the selected communication link for egressing the data unit from the network device. 10. The network device of claim 9, wherein: the second key comprises a first field and a second field,one of the first field of the second key or the second field of the second key corresponds to a result of a commutative function corresponding to a source field of the first key and to a destination field of the first key, andthe other one of the first field of the second key or the second field of the second key corresponds to one of: a constant, or a derivative of the result of the commutative function. 11. The network device of claim 10, wherein the commutative function is an addition function. 12. The network device of claim 9, wherein the first field of the first key and the second field of the first key comprise two or more of: an IP (Internet Protocol) address source field corresponding to the data unit;an IP address destination field corresponding to the data unit;a MAC (media access control) address source field corresponding to the data unit;a MAC address destination field corresponding to the data unit;a virtual port source field corresponding to the data unit;a virtual port destination field corresponding to the data unit;a physical port source field corresponding to the data unit; ora physical port destination field corresponding to the data unit. 13. The network device of claim 9, wherein the hash function calculator is configured to map first hash values to second hash values according to a modulo operation with a modulus based on the total number of communication links included in the link aggregate group. 14. The network device of claim 9, wherein the hash function calculator is configured to determine the second hash value based on a total number of communication links included in the link aggregate group. 15. The network device of claim 9, wherein the hash function calculator is configured to determine the second hash value to mitigate polarization across the link aggregate group. 16. A network device for load balancing traffic in a communication network, comprising: a network interface to receive a data unit;a hash value generator to generate a hash value based on the data unit, the hash value generator including: (i) a key generator configured to generate a key based on the data unit;(ii) a hash function calculator configured to generate the hash value based on the key;(iii) a sizer configured to adjust a length of the hash value based on a total number of communication links included in a link aggregate group, the link aggregate group including the selected communication link, wherein an adjusted length of the hash value is different than an original length of the hash value; anda link selector to select, based on the hash value having the adjusted length, a communication link to egress the data unit from the network device. 17. The network device of claim 16, wherein: the key comprises a source field and a destination field,a value of one of the key source field or the key destination field is a result of a commutative function,inputs to the commutative function include a value of a first field corresponding to the data unit and a value of a second field corresponding to the data unit, anda value of the other one of the key source field or the key destination field is one of: a constant, or a derivative of the result of the commutative function. 18. The network device of claim 17, wherein the first field corresponding to the data unit and the second field corresponding to the data unit comprise at least two of: an IP (Internet Protocol) address source field corresponding to the data unit;an IP address destination field corresponding to the data unit;a MAC (Media Access Control) address source field corresponding to the data unit;a MAC address destination field corresponding to the data unit;a virtual port source field corresponding to the data unit;a virtual port destination field corresponding to the data unit;a physical port source field corresponding to the data unit; ora physical port destination field corresponding to the data unit.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (43)
Russo,Leonard E.; Paredes,Jose L.; Arce,Gonzalo R., Bijection mapping for compression/denoising of multi-frame images.
Muller, Shimon; Hendel, Ariel; Gajjar, Yatin; Wong, Michael; Puri, Rahoul; Lin, May, Network system including packet classification for partitioned resources.
Broder Andrei Z. (Mountain View CA) Karlin Anna R. (Stanford CA), System with a plurality of hash tables each using different adaptive hashing functions.
Iwata, Naoto, Vibration correction control circuit for correcting displacement of an optical axis due to vibration including camera shake and image pickup apparatus equipped therewith.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.