Appendix A. Acknowledgment Time-Outs

PPTP uses sliding windows and time-outs to provide both flow control across the internetwork as well as data buffering to keep the FEP data channel full. PPTP requires that a time-out be used to recover from dropped data or acknowledgment packets. The exact implementation of the time out is vendor-specific. It is suggested that an adaptive time-out be implemented with backoff for congestion control. The time-out mechanism proposed here has the following properties:

Independent time-outs for each destination. A device (FEP or NTS) will have to maintain and calculate time-outs for every other device with which it has active communication.

An administrator-adjustable maximum time-out unique to each device.

An adaptive time-out mechanism that compensates for changing throughput. To reduce packet processing overhead, vendors may choose to not recompute the adaptive time-out for every received acknowledgment. The result of this overhead reduction is that the time-out will not respond as quickly to rapid network changes.

Timer backoff on time-out to reduce congestion. The backed-off timer is still limited by the maximum time-out. Timer backoff should be done every time an acknowledgment packet times out.

The following are some definitions:

Packet Processing Delay (PPD) is the amount of time required for each side to process the maximum amount of data buffered in their receive packet sliding window. The PPD is the value exchanged between the FEP and NTS when a call connects. For NTS, this number should be small, for a FEP making modem connections this number could be significant.

Sample is the actual amount of time incurred receiving an acknowledgment for a packet already transmitted. The Sample is measured (not calculated).

Round-Trip Time (RTT) is the estimated round-trip time for an Acknowledge to return for a given transmitted packet. When the network link is a local network, this delay will be minimal (if not zero). When the network link is the Internet, this delay could be substantial and vary widely. RTT is adaptive; it will adjust to include the PPD and whatever shifting network delays contribute to the time between a packet being transmitted and receiving its acknowledgment.

Adaptive Time-Out (ATO) is the time that must elapse before an acknowledgment is considered lost. After a time-out, the sliding window is partially closed, and the timer is backed off.