|Thread Links||Date Links|
|Thread Prev||Thread Next||Thread Index||Date Prev||Date Next||Date Index|
Some comments on LAPS (Draft X.86, April 2000) to get the ball rolling.
LAPS is a modified version of PPP with the following similarities:
· Uses the same HDLC-like frame
· Uses the same byte-stuffing / flag pattern delineation mechanism
· Supports only point-to-point Layer 2 topology (i.e. no address/label fields)
Differences wrt PPP:
· Uses a much-simpler version of Link Control Protocol (no 'Protocol' field, so no LCP frames; only 2 states instead of "16 events, 12 actions, and 11 LCP frame formats")
· Uses the 'Address' field to identify among IPv4, IPv6, etc. (PPP fixes it as FF).
The simplified LCP is laudable, but the similarities to PPP/HDLC/SDH mean that LAPS shares the same drawbacks in throughput performance and the service effects of flag/byte-stuffing delineation. The following elaborates on these issues.
Packet based traffic generally requires received frames to be error-free. Any frames lost due to bit errors within the frame payload or due to loss of frame delineation will usually trigger a request for re-transmission at a higher layer. The re-transmission requests will then generate more traffic. This positive feedback mechanism makes frame loss performance an important parameter for packet-based traffic in general.
Three aspects of throughput are discussed: deterministic versus statistical behaviour, the effect of frame inflation on throughput, and the effect of delineation performance on throughput.
1. Deterministic vs Statistical Throughput
All currently defined Ethernet physical layers provide a deterministic throughput capacity. The throughput capacity is independent of the data contents. This is an important attribute, since it permits predictable performance.
For byte-oriented LAPS, frame delineation uses a simple flag mechanism: a unique one-byte pattern is used to detect both beginning and end of each frame. To ensure the flag pattern is unique, any occurrences of it must be removed from the data prior to encapsulation. This is done by replacing each occurrence of the flag pattern with a sequence of two bytes: a special 'escape' byte, followed by a slightly modified version of the flag pattern. Because of its special meaning, the 'escape' character must also be 'escaped'. Consequently, the frame length of the payload is inflated in a non-deterministic manner. Since two byte patterns are replaced by pairs of bytes, the probability that a random data byte will be 'escaped' is p = 1/128.
For a frame F bytes long prior to 'escaping', the average frame-length after 'escaping' will be: F' = F + m bytes
Where F is the un-escaped frame length in bytes
m is the mean of the distribution of the number of bytes that must be escaped in the original F-byte frame
Assuming random data the number of bytes 'escaped' per F-byte frame follows a binomial distribution with:
probability of 'success': p = 2/256 = 1/128
probability of 'failure': q = 1 - p = 127/128
number of trials: n = F
mean of the distribution is: m (mu) = np = F*(1/128) bytes
standard deviation is: s (sigma) = sqrt (npq) = sqrt (F*127) / 128
The tail of this distribution is extremely long: it reaches zero only after a potential doubling of the frame size.
The assumption of random data could easily be invalidated by applications that happen to produce the escaped octet values more frequently than a random process would.
Vulnerability to Emulation Attacks
The inflation problem is aggravated by the possibility of emulation attacks. Malicious users can generate frames with a high density of octet values which must be 'escaped'. This definitely invalidates the assumption of random data and skews the distribution towards the worst-case of a doubling of frame size.
Service-Impacting Effects of Non-Deterministic Inflation
The non-deterministic inflation imposed by LAPS byte stuffing could make tightly controlled frame delay variation (with acceptable absolute delays) very difficult if not impossible to achieve. The quality of frame-based real-time services, such as voice-over-IP, would suffer as a consequence.
2. LAPS Frame Inflation: Effect on Throughput
The throughput capacity of an error-free link is inversely related to the overhead required by a given encapsulation mechanism. The inflation introduced by LAPS reduces throughput in a non-deterministic manner, by adding more overhead in an error-free environment.
Once errors are introduced, throughput is diminished in two ways: random errors occurring within the frame; and frames lost through loss of delineation.
For frames on a link with given BER, the probability of errors within the frame are a function of the frame length: the longer the frame the higher the probability of an error occurring in the frame. As seen above, LAPS inflation can significantly increase the frame length. This degrades the throughput by providing a larger target for random errors to hit.
3. LAPS Delineation Performance: Effect on Throughput
The second factor affecting throughput on a link with non-zero BER is frame delineation. It is also affected by choice of encapsulation. LAPS frames rely on error-free matches to the flag pattern to indicate start and end of frame for every frame. This leads to an unnecessarily high probability of lost frames due to loss of delineation. This in turn contributes to a lower absolute throughput than could be realized with a more robust delineation mechanism.
More robust delineation mechanisms are possible that are designed to be error-tolerant. This allows them to coast through random bit errors that would defeat a flag delineation mechanism. This would reduce the number of frames lost due to delineation failures.
Mapping approaches for Ethernet over SONET/SDH which do not use flag-based delineation are preferable.
David W. Martin & Tim Armstrong