9. NETWORK FEATURES
Quality of Service
In the fields of packet-switched networks and computer networking,
the traffic engineering term Quality of Service (QoS) refers to
the probability of the network meeting a given traffic contract,
or in many cases is used informally to refer the probability of
a packet passing between two points in the network. While most of
the issues involving QoS relate to wide area networking, with todays
high levels of traffic running over Local Area Networks QoS is becoming
more of an issue within the LAN, and is often supported by Ethernet
switches.
There is a school of thought which says why bother with a QOS mechanism.
If the network is that busy that it needs to start dropping packets
then its better to add more bandwidth, because eventually the priority
packets will be discarded due to too much traffic.
Why do we require a Quality of Service?
When the Internet was first being created, there was no perceived
need for a QoS application. In fact the entire internet ran on a
best effort system. There were 4 type of service
bits and three precedence bits provided in each message,
but they were largely unused. There are many things that can happen
to packets as they travel from origin to destination and they result
in the following problems, as seen from the point of view of the
sender and receiver:
- dropped packets the routers might fail to deliver
(drop) some packets if they arrive when their buffers are already
full. Some, none, or all of the packets might be dropped, depending
on the state of the network, and it is impossible to determine
what happened in advance. The receiving application must ask for
this information to be retransmitted, possibly causing severe
delays in the overall transmission.
- delay it might take a long time for a packet to
reach its destination, because it gets held up in long queues,
or takes a more indirect route to avoid congestion. Alternatively,
it might follow a fast, direct route. The delay is very unpredictable.
- out-of-order delivery when a collection of related
packets are routed through the internet, different packets may
take different routes, each resulting in a different delay. The
result is that the packets arrive in a different order than the
one with which they were sent. This problem necessitates special
additional protocols responsible for rearranging out-of-order
packets once they reach their destination.
- error sometimes packets are misdirected, or combined
together, or corrupted, while en route. The receiver has to detect
this and, just as if the packet was dropped, ask the sender to
repeat itself.
Top 
Applications requiring QoS
A Quality of Service may be required for certain types of network
traffic, for example:
- streaming multimedia may require guaranteed throughput
- IP telephony may require strict limits on jitter and delay
- dedicated link emulation requires both guaranteed throughput
and imposes limits on maximum delay
- a safety-critical application, such as remote surgery may require
a guaranteed level of availability (this is also called hard QoS).
These types of service are called inelastic, meaning that they
require a certain level of bandwidth to function if they
get more than that they cant use it, and if they get less,
then they cant function at all. By contrast, elastic applications
can take advantage of however much or little bandwidth is available.
Obtaining QoS
There are essentially two ways to provide QoS guarantees. The first
is simply to provide lots of resources, enough to meet the expected
peak demand with a substantial safety margin. This is nice and simple,
but some people believe it to be expensive in practice, and cant
cope if the peak demand increases faster than predicted: deploying
the extra resources takes time.
The second one is to require the network to make reservations for
certain traffic types.
Types of QOS
IntServ
In computer networking IntServ or integrated services is a system
that attempts to guarantee quality of service (QoS) on networks.
In other words, IntServ is designed to allow video and sound to
reach the user without interruption.
It is a fine-grained system which is often contrasted with DiffServs
coarse-grained system.
The idea of IntServ is that every router in the system implements
IntServ, and every application that requires some kind of guarantee
has to make an individual reservation. Flow Specs describe
what the reservation is for, while RSVP is the underlying
mechanism for making them.
Flow Specs
There are two parts to a flow spec:
- What does the traffic look like? Done in the Traffic SPECification
or TSPEC part.
- What guarantees does it need? Done in the service Request SPECification
or RSPEC part.
RSVP
The Resource ReSerVation Protocol (RSVP) is described in RFC 2205.
All machines on the network capable of sending QoS data send a PATH
message every 30 seconds, which spreads out through the network.
Those who want to listen to them send a corresponding RESV (short
for Reserve) message which then traces the path backwards
to the sender. The RESV message contains the flow specs.
The routers between the sender and listener have to decide if they
can support the reservation being requested, and if they cannot
then send a reject message to let the listener know about it. Otherwise,
once they accept the reservation they have to carry the traffic.
The routers then store the nature of the flow, and also police
it. This is all done in soft state, so if nothing is heard for a
certain length of time, then the reader will time out and the reservation
will be cancelled. This solves the problem if either the sender
or the receiver crash or are shut down incorrectly without first
cancelling the reservation. The individual routers may, at their
option, police the traffic to check that it conforms to the flow
specs.
In summary, RSVP has the following attributes:
- RSVP makes resource reservations for both unicast and many-to-many
multicast applications, adapting dynamically to changing group
membership as well as to changing routes.
- RSVP is simplex, i.e., it makes reservations for unidirectional
data flows.
- RSVP is receiver-oriented, i.e., the receiver of a data flow
initiates and maintains the resource reservation used for that
flow.
- RSVP maintains soft state in routers and hosts,
providing graceful support for dynamic membership changes and
automatic adaptation to routing changes.
- RSVP is not a routing protocol but depends upon present and
future routing protocols.
- RSVP transports and maintains traffic control and policy control
parameters that are opaque to RSVP.
Problems
The problem with IntServ is that many states must be stored in
each router. As a result, IntServ works on a small-scale, but as
you scale up to a system the size of the Internet, it is difficult
to keep track of all of the reservations. As a result, IntServ is
not very popular.
Top 
DiffServe
DiffServ or differentiated services is a method of trying to guarantee
quality of service on large networks such as the Internet, but it
is increasingly being used within the LAN on higher end Ethernet
switches.
DiffServ deals with bulk flows of data rather than single flows
and single reservations. This means that a single negotiation will
be made for all of the packets from, for example, a single ISP,
or a single university. The contracts resulting from these negotiations
are called service level agreements. These service level
agreements will specify what classes of traffic will be provided,
what guarantees are needed for each class, and how much data will
be sent for each class.
A DiffServ cloud is a collection of DiffServ routers.
When packets enter a DiffServ cloud they are first classified by
the sender. The sender sets the type of service field
(which hence is also called DiffServ Code Point DSCP), in
the IP header according to the class of the data, so that the better
classes get higher numbers.
As the packets enter the DiffServ cloud they are policed by the
receiver. If there is so much traffic that it breaches the service
level agreement, then the sender may be liable for fines, according
to the details of the contract. Within the DiffServ cloud, all the
individual routers need to do is to give highest priority to the
packets with the highest value in the type of service field, which
is simple to implement. There may also be a discard policy on the
frequencies with which each type of packet is discarded if the router
runs out of buffer space.
Example
There are many ways to split up traffic into classes. For example,
the traffic may be split into first, second, and third classes.
In each router, First class traffic takes precedence over second
class traffic, which takes precedence over third class.
Special handling may be done in at least two different ways:
- preferential forwarding, where more recent higher precedence
packets are allowed to jump the queue over old lower precedence
packets
- preferential discarding, where buffer space for higher-preference
packets is allowed to grow at the expense of lower precedence
packets which are discarded
There are also many other schemes involving hybrids of these and
other Quality of Service strategies.
- Usually it is done by the router which connects a local area
network to the Internet. The router then decides for example,
to put interactive traffic like remote shells or online games
to maximum priority in order to reduce ping time. Other traffic
like HTTP or SMTP then get some lower priority while usual downloads
like FTP or peer to peer networks are getting the lowest priority.
- The decision about which traffic should get high priority usually
depends on the intended usage of the network connection. Another
approach for deciding which traffic is important is the TOS/DiffServ
field in the IP header.
Advantages of DiffServ
One advantage of DiffServ, is that all the policing and classifying
is done at the boundaries between DiffServ clouds. This means that
in the core of the Internet, routers can get on with doing the job
of routing, and not care about the complexities of collecting payment
or enforcing agreements.
Disadvantages of DiffServ
One disadvantage is that the details of how individual routers
deal with the type of service field is somewhat arbitrary, and it
is difficult to predict end-to-end behaviour. This is complicated
further if a packet crosses two or more DiffServ clouds before reaching
its destination.
From a commercial viewpoint, this is a major flaw, as it means
that it is impossible to sell different classes of end-to-end connectivity
to end users, as one providers first class packet may be anothers
third class packet. Internet operators could fix this, by enforcing
standardised policies across networks, but are not keen on adding
new levels of complexity to their already complex peering agreements.
Top 
MultiLayer Network Equipment
Network equipment, that supports DiffServ and perhaps IntServ,
are called multilayer network equipment. A switch that supports
DiffServ and perhaps IntServ is called a multilayer switch.
However, the market has not yet favoured QoS services. Some people
believe that this is because a dumb network that offers
sufficient bandwidth for most applications, most of the time, is
already economically stable, with little incentive to deploy non-standard
stateful QoS-based applications.
Internet peering arrangements are already complex, and there appears
to be no enthusiasm among providers for supporting QoS across peering
connections, or agreement about what policies should be supported
in order to do so.
QoS sceptics further point out that if you are dropping many packets
on elastic low-QoS connections, you are already dangerously close
to the point of congestion collapse on your inelastic high-QoS applications,
without any way of further dropping traffic without violating traffic
contracts.
MPLS (Multiprotocol Label Switching)
Multiprotocol Label Switching (MPLS) is a data-carrying mechanism,
operating at a layer below protocols such as IP. It was designed
to provide a unified data-carrying service for both circuit-based
clients and packet-switching clients which provide a datagram service
model. It can be used to carry many different kinds of traffic,
including both voice telephone traffic and IP packets.
With MPLS the edge routers assign a lable to the packet which defines
its path through the network, in much the same way Frame Relay assigns
a DLCI. This allows the various routers in the core of the network
to pass the packets through without the need to refer to a routing
table, thus eliminating the delays associated with making routing
decisions at each stage.
Comparison of MPLS versus IP
Unlike IP, MPLS does not define a directly usable end-point protocol.
It only defines a way of encapsulating other layer 2 and layer 3
protocols. In this regard, it is similar to a protocol like PPP.
Also unlike IP, MPLS explicitly decouples routing from forwarding,
although it can fall back to using IP-style routing if necessary.
Top 
|