Intoto’s QoS module is spread across L2 and L3 and provides assured quality to voice traffic/ processing and selected traffic flows by raising their flow priority.  These flows, priorities, and bandwidth can be configured per interface through rules and classes. The QoS module consists of the following components:

  1. Ingress policing
  2. Ingress scheduler
  3. Ingress MSS Mangling
  4. Packet classifier
  5. Token bucket traffic shaping

Standards Compliance

  • RFC 3260: New Terminology and Clarifications for DiffServ
  • RFC 2474: Definition of the Differentiated Services Field (DS Field)
  • RFC 2475: DiffServ
Ingress policing
  • In L2, active when phone call is on. Polices ingress data packets from LAN. Estimates tokens for an uplink bandwidth in a burst period of 20 msec (typical packetization time).
  • Excludes active voice call RTP bandwidths dynamically as per codec
  • Supports CPU reservation for undivided processor usage for critical voice processing time
  • Enqueues packets to ingress scheduler and signals it based on CPU reservation state. The CPU reservation state indicates if CPU is busy in voice processing at that instance
Ingress Scheduling
  • In L2, announces data packets to IP stack
  • Dequeues packet only a signal from policing module
  • In the absence of signal periodically empties the queue; ensuring that the CPU is not engaged in voice processing
Ingress MSS Mangling
  • In L2, mangles MSS of incoming SYN ACK packets to ensure that the TCP packets over uplink are of optimize size and do not delay RTP packets.
  • The MSS value is configurable and closely related to total no. of bytes sent over uplink in a burst interval
Classifier
  • Interface-based shaping on outbound packets
  • Multi-field classifier that allows classification based on 6- tuples: IP ToS, Source IP Address, Source Port Address, Destination IP Address, and Destination Port.
  • Class definition for each flow with ToS remarking option.
  • Sub-classification based on packet threshold to prioritize TCK ACK packets
  • Classes and per-hop-behavior are of 1-to-1 matching
  • Rule definition based on above multi-field parameters and associating them to classes.
Token bucket traffic shaping
  • In L3, active when phone call is on.
  • On classification, packets within the packet threshold fall into ACK/small queue.
  • Active voice call RTP packet sizes are excluded from uplink bandwidth every burst interval
  • Packets of cumulative sizes equal to this burst size are sent every burst interval
  • Small/ACK packets are prioritized in a burst size up to a pre-defined percentage (if both queues have packets).
  • Gap interval for next burst is estimated based on no. of bytes sent Hardware level priority queuing
Hardware level priority queuing
  • In L2, egress data packets and RTP packets are queued to hardware queue.
  • If both queues have packets, RTP packet (s) are transmitted first.