katz, stoica f04 eecs 122: introduction to computer networks midterm ii review computer science...

54
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 94720-1776

Upload: edgar-butler

Post on 18-Jan-2018

218 views

Category:

Documents


0 download

DESCRIPTION

Katz, Stoica F04 3 Topics to be Covered  Transport Protocols  Congestion Control and Congestion Avoidance concepts, TCP variants  QoS (Packet Scheduling) and Congestion Control (RED) Mechanisms  Fluid Model and Token Bucket method  Essential DiffServ and IntServ Concepts

TRANSCRIPT

Page 1: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

Katz, Stoica F04

EECS 122: Introduction to Computer Networks

Midterm II Review

Computer Science DivisionDepartment of Electrical Engineering and Computer Sciences

University of California, BerkeleyBerkeley, CA 94720-1776

Page 2: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

2Katz, Stoica F04

Topics to be Covered

Transport Protocols Congestion Control and Congestion Avoidance

concepts, TCP variants QoS (Packet Scheduling) and Congestion Control

(RED) Mechanisms Fluid Model and Token Bucket method Essential DiffServ and IntServ Concepts

P&D: Sections 5.1, 5.2, 6.1- 6.3, 6.4.2, 6.5.1- 6.5.3 Project #2 Specification

Page 3: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

3Katz, Stoica F04

Topics to be Covered

Transport Protocols Congestion Control and Congestion Avoidance

concepts, TCP variants QoS (Packet Scheduling) and Congestion Control

(RED) Mechanisms Fluid Model and Token Bucket method Essential DiffServ and IntServ Concepts

Page 4: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

4Katz, Stoica F04

Transport Layer

Provide a way to decide which packets go to which applications (multiplexing/demultiplexing)

Can provide more reliability, in order delivery, at most once delivery

Can support messages of arbitrary length Govern when hosts should send data can

implement congestion and flow control

Page 5: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

5Katz, Stoica F04

UDP

User Datagram Protocol Minimalist transport protocol Same best-effort service model as IP Messages up to 64KB Provides multiplexing/demultiplexing to IP Does not provide flow and congestion control Application examples: video/audio streaming

Page 6: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

6Katz, Stoica F04

TCP

Transmission Control Protocol Reliable, in-order, and at most once delivery Messages can be of arbitrary length Provides multiplexing/demultiplexing to IP Provides congestion control and avoidance Application examples: file transfer, chat

Page 7: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

7Katz, Stoica F04

TCP Service

1) Open connection2) Reliable byte stream transfer from

(IPa, TCP Port1) to (IPb, TCP Port2)• Indication if connection fails: Reset

3) Close connection

Page 8: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

8Katz, Stoica F04

Flow Control vs. Congestion Control

Flow control: regulates how much data can a sender send without overflowing the receiver

Congestion control: regulates how much data can a sender send without congesting the network

Congestion: dropping packets into the network due to buffer overflow at routers

Page 9: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

9Katz, Stoica F04

Congestion Window (cwnd)

Limits how much data can be in transit, i.e., how many unacknowledged bytes can the sender send

EffectiveWindow = MaxWindow – (LastByteSent – LastByteAcked)

MaxWindow = min(cwnd, AdvertisedWindow)

LastByteAcked LastByteSent

sequence number increases

AdvertisedWindow is used for flow control

Page 10: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

10Katz, Stoica F04

Topics to be Covered

Transport Protocols Congestion Control and Congestion Avoidance

concepts, TCP variants QoS (Packet Scheduling) and Congestion Control

(RED) Mechanisms Fluid Model and Token Bucket method Essential DiffServ and IntServ Concepts

Page 11: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

11Katz, Stoica F04

Why do You Care About Congestion Control?

Otherwise you get to congestion collapse How might this happen?

- Assume network is congested (a router drops packets) - You learn the receiver didn’t get the packet

• Either by ACK or Timeout- What do you do? - Retransmit packet- Still receiver didn’t get the packet (because it is dropped again)- Retransmit again- …. and so on …- And now assume that everyone is doing the same!

Network will become more and more congested- And this with duplicate packets rather than new packets!

Page 12: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

12Katz, Stoica F04

Solutions?

Increase buffer size. Why not? Slow down

- If you know that your packets are not delivered because network congestion, slow down

Questions:- How do you detect network congestion? Use packet

loss as indication!- By how much do you slow down?

Page 13: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

13Katz, Stoica F04

TCP: Slow Start

Goal: discover congestion quickly How?

- Quickly increase cwnd until network congested get a rough estimate of the optimal size of cwnd:

- Whenever starting traffic on a new connection, or whenever increasing traffic after congestion was experienced:

• Set cwnd =1 • Each time a segment is acknowledged increment

cwnd by one (cwnd++).

Page 14: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

14Katz, Stoica F04

Slow Start Example

The congestion window size grows very rapidly

TCP slows down the increase of cwnd when cwnd >= ssthresh

segment 1cwnd = 1

cwnd = 2segment 2segment 3

cwnd = 4 segment 4

segment 5segment 6segment 7

cwnd = 8

cwnd = 3

Page 15: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

15Katz, Stoica F04

Congestion Avoidance

Additive increase: starting from the rough estimate, slowly increase cwnd to probe for additional available bandwidth

Multiplicative decrease: cut congestion window size aggressively if a timeout occurs

If cwnd > ssthresh then each time a segment is acknowledged increment cwnd by 1/cwnd (cwnd += 1/cwnd).

Page 16: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

16Katz, Stoica F04

Slow Start/Congestion Avoidance Example

Assume that ssthresh = 8

cwnd = 1

cwnd = 2

cwnd = 4

cwnd = 8

cwnd = 9

cwnd = 10

02468

101214

t=0 t=2 t=4 t=6

Roundtrip times

Cw

nd (i

n se

gmen

ts)

ssthresh

Page 17: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

17Katz, Stoica F04

Putting Everything Together:TCP PseudocodeInitially:

cwnd = 1;ssthresh = infinite;

New ack received:if (cwnd < ssthresh) /* Slow Start*/ cwnd = cwnd + 1;else /* Congestion Avoidance */ cwnd = cwnd + 1/cwnd;

Timeout:/* Multiplicative decrease */ssthresh = cwnd/2;cwnd = 1;

Page 18: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

18Katz, Stoica F04

The big picture

Time

cwnd

Timeout

Slow Start

CongestionAvoidance

sstresh

Page 19: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

19Katz, Stoica F04

Packet Loss Detection

Wait for Retransmission Time Out (RTO) What’s the problem with this? Because RTO is performance killer In the BSD TCP implementation, RTO is usually

more than 1 second- The granularity of RTT estimate is 500 ms- Retransmission timeout is at least two times RTT

Solution: Don’t wait for RTO to expire

Page 20: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

20Katz, Stoica F04

Fast Retransmit

Resend a segment after 3 duplicate ACKs

- Remember, a duplicate ACK means that an out-of sequence segment was received

Notes: - Duplicate ACKs due

packet reordering!- If window is small don’t

get duplicate ACKs!

ACK 2

segment 1cwnd = 1

cwnd = 2 segment 2segment 3

ACK 4cwnd = 4 segment 4

segment 5segment 6segment 7

ACK 3

3 duplicateACKs

ACK 4

ACK 4

Page 21: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

21Katz, Stoica F04

Fast Recovery

After a fast-retransmit set cwnd to ssthresh/2- i.e., don’t reset cwnd to 1

But when RTO expires still do cwnd = 1 Fast Retransmit and Fast Recovery

implemented by TCP Reno; most widely used version of TCP today

Page 22: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

22Katz, Stoica F04

Fast Retransmit and Fast Recovery

