unit ii. queuing analysis 1.do an after-the-fact analysis based on actual values. 2. make a simple...

313
UNIT II

Upload: griffin-jefferson

Post on 25-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

UNIT II

Page 2: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Queuing Analysis

1. Do an after-the-fact analysis based on actual values.

2. Make a simple projection by scaling up from existing experience to the expected future environment.

3. Develop an analytic model based on queuing theory.

4. Program and run a simulation model.

Option 1 is no option at all: we will wait and see what happens.

Option 2 sounds more promising. The analyst may take the position

that it is impossible to project future demand with any degree of certainty.

Option 3 is to make use of an analytic model, which is one that can be expressed as a set of equations that can be solved to yield the desired parameters

The final approach is a simulation model. Here, given a sufficiently powerful and flexible simulation programming language, the analyst can model reality in great detail and avoid making many of the assumptions required of queuing theory.

Page 3: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

QUEUING MODELS

The Single-Server QueueThe central element of the system is a server, which provides some service to items.

Items from some population of items arrive at the system to be served.

If the server is idle, an item is served immediately. Otherwise, an arriving item joins a waiting line

When the server has completed serving an item, the item departs. If there are items waiting in the queue, one is immediately dispatched to the server.

Examples:

A processor provides service to processes.

A transmission line provides a transmission service to packets or frames of data.

An I/O device provides a read or write service for I/O requests.

Page 4: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to
Page 5: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Components of a Basic Queuing Process

Calling Population

QueueService

Mechanism

Input Source The Queuing System

Jobs

Arrival Process

Queue Configuration

Queue Discipline

Served Jobs

Service Process

leave the system

Page 6: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Queue Parameters

Page 7: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to
Page 8: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

The theoretical maximum input rate that can be handled by the system is:

Page 9: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

To proceed, to make some assumption about this model: Item population: Typically, we assume an infinite population. This means that the

arrival rate is not altered by the loss of population. If the population is finite, then the population available for arrival is reduced by the number of items currently in the system; this would typically reduce the arrival rate proportionally.

Queue size: Typically, we assume an infinite queue size. Thus, the waiting line can grow without bound. With a finite queue, it is possible for items to be lost from the system. In practice, any queue is finite. In many cases, this will make no substantive difference to the analysis. We address this issue briefly, below.

Dispatching discipline: When the server becomes free, and if there is more than one item waiting, a decision must be made as to which item to dispatch next. The simplest approach is first-in, first-out; this discipline is what is normally implied when the term queue is used. Another possibility is last-in, first-out. One that you might encounter in practice is a dispatching discipline based on service time. For example, a packet-switching node may choose to dispatch packets on the basis of shortest first (to generate the most outgoing packets) or longest first (to minimize processing time relative to transmission time). Unfortunately, a discipline based on service time is very difficult to model analytically.

Page 10: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

The Multiserver Queue

If an item arrives and at least one server is available, then the item is immediately dispatched to that server.

If all servers are busy, a queue begins to form.

As soon as one server becomes free, an item is dispatched from the queue using the dispatching discipline in force.

If we have N identical servers, then r is the utilization of each server, and we can consider Nr to be the utilization of the entire system.

The theoretical maximum utilization is N × 100%, and the theoretical maximum input rate is:

Page 11: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Basic Queuing Relationships

Assumptions

The fundamental task of a queuing analysis is as follows: Given the following information as

input:

Arrival rate

Service time

Provide as output information concerning:

Items waiting

Waiting time

Items in residence

Residence time.

Page 12: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to
Page 13: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to
Page 14: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Kendall’s notation

Page 15: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Kendall’s notation

Notation is X/Y/N, where:X is distribution of interarrival timesY is distribution of service timesN is the number of servers

Common distributions G = general distribution if interarrival times or service times GI = general distribution of interarrival time with the

restriction that they are independent M = exponential distribution of interarrival times (Poisson

arrivals) and service times D = deterministic arrivals or fixed length service

M/M/1? M/D/1?M/M/1? M/D/1?

Page 16: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to
Page 17: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Congestion and Traffic Management

Page 18: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

What Is Congestion?

Congestion occurs when the number of packets being transmitted through the network approaches the packet handling capacity of the network

Congestion control aims to keep number of packets below level at which performance falls off dramatically

Data network is a network of queues

Generally 80% utilization is critical

Finite queues mean data may be lost

Page 19: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Queues at a Node

Page 20: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Effects of Congestion

Packets arriving are stored at input buffers

Routing decision made

Packet moves to output buffer

Packets queued for output transmitted as fast as possible

Statistical time division multiplexing

If packets arrive too fast to be routed, or to be output, buffers will fill

May have to discard packets

Can use flow control

Can propagate congestion through network

Page 21: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Interaction of Queues

Page 22: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Ideal Network Utilization

Power = throughput/delay

Page 23: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Practical Performance

Ideal assumes infinite buffers and no overhead

Buffers are finite

Overheads occur in exchanging congestion control messages

Page 24: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Effects of Congestion - No Control

Page 25: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Mechanisms for Congestion Control

Page 26: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Backpressure

If node becomes congested it can slow down or halt flow of packets from other nodes

May mean that other nodes have to apply control on incoming packet rates

Propagates back to source

Can restrict to logical connections generating most traffic

Used in connection oriented networks that allow hop by hop congestion control (e.g. X.25)

Page 27: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Choke Packet

Control packet

Generated at congested node

Sent to source node

e.g. ICMP source quench

From router or destination

Source cuts back until no more source quench message

Sent for every discarded packet, or anticipated

Rather crude mechanism

Page 28: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Implicit Congestion Signaling

Transmission delay may increase with congestion

Packet may be discarded

Source can detect these as implicit indications of congestion

Useful on connectionless (datagram) networks

e.g. IP based

(TCP includes congestion and flow control - see chapter 20)

Used in frame relay LAPF

Page 29: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Explicit Congestion Signaling

Network alerts end systems of increasing congestionEnd systems take steps to reduce offered loadBackwards

Congestion avoidance in opposite direction (toward the source)Forwards

Congestion avoidance in same direction (toward destination)The destination will echo the signal back to the source or the upper layer protocol will do some flow control

Page 30: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Categories of Explicit Signaling

Binary

A bit set in a packet indicates congestion

Credit based

Indicates how many packets source may send

Common for end to end flow control

Rate based

Supply explicit data rate limit

e.g. ATM

Page 31: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Traffic Management

Fairness

Quality of service

May want different treatment for different connections

Reservations

e.g. ATM

Traffic contract between user and network

Page 32: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Congestion Control in Packet Switched Networks

Send control packet (e.g. choke packet) to some or all source nodes

Requires additional traffic during congestion

Rely on routing information

May react too quickly

End to end probe packets

Adds to overhead

Add congestion info to packets as they cross nodes

Either backwards or forwards

Page 33: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Frame Relay Congestion Control

Minimize discards

Maintain agreed QoS

Minimize probability of one end user monopoly

Simple to implement

Little overhead on network or user

Create minimal additional traffic

Distribute resources fairly

Limit spread of congestion

Operate effectively regardless of traffic flow

Minimum impact on other systems

Minimize variance in QoS

Page 34: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Techniques

Discard strategy

Congestion avoidance

Explicit signaling

Congestion recovery

Implicit signaling mechanism

Page 35: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Traffic Rate Management

Must discard frames to cope with congestion

Arbitrarily, no regard for source

No reward for restraint so end systems transmit as fast as possible

Committed information rate (CIR)

Data in excess of this rate is liable to discard

Not guaranteed

Aggregate CIR should not exceed physical data rate

Committed burst size (Bc)

Excess burst size (Be)

Page 36: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Operation of CIR

Page 37: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Relationship Among Congestion Parameters

Page 38: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Explicit Signaling

Network alerts end systems of growing congestion

Backward explicit congestion notification

Forward explicit congestion notification

Frame handler monitors its queues

May notify some or all logical connections

User response

Reduce rate

Page 39: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

UNIT III

Page 40: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

TCP Traffic Control

Page 41: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Introduction

TCP Flow Control

TCP Congestion Control

Performance of TCP over ATM

Page 42: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

TCP Flow Control

Uses a form of sliding window

Differs from mechanism used in LLC, HDLC, X.25, and others:

Decouples acknowledgement of received data units from granting permission to send more

TCP’s flow control is known as a credit allocation scheme:

Each transmitted octet is considered to have a sequence number

Page 43: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

TCP Header Fields for Flow Control

Sequence number (SN) of first octet in data segment

Acknowledgement number (AN)

Window (W)

Acknowledgement contains AN = i, W = j:

Octets through SN = i - 1 acknowledged

Permission is granted to send W = j more octets,

i.e., octets i through i + j - 1

Page 44: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

TCP Credit Allocation Mechanism

Page 45: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Credit Allocation is Flexible

Suppose last message B issued was AN = i, W = j

To increase credit to k (k > j) when no new data, B issues AN = i, W = k

To acknowledge segment containing m octets (m < j), B issues AN = i + m, W = j - m

Page 46: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 12.2 Flow Control Perspectives

Page 47: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Credit Policy

Receiver needs a policy for how much credit to give senderConservative approach: grant credit up to limit of available buffer spaceMay limit throughput in long-delay situationsOptimistic approach: grant credit based on expectation of freeing space before data arrives

