Qos and Mpls

Embed Size (px)

Citation preview

  • 8/14/2019 Qos and Mpls

    1/109

    1

    QoS v MPLS

    Tutor: Lu Thanh Tr

    Email: [email protected]

  • 8/14/2019 Qos and Mpls

    2/109

    2

    QoS (Quality of Service)

    There is really a need for QoS (RFC1633)? NO

    Bandwidth is infinite thanks to the emergence of new

    transmission technologies, the installation of new cables

    Difficult to implement a QoS approach

    Applications can adapt

    YES

    Bandwidth demand increases exponentially while supplied

    bandwidth increases linearly Applications only adapt as the available bandwidth varies in

    a limit range

    By supplying different QoS, ISPs can get more benefit

  • 8/14/2019 Qos and Mpls

    3/109

    3

    Players in the QoS

    ISP, Internet Service

    Providers utilize their resources to

    the maximum get as many subscribers

    as they can

    Subscribers get as much bandwidth

    as they can from ISP

    reliable connection zero down time if

    possible

  • 8/14/2019 Qos and Mpls

    4/109

    4

    Service Level Agreement (SLA)

    Service Level Agreement. The SLA is a contract between the service provider and the

    customer. The SLA can be applied to a customer, a group of

    customer, to a group of business.

    SLA consist of:Availability

    Services offered

    Service Guarantees

    Responsibilities

    Auditing the service

    Pricing

  • 8/14/2019 Qos and Mpls

    5/109

    5

    QoS Characteristics

    Service availability

    Delay

    Delay variation

    Throughput

    Packet loos rate

  • 8/14/2019 Qos and Mpls

    6/109

    6

    QoS Characteristics

    Latency Latency or a propagation time is referred to the time it takes to send a message

    from the sender until to the time the receiver receives.

    Router Latency Its the time it takes to the router to retransmit the packet that it had received

    from the time it had arrived to the router.

    Jitter (Delay variation) Refers to the variation in time duration in all packets in stream taking the same

    route. For instance, when sending a video or audio stream over the networkand the packets dont arrive in the order that was sent on a timely basis. This

    creates a distortion of the signal, which is very harmful to multimedi

    a.

  • 8/14/2019 Qos and Mpls

    7/109

    7

    QoS Characteristics

    Bandwidth Bandwidth is the ideal capacity that the network can operate. The networks

    never work on ideal maximum capacity since there are negative factors that

    cause deterioration of the quality of the network. Such as factors can be

    transmission delay, noise and etc.

    Packet Loss Packet loss takes in place when we are experiencing congestion on our

    network. In the event of the congestion the network can discard this packet,

    which are defined by this parameter.

    Service Availability Availability is the reliability of the users connection to the Internet service.

    To be able to do this we use Service Level Agreement (SLA).

  • 8/14/2019 Qos and Mpls

    8/109

    8

    Integrated Services - motivation

    Many applications are sensitive to the effects of delay, jitter and

    packet loss

    The existing Internet architecture provides a best effort service

    All traffic is treated equally (FIFO queuing). Currently there is no

    mechanism for distinguishing between delay sensitive and best effort

    traffic. IPv4 TOS is not widely implemented.

    Aim of IntServ WG: to specify the enhanced services needed in the

    Internet service model to support the integration of real-time and

    classical data traffic.

  • 8/14/2019 Qos and Mpls

    9/109

    9

    Integrated Services Architecture

    Integrated Services (IntServ) expands congestion

    control to include reservation of resources:

    Signalling through Resource Reservation Protocol (RSVP)Specification of traffic characteristics and QoS

    Admission control

    Policing and shaping of traffic

    Scheduling of flow packets

  • 8/14/2019 Qos and Mpls

    10/109

    10

    Key Components

    QoS routing agent Admission control

    Reservation setup agent

    Resource reservation table

    Flow identification Packet scheduler

    Data plane

    Control plane

  • 8/14/2019 Qos and Mpls

    11/109

    11

    Control Plane sets up resource reservation

    Data plane forwards data packets based on reservationstate.

    To setup reservation, app first characterizes its traffic flow

    and specifies QoS requirements : referred to as flowspecification

    The reservation setup request is then sent to the network.

  • 8/14/2019 Qos and Mpls

    12/109

    12

    Router upon getting the request, interacts with QoSrouting agent to find the next hop.

    It then coordinates with the admission control moduleto determine if there are sufficient resources to meetthe requested resources.

    Once reservation set up is successful, the informationfor the reserved flow is installed into the resourcereservation table.

    Information in the resource reservation table is used toconfigure flow identification module and the packetscheduling module in the data plane.

  • 8/14/2019 Qos and Mpls

    13/109

    13

    Route Selection

    IntServ does not specify any route selection

    of its own.

    It relies on existing routing protocols toforward its control packets further.

    Obviously a more efficient routing protocol

    which can find a path that is likely to have

    sufficient resources is desired.

  • 8/14/2019 Qos and Mpls

    14/109

    14

    Reservation Setup

    To setup reservation a reservation set up

    protocol is needed that goes hop by hop

    along the path to install the reservation state

    in the routers.

    The reservation protocol must also deal with

    changes in the network topology.

    In IntServ, RSVP has been developed as theresource reservation protocol.

  • 8/14/2019 Qos and Mpls

    15/109

    15

    Admission Control

    In order to provide guaranteed resources for

    reserved flows, a network must monitor its

    resource usage and admit a new flow only if it

    has sufficient resource.

    It has two functions : to determine if a new

    flow reservation can be set up based on the

    admission control policies and to monitor andmeasure the available resources.

  • 8/14/2019 Qos and Mpls

    16/109

    16

    Admission Control (Contd)

    Two basic approaches:Parameter based

    Measurement based

  • 8/14/2019 Qos and Mpls

    17/109

    17

    Measurement based

    Admission control module measures the

    actual traffic load and uses that info while

    admitting a new flow.

    Since traffic sources are not static, this

    method is probabilistic in nature.

    So cannot be used to provide tight

    guarantees.Measurements can be done in a number of

    ways

  • 8/14/2019 Qos and Mpls

    18/109

    18

    Measurement Based (contd)

    Exponential averaging : New estimate = (1-w) * old estimate +

    w * new measurement

    Time window approach: Average arrival rate is measured over a sampling interval. At the

    end of measuring period the highest average is used as the

    estimated rate.

    If there are n sampling intervals in a measurement period T and

    Ci is the average measured over sampling interval I, thenestimated rate = max [C1, C2, ., Cn]

  • 8/14/2019 Qos and Mpls

    19/109

  • 8/14/2019 Qos and Mpls

    20/109

    20

    Flow Identification

    Router must examine every incoming packet

    and decide whether the packet belongs to

    one of the reserved flows.

    IP flow is identified by src addr, dest addr,

    proto ID, src port, dst port : five-tuple.

    These five fields of the incoming packet is

    compared against the five-tuple of all theflows in the reservation table for flow

    identification.

  • 8/14/2019 Qos and Mpls

    21/109

    21

    Tx

    Rx

    1) Tspec (sender traffic spec)

    ADSpec (services, possibly modified by routers)

    2) Tspec (reservation traffic spec)

    RSpec (reservation service request)

    Service class

    Integrated Services Architecture

  • 8/14/2019 Qos and Mpls

    22/109

    22

    Fluid Model Scheduling

    If an element approximates the fluid model then the service

    received will be the same as a wire with bandwidth equal to

    the service rate.

    Aim is to isolate traffic flows from each other. D=b/R

    Fluid model scheduler with service

    rate, R.

    Tx Rx

    RxTxwire with bandwidth R

  • 8/14/2019 Qos and Mpls

    23/109

    23

    Relationship between service, traffic,

    loss and delay bounds

    time

    traffic service

    traffic arrival

    busy period

    backlog

    bits

  • 8/14/2019 Qos and Mpls

    24/109

    24

    Traffic Specification

    To date, one general traffic specification parameter has been

    defined (RFC 2215): TOKEN_BUCKET_TSPEC

    Consists of: float r token rate (bytes/sec)

    float b bucket depth (bytes)

    float p peak rate (bytes/sec)

    unsigned m minimum policed unit (bytes)

    unsigned M maximum packet size (bytes)

    RSPEC consists of:R requested rate (bytes/sec)

    S delay slack

    (microseconds)

  • 8/14/2019 Qos and Mpls

    25/109

    25

    Service Categories

    Guaranteed Service Mathematically provable upper bound on queuing

    delay, assured data rate, no loss

    Hard real-time applications

    Controlled Load Approximates best-effort service under unloaded

    conditions

    Adaptive real-time applications

    Best effort

  • 8/14/2019 Qos and Mpls

    26/109

    26

    FIFO

    First Arrival, First Transmission simple to implement! Completely dependent on arrival time No notion of priority or allocated buffers No space in queue, packet discarded

    Used in, e.g., IP Internet

    Arrival

    Full?

    Discard

    N

    Y

    Processor

    Queue

    Departure

  • 8/14/2019 Qos and Mpls

    27/109

    27

    Weighted Robin Round

    if only one arrival queue -> it gets full bandwidth if n arrival queues -> each gets 1/n of bandwidth Each queue has a priority

    Arrival queues

    Transmission queue

    Round robin

  • 8/14/2019 Qos and Mpls

    28/109

    28

    Assign:

    33%/66%

    Q1

    Q2

    Q3

    example: A T3 trunk with 500 connections, each connection has mean packet

    length 500 bytes: 250 with weight 1, 250 with weight 10

    Each packet takes 500 * 8/45 Mbps = 88.8 microseconds Round time =2750 * 88.8 = 244.2 ms

  • 8/14/2019 Qos and Mpls

    29/109

    29

    Problems with Weighted Round Robin

    Unfair if packets are of different length or weightsare not equal

    With variable size packets and different weights,

    need to know mean packet size in advance

    Can be unfair for long periods of time

  • 8/14/2019 Qos and Mpls

    30/109

    30

    Suggestion: Weighted Fair Queuing (WFQ)

    Deals better with variable size packets and weights:

    assign a relative weight to each queue ( higher priority queues get

    a larger piece of the pipe).

    the weight is a relative value--not a guaranteed bandwidth rate!

    Actual bandwidth for each queue at any given moment depends

    on # of queues using the pipe and on the relative weights of each

    of those queues.

    By default, WFQ favors lower-volume traffic flows overhigher-volume ones (for example, a routine e-mail

    over a large FTP download).

  • 8/14/2019 Qos and Mpls

    31/109

    31

  • 8/14/2019 Qos and Mpls

    32/109

    32

    Suppose, in each round, the server served one bit

    from each active connection (GPS)

    ComputeR=Round number= the number ofrounds already completed (can be fractional)

    for each packet, Compute f=finish number= round

    number when a packet will complete its service

    Serve packets in order of finish numbers

    WFQ Algorithm

  • 8/14/2019 Qos and Mpls

    33/109

    33

    WFQ Computation

    a packet of lengthp arriving to an empty queue when the round number is R,

    Ideally, it will complete service when the round number is => f =R + p

    (independent of the number of other connections!)

    a packet arrives to a non-empty queue, and the previous packet has a finish

    number off, will have a finish number=> f =(previous) f+p

    Problem: we need to determine is the connection active? if not, what is the current round number?

    Solution:Redefine round numberas

    a real-valued variable that increases at a rate inversely

    proportional to the number of currently active connections

  • 8/14/2019 Qos and Mpls

    34/109

    34

    Delay-Earliest Due Date (Delay-EDD)

    Delay-EDD prescribes how to assign deadlines to packets

    Earliest-due-date = packet with earliest deadline selected

    Deadline = expected arrival time + delay bound

    Implementation: A source is required to send slower than itspeak rate

    Bandwidth at scheduler reserved at peak rate

    Each packet gets a hard delay bound

    Delay bound is independentof bandwidth requirement

    but reservation is at a connections peak rate

    Implementation requires per-connection state and a priority queue

  • 8/14/2019 Qos and Mpls

    35/109

    35

    Rate-controlled scheduling

    A class of disciplines two components: regulator and scheduler

    incoming packets are placed in regulator where they wait

    to become eligible

    then they are put in the scheduler Regulatorshapes the traffic, scheduler provides

    performance guarantees

  • 8/14/2019 Qos and Mpls

    36/109

    36

    Virtual Clock(L. Zhang, 1991)

    Scheduling of packets based on when packets would havebeen sent if TDM were used.

    Timers VC (flow monitoring) and auxVC (packet scheduling)

    On packet arrival both timers are advanced to next packet

    eligibility time. After a set number of packets (AI*AR), VC is compared to a

    real-time clock (RTC). IfVC > RTC restrict flow

    IfVC < RTC, VC=RTC (prevent higher rate in subsequent

    interval)

    VC updates are packet based. AuxVC avoids saving credits

  • 8/14/2019 Qos and Mpls

    37/109

    37

    Guaranteed Service

  • 8/14/2019 Qos and Mpls

    38/109

    38

    Guaranteed Service

    Provides guaranteed bandwidth and strict

    bounds for delay.

    Intended for apps that require highest

    assurance on bw and delay : mission criticalapps, intolerant playback apps.

    Can be viewed as a virtual circuit with

    guaranteed bw. Provides bounds on maximal queuing delay.

  • 8/14/2019 Qos and Mpls

    39/109

    39

    Tx

    Rx

    1) Tspec (sender traffic spec)

    ADSpec (services, possibly modified by routers)

    2) Tspec (reservation traffic spec)

    RSpec (reservation service request)Service class

    Integrated Services Architecture

  • 8/14/2019 Qos and Mpls

    40/109

    40

    Guaranteed Service (contd)

    Apps invoke guaranteed service by specifying a traffic

    descriptor (TSpec) and a service spec (RSpec) to the

    network.

    TSpec describes traffic sources with followingparameters: Bucket rate (r) : rate at which tokens arrive.

    Peak rate (p) : max rate for packet transmission

    Bucket depth (b) : size of token bucket Min policed unit (m) : any packet with size lass than m will be

    counted as size m.

    Max packet size (M) : Max packet size accepted.

  • 8/14/2019 Qos and Mpls

    41/109

    41

  • 8/14/2019 Qos and Mpls

    42/109

  • 8/14/2019 Qos and Mpls

    43/109

    43

    Delay calculation

    Given the TSpec and RSpec the worst case

    end-to-end queuing delay for a flow can be

    calculated.

    Assume a fluid model and traffic source is

    constrained by token bucket params (r, b, p)

    If p is very large compared to R and r, then

    the worst case queuing delay = AB = b/R.

  • 8/14/2019 Qos and Mpls

    44/109

    44

    Delay Calculation(Contd)

    b

    R

    r

    O

    A B

    time

    bits

  • 8/14/2019 Qos and Mpls

    45/109

    45

    Delay Calculation(Contd)

    If p is comparable to R and r, then the worst

    case delay is AC =

    b (p R) / R (p r) (p > R r)

  • 8/14/2019 Qos and Mpls

    46/109

    46

    Delay Calculation(Contd)

    b

    R

    r

    O

    F E

    p

    A C

    B D

  • 8/14/2019 Qos and Mpls

    47/109

    47

    Delay calculation (Contd)

    In real network fluid model does not apply.

    So two error terms are introduced: Error term C is rate

    dependent and represents the delay that a packet

    experiences due to rate parameter and packet length(store and forward model).

    Error term D is rate independent : delay due to route

    lookup, flow identification.

    End-to-end sums of C and D over a path are Ctot andDtot

  • 8/14/2019 Qos and Mpls

    48/109

    48

    Delay calculation (Contd)

    Incorporating the error terms and packet

    lengths, the worst-case queuing delay :

    [(b M) (pR) / R(p-r)] + [(M+Ctot)/R] + D

    tot

    (p > R r)

    [(M + Ctot) / R] + D

    tot(R p r)

  • 8/14/2019 Qos and Mpls

    49/109

    49

    Policing and Shaping

    Traffic flows that receive guaranteed servicemust conform to the token bucket and peakrate params over all periods.

    For any period T, the amount of data sentcannot exceed M + Min (pT, rT+b-M).Packets smaller than min policing unit m arecounted as m.

    Policing is done at the edge of the network bycomparing the traffic to the agreed TSpecparams.

  • 8/14/2019 Qos and Mpls

    50/109

    50

    Policing and Shaping

    Shaping is done at all heterogeneous branch

    points and all merging points.

    Heterogeneous branch point is a spot where

    a multicast distribution tree has multiple

    outgoing branch that have different TSpecs.

  • 8/14/2019 Qos and Mpls

    51/109

    51

    Controlled load service

  • 8/14/2019 Qos and Mpls

    52/109

    52

    Controlled load service

    Strict bw assurance and delay bound comes at a price: resources have to be reserved for the worst case.

    For some apps a service model with less strictguarantees and lower cost would better serve their

    needs. End-to-end behavior somewhat vague. A very high percentage of packets will be successfully

    delivered by the network to the receivers. The transit delay experienced by a very high

    percentage of packets will not greatly exceed mindelay.

  • 8/14/2019 Qos and Mpls

    53/109

    53

    Resource Reservation

    Protocol (RSVP)

  • 8/14/2019 Qos and Mpls

    54/109

    54

    RSVP

    A resource reservation protocol defined for

    IntServ.

    Used by hosts to communicate service

    requirements to the network and by routers in

    the network to establish reservation state

    along a path

  • 8/14/2019 Qos and Mpls

    55/109

    55

    Basic Features

    Simplex Reservation :Makes reservation only in one direction.

    Treats sender as logically distinct from a receiver

    For two way communication, the two ends must

    establish reservation for both directions.

    Receiver Oriented

    Receivers of a flow initiates and maintains theresource reservation.

  • 8/14/2019 Qos and Mpls

    56/109

    56

    Basic Features (Contd)

    Routing IndependentDesigned to operate with current and future unicast

    and multicast routing protocols

    The path for a flow is done separately by routingprotocols

    Policy IndependentRSVP transports and maintains traffic control and

    policy control parameters that are opaque to RSVPControl params are passed to relevant controlmodules for processing.

  • 8/14/2019 Qos and Mpls

    57/109

    57

    Basic Features (Contd)

    Soft StateRSVP maintains soft states providing graceful

    support for dynamic membership changes and

    automatic adaptation to routing changes.Reservation state has a timer associated with the

    state. When timer expires, the state is

    automatically deleted.

    RSVP periodically refreshes the reservation state

    to maintain the state along the paths.

  • 8/14/2019 Qos and Mpls

    58/109

    58

    Basic Features (Contd)

    Reservation StyleRSVP provides several reservation models or

    styles to fit a variety of applications

    Can be used to share a reservation among trafficstreams from multiple senders or to select a

    particular sender.

  • 8/14/2019 Qos and Mpls

    59/109

    59

    Data Flows

    RSVP defines a session to be a data flow

    with a particular destination and transport

    layer protocol.

    RSVP session defined by the triple

    (destAddr, ProtoId, [dstPort]).

  • 8/14/2019 Qos and Mpls

    60/109

    60

    Reservation Model

    RSVP reservation request consists of a flowspec

    together with a filter spec.

    flowspec specifies a desired QoS

    Filterspec along with a session specifies a flow. Flowspec used to set params in the nodes packet

    scheduler

    Filterspec used to set the params of the packet

    classifier.

  • 8/14/2019 Qos and Mpls

    61/109

    61

    Reservation Model (Contd)

    Flowspec include a service class (guaranteed

    or controlled load) and two sets of numeric

    params RSpec (desired QoS) and a TSpec

    (describes traffic).

  • 8/14/2019 Qos and Mpls

    62/109

    62

    Protocol Overview

    (1) (2) (3)

    (4)(5)(6)

    PATH

    RESV

  • 8/14/2019 Qos and Mpls

    63/109

    63

    Protocol Overview (contd)

    Sender 1

    Sender 2

    Receivier B

    Receiver A

    R R

    RR

    R

    PATH

    PATH

    PATH

    PATH

    RESV

    RESV

    RESV

    RESV

  • 8/14/2019 Qos and Mpls

    64/109

    64

    Protocol Overview (Contd)

    Two primary RSVP msgs : PATH and RESV

    PATH msgs are sent from source towards the receivers. Used to pass characteristics of the path.

    Installspath state in each node along the way

    Includes IP address of previous hop (needed to send RESV msg)

    Sender template : sender IP address and port

    Sender Tspec : traffic spec of sender

    After receiving PATH msg receiver can request a reservation

    by sending RESV msg.

  • 8/14/2019 Qos and Mpls

    65/109

    65

    Protocol Overview (Contd)

    RESV must follow the exact same reverse

    path upstream.

    They create reservation state in each node

    along the paths

    After receiving RESV msg sender can start

    sending data packets.

  • 8/14/2019 Qos and Mpls

    66/109

    66

    PATH Message

    Contains previous hop, sender template,

    sender TSpec and the AdSpec.

    Sender template contains info that along with

    Session uniquely identifies the flow. It has same format as filterspec.

    Sender TSpec characterizes the traffic that

    sender will generate.

  • 8/14/2019 Qos and Mpls

    67/109

    67

    PATH Message (Contd)

    AdSpec is an optional element in PATH msg :

    used to carry OPWA (One Pass with

    Advertising)

    Passed to local traffic control at each node, whichreturns an updated AdSpec, the updated version

    is then forwarded in PATH msg downstream.

  • 8/14/2019 Qos and Mpls

    68/109

    68

    RESV Message

    Sent by receivers towards sender along

    reverse direction of PATH msg to request

    reservation.

    Contains info about reservation style,flowspec object and filterspec object.

    Flowspec includes a service class,

    reservation spec (RSpec) that defines thedesired QoS and a traffic spec (TSpec) that

    describes the traffic flow.

  • 8/14/2019 Qos and Mpls

    69/109

    RSVP Message Formats

  • 8/14/2019 Qos and Mpls

    70/109

    70

    g

    (Contd)

    Version : 4 bitsProtocol version number : Current version is 1

    Flags : 4 bitsReserved

    Msg Type: 8 bits 1 = Path

    2 = ResvRSVP checksum: 16bits

    RSVP Message Formats

  • 8/14/2019 Qos and Mpls

    71/109

    71

    g

    (Contd)

    Send_TTL: 8bits IP TTL value with which the message was sent

    RSVP length : 16bitsTotal length of the RSVP message in bytes

    including the common header.

  • 8/14/2019 Qos and Mpls

    72/109

    72

    Object Formats

    Every RSVP object consists of one or more

    32-bit words with a one-word header with the

    following format:

    Length (in bytes) Class-Num C-type

    0 1 2 3

    Object contents

  • 8/14/2019 Qos and Mpls

    73/109

    73

    Object Formats (contd)

    Length : length of the object in bytes

    Class-Num : Identifies the object class.SESSION

    FLOWSPEC

    SENDER_TSPEC

    C-type : Object type unique within Class-Num.

  • 8/14/2019 Qos and Mpls

    74/109

  • 8/14/2019 Qos and Mpls

    75/109

    75

    RESV message

    ::=

    []

    []

    [] []

    ::= |

  • 8/14/2019 Qos and Mpls

    76/109

    76

    PATH Tear message

    ::=

    []

    []

    Path Tear is initiated by sender or by path

    state timeout.

    Deletes matching Path state. Travel downstream towards all receivers

  • 8/14/2019 Qos and Mpls

    77/109

    77

    RESV Tear message

    ::= [] []

    Resv Tear is initiated by receiver or by resvstate timeout.

    Deletes matching resv state. Travels upstream towards all matching

    senders.

  • 8/14/2019 Qos and Mpls

    78/109

    78

    PATH Error message

    ::=

    []

    []

    []Reports error in processing PATH msg

    Travel upstream towards sender

  • 8/14/2019 Qos and Mpls

    79/109

  • 8/14/2019 Qos and Mpls

    80/109

    80

    RESV Confirm message

    ::=

    []

    Sent to acknowledge reservation request

    Sent when RESV_CONFIRM object is

    present in RESV message.Sent to receiver host from sender.

  • 8/14/2019 Qos and Mpls

    81/109

    81

    Reservation Styles

    Reservation request includes a set of options

    that are collectively called reservation style.

    Decides whether distinct reservation for each

    upstream sender or else make a singlereservation that is shared among selected

    senders.

  • 8/14/2019 Qos and Mpls

    82/109

    82

    Reservation Styles (Contd)

    sender selection Reservation:

    distinct shared

    Explicit Fixed filter (FF) Shared explicit(SE)

    wildcard Not defined Wildcard filter (WF)

  • 8/14/2019 Qos and Mpls

    83/109

    83

    Reservation Style (Contd)

    Wildcard-filter (WF) style Implies shared reservation and wild card sender

    selection

    All receivers share a single reservation whosesize is the largest of the resource requests from

    the receivers; all upstream senders can use the

    reservation.

    Can be represented as WF (*, {Q}), where * is thewildcard sender and Q is the flowspec.

  • 8/14/2019 Qos and Mpls

    84/109

    84

    Reservation Style (Contd)

    Fixed-filter (FF) styleDistinct reservation and explicit sender selection.

    Distinct reservation established for specific

    senderCan be represented as FF (S

    1(Q

    1), S

    2(Q

    2), ..)

  • 8/14/2019 Qos and Mpls

    85/109

    85

    Reservation Style (Contd)

    Shared explicit (SE) styleShared reservation but explicit sender selection

    Creates a single reservation shared by specific

    sendersRepresented as SE((S

    1, S

    2, ., S

    n) {Q}).

  • 8/14/2019 Qos and Mpls

    86/109

    86

    Example

    S1

    S2, S3

    R1

    R2

    R3

    (a)

    (d)

    (c)

    (b)

  • 8/14/2019 Qos and Mpls

    87/109

    87

    Wildcard-Filter

    Sends Reserves Receives

    (c) WF(*{4B})

    (d) WF(*{3B})

    WF(*{2B})

    (c) *{4B}

    (d) *{3B}

    WF(*{4B}) (a)

    WF(*{4B}) (b)

  • 8/14/2019 Qos and Mpls

    88/109

    88

    Fixed-Filter

    Sends Reserves Receives

    (c) FF(S1{4B}, S2{5B})

    (d) FF(S1{3B}, S3{B}) FF(S1{B})

    (c)S1{4B}

    S2{5B}

    (d)S1{3B}S3{B}

    FF(S1{4B}) (a)

    FF(S2{5B}, S3{B}) (b)

  • 8/14/2019 Qos and Mpls

    89/109

    89

    SE-Filter

    Sends Reserves Receives

    (c) SE(S1,S2{B})

    (d) SE(S1, S3{3B}) SE(S2{2B})

    (c)(S1,S2){B}

    (d)(S1,S2,S3){3B}

    SE(S1{3B}) (a)

    SE(S2,S3{3B}) (b)

  • 8/14/2019 Qos and Mpls

    90/109

    90

    OPWA

    Basic reservation model in RSVP is one pass. It is not possible to determine characteristics

    of the path or whether the path is able to

    support the desired QoS.Other model, OPWA (One Pass with

    Advertising) is more sophisticated which usesAdSpec.

    Sender includes an AdSpec in its PATH msgto collect info about the path.

    OPWA (Contd)

  • 8/14/2019 Qos and Mpls

    91/109

    91

    OPWA (Cont d) Receiver can use information in the AdSpec to determine

    end-to-end characteristics of the path and calculate end-to-

    end delay. Has three components :

    Default general parameters Guaranteed service fragment Controlled load service fragment

    Default general parameters Min path latency : sum of fixed delay along the path in addition to

    queuing delay. Path bandwidth : min bandwidth of the path Integrated services hop count : total number of hops that are capable

    of supporting IntServ.

    Global break bit : set to 0 by sender. Set to 1 if any node along thepath does not support RSVP

    Path MTU : MTU of the path.

    OPWA (Contd)

  • 8/14/2019 Qos and Mpls

    92/109

    92

    OPWA (Cont d)

    Guaranteed service fragment includes Ctot,

    Dtot, Csum, Dsum and optional values thatoverride default general params

    Controlled load service fragment does not

    require any extra data, but may containoptional values that override default general

    params.

  • 8/14/2019 Qos and Mpls

    93/109

    93

    Flow Identification

    An important module in the data plane. In an integrated services network, a router

    has to extract the five tuple from an incoming

    packet and compare it against the reservationtable to see if it belongs to a reservedflowPacket processing has to happen very fast

    (on OC12 link (622 Mbps), it is of the order of

    micro seconds).Flow Identification should happen at a high

    speed.

    C

  • 8/14/2019 Qos and Mpls

    94/109

    94

    Design Choices

    Trade off between speed vs spaceOne extreme is direct memory lookup

    Single memory access

    Requires high storageFive-tuple is 104 bits long

    Other extreme is binary searchEfficient in terms of storage spaceBut relatively slow

    Compromise is to use hashing based scheme

    H hi b d h

  • 8/14/2019 Qos and Mpls

    95/109

    95

    Hashing based scheme

    0

    N

    Hash table

    Collision resolution table

    Reservation table

    0

    M

    H hi b d h

  • 8/14/2019 Qos and Mpls

    96/109

    96

    Hashing based scheme

    XOR folding of source and destination IP address H(.) = A

    1xor A

    2xor . A

    n

    Aiis the substring with i bit to i+m bit of the 64-bit string

    No need to get fourth layer info (port) XOR folding of destination IP address and

    Destination port Suitable for web-based application where the source addr

    and source port may be the same for flows, but destinationaddr and destination port may be different

    H hi b d h

  • 8/14/2019 Qos and Mpls

    97/109

    97

    Hashing based scheme

    XOR folding of the five tupleLikely to perform better for scheme that uses the

    full five tuple.

    Similar to other schemes except that 104 bits areused in hash calculation

    H hi b d h

  • 8/14/2019 Qos and Mpls

    98/109

    98

    Hashing based scheme

    32-bit CRC has been widely used for error detection

    in communication systems Known for exploiting the randomness in traffic well

    CRC32 of five tuples as hash function Double hashing

    Used to significantly reduce collision rate

    If there is a collision with first hashing function, a second

    hashing function is used Probability of collision with two hashing function is low

    More complex because of two level of hashing.

    RSVP summary

  • 8/14/2019 Qos and Mpls

    99/109

    99

    RSVP summary

    Reservations are soft Periodic refresh is necessary

    It is a network (control) protocol Works in parallel to TCP and UDP

    APIs are required to specify flow requirements Reservations are receiver-based Has to maintain a state for each flow

    Multicast reservations Merged at replication points, difficult to understoodalgorithms have to be used though

    I tS R f

  • 8/14/2019 Qos and Mpls

    100/109

    100

    IntServ References

    R. Braden, D. Clark, S. Shenker, Integrated Services in

    the Internet Architecture: an Overview, RFC1633

    J. Wroclawski, The Use of RSVP with IETF Integrated

    Services, RFC2210.

    J. Wroclawski , Specification of the Controlled-Load

    Network Element Service, RFC2211

    S. Shenker, C. Patridge, R. Guerin, Specification of

    Guaranteed Quality of Service, RFC2212

    R. Braden, L.Zhang et. al., Resource ReservationProtocol (RSVP), RFC2205.

    DiffServ - Prioritization

  • 8/14/2019 Qos and Mpls

    101/109

    101

    DescriptionApplied on flow aggregates

    Services requirements are classified

    Classification is performed at network ingresspoints

    A predefined per-hop behavior (PHB) is applied

    to every service class

    Traffic is smoothed according to PHB applied

  • 8/14/2019 Qos and Mpls

    102/109

    DiffS I l t ti

  • 8/14/2019 Qos and Mpls

    103/109

    103

    DiffServ - Implementation

    C l a s s i f i e r

    M e t e r M a r k e r

    C o n d i t i o n e r

    M a p s D S C P s t oP H B s

    M a i n t a i n s

    D S C P

    m a p p i n g s a n d

    a s s o c i a t i o n s

    w i t h l o c a l

    p o l i c i e s

    A c c u m u l a t e s

    s t a t i s t i c s

    A p p l i e s t h ed e f i n e d P H B

    ( s c h e d u l i n g )

    DiffS I l t ti

  • 8/14/2019 Qos and Mpls

    104/109

    104

    DiffServ - Implementation

    T y p e o f S e r v i c eP r e c e d e n c e

    R F C 1 1 2 2 M u s tB e

    Z e r o

    I P T y p e o f S e r v i c e ( T O S )

    0 32 4 5 6 71

    M B Z

    R F C 1 3 4 9

    DiffServ codepoints (DSCPs) redefine the Type-of-Service (ToS) IPv4 field

    Precedence bits are preserved Type-of-Service bits are NOT

    D S C P

    C l a s s S e l e c t o r U n u s e d

    0 32 4 5 6 71

    D i f f e r e n c i a t e d S e r v i c e s

    C o d e p o i n t ( D S C P )

    C U

    DiffServ - Conclusions

  • 8/14/2019 Qos and Mpls

    105/109

    105

    Traffic classes are equivalent to IP precedence

    service descriptors DiffServ unaware routers pass-through DiffServ traffic

    Easy to be implemented / integrated even into thenetwork core.

    Proper classification can lead to efficient resource

    allocation and though improved QoS

  • 8/14/2019 Qos and Mpls

    106/109

    MPLSImplementation

  • 8/14/2019 Qos and Mpls

    107/109

    107

    - Implementation

    L a b e l V a l u e E x p . S T T L

    832 0 1

    2 0 - b i t s : L a b e l v a l u e u s e d f o r l o o k u p 8 - b i t s : T i m e - T o - L i v e

    1 - b i t : B o t t o m o f L a b e l S t a c k

    3 - b i t s : R e s e r v e d

    The 1st hop router, using the header information (destination

    address etc.) attaches a label and forwards the packet

    Every MPLS-enabled router uses the label as an index to atable defining the next hop and label

    MPLS - Conclusions

  • 8/14/2019 Qos and Mpls

    108/109

    108

    Labels can be stackedThis allows MPLS routes within routes

    Label Distribution Protocol (LDP)

    Distributes labels across MPLS-enabled routersEnsures they agree on the meaning of labelsUsually transparent to network managers

    Implication :Define a policy management that distributes

    labels

  • 8/14/2019 Qos and Mpls

    109/109