Retransmit after 3 duplicated acks- Prevent expensive timeouts

No need to slow start again At steady state, cwnd oscillates around the

optimal cwnd size

Time

cwnd

Slow Start

CongestionAvoidance

Fast retransmit

Page 23: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

23Katz, Stoica F04

TCP Flavors

TCP-Tahoe- cwnd =1 whenever drop is detected

TCP-Reno- cwnd =1 on timeout- cwnd = cwnd/2 on dupack

TCP-newReno- TCP-Reno + improved fast recovery

TCP-Vegas, TCP-SACK

Page 24: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

24Katz, Stoica F04

TCP Vegas

Improved timeout mechanism

Decrease cwnd only for losses sent at current rate- Avoids reducing rate twice

Congestion avoidance phase:- Compare Actual rate (A) to Expected rate (E)- If E-A > , decrease cwnd linearly- If E-A < , increase cwnd linearly- Rate measurements ~ delay measurements- See textbook for details!

Page 25: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

25Katz, Stoica F04

TCP-SACK

SACK = Selective Acknowledgements

ACK packets identify exactly which packets have arrived

Makes recovery from multiple losses much easier

Page 26: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

26Katz, Stoica F04

Topics to be Covered

Transport Protocols: UDP, TCP and its many variations

Congestion Control and Congestion Avoidance concepts

QoS (Packet Scheduling) and Congestion Control (RED) Mechanisms

Fluid Model and Token Bucket method Essential DiffServ and IntServ Concepts

Page 27: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

27Katz, Stoica F04

Packet Scheduling Decide when and what packet to send on output link

- Usually implemented at output interface of a router

1

2

Scheduler

flow 1

flow 2

flow n

Classifier

Buffer management

Page 28: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

28Katz, Stoica F04

Goals of Packet Scheduling

Provide per flow/aggregate QoS guarantees in terms of delay and bandwidth

Provide per flow/aggregate protection Flow/Aggregate identified by a subset of following fields in

the packet header - source/destination IP address (32 bits)- source/destination port number (16 bits)- protocol type (8 bits)- type of service (8 bits)

Examples: - All packets from machine A to machine B- All packets from Berkeley- All packets between Berkeley and MIT - All TCP packets from EECS-Berkeley

Page 29: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

29Katz, Stoica F04

Random Early Detection (RED)

Basic premise:- Router should signal congestion when the queue first

starts building up (by dropping a packet)- But router should give flows time to reduce their

sending rates before dropping more packets

Therefore, packet drops should be:- Early: don’t wait for queue to overflow- Random: don’t drop all packets in burst, but space

drops out

Page 30: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

30Katz, Stoica F04

RED Advantages

High network utilization with low delays

Average queue length small, but capable of absorbing large bursts

Many refinements to basic algorithm make it more adaptive (requires less tuning)

Page 31: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

31Katz, Stoica F04

Explicit Congestion Notification

Rather than drop packets to signal congestion, router can send an explicit signal

Explicit congestion notification (ECN):- Instead of optionally dropping packet, router sets a bit

in the packet header- If data packet has bit set, then ACK has ECN bit set

Backward compatibility:- Bit in header indicates if host implements ECN- Note that not all routers need to implement ECN

Page 32: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

32Katz, Stoica F04

ECN Advantages

No need for retransmitting optionally dropped packets

No confusion between congestion losses and corruption losses

Page 33: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

33Katz, Stoica F04

Topics to be Covered

Transport Protocols: UDP, TCP and its many variations

Congestion Control and Congestion Avoidance concepts

QoS (Packet Scheduling) and Congestion Control (RED) Mechanisms

Fluid Model and Token Bucket method Essential DiffServ and IntServ Concepts

Page 34: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

34Katz, Stoica F04

Token Bucket and Arrival Curve Parameters

- r – average rate, i.e., rate at which tokens fill the bucket- b – bucket depth- R – maximum link capacity or peak rate (optional parameter)