Page 48: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Effect of Window Size

W = TCP window size (octets)R = Data rate (bps) at TCP sourceD = Propagation delay (seconds)After TCP source begins transmitting, it takes D seconds for first octet to arrive, and D seconds for acknowledgement to returnTCP source could transmit at most 2RD bits, or RD/4 octets

Page 49: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Normalized Throughput S

S

1 W RD 4

4WRD

W RD 4

Page 50: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Window Scale Parameter

Page 51: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Complicating Factors

Multiple TCP connections are multiplexed over same network interface, reducing R and efficiencyFor multi-hop connections, D is the sum of delays across each network plus delays at each routerIf source data rate R exceeds data rate on one of the hops, that hop will be a bottleneckLost segments are retransmitted, reducing throughput. Impact depends on retransmission policy

Page 52: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Retransmission Strategy

TCP relies exclusively on positive acknowledgements and retransmission on acknowledgement timeoutThere is no explicit negative acknowledgementRetransmission required when:

1. Segment arrives damaged, as indicated by checksum error, causing receiver to discard segment

2. Segment fails to arrive

Page 53: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Timers

A timer is associated with each segment as it is sent

If timer expires before segment acknowledged, sender must retransmit

Key Design Issue:

value of retransmission timer

Too small: many unnecessary retransmissions, wasting network bandwidth

Too large: delay in handling lost segment

Page 54: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Two Strategies

Timer should be longer than round-trip delay (send segment, receive ack)

Delay is variable

Strategies:

1. Fixed timer

2. Adaptive

Page 55: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Problems with Adaptive Scheme

Peer TCP entity may accumulate acknowledgements and not acknowledge immediately

For retransmitted segments, can’t tell whether acknowledgement is response to original transmission or retransmission

Network conditions may change suddenly

Page 56: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Adaptive Retransmission Timer

Average Round-Trip Time (ARTT)

Take average of observed round-trip times over number of segments

If average accurately predicts future delays, resulting retransmission timer will yield good performance

Use this formula to avoid recalculating sum every time

ARTT(K 1)

1K 1

RTT(i)i1

K1

ARTT(K 1)

KK 1

ARTT(K)1

K 1RTT(K 1)

Page 57: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RFC 793 Exponential Averaging

Smoothed Round-Trip Time (SRTT)

SRTT(K + 1) = α × SRTT(K) + (1 – α) × SRTT(K + 1)

The older the observation, the less it is counted in the average.

Page 58: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Exponential Smoothing Coefficients

Page 59: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Exponential Averaging

Page 60: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RFC 793 Retransmission Timeout

RTO(K + 1) = Min(UB, Max(LB, β × SRTT(K + 1)))

UB, LB: prechosen fixed upper and lower bounds

Example values for α, β:

0.8 < α < 0.9 1.3 < β < 2.0

Page 61: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Implementation Policy Options

SendDeliverAccept

In-orderIn-window

RetransmitFirst-onlyBatchindividual

Acknowledgeimmediatecumulative

Page 62: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

TCP Congestion Control

Dynamic routing can alleviate congestion by spreading load more evenly

But only effective for unbalanced loads and brief surges in traffic

Congestion can only be controlled by limiting total amount of data entering network

ICMP source Quench message is crude and not effective

RSVP may help but not widely implemented

Page 63: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

TCP Congestion Control is Difficult

IP is connectionless and stateless, with no provision for detecting or controlling congestion

TCP only provides end-to-end flow control

No cooperative, distributed algorithm to bind together various TCP entities

Page 64: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

TCP Flow and Congestion Control

The rate at which a TCP entity can transmit is determined by rate of incoming ACKs to previous segments with new credit

Rate of Ack arrival determined by round-trip path between source and destination

Bottleneck may be destination or internet

Sender cannot tell which

Only the internet bottleneck can be due to congestion

Page 65: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

TCP Segment Pacing

Page 66: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

TCP Flow and Congestion Control

Page 67: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Retransmission Timer Management

Three Techniques to calculate retransmission timer (RTO):

1. RTT Variance Estimation

2. Exponential RTO Backoff

3. Karn’s Algorithm

Page 68: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RTT Variance Estimation (Jacobson’s Algorithm)

3 sources of high variance in RTT

If data rate relative low, then transmission delay will be relatively large, with larger variance due to variance in packet size

Load may change abruptly due to other sources

Peer may not acknowledge segments immediately

Page 69: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Jacobson’s Algorithm

SRTT(K + 1) = (1 – g) × SRTT(K) + g × RTT(K + 1)

SERR(K + 1) = RTT(K + 1) – SRTT(K)

SDEV(K + 1) = (1 – h) × SDEV(K) + h ×|SERR(K + 1)|

RTO(K + 1) = SRTT(K + 1) + f × SDEV(K + 1)

g = 0.125

h = 0.25

f = 2 or f = 4 (most current implementations use f = 4)

Page 70: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Jacobson’s RTO Calculations

Page 71: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Two Other Factors

Jacobson’s algorithm can significantly improve TCP performance, but:

What RTO to use for retransmitted segments?

ANSWER: exponential RTO backoff algorithm

Which round-trip samples to use as input to Jacobson’s algorithm?

ANSWER: Karn’s algorithm

Page 72: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Exponential RTO Backoff

Increase RTO each time the same segment retransmitted – backoff process

Multiply RTO by constant:

RTO = q × RTO

q = 2 is called binary exponential backoff

Page 73: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Which Round-trip Samples?

If an ack is received for retransmitted segment, there are 2 possibilities:

1. Ack is for first transmission

2. Ack is for second transmissionTCP source cannot distinguish 2 cases

No valid way to calculate RTT:

From first transmission to ack, or

From second transmission to ack?

Page 74: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Karn’s Algorithm

Do not use measured RTT to update SRTT and SDEVCalculate backoff RTO when a retransmission occursUse backoff RTO for segments until an ack arrives for a segment that has not been retransmittedThen use Jacobson’s algorithm to calculate RTO

Page 75: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Window Management

Slow start

Dynamic window sizing on congestion

Fast retransmit

Fast recovery

Limited transmit

Page 76: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Slow Start

awnd = MIN[ credit, cwnd]whereawnd = allowed window in segmentscwnd = congestion window in segmentscredit = amount of unused credit granted in most recent ack

cwnd = 1 for a new connection and increased by 1 for each ack received, up to a maximum

Page 77: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 23.9 Effect of Slow Start

Page 78: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Dynamic Window Sizing on Congestion

A lost segment indicates congestion

Prudent to reset cwsd = 1 and begin slow start process

May not be conservative enough: “ easy to drive a network into saturation but hard for the net to recover” (Jacobson)

Instead, use slow start with linear growth in cwnd

Page 79: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Slow Start and Congestion Avoidance

Page 80: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Illustration of Slow Start and Congestion Avoidance

Page 81: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Fast Retransmit

RTO is generally noticeably longer than actual RTTIf a segment is lost, TCP may be slow to retransmitTCP rule: if a segment is received out of order, an ack must be issued immediately for the last in-order segmentFast Retransmit rule: if 4 acks received for same segment, highly likely it was lost, so retransmit immediately, rather than waiting for timeout

Page 82: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Fast Retransmit

Page 83: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Fast Recovery

When TCP retransmits a segment using Fast Retransmit, a segment was assumed lostCongestion avoidance measures are appropriate at this pointE.g., slow-start/congestion avoidance procedureThis may be unnecessarily conservative since multiple acks indicate segments are getting throughFast Recovery: retransmit lost segment, cut cwnd in half, proceed with linear increase of cwndThis avoids initial exponential slow-start

Page 84: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Fast Recovery Example

Page 85: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Limited Transmit

If congestion window at sender is small, fast retransmit may not get triggered, e.g., cwnd = 3

1. Under what circumstances does sender have small congestion window?2. Is the problem common?3. If the problem is common, why not reduce number of duplicate acks needed

to trigger retransmit?

Page 86: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Limited Transmit Algorithm

Sender can transmit new segment when 3 conditions are met:

1. Two consecutive duplicate acks are received

2. Destination advertised window allows transmission of segment

3. Amount of outstanding data after sending is less than or equal to cwnd + 2

Page 87: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Performance of TCP over ATM

How best to manage TCP’s segment size, window management and congestion control…

…at the same time as ATM’s quality of service and traffic control policies

TCP may operate end-to-end over one ATM network, or there may be multiple ATM LANs or WANs with non-ATM networks

Page 88: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

TCP/IP over AAL5/ATM

Page 89: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Performance of TCP over UBR

Buffer capacity at ATM switches is a critical parameter in assessing TCP throughput performance

Insufficient buffer capacity results in lost TCP segments and retransmissions

Page 90: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Effect of Switch Buffer Size

Data rate of 141 Mbps

End-to-end propagation delay of 6 μs

IP packet sizes of 512 octets to 9180

TCP window sizes from 8 Kbytes to 64 Kbytes

ATM switch buffer size per port from 256 cells to 8000

One-to-one mapping of TCP connections to ATM virtual circuits

TCP sources have infinite supply of data ready

Page 91: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Performance of TCP over UBR

Page 92: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Observations

If a single cell is dropped, other cells in the same IP datagram are unusable, yet ATM network forwards these useless cells to destinationSmaller buffer increase probability of dropped cellsLarger segment size increases number of useless cells transmitted if a single cell dropped

Page 93: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Partial Packet and Early Packet Discard

Reduce the transmission of useless cellsWork on a per-virtual circuit basisPartial Packet Discard

If a cell is dropped, then drop all subsequent cells in that segment (i.e., look for cell with SDU type bit set to one)

Early Packet DiscardWhen a switch buffer reaches a threshold level, preemptively discard all cells in a segment

Page 94: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Selective Drop

Ideally, N/V cells buffered for each of the V virtual circuits

W(i) = N(i) = N(i) × V

N/V N

If N > R and W(i) > Z

then drop next new packet on VC i

Z is a parameter to be chosen

Page 95: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 12.16 ATM Switch Buffer Layout

Page 96: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Fair Buffer Allocation

More aggressive dropping of packets as congestion increases

Drop new packet when:

N > R and W(i) > Z × B – R

N - R

Page 97: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

TCP over ABR

Good performance of TCP over UBR can be achieved with minor adjustments to switch mechanismsThis reduces the incentive to use the more complex and more expensive ABR servicePerformance and fairness of ABR quite sensitive to some ABR parameter settingsOverall, ABR does not provide significant performance over simpler and less expensive UBR-EPD or UBR-EPD-FBA

Page 98: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Traffic and Congestion Control in ATM Networks

Page 99: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Introduction

Control needed to prevent switch buffer overflowHigh speed and small cell size gives different problems from other networksLimited number of overhead bitsITU-T specified restricted initial set

I.371ATM forum Traffic Management Specification 41

Page 100: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Overview

Congestion problemFramework adopted by ITU-T and ATM forum

Control schemes for delay sensitive trafficVoice & video

Not suited to bursty trafficTraffic controlCongestion control

Bursty trafficAvailable Bit Rate (ABR)Guaranteed Frame Rate (GFR)

Page 101: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Requirements for ATM Traffic and Congestion Control

Most packet switched and frame relay networks carry non-real-time bursty data

No need to replicate timing at exit node

Simple statistical multiplexing

User Network Interface capacity slightly greater than average of channels

Congestion control tools from these technologies do not work in ATM

Page 102: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Problems with ATM Congestion Control

Most traffic not amenable to flow controlVoice & video can not stop generating

Feedback slowSmall cell transmission time v propagation delay

Wide range of applicationsFrom few kbps to hundreds of MbpsDifferent traffic patternsDifferent network services

High speed switching and transmissionVolatile congestion and traffic control

Page 103: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Key Performance Issues-Latency/Speed Effects

E.g. data rate 150MbpsTakes (53 x 8 bits)/(150 x 106) =2.8 x 10-6 seconds to insert a cellTransfer time depends on number of intermediate switches, switching time and propagation delay. Assuming no switching delay and speed of light propagation, round trip delay of 48 x 10-3 sec across USAA dropped cell notified by return message will arrive after source has transmitted N further cellsN=(48 x 10-3 seconds)/(2.8 x 10-6 seconds per cell)=1.7 x 104 cells = 7.2 x 106 bitsi.e. over 7 Mbits

Page 104: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Key Performance Issues-Cell Delay Variation

For digitized voice delay across network must be smallRate of delivery must be constantVariations will occurDealt with by Time Reassembly of CBR cells (see next slide)Results in cells delivered at CBR with occasional gaps due to dropped cellsSubscriber requests minimum cell delay variation from network provider

Increase data rate at UNI relative to loadIncrease resources within network

Page 105: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Time Reassembly of CBR Cells

Page 106: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Network Contribution to Cell Delay Variation

In packet switched networkQueuing effects at each intermediate switchProcessing time for header and routing

Less for ATM networksMinimal processing overhead at switches

Fixed cell size, header formatNo flow control or error control processing

ATM switches have extremely high throughputCongestion can cause cell delay variation

Build up of queuing effects at switchesTotal load accepted by network must be controlled

Page 107: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Cell Delay Variation at UNI

Caused by processing in three layers of ATM model

See next slide for details

None of these delays can be predicted

None follow repetitive pattern

So, random element exists in time interval between reception by ATM stack and transmission

Page 108: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Origins of Cell Delay Variation

Page 109: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

ATM Traffic-Related Attributes

Six service categories (see chapter 5)Constant bit rate (CBR)Real time variable bit rate (rt-VBR)Non-real-time variable bit rate (nrt-VBR)Unspecified bit rate (UBR)Available bit rate (ABR)Guaranteed frame rate (GFR)

Characterized by ATM attributes in four categoriesTraffic descriptorsQoS parametersCongestionOther

Page 110: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

ATM Service Category Attributes

Page 111: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Traffic Parameters

Traffic pattern of flow of cells

Intrinsic nature of traffic

Source traffic descriptor

Modified inside network

Connection traffic descriptor

Page 112: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Source Traffic Descriptor (1)

Peak cell rate

Upper bound on traffic that can be submitted

Defined in terms of minimum spacing between cells T

PCR = 1/T

Mandatory for CBR and VBR services

Sustainable cell rate

Upper bound on average rate

Calculated over large time scale relative to T

Required for VBR

Enables efficient allocation of network resources between VBR sources

Only useful if SCR < PCR

Page 113: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Source Traffic Descriptor (2)

Maximum burst sizeMax number of cells that can be sent at PCRIf bursts are at MBS, idle gaps must be enough to keep overall rate below SCRRequired for VBR

Minimum cell rateMin commitment requested of networkCan be zeroUsed with ABR and GFRABR & GFR provide rapid access to spare network capacity up to PCRPCR – MCR represents elastic component of data flowShared among ABR and GFR flows

Page 114: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Source Traffic Descriptor (3)

Maximum frame size

Max number of cells in frame that can be carried over GFR connection

Only relevant in GFR

Page 115: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Connection Traffic Descriptor

Includes source traffic descriptor plus:-Cell delay variation tolerance

Amount of variation in cell delay introduced by network interface and UNIBound on delay variability due to slotted nature of ATM, physical layer overhead and layer functions (e.g. cell multiplexing)Represented by time variable τ

Conformance definitionSpecify conforming cells of connection at UNIEnforced by dropping or marking cells over definition

Page 116: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Quality of Service Parameters- maxCTD

Cell transfer delay (CTD)Time between transmission of first bit of cell at source and reception of last bit at destinationTypically has probability density function (see next slide)Fixed delay due to propagation etc.Cell delay variation due to buffering and schedulingMaximum cell transfer delay (maxCTD)is max requested delay for connectionFraction α of cells exceed threshold

Discarded or delivered late

Page 117: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Quality of Service Parameters- Peak-to-peak CDV & CLR

Peak-to-peak Cell Delay Variation

Remaining (1-α) cells within QoS

Delay experienced by these cells is between fixed delay and maxCTD

This is peak-to-peak CDV

CDVT is an upper bound on CDV

Cell loss ratio

Ratio of cells lost to cells transmitted

Page 118: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Cell Transfer Delay PDF

Page 119: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Congestion Control Attributes

Only feedback is defined

ABR and GFR

Actions taken by network and end systems to regulate traffic submitted

ABR flow control

Adaptively share available bandwidth

Page 120: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Other Attributes

Behaviour class selector (BCS)Support for IP differentiated services (chapter 16)Provides different service levels among UBR connectionsAssociate each connection with a behaviour classMay include queuing and scheduling

Minimum desired cell rate

Page 121: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Traffic Management Framework

Objectives of ATM layer traffic and congestion control

Support QoS for all foreseeable services

Not rely on network specific AAL protocols nor higher layer application specific protocols

Minimize network and end system complexity

Maximize network utilization

Page 122: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Timing Levels

Cell insertion time

Round trip propagation time

Connection duration

Long term

Page 123: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Traffic Control and Congestion Functions

Page 124: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Traffic Control Strategy

Determine whether new ATM connection can be accommodatedAgree performance parameters with subscriberTraffic contract between subscriber and networkThis is congestion avoidance If it fails congestion may occur

Invoke congestion control

Page 125: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Traffic Control

Resource management using virtual paths

Connection admission control

Usage parameter control

Selective cell discard

Traffic shaping

Explicit forward congestion indication

Page 126: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Resource Management Using Virtual Paths

Allocate resources so that traffic is separated according to service characteristics

Virtual path connection (VPC) are groupings of virtual channel connections (VCC)

Page 127: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Applications

User-to-user applicationsVPC between UNI pairNo knowledge of QoS for individual VCCUser checks that VPC can take VCCs’ demands

User-to-network applicationsVPC between UNI and network nodeNetwork aware of and accommodates QoS of VCCs

Network-to-network applicationsVPC between two network nodesNetwork aware of and accommodates QoS of VCCs

Page 128: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Resource Management Concerns

Cell loss ratioMax cell transfer delayPeak to peak cell delay variationAll affected by resources devoted to VPCIf VCC goes through multiple VPCs, performance depends on consecutive VPCs and on node performance

VPC performance depends on capacity of VPC and traffic characteristics of VCCsVCC related function depends on switching/processing speed and priority

Page 129: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

VCCs and VPCs Configuration

Page 130: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Allocation of Capacity to VPC

Aggregate peak demandMay set VPC capacity (data rate) to total of VCC peak rates

