High-Speed Networks - CSE UNSW - University of New South Wales

Document Sample
High-Speed Networks - CSE UNSW - University of New South Wales Powered By Docstoc
					     Quality of Service
      in the Internet

International Conference on Networking 99

                    Sanjay Jha
        The University of New South Wales
                Sydney, Australia
Tutorial Schedule

Start of session 9.00 a.m.
Morning Tea 10 - 10.30 a.m
Lunch 12.30 - 2.00 p.m.
Afternoon Tea 3.30 - 4.00 p.m.
End of session 5.00 p.m.

                  icon99          2
Application level QoS Management
IntServ Model
  Subnet Bandwidth Manager
DiffServ Model
  Bandwidth Broker
QoS Routing and MPLS
                    icon99          3
A QoS Song
   We don’t need no reservation
   We don’t need no ad-mission control
   All applications must be adaptive
   The Net works just fine, so leave it alone
   Hey! Professor! Leave the Net alone!

   We don’t need no traffic management
   Over-provision bandwidth for all
   The only true god is TCP/IP
   The Net isn’t broken, so leave it alone
   Hey! Professor! Leave the Net alone!

   All we want is flat rate pricing for all
            src: Keshav: “An Engineering Approach to Computer Networking”

                                icon99                                      4
Application Requirements
Quality of Service requirements
  acceptable error rate
  bounds on delay and jitter
  sufficient bandwidth
These requirements vary from application
 to application
    Video on demand (VoD) can tolerate moderate
     end-to-end delay
    Video telephony or conferencing low end-to-end
                       icon99                         5
Video Transmission

            icon99   6
Adaptive Playback

            icon99   7
Real-time Transport
Protocol (RTP)
Application layer software protocol
Fields contain time-stamp and sequence
  reconstruct temporal properties of stream
Designed to work with a variety of
  most of the a/v tools used it over UDP/IP
Application interoperability facilitated by
 RTP profile payload formats for variety of
 a/v encoding       icon99                   8
