Router with bilateral TCP session monitoring
First Claim
1. A Transmission Control Protocol (TCP) augmented router capable of monitoring TCP sessions, the TCP augmented router comprisinga plurality of network interfaces;
- a computer memory storing a bilateral TCP state database; and
a packet router configured to implement, for each of a number of TCP bi-flow sessions established by the packet router, a bilateral TCP state machine that performs a process comprising;
establishing, in the bilateral TCP state database, a bilateral TCP state record for the TCP bi-flow session including reference TCP sequence information for monitoring the TCP bi-flow session and statistical information regarding TCP errors detected by the bilateral TCP state machine;
receiving, via a first network interface, forward session packets in transit from a source node to a target node;
receiving, via a second network interface, return session packets in transit from the target node to the source node;
monitoring the TCP bi-flow session based on received TCP sequence information from both the received forward session packets and the received return session packets and the reference TCP sequence information maintained in the bilateral TCP state record, including detecting TCP errors based on the received and reference TCP sequence information; and
updating the bilateral TCP state record for the TCP bi-flow session, including updating the reference TCP sequence information in the bilateral TCP state record based on the received TCP sequence information from the received forward and return session packets and updating the statistical information in the bilateral TCP state record when a TCP error is detected.
2 Assignments
0 Petitions
Accused Products
Abstract
A router is specially configured to implement a bilateral TCP state machine to monitor the status of TCP sessions based on TCP sequence numbers in both forward session packets and return session packets received by the router for a TCP bi-flow session. Among other things, the router may determine the status of a TCP session, for example, based on statistical information such as the number or rate of errors detected (e.g., the number of dropped packets, duplicated packets, out-of-sequence packets, and/or out-of-window packets). Each router is typically configured to collect and store status information and optionally also to use the status information in making intelligent routing decisions, such as, for example, deciding whether or not to forward a particular packet, deciding whether to reconfigure a bi-flow routing session, or updating routing table information used for routing packets.
-
Citations
30 Claims
-
1. A Transmission Control Protocol (TCP) augmented router capable of monitoring TCP sessions, the TCP augmented router comprising
a plurality of network interfaces; -
a computer memory storing a bilateral TCP state database; and a packet router configured to implement, for each of a number of TCP bi-flow sessions established by the packet router, a bilateral TCP state machine that performs a process comprising; establishing, in the bilateral TCP state database, a bilateral TCP state record for the TCP bi-flow session including reference TCP sequence information for monitoring the TCP bi-flow session and statistical information regarding TCP errors detected by the bilateral TCP state machine; receiving, via a first network interface, forward session packets in transit from a source node to a target node; receiving, via a second network interface, return session packets in transit from the target node to the source node; monitoring the TCP bi-flow session based on received TCP sequence information from both the received forward session packets and the received return session packets and the reference TCP sequence information maintained in the bilateral TCP state record, including detecting TCP errors based on the received and reference TCP sequence information; and updating the bilateral TCP state record for the TCP bi-flow session, including updating the reference TCP sequence information in the bilateral TCP state record based on the received TCP sequence information from the received forward and return session packets and updating the statistical information in the bilateral TCP state record when a TCP error is detected. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer program product comprising a tangible, non-transitory computer readable medium having embodied therein a computer program that, when run on at least one computer processor, implements a packet router for a Transmission Control Protocol (TCP) augmented router having a plurality of network interfaces and a computer memory storing a bilateral TCP state database, the packet router configured to implement, for each of a number of TCP bi-flow sessions established by the packet router, a bilateral TCP state machine that performs a process comprising:
-
establishing, in the bilateral TCP state database, a bilateral TCP state record for the TCP bi-flow session including reference TCP sequence information for monitoring the TCP bi-flow session and statistical information regarding TCP errors detected by the bilateral TCP state machine; receiving, via a first network interface, forward session packets in transit from a source node to a target node; receiving, via a second network interface, return session packets in transit from the target node to the source node; monitoring the TCP bi-flow session based on received TCP sequence information from both the received forward session packets and the received return session packets and the reference TCP sequence information maintained in the bilateral TCP state record, including detecting TCP errors based on the received and reference TCP sequence information; and updating the bilateral TCP state record for the TCP bi-flow session, including updating the reference TCP sequence information in the bilateral TCP state record based on the received TCP sequence information from the received forward and return session packets and updating the statistical information in the bilateral TCP state record when a TCP error is detected. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for monitoring Transmission Control Protocol (TCP) sessions by a TCP augmented router having a plurality of network interfaces and a computer memory storing a bilateral TCP state database, the method comprising, for each of a number of TCP bi-flow sessions established by the TCP augmented router, implementing a bilateral TCP state machine that performs a process comprising:
-
establishing, in the bilateral TCP state database, a bilateral TCP state record for the TCP bi-flow session including reference TCP sequence information for monitoring the TCP bi-flow session and statistical information regarding TCP errors detected by the bilateral TCP state machine; receiving, via a first network interface, forward session packets in transit from a source node to a target node; receiving, via a second network interface, return session packets in transit from the target node to the source node; monitoring the TCP bi-flow session based on received TCP sequence information from both the received forward session packets and the received return session packets and the reference TCP sequence information maintained in the bilateral TCP state record, including detecting TCP errors based on the received and reference TCP sequence information; and updating the bilateral TCP state record for the TCP bi-flow session, including updating the reference TCP sequence information in the bilateral TCP state record based on the received TCP sequence information from the received forward and return session packets and updating the statistical information in the bilateral TCP state record when a TCP error is detected. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification