IP Library Granted Patent US 10,205,660
Granted Patent B2
US 10,205,660 · App. 15/172,835 · Granted Feb 12, 2019

Apparatus and method for packet header compression

Inventors: Ian Bruce Bernard Cox (Fremont, CA); Ariel Hendel (Cupertino, CA)
Assignee: Avago Technologies International Sales Pte. Limited
H04L45/74H04L69/22H04L69/324H04L69/325H04L45/66H04L2212/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,205,660
App. No.
15/172,835
Granted
Feb 12, 2019
Kind
B2
Abstract

The present disclosure describes a networking switch of a network and method for operating the networking switch. The networking switch communicates within the network using datagrams, such as packets and/or frames. The frames include packets of a first communication protocol or layer having headers of the first communication protocol or layer. In some situations, the packets of the first communication protocol or layer are embedded with packets of a second communication protocol or layer. Often times, one or more fields of headers of the first communication protocol or layer convey substantially similar or redundant information, such as routing information to provide an example, as one or more fields of headers of the second communication protocol or layer. In these situations, the networking switch can compress the one or more fields of the headers of the first communication protocol or layer

Claims (102)

1. An apparatus, comprising:

a plurality of receiving frame queues configured to receive a first plurality of frames;

a plurality of transmitting frame queues configured to receive a second plurality of frames;

a memory that stores instructions; and

packet processing circuitry configured to execute the instructions, which, when executed by the packet processing circuitry, configure the packet processing circuitry to:

receive a first frame from among the first plurality of frames, the first frame including a first header that is formatted in accordance with a first communication protocol or layer and a second header that is formatted in accordance with a second communication protocol or layer, wherein one or more second fields from the second header are compressed as conveying similar information as one or more first fields of the first header,

determine whether the one or more second fields from the second header should be compressed or uncompressed,

decompress the one or more second fields from the second header that convey the similar information as the one or more first fields of the first header when the one or more second fields from the second header should be uncompressed to provide a decompressed first frame, and

provide the first frame as a second frame from among the second plurality of frames when the one or more second fields from the second header should be compressed or the decompressed first frame as the second frame from among the second plurality of frames when the one or more second fields from the second header should be uncompressed.

2. The apparatus of claim 1 , wherein the first communication protocol or layer comprises:

a Layer 3 communication protocol, and

wherein the second communication protocol or layer comprises:

a Layer 2 communication protocol.

3. The apparatus of claim 1 , further comprising:

a switching network configured to route the second frame to a corresponding transmitting frame queue from among the plurality of transmitting frame queues that is associated with compressed frames.

4. The apparatus of claim 1 , wherein the apparatus is implemented within a leaf network layer of a leaf-and-spine networking architecture or a spine network layer of the leaf-and-spine networking architecture.

5. A method for operating a network, the method comprising:

receiving, by the network, a first frame including a first header that is formatted in accordance with a first communication protocol or layer and a second header that is formatted in accordance with a second communication protocol or layer, wherein one or more second fields from the second header are compressed as conveying similar information as one or more first fields of the first header;

determining, by the network whether the one or more second fields from the second header should be compressed or uncompressed,

decompressing, by the network, the one or more second fields from the second header that convey the similar information as the one or more first fields of the first header when the one or more second fields from the second header should be uncompressed to provide a decompressed first frame; and

providing, by the network, the first frame as a second frame from among a second plurality of frames when the one or more second fields from the second header should be compressed or the decompressed first frame as the second frame from among the second plurality of frames when the one or more second fields from the second header should be uncompressed.

6. The method of claim 5 , wherein the first communication protocol or layer comprises:

a Layer 3 communication protocol, and

wherein the second communication protocol or layer comprises:

a Layer 2 communication protocol.

7. A network, comprising:

a leaf network layer having one or more servers and one or more first networking switches; and

a spine network layer, communicatively coupled to the leaf network layer, having one or more second networking switches,

wherein the one or more first networking switches or the one or more second networking switches comprise:

a plurality of receiving frame queues configured to receive a first plurality of frames;

a plurality of transmitting frame queues configured to receive a second plurality of frames;

a memory that stores instructions; and

packet processing circuitry configured to execute the instructions, which, when executed by the packet processing circuitry, configure the packet processing circuitry to:

receive a first frame from among the first plurality of frames, the first frame including a first header that is formatted in accordance with a first communication protocol or layer and a second header that is formatted in accordance with a second communication protocol or layer, wherein one or more second fields from the second header are compressed as conveying similar information as one or more first fields of the first header,

determine whether the one or more second fields from the second header should be compressed or uncompressed,

decompress the one or more second fields from the second header that convey the similar information as the one or more first fields of the first header when the one or more second fields from the second header should be uncompressed to provide a decompressed first frame, and

provide the first frame as a second frame from among the second plurality of frames when the one or more second fields from the second header should be compressed or the decompressed first frame as the second frame from among the second plurality of frames when the one or more second fields from the second header should be uncompressed.

8. The network of claim 7 , wherein the first communication protocol or layer comprises:

a Layer 3 communication protocol, and

wherein the second communication protocol or layer comprises:

a Layer 2 communication protocol.

9. The apparatus of claim 1 , wherein the one or more first fields of the first header and the one or more second fields from the second header comprise:

