Traffic shaping and quality of services (QoS) features are useful in deployments that need a guaranteed level of service when dealing with congestion or variable network loads. For example, in an IoT use case, when mixing live video streams as well as public Wi-Fi, the video feeds may need priority and a guaranteed level of quality, especially in a situation of public safety or surveillance. Left to itself, incoming data from the WAN to an edge router will be serviced on a first-come-first-serve basis:
- QoS functions: Allow the administrator to assign levels of priority for a given IP address hosted by the router or a specific port. QoS functions only control the uplink channel. They are particularly useful in cases where the uplink channel has much less capacity than the downlink. Typically, consumer broadband will have something like a 5 Mbps uplink and a 100 Mbps downlink, and QoS does provide a method of load balancing the constrained upstream link. QoS does not assign hard limits nor segment the link like traffic shaping does.
- Traffic shaping functions: Traffic shaping is a static form of pre-allocating bandwidth. For example, a 15 Mbps link could be partitioned into smaller 5 Mbps segments. These segments would be pre-assigned. Generally, this is wasteful since that bandwidth would not necessarily be returned back to the aggregate if needed.
- Dynamic shaping and packet priority: Modern routers enable dynamic shaping attributes. These allow the administrator to dynamically assign bandwidth segmentation rules to both ingress and egress traffic. It also can manage latency sensitive packets (such as video or user interface) for real-time applications. Dynamic shaping and packet priority allow for rules to be created based on the type of data or application rather than just the IP address or port.
Another aspect of network quality is the Mean Opinion Score (MOS). MOS is the arithmetic mean of individual values on a scale of the quality of a system from a user perspective. This is commonly used in Voice over Internet Protocol (VOIP) applications but certainly can be used for vision systems, imaging, streaming data, and user interface usability. It is based on a subjective rating of one to five (one being the worst quality, five being the best quality), and should be used in a feedback loop to increase capacity or reduce data sizes to match capacity.
- Proxy PEP: Here, the proxy acts as the middle man to mimic an endpoint
- Distribution PEP: A PEP can run on one end of the link or both (distribution model)
- Split TCP: The PEP breaks the end-to-end connection into multiple segments to overcome large delay times that affect TCP windows. These are typically used in satellite communication.
- ACK filtering: In links where the data rates are not symmetric (such as Cat-1: 10 Mbps down, 5 Mbps up), an ACK filter helps by accumulating or decimating TCP ACKs to improve performance.
- Snooping: This is a form of integrated proxy and is used to hide interference and collisions on wireless links. It intercepts duplicate ACKs in the network and drops and replaces them with a lost packet. This prevents the sender from arbitrarily reducing the TCP window size.
- D-Proxy: PEP to assist in wireless networks by distributing a TCP proxy to each side of the link. The proxies monitor TCP data packet sequence numbers by looking for packet loss. Upon detection, the proxies open a temporary buffer and absorb packets until the missing one is recovered and re-sequenced.