Each VCC can give QoS to accommodate peak demandVPC capacity may not be fully used

Statistical multiplexingVPC capacity >= average data rate of VCCs but < aggregate peak demandGreater CDV and CTDMay have greater CLRMore efficient use of capacityFor VCCs requiring lower QoSGroup VCCs of similar traffic together

Page 131: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Connection Admission Control

User must specify service required in both directionsCategoryConnection traffic descriptor

Source traffic descriptorCDVTRequested conformance definition

QoS parameter requested and acceptable valueNetwork accepts connection only if it can commit resources to support requests

Page 132: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Procedures to Set Traffic Control Parameters

Page 133: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Cell Loss Priority

Two levels requested by user

Priority for individual cell indicated by CLP bit in header

If two levels are used, traffic parameters for both flows specified

High priority CLP = 0

All traffic CLP = 0 + 1

May improve network resource allocation

Page 134: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Usage Parameter Control

UPC

Monitors connection for conformity to traffic contract

Protect network resources from overload on one connection

Done at VPC or VCC level

VPC level more important

Network resources allocated at this level

Page 135: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Location of UPC Function

Page 136: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Peak Cell Rate Algorithm

How UPC determines whether user is complying with contract

Control of peak cell rate and CDVT

Complies if peak does not exceed agreed peak

Subject to CDV within agreed bounds

Generic cell rate algorithm

Leaky bucket algorithm

Page 137: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Generic Cell Rate Algorithm

Page 138: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Virtual Scheduling Algorithm

Page 139: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Cell Arrival at UNI (T=4.5δ)

Page 140: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Leaky Bucket Algorithm

Page 141: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Continuous Leaky Bucket Algorithm

Page 142: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Sustainable Cell Rate Algorithm

Operational definition of relationship between sustainable cell rate and burst tolerance

Used by UPC to monitor compliance

Same algorithm as peak cell rate

Page 143: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

UPC Actions

Compliant cell pass, non-compliant cells discarded

If no additional resources allocated to CLP=1 traffic, CLP=0 cells C

If two level cell loss priority cell with:

CLP=0 and conforms passes

CLP=0 non-compliant for CLP=0 traffic but compliant for CLP=0+1 is tagged and passes

CLP=0 non-compliant for CLP=0 and CLP=0+1 traffic discarded

CLP=1 compliant for CLP=0+1 passes

CLP=1 non-compliant for CLP=0+1 discarded

Page 144: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Possible Actions of UPC

Page 145: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Selective Cell Discard

Starts when network, at point beyond UPC, discards CLP=1 cells

Discard low priority cells to protect high priority cells

No distinction between cells labelled low priority by source and those tagged by UPC

Page 146: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Traffic Shaping

GCRA is a form of traffic policing

Flow of cells regulated

Cells exceeding performance level tagged or discarded

Traffic shaping used to smooth traffic flow

Reduce cell clumping

Fairer allocation of resources

Reduced average delay

Page 147: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Token Bucket for Traffic Shaping

Page 148: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Explicit Forward Congestion Indication

Essentially same as frame relay

If node experiencing congestion, set forward congestion indication is cell headers

Tells users that congestion avoidance should be initiated in this direction

User may take action at higher level

Page 149: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

ABR Traffic Management

QoS for CBR, VBR based on traffic contract and UPC described previouslyNo congestion feedback to sourceOpen-loop controlNot suited to non-real-time applications

File transfer, web access, RPC, distributed file systemsNo well defined traffic characteristics except PCRPCR not enough to allocate resources

Use best efforts or closed-loop control

Page 150: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Best Efforts

Share unused capacity between applications

As congestion goes up:

Cells are lost

Sources back off and reduce rate

Fits well with TCP techniques (chapter 12)

Inefficient

Cells dropped causing re-transmission

Page 151: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Closed-Loop Control

Sources share capacity not used by CBR and VBR

Provide feedback to sources to adjust load

Avoid cell loss

Share capacity fairly

Used for ABR

Page 152: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Characteristics of ABR

ABR connections share available capacityAccess instantaneous capacity unused by CBR/VBRIncreases utilization without affecting CBR/VBR QoS

Share used by single ABR connection is dynamicVaries between agreed MCR and PCR

Network gives feedback to ABR sourcesABR flow limited to available capacityBuffers absorb excess traffic prior to arrival of feedback

Low cell lossMajor distinction from UBR

Page 153: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Feedback Mechanisms (1)

Cell transmission rate characterized by:Allowable cell rate

Current rateMinimum cell rate

Min for ACRMay be zero

Peak cell rateMax for ACR

Initial cell rate

Page 154: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Feedback Mechanisms (2)

Start with ACR=ICR

Adjust ACR based on feedback

Feedback in resource management (RM) cells

Cell contains three fields for feedback

Congestion indicator bit (CI)

No increase bit (NI)

Explicit cell rate field (ER)

Page 155: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Source Reaction to Feedback

If CI=1

Reduce ACR by amount proportional to current ACR but not less than CR

Else if NI=0

Increase ACR by amount proportional to PCR but not more than PCR

If ACR>ER set ACR<-max[ER,MCR]

Page 156: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Variations in ACR

Page 157: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Cell Flow on ABR

Two types of cellData & resource management (RM)

Source receives regular RM cellsFeedback

Bulk of RM cells initiated by sourceOne forward RM cell (FRM) per (Nrm-1) data cells

Nrm preset – usually 32Each FRM is returned by destination as backwards RM (BRM) cellFRM typically CI=0, NI=0 or 1 ER desired transmission rate in range ICR<=ER<=PCRAny field may be changed by switch or destination before return

Page 158: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

ATM Switch Rate Control Feedback

EFCI markingExplicit forward congestion indicationCauses destination to set CI bit in ERM

Relative rate markingSwitch directly sets CI or NI bit of RMIf set in FRM, remains set in BRMFaster response by setting bit in passing BRMFastest by generating new BRM with bit set

Explicit rate markingSwitch reduces value of ER in FRM or BRM

Page 159: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Flow of Data and RM Cells

Page 160: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

ARB Feedback v TCP ACK

ABR feedback controls rate of transmission

Rate control

TCP feedback controls window size

Credit control

ARB feedback from switches or destination

TCP feedback from destination only

Page 161: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RM Cell Format

Page 162: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RM Cell Format Notes

ATM header has PT=110 to indicate RM cellOn virtual channel VPI and VCI same as data cells on connectionOn virtual path VPI same, VCI=6Protocol id identifies service using RM (ARB=1)Message type

Direction FRM=0, BRM=1BECN cell. Source (BN=0) or switch/destination (BN=1)CI (=1 for congestion)NI (=1 for no increase)Request/Acknowledge (not used in ATM forum spec)

Page 163: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Initial Values of RM Cell Fields

Page 164: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

ARB Parameters

Page 165: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

ARB Capacity Allocation

ATM switch must perform:Congestion control

Monitor queue lengthFair capacity allocation

Throttle back connections using more than fair shareATM rate control signals are explicitTCP are implicit

Increasing delay and cell loss

Page 166: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Congestion Control Algorithms- Binary Feedback

Use only EFCI, CI and NI bits

Switch monitors buffer utilization

When congestion approaches, binary notification

Set EFCI on forward data cells or CI or NI on FRM or BRM

Three approaches to which to notify

Single FIFO queue

Multiple queues

Fair share notification

Page 167: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Single FIFO Queue

When buffer use exceeds threshold (e.g. 80%)

Switch starts issuing binary notifications

Continues until buffer use falls below threshold

Can have two thresholds

One for start and one for stop

Stops continuous on/off switching

Biased against connections passing through more switches

Page 168: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Multiple Queues

Separate queue for each VC or group of VCs

Separate threshold on each queue

Only connections with long queues get binary notifications

Fair

Badly behaved source does not affect other VCs

Delay and loss behaviour of individual VCs separated

Can have different QoS on different VCs

Page 169: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Fair Share

Selective feedback or intelligent marking

Try to allocate capacity dynamically

E.g.

fairshare =(target rate)/(number of connections)

Mark any cells where CCR>fairshare

Page 170: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Explicit Rate Feedback Schemes

Compute fair share of capacity for each VCDetermine current load or congestionCompute explicit rate (ER) for each connection and send to sourceThree algorithms

Enhanced proportional rate control algorithmEPRCA

Explicit rate indication for congestion avoidanceERICA

Congestion avoidance using proportional controlCAPC

Page 171: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Enhanced Proportional Rate Control Algorithm(EPRCA)