Real-time Transport
Control Protocol
RTCP companion protocol for monitoring
 and management
  feedback to sender periodically on delay,
   jitter, losses
  sender may adjust transmission rates (codec
RTCP traffic limited to 5% of total
Implementations and more information from
                     icon99                      9
RTP and RTCP Header

                        RTP header

                    RTCP header
           icon99                    10
Current Internet Model

Best effort service
  simple interface, robust
Applications independent of underlying
No central administration
  autonomous administration of subnets
Internetworking of heterogenous systems
 and network
                       icon99             11
Deficiencies in Current

No performance guarantee
  just one class best effort service
No service level agreement (SLA)
Most routers based on old packet
 switching technology
Need service model with several classes
  each meeting needs of set of applications

                       icon99                  12
IETF Efforts

IETF is standardising extensions to best-
 effort model
Integrated Services Model (IntServ)
Differentiated Services Model (DiffServ)

                    icon99                   13

Queue Management Basics
Admission Control
Congestion Control
Why Queuing?
                    Audio conference

                     File Transfer

Delay sensitive connections such as audio-conference
needs priority over file transfer
                          icon99                15
  Weighted Fair Queuing

WFQ Arranges traffic into flows
  Messages are transmitted in a fair order

  Low Volume get priority

  High-volume conversations share the link

                       icon99                 17
Fair Queuing Operation
                   Packets fair queued
                                                        Output Order
                      6          4     1                         1

                          5       2
                                  3                              6

  Common flow discriminators are:
     • src/dst network address, src/dst MAC address
     • src/dst port or socket numbers
     • Quality of Service / Type of Service (QOS/TOS)

                              icon99                                 18
Priority Queuing

                Priority List
                for E0

                  Telnet                  HIGH

                   Ftp                   MEDIUM

                   IPX                   NORMAL

                 Default                   LOW


       Packet arrives
                           icon99                 19
Priority Queue Service
Empties the high-priority queue before
 servicing the medium-priority queue
Mission critical traffic transmitted before
 other traffic
Lower priority traffic may be delayed or
Network administrator has control over
     WFQ automatically prioritises traffic
                          icon99               20
Class Based Queuing(CBQ)

Assign traffic to several possible queues
Router services each queue sequentially ,
 transmitting a configurable quantity of
 traffic from each source
    Stops one type of traffic from monopolising the
     queue (as in priority queuing)
Queue 0 is system queue (keepalive etc.),
 emptied before other queues

                        icon99                         21
Example of CBQ
                                    High priority
                                                    0 (System)

                                                    1   Deliver x number of
                                                        bytes per cycle

Packet in     Custom Queue
            List for an interface

• Queues handled in round-robin fashion

                                         icon99                               22
Linear Bounded Arrival
Process (LBAP)

the number of bits transmitted in any
 active interval of length t is less than ρt
     Source bounds # bits sent in any time interval by
      a linear function of time
 ρ is the long term rate
σ is the burst limit

                         icon99                       23
Leaky bucket

Token bucket fills up
 at rate ρ
Largest # tokens < σ
paket length of n
 needs n tokens
    can’t accumulate more
     than σ tokens
                                Src: Keshav, An Engineering Approach
                                to Computer Networks

                       icon99                                     24
Simple Example


                                                Time (sec)
                1         2            3    4

  Both flows have same average rate but different token
  bucket description
                         icon99                           25
Global Synchronisation

At bottleneck in the path, each flow could
 experience loss at the same time
     packets dropped from all flows in the path
     creates global synchronisation problem
All flows back off and go into TCP slow
 start at roughly same time
  all flows starting experiencing better
   throughput, increase their window size
     again start experiencing congestion
                         icon99                    26
Congestion Avoidance

                      src: Keshav: “An Engineering Approach to Computer Networking”

     Behaviour of 3 TCP-Tahoe sources.
                     icon99                                                     27
Random Early Detection

At bottleneck router, drop packets from
 arbitrary flows
Monitor queue depth
  as it begins to fill, randomly select arbitrary
   flows from which to drop packet
     queue length threshold (fill level at which packet
      dropped) configurable by network administrator
Other flavours eRED, wRED, dRED

                          icon99                           28
Integrated Services Packet

            icon99           29
IntServ Aim

Mechanism for applications to choose
 between multiple level of delivery of its
  hide underlying heterogenous network
Flow oriented service to provide the
 existing datagram service as well as soft
 connection oriented communication
Special handling of certain types of traffic
                     icon99                  30
Integrated Services

High-speed networks have enabled new
 real-time multimedia applications
  they also need “deliver on time” assurances
   from the network
  Example of such services are
    industrial control

                          icon99                 31
Flow Definition
Flow is a chain of packets from a sending
 application to a receiving application
It has its own traffic and performance
  video stream (each frame sent as a sequence
   of packets)
    needs certain amount of bandwidth and bound on
     end to end delay/jitter
                      icon99                     32
Elastic application
Always wait for packets to arrive before
 processing data
  adaptive flow control
     based on sender’s view of network capacity
  Error control necessary
     detection and retransmissions
interactive burst (telnet)
interactive bulk (ftp)
Best effort Delivery
                        icon99                     33
Real-time applications

No flow control
Timeliness more important
  discard late arrivals
Tolerant real-time (packetised audio-
 video streaming)
  controlled or predictive service model
Intolerant real-time (interactive voice)
  guranteed service model

                    icon99                  34

Flow specifications
Service classes
Admission control
Resource reservation

                   icon99   35
Reservation Specs
Reservation request has two parts
  flowspec and filterspec
  desired QoS used by admission control and
   scheduler during packet forwarding
  set of data packets to receive the QoS
  packets not passing the filter forwarded
   using best effort service
                      icon99                   36

Rspec: describes service requested
 from network
     controlled-delay: level of delay required
     guaranteed/predictive: delay target
Tspec: describes flow's traffic
     average bandwidth + burstiness: token bucket
     token rate r
     bucket depth B

                         icon99                      37
Service classes
Two Service class
  guaranteed delay
Controlled Service
  applications provide Tspec
    no delay or loss parameters negotiated
  better than best effort service
    same bounds as unloaded network in same

                        icon99                 38
Guaranteed Service Class

Deliver traffic with a bandwidth guarantee
 and delay bound
Sender specifies Tspec and receiver
 subsequently requesting an appropriate
 Rspec for desired QoS

                    icon99                39
Admission Control
Admission Control
  decide if a new flow can be supported
    look at Tspec and Rspec
  algorithms such as Weighted Fair Queue
   (WFQ) may be implemented at routers
  applied on per-packet basis to ensure that
   flow conforms to Tspec
    may drop offending packets (RED)
    mark them non-conformant (if resource available)
                       icon99                      40
Reservation Protocol
proposed Internet standard: RSVP
designed to support multicast
  Applications such as Vic, VAT have more
   receivers than senders
    NASA shuttle launch viewed worldwide over
    heterogenous receivers systems and subnets
    diverse receiver requirements
       • one interested in a particular sender
       • other interested in all senders
Hence, receiver oriented approach
                            icon99                41
RSVP Features
consistent with robustness of today's
 connectionless model
  not a new routing protocol
uses soft state (refresh periodically)
two messages: PATH and RESV
source transmits PATH messages sent
 every 30 seconds
destination responds with RESV message
efficient handling of large group (mcast)
                     icon99                  42
More RSVP Features
Receiver may modify its requested QoS
 any time
  also in response to sender’s modification of
New sender can start sending to a
 multicast group
  may need larger reservation
New receiver joining multicast group may
 request for different QoS
                      icon99                      43
 RSVP Messages

         PATH    PATH   PATH            PATH   PATH

SENDER                                                 RECEIVER
          RESV   RESV    RESV           RESV    RESV

 PATH messages:
      set up reverse path state in routers
      communicates sender flow spec to receiver
 RESV messages:
      reservation request sent periodically by receivers to
      set up or renew reservations
                               icon99                         44
Reservation Merger
 Sender 1

                                                            Needs 50 Mbps
Sender 2

    Request for 100 Mbps
                                                                Receiver 1

                           Needs 100 Mbps   RESV   Receiver 2

                                icon99                                 45
Reservation Styles

Fixed filter (FF): senders explicitly
 identified with reservation for each sender
  distinct reservation for each sender
Shared-explicit (SE): senders explicitly
 identified but shared reservation
Wildcard filter (WF): senders not
 identified and they share reservation
     harder to estimate but suitable for audio-
                         icon99                    46
Packet Classifier
Identify flow
  IPv4: srcAddr, dstAddr, srcPort#, dstPort#
  IPv6: FlowLabel (single shorter key)
Classify flow
  associate each packet with the appropriate
    controlled delay, guaranteed

                       icon99                   47

Manage the packets in the queues so that
 they receive the service that has been
    For guaranteed service class WFQ may be used in
     which each flow gets its individual queue with a
     certain share of link, provides guaranteed end-end
     delay bound
    other methods being tested for controlled service

                        icon99                       48
Implementation Reference

    Routing                                                              Management
    agent                                                                agent

                                                           Admission Control

Routing table           Traffic Control Database

                                                                        Output Queue(s)
                Classifier                     Scheduler

    Input Driver
                                                              Output Driver
                                      icon99                                              49
IntServ over Specific Link
Layers (ISSLL)

Problem over slow link (dial-up, ISDN…)
  how to provide QoS for multiple flows
IETF Proposal on ISSLL
  RTP encapsulation
  header compression
  PPP ext. to permit fragmentation
  methods to suspend transfer of larger
   packets in favour of QoS sensitive flow
                      icon99                 50
Subnet Bandwidth
Manager (SBM)

Last Mile problem involving shared LANs
 (Ethernet, Cable Modem)
  Need to map IntServ capabilities for QoS
Admission control, policing, flow
 segregation and resource reservation
 needed on subnet to provide QoS

                     icon99                   51
SBM Features

SBM configured on a server or a LAN
    fault tolerant features (by election of a new SBM)
Mapping of QoS features into traffic
 classes according to IEEE802.1p proposal
RSVP messages communicated through

                        icon99                        52
RSVP Messages in SBM

        SBM Capable Switch


                Resv           Resv

                 icon99               53
Application Behaviour

At least one RESV message need before a
 LAN-host can transmit
For multicast session, receiver to leave
 the group on error
Outgoing flow to be policed to be within
 reservation limits
Limits amount of RSVP-enabled traffic
    mapping on IEEE802.1p priorities allow request
     for different traffic class
                       icon99                         54
IEEE802.1p priority map
    For Ethernet 802.3
                                            (111 highest)

     Tag Protocol Identifier     Priority                   VLAN Identifier
     (2 bytes)                   (3 bits)
                                                             Canonical format indicator
                                                             varies for protocols, a 1 indicates
                                                             that routing information field follow
                                                             the tag control info field
  User Priority       IntServ Mapping
  0                   less than best effort
  1                   Best effort
  2                   Reserved
  3                   Reserved
  4                   Controlled load
  5                   Guaranteed (100ms bound)
  6                   Guaranteed (10ms bound)
  7                   Reserved

                                 icon99                                                    55

And End-end Model
Upgrade of infrastructure (routers) may
 be done incrementally
Scalability problems in backbone
  RSVP needed to communicate QoS but
   doesn't scale well
  new approach required

                    icon99                 56
Differentiated Services for
Diffserv Overview

Simple traffic differentiation
  avoids per-flow, per-user state within core
Semantics which inter-operate across
 administrative domains
Scalable mechanisms
  doesn’t depend on hop-by-hop application
Accommodate incremental deployment
                       icon99                    58
Diffserv Features
Traffic classification done by IP-layer
 marking using DS codepoint
Marked packets receive a particular per-
 hop-behaviour on nodes along the path
  per-hop-behaviour associated with codepoint
  Resource allocated to traffic streams by
   service provisioning policies
Classification, marking, policing and
 shaping operation performed only at
 network boundaries / host
                    icon99                   59
Per-Hop-Behaviour (PHB)

Description of externally observable
 forwarding behaviour of a DS node
 applied to a particular DS aggregate
  e.g. min allocation of x% of a link over
   period of time to a behaviour aggregate
Implemented using buffer management
 and scheduling
       • behavioural characteristic of a PHB to be standardised
         and not particular algorithms or mechanisms
         (implementations may use WFQ, CBQ ….)
                            icon99                                60
IPv4 Packet Header
                   3-bit                                          1-bit
                                 4-bit type of service
                precedence                                       unused

                      8-bit type of service (TOS)
Bit 0                                                                       Bit 31
Version    Hdr Len
  (4)        (4)
                         TOS (8)                    Total Length in bytes (16)

          Indication (16 bits)              Flags (3)     Fragment Offset (13)

Time to Live (8)       Protocol (8)                  Header Checksum (16)

                               Source IP Address

                             Destination IP Address
                                  Options (if any)

                                           icon99                                    61
Existing TOS
 Existing RFC1349 semantics for TOS
 1000     --    minimise delay
 0100     --    maximise throughput
 0010     --    maximise reliability
 0001     --    minimise monetary cost
 0000     --    normal service
 Existing RFC701 semantics for IP precedence
          111 - Network Control
         110 - Internetwork Control
         101 - CRITICAL/ECP
         100 - Flash Override
         011 - Flash
         010 - Immediate
         001 - Priority
         000 - Routine
                                  icon99       62
Diffserv Codepoint (DSCP)
    0                                5     6     7

            DSCP                         CU

   DSCP: Diffserv Code Point
   CU: Currently Unused
   Pool Codepoint space          Assignment
   1     XXXXX0                  Standard action
   2     XXXX11                  Experimental/local action
   3     XXXX01                  Experimental/local action
                                 (Subject to standardisation)
   Each codepoint must map to PHB (standard or local)
   Default PHB - existing “best effort forwarding” (000000)
   CP XXX000 for IP precedence compatibility
                         icon99                           63
Diffserv Architecture
                                              Ingress Router police and may
                                              remark (to support domain
                                              specific PHB ) traffic arriving
                                              on from other domains
                                              to negotiated SLA

                    DS Domain A
                                    Egress router perform
                                    traffic conditioning according   DS Domain B

Leaf routers mark and               to Traffic Condition Agreement
                                    (TCA) with the peer domain
police local traffic
                                  icon99                                      64
   Traffic Conditioner


Packet in
             Classifier         Marker            Shape\Dropper

            If no profile available then packet may pass
            through classifier and marker only

                                  icon99                          65
DS Region
                   DS Region
     DS DOMAIN A                        DS DOMAIN B

                    DS DOMAIN C

             All TCAs may be same
             if common policy used in domain

                       icon99                          66
Assured Service
Similar to IntServ controlled-load service
  traffic within profile has some guarantees
  excess traffic may be sent
  change profile and renegotiate SLA if
     drop me last
     AF is a family of PHBs (several independent
      classes and drop preference levels)
Policing rule “mark icon99                         67
Premium Service
Intended for traffic sensitive to jitter
  traffic must be rate controlled
PHB = Expedited forwarding
     forward me first
Policing rule “drop out-of-profile” packets
On egress needs traffic shaping
     to smooth burstiness
Needs admission control
                         icon99                68
How to decide what users get special
Where to implement bandwidth sharing
Who is responsible for ensuring that
 simultaneous uses of special service fit
 within allocation?
Solution : “Bandwidth Broker”
     proposed by Jacobson
                       icon99               69
Bandwidth Broker (BB)

Domain #1             Domain #2            Domain #3             Domain #4

                                                     10Kbps to dst
           10Kbps to dst        10Kbps to dst

      BB                                        BB                   BB
                     OK                                     OK


     BB has record of current commitments and site policy
     (agreement with peers etc.)
                                     icon99                                     70
Internet2 QBone
High speed experimental backbone for
  inter-connected switches with GigaPoPs
  100s of member Universities and corporations
Build interdomain testbed infrastructure
  experimentation with Diffserv
  inter-domain signaling: BB interoperability tests
See for details
                        icon99                    71
Multiprotocol Label

MPLS stands for “Multiprotocol” label
  techniques applicable to any L3 protocol
A router supporting MPLS is know as
 Label Switched Router (LSR)
IP routing/control software is combined
 with label swapping
  similar to ATM VCI/VPI swapping
                      icon99                  73
Why label switching

Scalablity of L3 routing and simplicity of
 L2 forwarding
  high performance
  use of ATM hardware
  faster than IP lookup
  integration of IP and ATM
New Services such as VPNs
Hierarchy of Routing
                     icon99                   74
MPLS Devices

                       MPLS domain
MPLS edge node


                                                 MPLS egress node


   MPLS ingress node

                                             LSR: label switching router

                              icon99                              75
Conventional IP Routing

packet travels from one router to the next
  an independent forwarding decision made at each
At each hop packets assigned to a
 Forwaring Equivalence Class (FEC)
  packets considered to be in same FEC if the routing
   table contains some prefix X such that X is the
   longest match for each packet’s destination address

                         icon99                      76
MPLS Approach
assignments of packets to FEC done
  as the packet enters the network
FEC to which packet is assigned is
 encoded with a label
packet is forwarded to next hop with
  no further analysis of packet header at
   next hop
                     icon99                  77
label encoding

MPLS encapsualtion should contain
  the label stack field
  time-to-live (TTL) field
  a class of service (COS) field
Cisco uses 32 bits for Tag encoding
        Label        COS S TTL

                                bottom of stack
   20-bit field   3-bit field

                          icon99                  78
Label Processing
label used as index into a table which
 specifies next hop and a new label
  longest match calculation eliminated at
   subsequent hops
old label replaced with new label and
 packet forwarded to next hop

                    icon99                   79
Example Network
                                                       Table at R2
                                                  7   138.25.8       1
                                                  8   185.35.10      0

                       if1   R2
                                                         Table at R4
 185.35.10                                             138.25.8          1
                                   if1      R4
                  R3                                   185.35.10         1

                                         icon99                              80
Label Binding
                   LDP Binding
      138.25.8     <138.25.8, 9>

                                    upstream     LDP Binding
                                                 <138.25.9, 7>
                                                 <185.35.10, 8>
                                   if1     R2

                                                 if1   R4

                 LDP Binding
                 <185.35.10, 6>

                                  icon99                          81
Label allocation

          Table at R4                                       Table at R2
  in       out      addr                            in       out      addr
                               interface            label    label    prefix     interface
  label    label    prefix

                                                                     138.25.8      1
    ?      7       138.25.8       1                    7     9

    ?      8       185.35.10      1                    8      6      185.35.10    0

                                           icon99                                            82
Label Switching


                 R1              9

                                                label swapping only
                           if1       R2
     185.35.10                                                 longest match +
                                                               label adding
                                                  if1   R4

                             icon99                                              83
MPLS and QoS

IP precedence bits can be directly
 mapped to label COS field by MPLS edge
  for scheduling/ discarding packets etc
Possibility of building explicit label-
 switched paths with help of traffic
 engineering tools
  provide Diffserv using these paths

                         icon99             84
QoS Routing

QoS Routing: “ path based on QoS
 requirements of flows”
QoS Extensions to OSPF routing protocol
  ietf drafts available
  several other proposal
    mostly academic papers
What about Inter-domain QoS Routing?
  Qbone has some work in progress
                      icon99               85

Hard to provide absolute QoS guarantees
Diffserv seems to be a better choice
  scales well
Inter-domain issues, billing mechanisms
Active research Area

                   icon99                  86

 Charters for Intserv, Diffserv, RSVP, MPLS various other
 RSVP publications:
 Quality of Serivce: Delivering QoS in the Internet and
  Corporate Network,
 Qbone:
 Internet2 QoS WG:
 Henning’s netbib for research papers:

                           icon99                        87

Shared By: