Method and apparatus for sequence number checking
First Claim
1. A sequence number checker, comprising:
- a bit map memory storing a first multiple level bit map representing a first sequence number of a first packet received by said sequence number checker; and
a processor to compute a second multiple level bit map representing a second sequence number of a second packet received by said sequence number checker subsequent to said first packet, said second multiple level bit map being compared to said first multiple level bit map to produce a result indicating actions to be performed on said second packet.
8 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems are provided for sequence number checking. Sequence numbers of data packets are compared to a “sliding” window. The sliding window indicates a range of sequence numbers considered valid (or invalid). The size of the sliding window may be a particular value or varied. If a sequence number is “below” the sliding window, then it may be considered invalid. If a sequence number is within the sliding window, then it may be further checked to determine if a duplicate sequence number has been received. If a sequence number is “above” the sliding window, then it may be considered valid and the sliding window is advanced. The sliding window and sequence numbers are processed using multiple level bitmaps, which indicate a historical state of sequence numbers received. Furthermore, the multiple level bitmaps may comprise summary bits to summarize a state of subsequent bits.
139 Citations
14 Claims
-
1. A sequence number checker, comprising:
-
a bit map memory storing a first multiple level bit map representing a first sequence number of a first packet received by said sequence number checker; and a processor to compute a second multiple level bit map representing a second sequence number of a second packet received by said sequence number checker subsequent to said first packet, said second multiple level bit map being compared to said first multiple level bit map to produce a result indicating actions to be performed on said second packet. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
determining characteristics of a security association, the characteristics including a window size, the determining including defining a multiple level bitmap representing sequence numbers of packets; setting a bottom value and a top value to define a window based on said window size, said setting including setting at least one bit of the multiple level bitmap; receiving a sequence number for a packet; comparing said sequence number to said window, said comparison using the multiple level bitmap; setting a new top value equal to said sequence number if said sequence number is greater than the said top value; and setting a new bottom value based on said new top value and said window size.
-
-
7. A method for maintaining a window of valid sequence numbers, comprising:
-
setting a bottom value and a top value to define a window; receiving a sequence number for a packet; comparing said sequence number to said window; setting at least one summary bit in a multiple level bitmap, to set a new top value, if said sequence number is greater than said top value, wherein said at least one summary bit indicates a validity of a contiguous range of bits within said multiple level bitmap; and setting a new bottom value based on said new top value.
-
-
8. A method for checking sequence numbers, comprising:
-
receiving a sequence number for a packet; converting said sequence number to a first multiple level bit map; retrieving a second multiple level bit map stored in a bit map memory; dividing said first multiple level bit map into a first plurality of summary bits; dividing said second multiple level bit map into a second plurality of summary bits; and comparing said first and second plurality of summary bits to produce a result indicating validity of said sequence number. - View Dependent Claims (9, 10, 11, 12)
-
-
13. An apparatus for maintaining a window of valid sequence numbers, comprising:
-
means for setting a bottom value and a top value to define a window; means for receiving a sequence number for a packet; means for comparing said sequence number to said window; means for setting at least one summary bit in a multiple level bitmap, to set a new top value, if said sequence number is greater than said top value, wherein said at least one summary bit indicates a validity of a contiguous range of bits within said multiple level bitmap; and means for setting a new bottom value based on said new top value.
-
-
14. An apparatus for checking sequence numbers, comprising:
-
means for receiving a sequence number for a packet; means for converting said sequence number to a first multiple level bit map; means for retrieving a second multiple level bit map stored in a bit map memory; means for dividing said first multiple level bit map into a first plurality of summary bits; means for dividing said second multiple level bit map into a second plurality of summary bits; and means for comparing said first and second plurality of summary bits to produce a result indicating validity of said sequence number.
-
Specification