Switch tracks average value of current load on each connectionMean allowed cell rate (MARC)MACR(I)=(1-α)*(MACR(I-1) + α*CCR(I)CCR(I) is CCR field in Ith FRMTypically α=1/16Bias to past values of CCR over currentGives estimated average load passing through switchIf congestion, switch reduces each VC to no more than DPF*MACR

DPF=down pressure factor, typically 7/8ER<-min[ER, DPF*MACR]

Page 172: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Load Factor

Adjustments based on load factor

LF=Input rate/target rate

Input rate measured over fixed averaging interval

Target rate slightly below link bandwidth (85 to 90%)

LF>1 congestion threatened

VCs will have to reduce rate

Page 173: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Explicit Rate Indication for Congestion Avoidance (ERICA)

Attempt to keep LF close to 1Define:fairshare = (target rate)/(number of connections)VCshare = CCR/LF

= (CCR/(Input Rate)) *(Target Rate)ERICA selectively adjusts VC rates

Total ER allocated to connections matches target rateAllocation is fairER = max[fairshare, VCshare]VCs whose VCshare is less than their fairshare get greater increase

Page 174: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Congestion Avoidance Using Proportional Control (CAPC)

If LF<1 fairshare<-fairshare*min[ERU,1+(1-LF)*Rup]

If LF>1 fairshare<-fairshare*min[ERU,1-(1-LF)*Rdn]

ERU>1, determines max increase

Rup between 0.025 and 0.1, slope parameter

Rdn, between 0.2 and 0.8, slope parameter

ERF typically 0.5, max decrease in allottment of fair share

If fairshare < ER value in RM cells, ER<-fairshare

Simpler than ERICA

Can show large rate oscillations if RIF (Rate increase factor) too high

Can lead to unfairness

Page 175: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

GRF Overview

Simple as UBR from end system viewEnd system does no policing or traffic shapingMay transmit at line rate of ATM adaptor

Modest requirements on ATM networkNo guarantee of frame deliveryHigher layer (e.g. TCP) react to congestion causing dropped framesUser can reserve cell rate capacity for each VC

Application can send at min rate without lossNetwork must recognise frames as well as cellsIf congested, network discards entire frameAll cells of a frame have same CLP setting

CLP=0 guaranteed delivery, CLP=1 best efforts

Page 176: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

GFR Traffic Contract

Peak cell rate PCR

Minimum cell rate MCR

Maximum burst size MBS

Maximum frame size MFS

Cell delay variation tolerance CDVT

Page 177: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Mechanisms for supporting Rate Guarantees

Tagging and policing

Buffer management

Scheduling

Page 178: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Tagging and Policing

Tagging identifies frames that conform to contract and those that don’t

CLP=1 for those that don’t

Set by network element doing conformance check

May be network element or source showing less important frames

Get lower QoS in buffer management and scheduling

Tagged cells can be discarded at ingress to ATM network or subsequent switch

Discarding is a policing function

Page 179: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Buffer Management

Treatment of cells in buffers or when arriving and requiring buffering

If congested (high buffer occupancy) tagged cells discarded in preference to untagged

Discard tagged cell to make room for untagged cell

May buffer per-VC

Discards may be based on per queue thresholds

Page 180: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Scheduling

Give preferential treatment to untagged cells

Separate queues for each VC

Per VC scheduling decisions

E.g. FIFO modified to give CLP=0 cells higher priority

Scheduling between queues controls outgoing rate of VCs

Individual cells get fair allocation while meeting traffic contract

Page 181: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Components of GFR Mechanism

Page 182: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

GFR Conformance Definition

UPC function

UPC monitors VC for traffic conformance

Tag or discard non-conforming cells

Frame conforms if all cells in frame conform

Rate of cells within contract

Generic cell rate algorithm PCR and CDVT specified for connection

All cells have same CLP

Within maximum frame size (MFS)

Page 183: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

QoS Eligibility Test

Test for contract conformanceDiscard or tag non-conforming cells

Looking at upper bound on trafficDetermine frames eligible for QoS guarantee

Under GFR contract for VCLooking at lower bound for traffic

Frames are one of:Nonconforming: cells tagged or discardedConforming ineligible: best effortsConforming eligible: guaranteed delivery

Page 184: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Simplified Frame Based GCRA

Page 185: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

ATM Traffic Management

Section 13.6 will be skipped except for the following

Page 186: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Traffic Management and Congestion Control Techniques

Resource management using virtual paths

Connection admission control

Usage parameter control

Selective cell discard

Traffic shaping

Page 187: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Resource Management Using Virtual Paths

Separate traffic flow according to service characteristicsUser to user applicationUser to network applicationNetwork to network application

Concern with:Cell loss ratioCell transfer delayCell delay variation

Page 188: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Configuration of VCCs and VPCs

Page 189: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Allocating VCCs within VPC

All VCCs within VPC should experience similar network performance

Options for allocation:

Aggregate peak demand

Statistical multiplexing

Page 190: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Connection Admission Control

First line of defense

User specifies traffic characteristics for new connection (VCC or VPC) by selecting a QoS

Network accepts connection only if it can meet the demand

Traffic contract

Peak cell rate

Cell delay variation

Sustainable cell rate

Burst tolerance

Page 191: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Usage Parameter Control

Monitor connection to ensure traffic conforms to contractProtection of network resources from overload by one connectionDone on VCC and VPCPeak cell rate and cell delay variationSustainable cell rate and burst toleranceDiscard cells that do not conform to traffic contractCalled traffic policing

Page 192: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Traffic Shaping

Smooth out traffic flow and reduce cell clumping

Token bucket

Page 193: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Token Bucket for Traffic Shaping

Page 194: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to
Page 195: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

UNIT IVIntegrated and Differentiated Services

Page 196: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Introduction

New additions to Internet increasing trafficHigh volume client/server applicationWeb

GraphicsReal time voice and video

Need to manage traffic and control congestionIEFT standards

Integrated servicesCollective service to set of traffic demands in domain

– Limit demand & reserve resourcesDifferentiated services

Classify traffic in groupsDifferent group traffic handled differently

Page 197: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Integrated Services Architecture (ISA)

IPv4 header fields for precedence and type of service usually ignored

ATM only network designed to support TCP, UDP and real-time traffic

May need new installation

Need to support Quality of Service (QoS) within TCP/IP

Add functionality to routers

Means of requesting QoS

Page 198: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Internet Traffic – Elastic

Can adjust to changes in delay and throughput

E.g. common TCP and UDP application

E-Mail – insensitive to delay changes

FTP – User expect delay proportional to file size

Sensitive to changes in throughput

SNMP – delay not a problem, except when caused by congestion

Web (HTTP), TELNET – sensitive to delay

Not per packet delay – total elapsed time

E.g. web page loading time

For small items, delay across internet dominates

For large items it is throughput over connection

Need some QoS control to match to demand

Page 199: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Internet Traffic – Inelastic

Does not easily adapt to changes in delay and throughput

Real time traffic

Throughput

Minimum may be required

Delay

E.g. stock trading

Jitter - Delay variation

More jitter requires a bigger buffer

E.g. teleconferencing requires reasonable upper bound

Packet loss

Page 200: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Inelastic Traffic Problems

Difficult to meet requirements on network with variable queuing delays and congestion

Need preferential treatment

Applications need to state requirements

Ahead of time (preferably) or on the fly

Using fields in IP header

Resource reservation protocol

Must still support elastic traffic

Deny service requests that leave too few resources to handle elastic traffic demands

Page 201: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

ISA Approach

Provision of QoS over IP

Sharing available capacity when congested

Router mechanisms

Routing Algorithms

Select to minimize delay

Packet discard

Causes TCP sender to back off and reduce load

Enahnced by ISA

Page 202: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Flow

IP packet can be associated with a flowDistinguishable stream of related IP packetsFrom single user activityRequiring same QoSE.g. one transport connection or one video streamUnidirectionalCan be more than one recipient

MulticastMembership of flow identified by source and destination IP address, port numbers, protocol typeIPv6 header flow identifier can be used but isnot necessarily equivalent to ISA flow

Page 203: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

ISA Functions

Admission control

For QoS, reservation required for new flow

RSVP used

Routing algorithm

Base decision on QoS parameters

Queuing discipline

Take account of different flow requirements

Discard policy

Manage congestion

Meet QoS

Page 204: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 9.1 ISA Implemented in Router

Page 205: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

ISA Components – Background Functions

Reservation Protocol

RSVP

Admission control

Management agent

Can use agent to modify traffic control database and direct admission control

Routing protocol

Page 206: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

ISA Components – Forwarding

Classifier and route selectionIncoming packets mapped to classes

Single flow or set of flows with same QoS– E.g. all video flows

Based on IP header fieldsDetermines next hop

Packet schedulerManages one or more queues for each outputOrder queued packets sent

Based on class, traffic control database, current and past activity on outgoing port

Policing

Page 207: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

ISA Services

Traffic specification (TSpec) defined as service for flow

On two levels

General categories of service

Guaranteed

Controlled load

Best effort (default)

Particular flow within category

TSpec is part of contract

Page 208: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Token Bucket

Many traffic sources can be defined by token bucket scheme

Provides concise description of load imposed by flow

Easy to determine resource requirements

Provides input parameters to policing function

Page 209: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 9.2 Token Bucket Scheme

Page 210: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

ISA Services –Guaranteed Service

Assured capacity level or data rateSpecific upper bound on queuing delay through network

Must be added to propagation delay or latency to get total delaySet high to accommodate rare long queue delays

No queuing lossesI.e. no buffer overflow

E.g. Real time play back of incoming signal can use delay buffer for incoming signal but will not tolerate packet loss

Page 211: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

ISA Services – Controlled Load

Tightly approximates to best efforts under unloaded conditions

No upper bound on queuing delay

High percentage of packets do not experience delay over minimum transit delay

Propagation plus router processing with no queuing delay

Very high percentage delivered

Almost no queuing loss

Adaptive real time applications

Receiver measures jitter and sets playback point

Video can drop a frame or delay output slightly

Voice can adjust silence periods

Page 212: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Queuing Discipline

Traditionally first in first out (FIFO) or first come first served (FCFS) at each router port

No special treatment to high priority packets (flows)

Small packets held up by large packets ahead of them in queue

Larger average delay for smaller packets

Flows of larger packets get better service

Greedy TCP connection can crowd out altruistic connections

If one connection does not back off, others may back off more

Page 213: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Fair Queuing (FQ)

Multiple queues for each port

One for each source or flow

Queues services round robin

Each busy queue (flow) gets exactly one packet per cycle

Load balancing among flows

No advantage to being greedy

Your queue gets longer, increasing your delay

Short packets penalized as each queue sends one packet per cycle

Page 214: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 9.3 FIFO and Fair Queuing

Page 215: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Processor Sharing

Multiple queues as in FQ

Send one bit from each queue per round

Longer packets no longer get an advantage

Can work out virtual (number of cycles) start and finish time for a given packet

However, we wish to send packets, not bits

Page 216: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Bit-Round Fair Queuing (BRFQ)

Compute virtual start and finish time as before

When a packet finished, the next packet sent is the one with the earliest virtual finish time

Good approximation to performance of PS

Throughput and delay converge as time increases

Page 217: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 9.4 Examples of PS and BRFQ

Page 218: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 9.5Comparisonof FIFO andFair Queue

Page 219: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Generalized Processor Sharing (GPS)

BRFQ can not provide different capacities to different flowsEnhancement called Weighted fair queue (WFQ)From PS, allocate weighting to each flow that determines how many bots are sent during each round

If weighted 5, then 5 bits are sent per roundGives means of responding to different service requestsGuarantees that delays do not exceed bounds

Page 220: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Weighted Fair Queue

Emulates bit by bit GPS

Same strategy as BRFQ

Page 221: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 9.6Comparisonof FIFO, WFQ

Page 222: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Proactive Packet Discard

Congestion management by proactive packet discard

Before buffer full

Used on single FIFO queue or multiple queues for elastic traffic

E.g. Random Early Detection (RED)

Page 223: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Random Early Detection (RED)Motivation

Surges fill buffers and cause discardsOn TCP this is a signal to enter slow start phase, reducing load

Lost packets need to be resentAdds to load and delay

Global synchronizationTraffic burst fills queues so packets lostMany TCP connections enter slow startTraffic drops so network under utilizedConnections leave slow start at same time causing burst

Bigger buffers do not helpTry to anticipate onset of congestion and tell one connection to slow down

Page 224: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RED Design Goals

Congestion avoidance

Global synchronization avoidance

Current systems inform connections to back off implicitly by dropping packets

Avoidance of bias to bursty traffic

Discard arriving packets will do this

Bound on average queue length

Hence control on average delay

Page 225: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RED Algorithm – Overview

Calculate average queue size avgif avg < THmin

queue packetelse if THmin avg Thmax

calculate probability Pawith probability Pa

discard packetelse with probability 1-Pa

queue packetelse if avg THmax

discard packet

Page 226: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 9.7RED Buffer

Page 227: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RED Algorithm Detail

Page 228: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 9.9RED ProbabilityParameter

Page 229: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 9.10 Comparison of Drop Tail and RED Performance

Page 230: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Differentiated Services (DS)

ISA and RSVP complex to deploy

May not scale well for large volumes of traffic

Amount of control signals

Maintenance of state information at routers

DS architecture designed to provide simple, easy to implement, low overhead tool

Support range of network services

Differentiated on basis of performance

Page 231: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Characteristics of DS

Use IPv4 header Type of Service or IPv6 Traffic Class fieldNo change to IP

Service level agreement (SLA) established between provider (internet domain) and customer prior to use of DS

DS mechanisms not needed in applicationsBuild in aggregation

All traffic with same DS field treated sameE.g. multiple voice connections

DS implemented in individual routers by queuing and forwarding based on DS fieldState information on flows not saved by routers

Page 232: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Table 9.1DS Terminology (1)

Behavior Aggregate

A set of packets with the same DS codepoint crossing a link in a particular direction.

Classifier Selects packets based on the DS field (BA classifier) or on multiple fields within the packet header (MF classifier).

DS Boundary Node A DS node that connects one DS domain to a node in another domain

DS Codepoint A specified value of the 6-bit DSCP portion of the 8-bit DS field in the IP header.

DS Domain A contiguous (connected) set of nodes, capable of implementing differentiated services, that operate with a common set of service provisioning policies and per-hop behavior definitions.

DS Interior Node A DS node that is not a DS boundary node.

DS Node A node that supports differentiated services. Typically, a DS node is a router. A host system that provides differentiated services for applications in the host is also a DS node.

Dropping The process of discarding packets based on specified rules; also called policing.

Page 233: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Table 9.1 DS Terminology (2)

Marking The process of setting the DS codepoint in a packet. Packets may be marked on initiation and may be re-marked by an en route DS node.

Metering The process of measuring the temporal properties (e.g., rate) of a packet stream selected by a classifier. The instantaneous state of that process may affect marking, shaping, and dropping functions.

Per-Hop Behavior (PHB)

The externally observable forwarding behavior applied at a node to a behavior aggregate.

Service Level Agreement (SLA)

A service contract between a customer and a service provider that specifies the forwarding service a customer should receive.

Shaping The process of delaying packets within a packet stream to cause it to conform to some defined traffic profile.

Traffic Conditioning

Control functions performed to enforce rules specified in a TCA, including metering, marking, shaping, and dropping.

Traffic Conditioning Agreement (TCA)

An agreement specifying classifying rules and traffic conditioning rules that are to apply to packets selected by the classifier.

Page 234: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Services

Provided within DS domainContiguous portion of Internet over which consistent set of DS policies administeredTypically under control of one administrative entity

Defined in SLACustomer may be user organization or other DS domainPacket class marked in DS field

Service provider configures forwarding policies routersOngoing measure of performance provided for each class

DS domain expected to provide agreed service internallyIf destination in another domain, DS domain attempts to forward packets through other domains

Appropriate service level requested from each domain

Page 235: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

SLA Parameters

Detailed service performance parameters

Throughput, drop probability, latency

Constraints on ingress and egress points

Indicate scope of service

Traffic profiles to be adhered to

Token bucket

Disposition of traffic in excess of profile

Page 236: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Example Services

QualitativeA: Low latencyB: Low loss

QuantitativeC: 90% in-profile traffic delivered with no more than 50ms latencyD: 95% in-profile traffic delivered

MixedE: Twice bandwidth of FF: Traffic with drop precedence X has higher delivery probability than that with drop precedence Y

Page 237: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 9.11DS Field

Page 238: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

DS Field Detail

Leftmost 6 bits are DS codepoint

64 different classes available

3 pools

xxxxx0 : reserved for standards

– 000000 : default packet class

– xxx000 : reserved for backwards compatibility with IPv4 TOS

xxxx11 : reserved for experimental or local use

xxxx01 : reserved for experimental or local use but may be allocated for future standards if needed

Rightmost 2 bits unused

Page 239: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Precedence Field

Indicates degree of urgency or priority

If router supports precedence, three approaches:

Route selection

Particular route may be selected if smaller queue or next hop on supports network precedence or priority

e.g. token ring supports priority

Network service

Network on next hop supports precedence, service invoked

Queuing discipline

Use to affect how queues handled

E.g. preferential treatment in queues to datagrams with higher precedence

Page 240: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Router Queuing Disciplines – Queue Service

RFC 1812

Queue service

SHOULD implement precedence-ordered queue service

Highest precedence packet queued for link is sent

MAY implement other policy-based throughput management

MUST be configurable to suppress them (i.e., use strict ordering)

Page 241: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Router Queuing Disciplines – Congestion Control

Router receives packet beyond storage capacityDiscard that or other packet or packets

MAY discard packet just receivedSimplest but not best policy

Should select packet from session most heavily abusing link given QoS permitsRecommended policy in datagram environments using FIFO queues is to discard packet randomly selectedRouters using fair queues discard from longest queueRouter MAY use these algorithms

If precedence-ordered implemented and enabled MUST NOT discard packet with precedence higher than packet not discardedMAY protect packets that request maximize reliability TOS

Except where doing so breaks previous ruleMAY protect fragmented IP packets

Dropping fragment may cause all fragments to be retransmittedMAY protect packets used for control or management

Page 242: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 9.12DS Domains

Page 243: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Configuration – Interior Routers

Domain consists of set of contiguous routers

Interpretation of DS codepoints within domain is consistent

Interior nodes (routers) have simple mechanisms to handle packets based on codepoints

Queuing gives preferential treatment depending on codepoint

Per Hop behaviour (PHB)

Must be available to all routers

Typically the only part implemented in interior routers

Packet dropping rule dictated which to drop when buffer saturated

Page 244: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Configuration – Boundary Routers

Include PHB rulesAlso traffic conditioning to provide desired service

ClassifierSeparate packets into classes

MeterMeasure traffic for conformance to profile

MarkerPolicing by remarking codepoints if required

ShaperDropper

Page 245: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Per Hop Behaviour –Expedited forwarding

Premium service

Low loss, delay, jitter; assured bandwidth end-to-end service through domains

Looks like point to point or leased line

Difficult to achieve

Configure nodes so traffic aggregate has well defined minimum departure rate

EF PHB

Condition aggregate so arrival rate at any node is always less that minimum departure rate

Boundary conditioners

Page 246: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Per Hop Behaviour –Explicit Allocation

Superior to best efforts

Does not require reservation of resources

Does not require detailed discrimination among flows

Users offered choice of number of classes

Monitored at boundary node

In or out depending on matching profile or not

Inside network all traffic treated as single pool of packets, distinguished only as in or out

Drop out packets before in packets if necessary

Different levels of service because different number of in packets for each user

Page 247: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

PHB - Assured Forwarding

Four classes defined

Select one or more to meet requirements

Within class, packets marked by customer or provider with one of three drop precedence values

Used to determine importance when dropping packets as result of congestion

Page 248: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

UNIT VProtocols for QoS Support

Page 249: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Increased Demands

Need to incorporate bursty and stream traffic in TCP/IP architecture

Increase capacity

Faster links, switches, routers

Intelligent routing policies

End-to-end flow control

Multicasting

Quality of Service (QoS) capability

Transport protocol for streaming

Page 250: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Resource Reservation - Unicast

Prevention as well as reaction to congestion required

Can do this by resource reservation

Unicast

End users agree on QoS for task and request from network

May reserve resources

Routers pre-allocate resources

If QoS not available, may wait or try at reduced QoS

Page 251: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Resource Reservation – Multicast

Generate vast trafficHigh volume application like videoLots of destinations

Can reduce loadSome members of group may not want current transmission

“Channels” of videoSome members may only be able to handle part of transmission

Basic and enhanced video components of video streamRouters can decide if they can meet demand

Page 252: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Resource Reservation Problems on an Internet

Must interact with dynamic routing

Reservations must follow changes in route

Soft state – a set of state information at a router that expires unless refreshed

End users periodically renew resource requests

Page 253: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Resource ReSerVation Protocol (RSVP) Design Goals

Enable receivers to make reservations

Different reservations among members of same multicast group allowed

Deal gracefully with changes in group membership

Dynamic reservations, separate for each member of group

Aggregate for group should reflect resources needed

Take into account common path to different members of group

Receivers can select one of multiple sources (channel selection)

Deal gracefully with changes in routes

Re-establish reservations

Control protocol overhead

Independent of routing protocol

Page 254: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RSVP Characteristics

Unicast and MulticastSimplex

Unidirectional data flowSeparate reservations in two directions

Receiver initiatedReceiver knows which subset of source transmissions it wants

Maintain soft state in internetResponsibility of end users

Providing different reservation stylesUsers specify how reservations for groups are aggregated

Transparent operation through non-RSVP routersSupport IPv4 (ToS field) and IPv6 (Flow label field)

Page 255: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Data Flows - Session

Data flow identified by destination

Resources allocated by router for duration of session

Defined by

Destination IP address

Unicast or multicast

IP protocol identifier

TCP, UDP etc.

Destination port

May not be used in multicast

Page 256: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Flow Descriptor

Reservation Request

Flow spec

Desired QoS

Used to set parameters in node’s packet scheduler

Service class, Rspec (reserve), Tspec (traffic)

Filter spec

Set of packets for this reservation

Source address, source prot

Page 257: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 10.1 Treatment of Packets of One Session at One Router

Page 258: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 10.2 RSVP Operation

Page 259: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RSVP Operation

G1, G2, G3 members of multicast group

S1, S2 sources transmitting to that group

Heavy black line is routing tree for S1, heavy grey line for S2

Arrowed lines are packet transmission from S1 (black) and S2 (grey)

All four routers need to know reservation s for each multicast address

Resource requests must propagate back through routing tree

Page 260: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Filtering

G3 has reservation filter spec including S1 and S2G1, G2 from S1 onlyR3 delivers from S2 to G3 but does not forward to R4G1, G2 send RSVP request with filter excluding S2G1, G2 only members of group reached through R4

R4 doesn’t need to forward packets from this sessionR4 merges filter spec requests and sends to R3

R3 no longer forwards this session’s packets to R4Handling of filtered packets not specifiedHere they are dropped but could be best efforts delivery

R3 needs to forward to G3Stores filter spec but doesn’t propagate it

Page 261: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Reservation Styles

Determines manner in which resource requirements from members of group are aggregated

Reservation attribute

Reservation shared among senders (shared)

Characterizing entire flow received on multicast address

Allocated to each sender (distinct)

Simultaneously capable of receiving data flow from each sender

Sender selection

List of sources (explicit)

All sources, no filter spec (wild card)

Page 262: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Reservation Attributes and Styles

Reservation Attribute

Distinct

Sender selection explicit = Fixed filter (FF)

Sender selection wild card = none

Shared

Sender selection explicit= Shared-explicit (SE)

Sender selection wild card = Wild card filter (WF)

Page 263: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Wild Card Filter Style

Single resource reservation shared by all senders to this address

If used by all receivers: shared pipe whose capacity is largest of resource requests from receivers downstream from any point on tree

Independent of number of senders using it

Propagated upstream to all senders

WF(*{Q})

* = wild card sender

Q = flowspec

Audio teleconferencing with multiple sites

Page 264: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Fixed Filter Style

Distinct reservation for each sender

Explicit list of senders

FF(S1{Q!}, S2{Q2},…)

Video distribution

Page 265: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Shared Explicit Style

Single reservation shared among specific list of senders

SE(S1, S2, S3, …{Q})

Multicast applications with multiple data sources but unlikely to transmit simultaneously

Page 266: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 10.3Examples of Reservation Style

Page 267: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RSVP Protocol Mechanisms

Two message types

Resv

Originate at multicast group receivers

Propagate upstream

Merged and packet when appropriate

Create soft states

Reach sender

– Allow host to set up traffic control for first hop

Path

Provide upstream routing information

Issued by sending hosts

Transmitted through distribution tree to all destinations

Page 268: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 10.4RSVP Host Model

Page 269: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Multiprotocol Label Switching (MPLS)

Routing algorithms provide support for performance goals

Distributed and dynamic

React to congestion

Load balance across network

Based on metrics

Develop information that can be used in handling different service needs

Enhancements provide direct support

IS, DS, RSVP

Nothing directly improves throughput or delay

MPLS tries to match ATM QoS support

Page 270: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Background

Efforts to marry IP and ATM

IP switching (Ipsilon)

Tag switching (Cisco)

Aggregate route based IP switching (IBM)

Cascade (IP navigator)

All use standard routing protocols to define paths between end points

Assign packets to path as they enter network

Use ATM switches to move packets along paths

ATM switching (was) much faster than IP routers

Use faster technology

Page 271: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Developments

IETF working group 1997Proposed standard 2001Routers developed to be as fast as ATM switches

Remove the need to provide both technologies in same networkMPLS does provide new capabilities

QoS supportTraffic engineeringVirtual private networksMultiprotocol support

Page 272: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Connection Oriented QoS Support

Guarantee fixed capacity for specific applications

Control latency/jitter

Ensure capacity for voice

Provide specific, guaranteed quantifiable SLAs

Configure varying degrees of QoS for multiple customers

MPLS imposes connection oriented framework on IP based internets

Page 273: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Traffic Engineering

Ability to dynamically define routes, plan resource commitments based on known demands and optimize network utilization

Basic IP allows primitive traffic engineering

E.g. dynamic routing

MPLS makes network resource commitment easy

Able to balance load in face of demand

Able to commit to different levels of support to meet user traffic requirements

Aware of traffic flows with QoS requirements and predicted demand

Intelligent re-routing when congested

Page 274: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

VPN Support

Traffic from a given enterprise or group passes transparently through an internet

Segregated from other traffic on internet

Performance guarantees

Security

Page 275: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Multiprotocol Support

MPLS can be used on different network technologies

IP

Requires router upgrades

Coexist with ordinary routers

ATM

Enables and ordinary switches co-exist

Frame relay

Enables and ordinary switches co-exist

Mixed network

Page 276: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

MPLS Terminology

Forwarding equivalence class (FEC) A group of IP packets that are forwarded in the same manner (e.g., over the same path, with the same forwarding treatment). Frame merge Label merging, when it is applied to operation over frame based media, so that the potential problem of cell interleave is not an issue. Label A short fixed-length physically contiguous identifier that is used to identify a FEC, usually of local significance. Label merging The replacement of multiple incoming labels for a particular FEC with a single outgoing label. Label swap The basic forwarding operation consisting of looking up an incoming label to determine the outgoing label, encapsulation, port, and other data handling information. Label swapping A forwarding paradigm allowing streamlined forwarding of data by using labels to identify classes of data packets that are treated indistinguishably when forwarding. Label switched hop The hop between two MPLS nodes, on which forwarding is done using labels. Label switched path The path through one or more LSRs at one level of the hierarchy followed by a packets in a particular FEC. Label switching router (LSR) An MPLS node that is capable of forwarding native L3 packets. 

Label stack An ordered set of labels. Merge point A node at which label merging is done. MPLS domain A contiguous set of nodes that operate MPLS routing and forwarding and that are also in one Routing or Administrative Domain MPLS edge node An MPLS node that connects an MPLS domain with a node that is outside of the domain, either because it does not run MPLS, and/or because it is in a different domain. Note that if an LSR has a neighboring host that is not running MPLS, then that LSR is an MPLS edge node. MPLS egress node An MPLS edge node in its role in handling traffic as it leaves an MPLS domain. MPLS ingress node n MPLS edge node in its role in handling traffic as it enters an MPLS domain. MPLS label A short, fixed-length physically contiguous identifier that is used to identify a FEC, usually of local significance. A label is carried in a packet header. MPLS node A node that is running MPLS. An MPLS node will be aware of MPLS control protocols, will operate one or more L3 routing protocols, and will be capable of forwarding packets based on labels. An MPLS node may optionally be also capable of forwarding native L3 packets.

Page 277: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

MPLS Operation

Label switched routers capable of switching and routing packets based on label appended to packet

Labels define a flow of packets between end points or multicast destinations

Each distinct flow (forward equivalence class – FEC) has specific path through LSRs defined

Connection oriented

Each FEC has QoS requirements

IP header not examined

Forward based on label value

Page 278: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 10.5MPLS Operation Diagram

Page 279: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Explanation - Setup

Labelled switched path established prior to routing and delivery of packets

QoS parameters established along path

Resource commitment

Queuing and discard policy at LSR

Interior routing protocol e.g. OSPF used

Labels assigned

Local significance only

Manually or using Label distribution protocol (LDP) or enhanced version of RSVP

Page 280: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Explanation – Packet Handling

Packet enters domain through edge LSR

Processed to determine QoS

LSR assigns packet to FEC and hence LSP

May need co-operation to set up new LSP

Append label

Forward packet

Within domain LSR receives packet

Remove incoming label, attach outgoing label and forward

Egress edge strips label, reads IP header and forwards

Page 281: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Notes

MPLS domain is contiguous set of MPLS enabled routersTraffic may enter or exit via direct connection to MPLS router or from non-MPLS routerFEC determined by parameters, e.g.

Source/destination IP address or network IP addressPort numbersIP protocol idDifferentiated services codepointIPv6 flow label

Forwarding is simple lookup in predefined table

Map label to next hopCan define PHB at an LSR for given FECPackets between same end points may belong to different FEC

Page 282: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 10.6MPLS Packet Forwarding

Page 283: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Label Stacking

Packet may carry number of labelsLIFO (stack)

Processing based on top labelAny LSR may push or pop label

Unlimited levelsAllows aggregation of LSPs into single LSP for part of routeC.f. ATM virtual channels inside virtual pathsE.g. aggregate all enterprise traffic into one LSP for access provider to handleReduces size of tables

Page 284: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 10.7 MPLS Label Format

Label value: Locally significant 20 bit

Exp: 3 bit reserved for experimental use

E.g. DS information or PHB guidance

S: 1 for oldest entry in stack, zero otherwise

Time to live (TTL): hop count or TTL value

Page 285: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Time to Live Processing

Needed to support TTL since IP header not read

First label TTL set to IP header TTL on entry to MPLS domain

TTL of top entry on stack decremented at internal LSR

If zero, packet dropped or passed to ordinary error processing (e.g. ICMP)

If positive, value placed in TTL of top label on stack and packet forwarded

At exit from domain, (single stack entry) TTL decremented

If zero, as above

If positive, placed in TTL field of Ip header and forwarded

Page 286: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Label Stack

Appear after data link layer header, before network layer header

Top of stack is earliest (closest to network layer header)

Network layer packet follows label stack entry with S=1

Over connection oriented services

Topmost label value in ATM header VPI/VCI field

Facilitates ATM switchingTop label inserted between cell header and IP header

In DLCI field of Frame Relay

Note: TTL problem

Page 287: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 10.8Position of MPLS Label

Page 288: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

FECs, LSPs, and Labels

Traffic grouped into FECsTraffic in a FEC transits an MLPS domain along an LSPPackets identified by locally significant labelAt each LSR, labelled packets forwarded on basis of label.

LSR replaces incoming label with outgoing labelEach flow must be assigned to a FECRouting protocol must determine topology and current conditions so LSP can be assigned to FEC

Must be able to gather and use information to support QoS LSRs must be aware of LSP for given FEC, assign incoming label to LSP, communicate label to other LSRs

Page 289: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Topology of LSPs

Unique ingress and egress LSR

Single path through domain

Unique egress, multiple ingress LSRs

Multiple paths, possibly sharing final few hops

Multiple egress LSRs for unicast traffic

Multicast

Page 290: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Route Selection

Selection of LSP for particular FEC

Hop-by-hop

LSR independently chooses next hop

Ordinary routing protocols e.g. OSPF

Doesn’t support traffic engineering or policy routing

Explicit

LSR (usually ingress or egress) specifies some or all LSRs in LSP for given FEC

Selected by configuration,or dynamically

Page 291: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Constraint Based Routing Algorithm

Take in to account traffic requirements of flows and resources available along hops

Current utilization, existing capacity, committed services

Additional metrics over and above traditional routing protocols (OSPF)

Max link data rate

Current capacity reservation

Packet loss ratio

Link propagation delay

Page 292: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Label Distribution

Setting up LSP

Assign label to LSP

Inform all potential upstream nodes of label assigned by LSR to FEC

Allows proper packet labelling

Learn next hop for LSP and label that downstream node has assigned to FEC

Allow LSR to map incoming to outgoing label

Page 293: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Real Time Transport Protocol

TCP not suited to real time distributed application

Point to point so not suitable for multicast

Retransmitted segments arrive out of order

No way to associate timing with segments

UDP does not include timing information nor any support for real time applications

Solution is real-time transport protocol RTP

Page 294: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RTP Architecture

Close coupling between protocol and application layer functionality

Framework for application to implement single protocol

Application level framing

Integrated layer processing

Page 295: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Application Level Framing

Recovery of lost data done by application rather than transport layerApplication may accept less than perfect delivery

Real time audio and videoInform source about quality of delivery rather than retransmitSource can switch to lower quality

Application may provide data for retransmissionSending application may recompute lost values rather than storing themSending application can provide revised valuesCan send new data to “fix” consequences of loss

Lower layers deal with data in units provided by applicationApplication data units (ADU)

Page 296: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Integrated Layer Processing

Adjacent layers in protocol stack tightly coupled

Allows out of order or parallel functions from different layers

Page 297: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 10.9RTP Protocol Architecture

Page 298: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RTP Data Transfer Protocol

Transport of real time data among number of participants in a session, defined by:

RTP Port number

UDP destination port number if using UDP

RTP Control Protocol (RTCP) port number

Destination port address used by all participants for RTCP transfer

IP addresses

Multicast or set of unicast

Page 299: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Multicast Support

Each RTP data unit includes:

Source identifier

Timestamp

Payload format

Page 300: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Relays

Intermediate system acting as receiver and transmitter for given protocol layerMixers

Receives streams of RTP packets from one or more sourcesCombines streamsForwards new stream

TranslatorsProduce one or more outgoing RTP packets for each incoming packetE.g. convert video to lower quality

Page 301: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 10.10RTP Header

Page 302: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RTP Control Protocol (RTCP)

RTP is for user data

RTCP is multicast provision of feedback to sources and session participants

Uses same underlying transport protocol (usually UDP) and different port number

RTCP packet issued periodically by each participant to other session members

Page 303: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RTCP Functions

QoS and congestion control

Identification

Session size estimation and scaling

Session control

Page 304: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

RTCP Transmission

Number of separate RTCP packets bundled in single UDP datagram

Sender report

Receiver report

Source description

Goodbye

Application specific

Page 305: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Figure 10.11RTCP Packet Formats

Page 306: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Packet Fields (All Packets)

Version (2 bit) currently version 2Padding (1 bit) indicates padding bits at end of control information, with number of octets as last octet of paddingCount (5 bit) of reception report blocks in SR or RR, or source items in SDES or BYEPacket type (8 bit)Length (16 bit) in 32 bit words minus 1In addition Sender and receiver reports have:

Synchronization Source Identifier

Page 307: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Packet Fields (Sender Report)Sender Information Block

NTP timestamp: absolute wall clock time when report sent

RTP Timestamp: Relative time used to create timestamps in RTP packets

Sender’s packet count (for this session)

Sender’s octet count (for this session)

Page 308: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Packet Fields (Sender Report)Reception Report Block

SSRC_n (32 bit) identifies source refered to by this report block

Fraction lost (8 bits) since previous SR or RR

Cumulative number of packets lost (24 bit) during this session

Extended highest sequence number received (32 bit)

Least significant 16 bits is highest RTP data sequence number received from SSRC_n

Most significant 16 bits is number of times sequence number has wrapped to zero

Interarrival jitter (32 bit)

Last SR timestamp (32 bit)

Delay since last SR (32 bit)

Page 309: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Receiver Report

Same as sender report except:

Packet type field has different value

No sender information block

Page 310: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Source Description Packet

Used by source to give more information

32 bit header followed by zero or more additional information chunks

E.g.:

0 END End of SDES list

1 CNAME Canonical name

2 NAME Real user name of source

3 EMAIL Email address

Page 311: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Goodbye (BYE)

Indicates one or more sources no linger active

Confirms departure rather than failure of network

Page 312: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Application Defined Packet

Experimental use

For functions & features that are application specific

Page 313: UNIT II. Queuing Analysis 1.Do an after-the-fact analysis based on actual values. 2. Make a simple projection by scaling up from existing experience to

Required Reading

Stallings chapter 10