a source address of the first frame; or

a destination address for the second frame.

10. The apparatus of claim 9 , wherein the source address of the first frame comprises;

a source Internet Protocol (IP) address, or

a Media Access Control (MAC) source address, and

wherein the destination address for the second frame comprises:

a destination IP address; or

a MAC destination address.

11. The apparatus of claim 2 , wherein the Layer 2 communication protocol comprises:

Ethernet, and

wherein the Layer 3 communication protocol comprises:

Internet Protocol version 4 (IPv4); or

Internet Protocol version 6 (IPv6).

12. The method of claim 5 , wherein the one or more first fields of the first header and the one or more second fields from the second header comprise:

a source address of the first frame; or

a destination address for the second frame.

13. The method of claim 12 , wherein the source address of the first frame comprises:

a source Internet Protocol (IP) address, or

a Media Access Control (MAC) source address, and

wherein the destination address for the second frame comprises:

a destination IP address; or

a MAC destination address.

14. The network of claim 7 , wherein the one or more first fields of the first header and the one or more second fields from the second header comprise:

a source address of the first frame; or

a destination address for the second frame.

15. The network of claim 14 , wherein the source address of the first frame comprises:

a source Internet Protocol (IP) address, or

a Media Access Control (MAC) source address, and

wherein the destination address for the second frame comprises:

a destination IP address; or

a MAC destination address.

16. The network of claim 8 , wherein the Layer 2 communication protocol comprises:

Ethernet, and

wherein the Layer 3 communication protocol comprises:

Internet Protocol version 4 (IPv4); or

Internet Protocol version 6 (IPv6).

17. The apparatus of claim 1 , wherein the plurality of transmitting frame queues are associated with a plurality of receiving devices,

wherein the memory further stores a capabilities table listing whether each of the plurality of receiving devices support compression,

wherein the instructions, when executed by the packet processing circuitry, further configure the packet processing circuitry to identify a receiving device from among the plurality of receiving devices destined to receive the first frame, and

wherein the instructions, when executed by the packet processing circuitry, configure the packet processing circuitry to determine whether the one or more second fields from the second header should be compressed or uncompressed based on information corresponding to the receiving device from the capabilities table.

18. The apparatus of claim 1 , wherein the plurality of transmitting frame queues are associated with a plurality of receiving devices,

wherein the memory further stores a capabilities table listing whether a plurality of communication links associated with the plurality of receiving devices support compression,

wherein the instructions, when executed by the packet processing circuitry, further configure the packet processing circuitry to identify a receiving device from among the plurality of receiving devices destined to receive the first frame, and

wherein the instructions, when executed by the packet processing circuitry, configure the packet processing circuitry to determine whether the one or more second fields from the second header should be compressed or uncompressed based on information corresponding to a communication link from among the plurality of communication links that corresponds to the receiving device from the capabilities table.

19. The method of claim 5 , further comprising:

identifying, by the network, a receiving device from among the plurality of receiving devices destined to receive the first frame, and

wherein the determining comprises:

determining whether the one or more second fields from the second header should be compressed or uncompressed based on information corresponding to the receiving device from a capabilities table.

20. The method of claim 5 , further comprising:

identifying, by the network, a receiving device from among the plurality of receiving devices destined to receive the first frame, and

wherein the determining comprises:

determining whether the one or more second fields from the second header should be compressed or uncompressed based on information corresponding to a communication link from among a plurality of communication links that corresponds to the receiving device from a capabilities table.

21. The network of claim 7 , wherein the plurality of transmitting frame queues are associated with a plurality of receiving devices,

wherein the memory further stores a capabilities table listing whether each of the plurality of receiving devices support compression,

wherein the instructions, when executed by the packet processing circuitry, further configure the packet processing circuitry to identify a receiving device from among the plurality of receiving devices destined to receive the first frame, and

wherein the instructions, when executed by the packet processing circuitry, configure the packet processing circuitry to determine whether the one or more second fields from the second header should be compressed or uncompressed based on information corresponding to the receiving device from the capabilities table.

22. The network of claim 7 , wherein the plurality of transmitting frame queues are associated with a plurality of receiving devices,

wherein the memory further stores a capabilities table listing whether a plurality of communication links associated with the plurality of receiving devices support compression,

wherein the instructions, when executed by the packet processing circuitry, further configure the packet processing circuitry to identify a receiving device from among the plurality of receiving devices destined to receive the first frame, and

wherein the instructions, when executed by the packet processing circuitry, configure the packet processing circuitry to determine whether the one or more second fields from the second header should be compressed or uncompressed based on information corresponding to a communication link from among the plurality of communication links that corresponds to the receiving device from the capabilities table.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER AND APPLICATION NOS. 13/237,550 AND 16/103,107 FROM THE MERGER PREVIOUSLY RECORDED ON REEL 047231 FRAME 0369. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048549/0113 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047231/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: COX, IAN BRUCE BERNARD; HENDEL, ARIEL
To: BROADCOM CORPORATION
Reel/Frame 038802/0218 →
Continuity (2)
Provisional Application 62170525 · Jun 3, 2015
Related Publication 20160359739A1 · Dec 8, 2016
Cited By (2)
US 12,192,310 US 12,532,218