ARPU – Average revenue per user
CLI – Command Line Interface
CoS – Class of Service
DSCP – Differentiated Services Code Point
FTP – File Transfer Protocol
HTTP – Hyper Text Transfer Protocol
ICMP – Internet Control Message Protocol
IP – Internet Protocol
MINT - Mesh Interconnection Networking Technology
PC – Personal Computer
PRI – Primary Rate Interface
QM – Quality Manager
QoS – Quality of Service
ROI – Return On Investment
RSVP – Resource ReSerVation Protocol
RTP – Real Time Protocol
SNMP – Simple Network Management Protocol
TCP – Transmission Control Protocol
ToS – Terms of Service
TDMA – Time Division Multiple Access
VLAN – Virtual Local Area Network
VoIP – Voice over IP
WFQ – Weighted Fair Queuing
Quality of Services represents one of the most demanding requests of any service provider, thus the current White Paper aims to emphasize the benefits of the QoS mechanisms implemented in InfiNet Wireless R5000 series.
Usually, data transport networks consist of multiple hops, some network segments having high capacity throughput channels, others having smaller capability to transfer data traffic. This assumption is valid also for wireless segments in data networks: when the capacity of the transport network is reached/exceeded, packet loss and congestion will occur, hence the users will perceive the decrease in their service quality. In order to mitigate this behavior, especially in networks with presence of high importance traffic alongside trivial traffic, the QoS mechanisms are mandatory.
Similar to car traffic that is separated by specific lanes of lower or higher speeds, the quality of services (QoS) concept has the purpose to prioritize specific data network services, so that the priority traffic reaches the remote end without interruptions. The implementation of quality of services in data transport networks has three known models in nowadays IP networks:
- The first model is the best-effort delivery, where there’s no differentiation between the data streams.
- The second model is the Integrated Services model (IntServ): Applications should send their requirements for appropriate treatment within the whole network path by the protocol called resource reservation protocol RSVP (similar to a speeding ambulance with its sirens on that clears the path on each intersection through the whole city).
- The third model is the Differentiated Services model (DiffServ): The network devices will recognize the important packets, select the important packets from the whole traffic and will provide the appropriate services to them (similar to scheduling cars to fast and straight lanes on a paid highway and slow curved roads on free neighboring road).
InfiNet Wireless units are capable to perform traffic selection and prioritization based on advanced criteria. InfiNet Wireless uses the Differentiated Services model approach in order to ensure the corresponding desired quality for the most diverse and demanding applications like voice, video, business applications like CRM, remote desktop connections and so on. The detailed description about the QoS capabilities of the InfiNet Wireless units is presented in the second section of this document.
Besides the data streams differentiations, the traffic generated by VoIP applications, video surveillance systems, signaling streams, etc. must not exceed certain thresholds for delay, jitter and packets loss, so they should fit in the imposed quality parameters in order to avoid additional network resources allocation and proper network dimensioning.
For example, in VoIP traffic when a roundtrip voice delay is higher or equal to 300 ms, the caller can perceive abnormal interruptions and disruptive echoes. ITU-T G.114 recommends a maximum of a 150 ms one-way latency, representing the entire voice path from caller A to called user B. VoIP is not tolerant to packet loss. The default G.711 codec requires packet loss far less than 1% to avoid audible errors. One way to avoid congestion is adding more physical bandwidth, but this affects CAPEX and OPEX. Therefore, most of the time allocation of additional bandwidth is not a feasible solution, thus currently available resources require optimization.
QoS benefits example
When there is no prioritization in the network, the data streams will tend to use the available bandwidth (if any) and this is called a best effort network. For example, in Figure above, two services such as video streams and FTP traffic need to be transferred through a network. In case of no prioritization, congestion will occur (because the wireless link has a lower bandwidth than the amount of traffic being generated by the users) and the FTP traffic contests on the available bandwidth (because the FTP protocol adapts much better in occupying almost the entire bandwidth).
The Figure above shows the result of adding priorities and limitations to data streams. It allows to provide the needed resources to the important streams (video) and the remaining resources to lower priority services (FTP and HTTP).
Standard QoS mechanisms
QoS functions in data transmission flow:
Classification - identifies and if necessary, marks the flows. It is the most important feature of QoS, there are recommendations for the flow prioritization from standardization authorities.
OSI Layer 3
Initially for ToS field 3 bits of the IP packet header were used, which are called the IP precedence and allow eight types of IP service classes to identify or set different priority value. Later new ToS field format was specified, it is called Differentiated Services (DS) and uses 6 bits field - Differentiated Services Code Point (DSCP). IP precedence correlates with the DSCP extending the number of classes from 8 to 64:
|DSCP Name||DS Field Value (Dec)||IP Precedence (Description)|
|CS0||0||0: Best Effort|
|CS1, AF11-13||8, 10, 12, 14||1: Priority|
|CS2, AF21-23||16, 18, 20, 22||2: Immediate|
|CS3, AF31-33||24, 26, 28, 30||3: Flash - mainly used for voice signaling|
|CS4, AF41-43||32, 34, 36, 38||4: Flash Override|
|CS5, EF||40, 46||5: Critical - mainly used for voice RTP|
ToS field allocation in IP packet header:
IP precedence and DSCP standarts:
OSI Layer 2
The Class of Service (CoS) field within the L2 header can be used to set priorities. CoS is available only when 802.1Q tag is set. The IEEE 802.1Q standard defines 3 bits in a tag called user-priority bits which a locatted before CFI and VLAN ID fields. Class of Service (CoS) is a traffic management method that allows to group traffic of the same type and then process it differently, depending on priority.
CoS field allocation in frame header:
The mapping between Queues and user priority:
|7 (highest)||Network Control|
Congestion avoidance - prevents a queue from filling, allowing high-priority traffic to enter the queue. In order to do this all the subsequent packets are dropped if a queue is full.
Congestion management - provides preferential treatment to certain flows. This is done through several queuing technologies such as FIFO, PQ, CQ, WFQ, CBWQ and RTP priority queuing. If no prioritisation is configured, the FIFO (First in, first out) method is used.
The queuing mechanisms implemented by InfiNet Wireless are following:
- Strict Priority classifies the packets by flows based on specific rules (same source and destination IP address/port, protocol number and IP precedence or DSCP value) and schedules the outward transmission in a strict manner by first emptying the higher priority queues
- Weighted Fair Queuing (WFQ) classifies packets by flows and assign to each queue specified weight, it allows to speed up higher priority traffic processing and does not blok different traffic.
Traffic Shaping – responsible for buffering and scheduling for later transmission the excess inbound packets in order to ensure a constant throughput on the outbound interface. InfiNet Wireless units implement traffic shaping and are capable to offer a smooth throughput and sustain very low values for delay and jitter.
InfiNet Wireless proprietary QoS techniques are close to Ethernet QoS techniques, allows to perform prioritisation according to wide set of parameters. The main features of the MINT software QoS implementation:
- Up to 200 service classes;
Up to 32 service channels/queues;
Up to 17 priority levels for granular traffic prioritization;
End-to-end traffic prioritization through MINT network (wired/wireless);
Automatic VoIP (RTP) streams prioritization;
Automatic traffic prioritization based on DSCP, IP ToS, or 802.1p QoS;
Smart and flexible traffic classification, using any attributes including IP ToS/DSCP/802.1p tags, VLAN/IP/MAC address, protocol and port fields, etc;
Service channels and classes hierarchy for building granular QoS policies;
Policy-based IP ToS/DSCP/802.1p QoS field set/change/strip;
All QoS features are available in both routing and in switching mode;
TDMA mode of operation for minimal jitter;
Traffic shaping (absolute/relative/mixed) with maximum latency limiting (from 20 ms to 200 ms) on service class/channel basis;
Strict Priority Queuing and Weighted Fair Queuing scheduling.
The inbound traffic, after being processed by several other modules is forwarded to the QM module, which is managing all the Quality of Services parameters. Every data stream goes through the QM module before the egress or after the ingress from/to any interface. Within the QM module, the packets can be:
Classification and marking
Classification and marking in MINT software is done using simple rules applied to logical channels/queues (every rule is applied to a certain logical channel).
Every channel/queue is characterized by several parameters such as:
- Data rate;
- DSCP and ToS;
- 802.1q and 802.1p tags.
The rules distribute certain types of traffic between specified logical QoS channels, where the traffic properties are subsequently modified. Up to 200 channels can be created on a single device in order to facilitate classification of any traffic type.
Channels/queues can be organized in a hierarchical structure in order to allow bandwidth sharing between several channels/queues. Classes can be organized in a hierarchical structure in order to allow bandwidth sharing between several classes:
It allows to implement such services as oversubscription, where proper ratio implementation for multiple streams optimize the bandwidth usage, critical for applications such as WISP, where the users are not 24/7 concurrently connected.
Scheduling and queuing
Each channel/queue can have a priority (from 0 to 16) assigned:
Once assigned, a MINT priority will be automatically recognized by every node inside the MINT network. Each priority value corresponds to a queue. Once in a queue, every packet is scheduled according to the queuing algorithm set. By default, all traffic passing through an InfiNet Wireless node is marked with MINT priority 15.
The automatic prioritization, once activated, provides by default differentiation for several traffic types such as:
- Packets of the RTP (Real Time Protocol) traffic (voice traffic) - enabled by default;
Packets with specific dot1p (802.1p) label value - enabled by default;
Packets with specific ToS field value;
- TCP ACK packets.
A latency value between 5 ms and 200 ms can be set for each channel representing the maximum time that a packet can stay in the queue. Packets are discarded, if they are still in the queue after the value set for latency is reached. The higher the latency value, the larger the queue length. Example of prioritized traffic queues is shown below:
The MINT allows also transparent packet prioritization. QM manager is able to transparently map 802.1p/ToS/DSCP priority to MINT priority for ease deployment:
00/00/00 (CS0, 000000)
01/01/08 (CS1, 001xxx)
02/02/16 (CS2, 010xxx)
03/03/24 (CS3, 011xxx)
04/04/32 (CS4, 100xxx)
05/05/40 (CS5, 101xxx)
06/06/48 (CS6, 110xxx)
07/07/56 (CS7, 111xxx)
Example mapping from standard ToS to MINT priority is shown on the picture below. The ToS value is not used inside MINT network and remains transparent to this network.
Dynamic traffic shaping and over-subscription: in order to allocate bandwidth dynamically between different channels on the same interface, service classes must be implemented. A service class combines several channels into a logical group for bandwidth sharing.
QoS monitoring can be done via WebGUI, CLI or SNMP. When using SNMP, detailed channel information can be obtained such as channel and class parameters, current data rates per channel, drop statistics per channel.
Automatic voice prioritization is done when RTP traffic is sensed via the network. The traffic will be assigned to queue 24 and MINT priority 2.
IP traffic shaping between two PCs
The following rules apply to the two channels:
- If there is no traffic from Channel 1, Channel 2 can use 70% of the available bandwidth, otherwise it can use only maximum 20%, meaning 2 Mbps.
- Channel 1 has a guaranteed 80% bandwidth out of the 10 Mbps available and if there is no traffic from Channel 2, it can use all 10 Mbps.
The devices configuration to perform traffic processing according to the required rules is shown on the Figure below:
In order to test this scenario third party software must be used, such as iperf utility or "Bercut" testing device.