Integrated Services Mappings for Low Speed Networks
Extracted elements (22)
For Controlled Load, there are no error terms and per-hop delay bounds are not communicated to routers. A router should not introduce delay greater than b/r due to fragment transmission, though meeting this may be difficult for flows with very small bucket depth b.
For Guaranteed Service, routers can advertise deviation from the ideal fluid flow model using error terms C (rate-dependent) and D (rate-independent). A network operator can configure low-speed link parameters so that D is set to a desired value, giving explicit control over delay performance.
Suspend/resume optimizes bandwidth by minimizing MLPPP pre-fragmentation header overhead and can provide better delay, but requires byte-by-byte scanning of all outgoing and incoming data. Fragmentation can be implemented without additional data stream scanning and suits systems with only frame-oriented transmission control.
The v.42 protocol used in most POTS modems provides link-layer reliability via retransmission, which can cause frames to experience significant variable delays and implicitly steal link bandwidth. This makes it extremely difficult to honor Guaranteed Service reservations on such links, and even Controlled Load service becomes difficult at high utilization when retransmissions occur.
The services described are only provided if both PPP link endpoints support the ISSLL architecture and mechanisms. Support is determined during PPP negotiation. The non-shared, dual-simplex nature of point-to-point links allows all admission control decisions to be made locally.
A relatively simple method of class mapping that MAY be used is one where class values correspond to predefined levels of service, grouping all admitted flows into buckets roughly corresponding to the desired service level.
A strict implementation of admission control for Guaranteed Service on byte-stuffed PPP links SHOULD double the RSpec of link traffic in making flow admission decisions, since byte stuffing can in the worst case double frame sizes.
Admission control and link scheduling algorithms used with POTS modems MUST be prepared to compensate for variability in link rate and delay. Implementations MUST be able to gracefully handle the pathological case where link rate drops below currently reserved capacity.
Admission control for Guaranteed Service over links using bit stuffing SHOULD multiply the RSpec rate of all flows by 1.2 to account for up to 20% overhead from bit stuffing when determining whether a new flow can be admitted.
Admission control MUST compute CMTU, eMTU, and eRate for Controlled Load Service, and MUST compute CMTU, eMTU, eRate, and D for Guaranteed Service.
Admission control SHOULD compare the eRate of a request against the remaining available bandwidth to determine if the requested rate can be delivered.
Best effort traffic SHOULD be logically separated from QoS traffic and mapped to a fragmentable (MCML classes 0-3 short or 0-15 long) or suspendable (RTF classes 0-6) class.
Both compression gain and elision gain MUST be included in admission control calculations. Admission control MUST decide whether to admit a flow based on rate and delay.
In dynamic class mapping, packets with the tightest delay constraints should not be assigned to classes for which relatively large packets are currently being transmitted. The link-level scheduler SHOULD control how much link bandwidth is assigned to each class at any instant.
Policing of non-conformant traffic SHOULD always be done at the granularity of individual packets. When dropping non-conformant traffic, a network element SHOULD drop entire packets rather than individual fragments.
When deciding whether to admit a flow, admission control MUST compute the impact of header compression (Van Jacobson or Casner-Jacobson), prefix elision, CCP, fragment header option used, and fragmentation vs. suspend/resume approach on MTU size, rate, and fragment size.
When using dynamic class mapping, each packet when fragmented MUST have the same class value assigned to all its fragments. Beyond this requirement, the link scheduler may assign individual packets to changing class numbers as necessary to meet reservation requirements.
Admission control computes effective rate (eRate) as: number of fragments = CMTU div (FRAG-Header); eMTU accounts for last fragment remainder; eRate = eMTU/CMTU * R. This gives the worst-case bandwidth required at the link layer after fragmentation overhead.
Dynamic class mapping allows class values to be mapped to individual packets rather than assigning flows to fixed classes. The class number MUST remain constant on an intra-packet basis (all fragments of one packet share the same class) but MAY vary inter-packet.
Predefined class mappings assign all admitted flows to one of several service buckets. Example mappings cover MCML short (2-bit), MCML long (4-bit), and RTF (3-bit) class fields across Best Effort, Delay Sensitive with various bounds, and Network Control service levels.
The Guaranteed Service D error term for a fragmenting implementation is calculated as D = Dlink + FRAG/LinkRate, and for a suspend/resume implementation as D = Dlink + pHeader + pDelay, where Dlink is fixed link overhead delay.
Implementations using observed or theoretical average packet expansion for bit- or byte-stuffing admission control are vulnerable to denial-of-service attacks: an adversary can intentionally send traffic causing worst-case stuffing expansion, causing QoS guarantees to be violated for other flows. This argues strongly for using worst-case expansion factors even for controlled load service.