TCP performance predictor
Technology is disclosed herein for monitoring a network path. In an implementation, a device on a network path obtains a burst capacity of the network path, determines a round trip time associated with a burst of traffic sent over the network path, and determines a predicted throughput of the network path based at least in part on the burst capacity of the network path and the round trip time of the burst of traffic.
1. A method for predicting a throughput of a Transmission Control Protocol (TCP) path between a sender and a receiver coupled by a network path, the method comprising:
transmitting, by a first TCP predictor on a first device, a number of test packets over the network path;
receiving, by a second TCP predictor on a second device, said test packets and sending reply packets to the first TCP predictor on said first device, said reply packets including a timestamp;
polling data from said first and second TCP predictors, by a central controller, and determining one or more network metrics of the network path based on said reply packets;
further comprising predicting, by said first TCP predictor on said first device, a throughput of said network path; and
wherein a Circuit Information Rate (CIR) associated to the first TCP predictor is modified based on said predicted throughput.
2. The method of claim 1 further comprising controlling the transmission of the test packets using said central controller.
3. The method of claim 1 wherein said central controller is located on said first or second device.
4. The method of claim 1 wherein said network metrics comprises a burst capacity and a roundtrip time.
5. The method of claim 1 , wherein said CIR is increased when said burst capacity of the network path divided by said roundtrip time for the network path is greater than the CIR.
6. The method of claim 1 , wherein said CIR is reduced when the determined throughput is less than the CIR.
7. A system for predicting a throughput of a Transmission Control Protocol (TCP) path between a sender and a receiver over a network path, the system comprising:
a first TCP predictor transmitting a number of test packets over the network path; and
a second TCP predictor receiving said test packets and sending reply packets to the first TCP predictor on the first device, said reply packets including a timestamp;
a central controller polling data from said first and second TCP predictors, and determining one or more network metrics of the network path based on said reply packets;
wherein the central controller determines a throughput of the network path based on a burst capacity divided by a roundtrip time of the network path; and
wherein the central controller determines if the throughput satisfies performance criteria associated with the network path and modifies a Committed Information Rate (CIR) of the path in order to meet said criteria.
8. The system of claim 7 wherein said network metrics comprises one or more from the group consisting of a burst capacity and a roundtrip time.
9. The system of claim 7 wherein the first TCP predictor increases said CIR when the burst capacity of the network path divided by the roundtrip time for the network path is greater than the CIR.
10. The system of claim 7 wherein the first TCP predictor reduces the CIR for the network path when the determined throughput is less than the CIR.
11. The system of claim 7 wherein said central controller is located on the same device as said first or second TCP predictor.