A bit is transmitted only when there is an available token Arrival curve – maximum number of bits transmitted within an

interval of time of size t

r bps

b bits

<= R bps

regulatortime

bits

b*R/(R-r)

slope R

slope r

Arrival curve

Page 35: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

35Katz, Stoica F04

Source Traffic Characterization

Arrival curve – maximum amount of bits transmitted during an interval of time Δt

Use token bucket to bound the arrival curve

Δt

bits

Arrival curve

time

bps

Page 36: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

36Katz, Stoica F04

Source Traffic Characterization: Example

Arrival curve – maximum amount of bits transmitted during an interval of time Δt

Use token bucket to bound the arrival curve

bitsArrival curve

time

bps

0 1 2 3 4 5

1

2

1 2 3 4 5

1

2

3

4

(R=2,b=1,r=1)

Δt

Page 37: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

37Katz, Stoica F04

QoS Guarantees: Per-hop Reservation

End-host: specify- the arrival rate characterized by token-bucket with parameters (b,r,R)- the maximum maximum admissible delay D, no losses

Router: allocate bandwidth ra and buffer space Ba such that - no packet is dropped- no packet experiences a delay larger than D

bits

b*R/(R-r)

slope rArrival curve

DBa

slope ra

R

Page 38: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

38Katz, Stoica F04

Packet Scheduling and Fair Queuing

Make sure that at any time the flow receives at least the allocated rate ra

The canonical example of such scheduler: Weighted Fair Queueing (WFQ)

Implements max-min fairness: each flow receives min(ri, f) , where- ri – flow arrival rate- f – link fair rate (see next slide)

Weighted Fair Queueing (WFQ) – associate a weight with each flow

Page 39: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

39Katz, Stoica F04

Fluid Flow System: Example

0 152 104 6 8

5 1 1 11 1

Red flow has packets backlogged between time 0 and 10

- Backlogged flow flow’s queue not empty

Other flows have packets continuously backlogged

All packets have the same size

flows

link

weights

Page 40: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

40Katz, Stoica F04

Packet System: Example

0 2 104 6 8

0 2 104 6 8

Select the first packet that finishes in the fluid flow system

Servicein fluid flow

system

Packetsystem

Page 41: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

41Katz, Stoica F04

Example: Problem 6.14 (a)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

A

B

C

A,1C,1 B,2 A,2

C,21 2 3 4 5 6 7 8 9 10

A,4B,6C,3

A,6B,8C,5

A,7B,11C,6

A,9B,12C,7

A,10B,15C,8

12 13 14 1511 16 17 18 19 20 21 wall clock

wall clock

1 2 3 4 5 6 7 8 9 10 12 13 14 1511 16 17 18 19 20 21 wall clock

link capacity (C) = 1; packet size = 1

Fluidsystem

Packetsystem

Arrivalpatterns

Page 42: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

42Katz, Stoica F04

Solution: Virtual Time

Key Observation: while the finish times of packets may change when a new packet arrives, the order in which packets finish doesn’t!

- Only the order is important for scheduling Solution: instead of the packet finish time maintain the

number of rounds needed to send the remaining bits of the packet (virtual finishing time)

- Virtual finishing time doesn’t change when the packet arrives System virtual time – index of the round in the bit-by-bit

round robin scheme

Page 43: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

43Katz, Stoica F04

Example: Problem 6.14 (a)

A,1C,1 B,2 A,2

C,21 2 3 4 5 6 7 8 9 10

A,4B,6C,3

A,6B,8C,5

A,7B,11C,6

A,9B,12C,7

A,10B,15C,8

12 13 14 1511 16 17 18 19 20 21 wall clock

2 3 4 5 6 7 8 9 10 12 13 14 1511 16 17 18 19 20 21 wall clock

V(t) -virtualsystemtime

1

1/31/2

1/3

1/21.5

