IP Library Granted Patent US 8,902,886
Granted Patent B2
US 8,902,886 · App. 12/428,992 · Granted Dec 2, 2014

Canonicalization of network protocol headers

Inventors: Hubertus Franke (Cortlandt Manor, NY); Douglas M. Freimuth (New York, NY); David P. Olshefski (Danbury, CT); John Tracey (Scarsdale, NY); Dinesh Verma (New Castle, NY); Charles P. Wright (Cortlandt Manor, NY)
Assignee: International Business Machines Corporation
H04L69/22H04L69/12
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 8,902,886
App. No.
12/428,992
Granted
Dec 2, 2014
Kind
B2
Abstract

A method for generating network traffic includes receiving packet header information and an optional packet payload. The received packet header information is arranged in accordance with a predetermined format. A packet of data including the packet payload and a packet header is formatted in accordance with the arranged header information. The predetermined format specifies a particular order in which packet headers are to be arranged.

Claims (44)

1. A method for generating network traffic, comprising:

receiving packet header information and a packet payload conforming to a common protocol;

arranging the received packet header information in accordance with a canonical format that imposes restrictions on header field order not imposed by the common protocol; and

forming a packet of data including the packet payload and a packet header formatted in accordance with the arranged header information,

wherein the canonical format specifies a particular order in which packet headers are to be arranged, and

wherein the formed packet of data conforms to the common protocol.

2. The method of claim 1 , wherein the packet of data is formatted to include a checksum field in addition to the packet payload and a packet header formatted in accordance with the arranged header information, wherein the checksum field is used to indicate whether the formatting of the packet headers have been altered to no longer conform to the canonical format.

3. The method of claim 1 , wherein the common protocol adheres to one or more of a Session Initiation Protocol (SIP), a Hypertext Transport Protocol (HTTP), IPv4, IPv6, CP, UDP, or SCTP.

4. The method of claim 1 , wherein the method for generating network traffic is applied to an existing packet of data to convert that existing packet of data into a packet of data having a packet header formatted in accordance with the canonical format.

5. A method for processing network traffic, comprising:

receiving a packet conforming to a common protocol;

determining whether the received packet conforms to a canonical format that imposes restrictions on header field order not imposed by the common protocol and specifies a particular order in which packet headers are arranged; and

when it is determined that the packet conforms to the canonical format, processing the packet by parsing header information of the packet in accordance with the canonical format using knowledge of the order in which the packet headers are arranged, and when it is determined that the packet does not conform to the canonical format, processing the packet by parsing header information of the packet in an arbitrary fashion, wherein parsing header information of the packet in an arbitrary fashion is more computationally expensive than parsing header information of the packet in accordance with the canonical format,

wherein the common protocol does not specify the order of packet header information.

6. The method of claim 5 , wherein determining whether the received packet conforms to the canonical format includes performing a checksum on the header information of the packet to verify that the checksum is equal to a predetermined value.

7. The method of claim 5 , wherein determining whether the received packet conforms to the canonical format includes:

detecting the presence of a checksum value within the received packet;

computing a checksum over header information of the packet;

comparing the computed checksum to the checksum value within the received packet; and

determining that the received packet conforms to the canonical format when the computed checksum equals the checksum value within the received packet.

8. The method of claim 5 , wherein the common protocol adheres to one or more of a Session Initiation Protocol (SIP), a Hypertext Transport Protocol (HTTP), IPv4, IPv6, CP, UDP, or SCTP.

9. A method for generating network traffic, comprising:

receiving packet header information and a packet payload conforming to a common protocol;

generating a header index based on formatting of the received packet header information; and

forming a packet of data including the packet payload, the packet header information, and the header index,

wherein the header index specifies a canonical format that imposes a particular order in which packet header fields are to be arranged that is not imposed by the common protocol.

10. The method of claim 9 , wherein the header index specifies a particular offset of each individual header of the header information.

11. The method of claim 9 , wherein the packet of data is formed to include a checksum field in addition to the packet payload, the packet header information, and the header index, and wherein the checksum field is used to indicate whether the formatting of the packet headers have been altered to no longer conform to the canonical format.

12. The method of claim 9 , wherein the common protocol adheres to one or more of a Session Initiation Protocol (SIP), a Hypertext Transport Protocol (HTTP), IPv4, IPv6, CP, UDP, or SCTP.

13. The method of claim 9 , wherein the method for generating network traffic is applied to an existing packet of data to convert that existing packet of data into a packet of data having conforming to the canonical format.

14. The method of claim 9 , wherein the header index further specifies a particular offset of each individual header of the header information.

15. A method for processing network traffic, comprising:

receiving a packet conforming to a common protocol;

determining whether the received packet includes a header index specifying a canonical format that imposes a particular order in which packet header fields are to be arranged based on formatting of header information of the received packet; and

when it is determined that the packet includes the header index, processing the packet by parsing the header information of the packet in accordance with the header index, and when it is determined that the packet does not include the header index, processing the packet by parsing the header information of the packet in an arbitrary fashion, wherein parsing header information of the packet in an arbitrary fashion is more computationally expensive than parsing header information of the packet with the header index,

wherein the common protocol does not impose restrictions on header field order.

16. The method of claim 15 , wherein the header index specifies a particular offset of each individual header of the header information.

17. The method of claim 15 , wherein determining whether the received packet includes a header index includes performing a checksum on the protocol headers to verify that the checksum is equal to a predetermined value.

18. The method of claim 15 , wherein determining whether the received packet includes the header index includes:

detecting the presence of a checksum value within the received packet;

computing a checksum over header information of the packet;

comparing the computed checksum to the checksum value within the received packet; and

determining that the received packet includes the header index when the computed checksum equals the checksum value within the received packet.

19. The method of claim 15 , wherein the common protocol adheres to one or more of a Session Initiation Protocol (SIP), a Hypertext Transport Protocol (HTTP), IPv4, IPv6, CP, UDP, or SCTP.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2009
From: FRANKE, HUBERTUS; FREIMUTH, DOUGLAS M.; OLSHEFSKI, DAVID P.; TRACEY, JOHN; VERMA, DINESH; WRIGHT, CHARLES P.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022589/0194 →
Continuity (1)
Related Publication 20100272125A1 · Oct 28, 2010