A Multi-layer solution for Internet Service Providers
7.2 Quality of Service at the IP layer
Current packet switched network treat all packets the same way without any preference.
They do not provide a better performance to the packets from real-time applications or streaming ones. This behaviour is called “Best Effort”, since the network gives the best possible service to all packets. New applications have appeared in the past years (P2P, grid, VoIP, etc.), which need some service guaranties. In this scenario and with the aim to reduce Operational Expenditure (OPEX), operators are merging all their legacy networks (telephony, ATM,...) to a single IP network, which should be able to provide all different services offered by previous ones, but suc an all-IP-based network needs to support QoS provisioning.
Quality of Service (QoS) is a network skill to offer different network performance to the different applications over the network. QoS is defined in terms of four parameters:
bandwidth, delay, jitter and packet loss probability.
QoS is directly related to the network architecture and network congestion. QoS allows to offer new services to the network, because it can support high bandwidth dedicated services, reduce packet loss probability, avoid and manage network congestion and organize traffic.
Two main approaches has been proposed to provide QoS:
• Integrated Services (Intserv): this architecture provides an individual treatment to each network flow. This approach clearly does not scale to the global Internet, because the number of flows in the Internet is huge and treating them individually is an unmanageable problem.
• Differentiated Services (Diffserv): this architecture treats the traffic based on data aggregation, providing the data in the same group with the same QoS. This architecture solves the scalability problem of IntServ. DiffServ does not assure ab-solute QoS guaranties, but relative treatment preference between classes. DiffServ requires complicated traffic engineering to be efficient. Pricing is part of the contract
and depends on the traffic volume emitted per class and the class itself. The absence of a direct link between cost and price complicates the pricing, so necessary for the ROI.
Although IntServ was proposed in 1994 by the IETF [108] and DiffServ was defined in 1998 ([109],[110]) none of them has yet been deployed by operators, because of the main problems previously cited (scalability and cost). Therefore, new proposals for QoS have appeared. A new QoS architecture was proposed in [96] and it is called Flow-Aware Networking (FAN).
In the following sections, an extended overview of Intserv and Diffserv is provided.
Section 7.3 explains in detail FAN architecture.
7.2.1 Integrated Services
The Integrated Services architecture [108] provides QoS based on the flow concept, in a way that mimics QoS enforcement in the telecommunications network. A data flow is a continuous traffic stream created by one user and all its packets require the same QoS.
Therefore, the minimum QoS unit in Intserv is the flow.
A key point in Intserv is the flow definition. Flows can be identified using the source and destination address, the source and destination ports and protocol. In IPv6 flow identification could be done using the Flow Label and the source and destination addresses, or just like is done in IPv4.
The IntServ architecture defines three categories of services the traditional best-effort services, guaranteed services and controlled load services [111].
• Guaranteed Services: this service is guaranteed a minimum bandwidth and max-imum delay. Each router in the e2e path must offer such requested guarantees.
• Controlled Load Services: the quality in this service is like a priorized traffic. The network gives priority to this traffic, but it does not assure any delay or bandwidth constraint.
• Best Effort Services: this service has no QoS specifications. The network delivers the traffic as soon as possible, following the conventional best-effort approach.
IntServ defines a set of service commitments that the network must fulfil to support IntServ [108]. These commitments can be classified into three categories:
• QoS commitments: are the maximum and minimum delays. Guaranteed services, which have a minimum bandwidth and maximum delay guaranteed, specify its re-quirements using the traffic characteristics (Tspec) of the flow along with the reser-vation characteristics (Rspec). Controlled load services only specify its traffic char-acteristics (Tsec) and they are negotiated at session setup, since they do not have any QoS parameter to be assured.
• Resource-sharing commitments: are collective policies that affect to flows transported by the network. There are three categories: multi-entity link-sharing, multi-protocol link-sharing and multi-service link-sharing. These categories are defined to share the same link among multiple entities or organizations, protocols or services.
• Resource reservation commitments: are defined to improve the network utilization and avoid performance degradation of the services.
Based on all these commitments, a Reference Implementation Framework (RIF) was defined with four components: [108] the packet scheduler, the admission control routine, the classifier and the reservation set-up protocol.
The packet scheduler has a set of queues where the incoming packets from different stream are forwarded. The classifier separates packets into classes so the packet scheduler can provide the desired QoS. The admission control routine is an algorithm that determines the acceptance or refusal of an incoming new flow into the system. Its decision is based on whether or not the already accepted flows are guaranteed their QoS levels. The Resource Reservation Protocol (RSVP) [112] lets the network find an adequate route to support each flow’s QoS and further adapt such routes to failures and changes in the network.
The instantiation of the RIF in a router (Figure 7.2) is defined in [108]. The routing agent deals with the computation of the routing tables. The reservation setup agent is in charge of setting aside the resources for the flows, once the admission control has accepted it. The manager agent handles the routing operation. The media transfer layer takes care of packet processing and forwarding.
7.2.2 Differentiated Services
The Differentiated services (DiffServ) approach [110] is based on the idea that traffic is al-ready classified, according to the QoS requirements for each packet. This class information is included into the packet. This is different from of Intserv which provides QoS based on
Routing Agent
Reservation Setup Agent
Management Agent
Admission Control
Routing
Database Traffic Control Database Control and
management layer
Media transfer layer
Classifier
Input driver Internet Forwarder Output driver Packet
Scheduler
Figure 7.2: Implementation Reference Model for Routers
each flow requirements, thus allowing DiffServ scheme to be scalable. Additionally, Diff-Serv core routers are capable of forwarding the packets with different Per-Hop Behaviour (PHB).
Essentially, the PHB is the QoS information written on each packet using Differentiated Service (DS) field. The current specification allows thirty two traffic classes and it also includes congestion notification information. The DS field is added to the IP header instead of Type of Service field. This compatibility tries to help in the DiffServ implementation.
The DiffServ architecture does not use any extra signaling information, only the routers need to be configured to support different PHBs.
Three main service classes are defined in DiffServ architecture:
• Expedited Forwarding: this is the service that is provided greatest quality. This service would be similar to a virtual dedicated line or a CBR ATM circuit. It is assured a minimum bitrate, a maximum packet loss rate, a mean and maximum delay and a maximum delay jitter.
• Assured Forwarding: this is a priority service, whereby no QoS parameters are assured, but traffic is processed with certain priority. Four classes are defined within this service class, with three types of guarantees per class depending on the discard packet probability. Therefore, there are twelve possible services using these cate-gory. Using the four classes, routers can be programmed to use a certain amount of resources for each class (bitrate, queueing size, etc.).
• Best Effort: no guarantees are assured for this service.
If we compare Intserv and DiffServ services we can see that the Expedited Forwarding service is equivalent to the Guaranteed service, while DiffServ’s Assured Forwarding service could be quite close to Intserv’s Controlled Load Service.
DiffServ Domain Neighbour DiffServ
Domain
Edge node
No-DiffServ node Core
node
Figure 7.3: DiffServ components
The DiffServ architecture has two types of nodes: edge and core nodes [110]. Edge nodes are in the limit of the DiffServ domains and they can be connected to other DiffServ domains or to Non-DiffServ domains (see Figure 7.3). Depending on the traffic direction, edges nodes can work as Ingress or Egress nodes (Figure 7.4). A DiffServ ingress node classifies incoming traffic into a DiffServ category in order to fulfill the Service Level Spec-ification (SLS) of packets. The SLS is a set of parameters that specifies the traffic profile and the rules to be followed by the classifier The classifier (Figure 7.4) categorises the packets using a set of filters that select the packet according to its DS field value. The traffic can be also metered, re-marked, policed and shaped (or dropped) to assure that the traffic stream is conformed to the rules defined by the SLS.
Ingress
node Egress
node
Edge node architecture
Classifier Meter
Marker Shader/Droper
Figure 7.4: Ingress and Egress nodes (DiffServ)
The DiffServ architecture has many variations and alternatives that are focused in solving the problems of the Intserv architecture. Further details concerning DiffServ can be found in [113].