2.53

)()(

tNC

ttV

C – link capacityN(t) – total weight of backlogged flows

Page 44: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

44Katz, Stoica F04

Properties of WFQ

Guarantee that any packet is transmitted within packet_lengt/link_capacity of its transmission time in the fluid flow system

- Can be used to provide guaranteed services Achieve max-min fair allocation

- Can be used to protect well-behaved flows against malicious flows

Page 45: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

45Katz, Stoica F04

What You Need to Know

Basic concepts- Arrival & service curve- Token-bucket specification- System virtual time / finish virtual time- WFQ properties - Link sharing requirements and challenges- Bandwidth-delay coupling problem

Mechanisms: - WFQ implementation in the fluid flow & packet system

You don’t need to know- Details of WF2Q- How service curve works

Page 46: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

46Katz, Stoica F04

Topics to be Covered

Transport Protocols: UDP, TCP and its many variations

Congestion Control and Congestion Avoidance concepts

QoS (Packet Scheduling) and Congestion Control (RED) Mechanisms

Fluid Model and Token Bucket method Essential DiffServ and IntServ Concepts

Page 47: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

47Katz, Stoica F04

Differentiated Services

Some traffic should get better treatment- Application requirements: interactive vs. bulk transfer- Economic arrangements: first-class versus coach

What kind of better service could you give?- Measured by drops, or delay (and drops)

How do you know which packets to give better service?- Bits in packet header

Page 48: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

48Katz, Stoica F04

Advantages of DiffServ

Very simple to implement

Can be applied at different granularities- Flows- Institutions- Traffic types

Marking can be done at edges or by hosts

Allows easy peering (bilateral SLAs)

Page 49: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

49Katz, Stoica F04

Disadvantages of DiffServ

Service is still “best effort”, just a “better” class of best effort

- Except for EF, which has terrible efficiency- All traffic accepted (within SLAs)

Some applications need better than this- Certainly some apps need better service than today’s

Internet delivers- But perhaps if DiffServ were widely deployed premium

traffic would get great service (recall example)

Page 50: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

50Katz, Stoica F04

Integrated Services

Attempt to integrate service for “real-time” applications into the Internet

Known as IntServ

Total, massive, and humiliating failure- 1000s of papers- IETF standards- and STILL no deployment ...

Page 51: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

51Katz, Stoica F04

Resource Reservation Protocol: RSVP

Establishes end-to-end reservations over a datagram network

Designed for multicast (which will be covered later)

Sources: send TSpec Receivers: respond with RSpec Network Network: responds to reservation requests

Page 52: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

52Katz, Stoica F04

Advantages of IntServ

Precise QoS delivered at flow granularities- Good service, given exactly to who needs it

Decisions made by hosts- Who know what they need- Not by organizations, egress/ingress points, etc.

Fits multicast and unicast traffic equally well

Page 53: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

53Katz, Stoica F04

Disadvantages of IntServ

Scalability: per-flow state, classification, etc.- Goofed big time- Aggregation/encapsulation techniques can help- Can overprovision big links, per-flow ok on small links- Scalability can be fixed, but no second chance

Economic arrangements:- Need sophisticated settlements between ISPs- Right now, settlements are primitive (barter)

User charging mechanisms: need QoS pricing

Page 54: Katz, Stoica F04 EECS 122: Introduction to Computer Networks Midterm II Review Computer Science Division Department of Electrical Engineering and Computer

54Katz, Stoica F04

What You Need to Know

Three kinds of QoS approaches- Link sharing, DiffServ, IntServ

Some basic concepts:- Differentiated dropping versus service priority- Per-flow QoS (IntServ) versus per-aggregate QoS (DiffServ)- Admission control: parameter versus measurement- Control plane versus data plane- Controlled load versus guaranteed service- Codepoints versus explicit signaling

Various mechanisms: - Playback points- Token bucket- RSVP PATH/RESV messages