+ All Categories
Home > Documents > CS 356: Computer Network Architectures Lecture 24: IP ...

CS 356: Computer Network Architectures Lecture 24: IP ...

Date post: 10-Dec-2021
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
70
CS 356: Computer Network Architectures Lecture 24: IP Multicast and QoS [PD] Chapter 4.2, 6.5 Xiaowei Yang [email protected]
Transcript
Page 1: CS 356: Computer Network Architectures Lecture 24: IP ...

CS 356: Computer Network Architectures

Lecture 24: IP Multicast and QoS[PD] Chapter 4.2, 6.5

Xiaowei [email protected]

Page 2: CS 356: Computer Network Architectures Lecture 24: IP ...

Overview

• Two historic important topics in networking–Multicast– QoS

• Limited Deployment

Page 3: CS 356: Computer Network Architectures Lecture 24: IP ...

IP Multicast

Page 4: CS 356: Computer Network Architectures Lecture 24: IP ...

What is Multicast

• Many-to-many communications

• Applications– Internet radio– Video conferencing– News dissemination

Page 5: CS 356: Computer Network Architectures Lecture 24: IP ...

Communication models

• Unicast– One-to-one– Unicast routing

• Multicast

• Anycast

• Broadcast

Page 6: CS 356: Computer Network Architectures Lecture 24: IP ...

Design questions

• How does a sender know who is interested in the packet?– Each sender maintains the group membership?

• How to send a packet to each receiver?

Page 7: CS 356: Computer Network Architectures Lecture 24: IP ...

Multicast Architecture

• Nodes interested in many-to-many communications form a multicast group

• Each group is assigned a multicast address

• Routers establish forwarding state to multicast addresses

• Members of a multicast group receive packets sent to the group’s multicast address

Page 8: CS 356: Computer Network Architectures Lecture 24: IP ...

Group Management

• Routers maintain which outgoing links connect to multicast group members

• A host signals to its local router its desire to join or leave a group– Internet Group Management protocol (IPv4)–Multicast Listener Discovery (IPv6)

Page 9: CS 356: Computer Network Architectures Lecture 24: IP ...

Multicast Addresses• IPv4: 224.0.0.0/4 (28 bits)• IPv6: 1111 1111 / 8

• Mapping an IP multicast address to an Ethernet multicast address– 01-00-5E-00-00-00 to 01-00-5E-7F-FF-FF– Internet Multicast [RFC1112] – Map the lower-order 23-bit IP address to Ethernet multicast

address

• IPv6 has a similar mapping scheme

Page 10: CS 356: Computer Network Architectures Lecture 24: IP ...

Router forwarding algorithm

• if IP-destination is on the same local network or IP-destination is a host group, send datagram locally to IP-destination

• else– send datagram locally to NextHop ( IP-destination

)

Page 11: CS 356: Computer Network Architectures Lecture 24: IP ...

Receiving a Multicast Packet

• Host configures the network adaptor to listen to the multicast group

• Examine the IP multicast address, and discard packets from non-interested groups

Page 12: CS 356: Computer Network Architectures Lecture 24: IP ...

Types of multicast

• Any source multicast –Many-to-many– A receiver does not specify a sender

• Source specific multicast– A receiver specifies both the group and the sender– TV, radio channels

Page 13: CS 356: Computer Network Architectures Lecture 24: IP ...

Design questions

• How does a sender know who is interested in the packet?– Sends to a multicast group– Receivers join the group– Routers maintain the group membership

• How to send a packet to each receiver?– Unicast?– Flooding?

Page 14: CS 356: Computer Network Architectures Lecture 24: IP ...

Multicast routing224.16.0.10 eth0

eth1

• Multicast distribution trees: multiple outgoing interfaces for a multicast destination address

eth0

eth1

Page 15: CS 356: Computer Network Architectures Lecture 24: IP ...

Distance Vector Multicast Routing Protocol

• Using existing distance vector routing protocol

• Establish multicast forwarding state– Flood to all destinations (reverse path flooding)• Key design challenge: loop-avoidance• Q: how many broadcast loop-avoidance mechanisms

have we learned?– Prune those not in the group

Page 16: CS 356: Computer Network Architectures Lecture 24: IP ...

Reverse path flooding

• Reverse shortest-path flooding– If packet comes from link L, and next hop to S is L,

broadcast to all outgoing links except the incoming one

• Packets do not loop back– Why?

S

Page 17: CS 356: Computer Network Architectures Lecture 24: IP ...

Problems with RPF

• Problems– multiple routers on a LAN à receiving multiple

copies of packets– Not all hosts are in the multicast group. Broadcast

is a waste

S

R1

R2

Page 18: CS 356: Computer Network Architectures Lecture 24: IP ...

Designated router election

• Address the duplicate broadcast packet problem• Routers on the same LAN elect a parent that has the shortest

distance to S– Parent is one with the shortest path

• Routers can learn this from DV routing messages– If tie, elect one with the smallest router ID

R1

R2

Page 19: CS 356: Computer Network Architectures Lecture 24: IP ...

Truncated reverse path flooding

• Start with a full broadcast tree to all links (RPB)

• Prune unnecessary links– Hosts interested in G periodically announce membership– If a leaf network does not have any member, sends a prune

message to parent• Augment distance vector to propagate groups interested to other

routers• Only do so when S starts to multicast

– This prune message can be propagated from router to router to prune non-interested branches

Page 20: CS 356: Computer Network Architectures Lecture 24: IP ...

A pruning example

R1

R2

G

Prune

Page 21: CS 356: Computer Network Architectures Lecture 24: IP ...

Protocol Independent Multicast (PIM)

• Problem with DVMRP– Broadcast is inefficient if few nodes are interested– Most routers must explicitly send prune messages– Dependent on routing protocols

• Solution– Dense mode: flood & prune similar to DVMRP– Sparse mode: send join messages to rendezvous point (RP)– Not dependent on any unicast routing protocol, unlike

DVMRP

Page 22: CS 356: Computer Network Architectures Lecture 24: IP ...

PIM-SM

1. Routers explicitly join a shared distribution tree– Unlike DVMRP which starts from a broadcast

tree

2. Source-specific trees are created later for more efficient distribution if there is sufficient traffic

Page 23: CS 356: Computer Network Architectures Lecture 24: IP ...

PIM-SM

• (a): R4 joins the multicast group

• (b): R5 joins the group– The Join message travels to

R2

(*, G), if

(S,G)

Page 24: CS 356: Computer Network Architectures Lecture 24: IP ...

Join• PIM-SM assigns each group a special router known

as the rendezvous point (RP)

• A router that has hosts interested in G sends a Join message to RP

• A router looks at the join message and create a multicast routing entry (*,G) pointing to the incoming interface. This is called an all sender forwarding entry

• It propagates join to previous hop closer to RP

Page 25: CS 356: Computer Network Architectures Lecture 24: IP ...

Forwarding along a shared tree

• If a source S wishes to send to the group– S sends a packet to its designated

router (R1) with the multicast group as the destination address

– R1 encapsulates the packet into a PIM register message, unicast it to RP

• PR decapsulates it and forwards to the shared trees

Page 26: CS 356: Computer Network Architectures Lecture 24: IP ...

Source specific tree

• Problems– Encapsulation is

inefficient

• Solution: – RP sends Join message

to source S– R3 now knows the group

(S,G)

Page 27: CS 356: Computer Network Architectures Lecture 24: IP ...

Source specific tree

• Problem: shared trees are inefficient as paths could be longer than shortest path

• Solution– If s sends at high rates, routers send source-

specific Join messages– Trees may no longer involve RP

Page 28: CS 356: Computer Network Architectures Lecture 24: IP ...

PIM-SM

• R1 is the source

(s,G), if

Page 29: CS 356: Computer Network Architectures Lecture 24: IP ...

PIM: final remarks

• Unicast independent– Assuming a unicast routing protocol has

established correct forwarding state

• Scalability challenges– Per (S,G) forwarding state!

Page 30: CS 356: Computer Network Architectures Lecture 24: IP ...

Remarks on IP multicast

• Many design choices

• Facing many challenges: used to be a very active resource topic– Economic model’s not clear: who pays for the

service?– Reliability– Scalability– Heterogeneity

Page 31: CS 356: Computer Network Architectures Lecture 24: IP ...

41

End System MulticastMIT1

MIT2

CMU1

CMU2

UCSD

MIT1

MIT2

CMU2

Overlay Tree

Berkeley

CMU1

CMU

BerkeleyMIT

UCSD

Page 32: CS 356: Computer Network Architectures Lecture 24: IP ...

Internet Quality of Service

Page 33: CS 356: Computer Network Architectures Lecture 24: IP ...

48

Motivation

• Internet currently provides one single class of “best-effort” service– No assurance about delivery

• Many existing applications are elastic– Tolerate delays and losses– Can adapt to congestion

• “Real-time” applications may be inelastic

Page 34: CS 356: Computer Network Architectures Lecture 24: IP ...

49

Inelastic Applications• Continuous media applications– Lower and upper limit on acceptable performance– Below which video and audio are not intelligible– Internet telephones, teleconferencing with high delay (200 -

300ms) impair human interactions

• Hard real-time applications– Require hard limits on performance– E.g., industrial control applications

• Internet surgery

Page 35: CS 356: Computer Network Architectures Lecture 24: IP ...

50

Design question #1: Why a New Service Model?

• What is the basic objective of network design?–Maximize total bandwidth? Minimize latency?

Maximize ISP’s revenues?– the designer’s choice: Maximize social welfare: the

total utility given to users (why not profit?)

• What does utility vs. bandwidth look like?–Must be non-decreasing function – Shape depends on application

Page 36: CS 356: Computer Network Architectures Lecture 24: IP ...

51

Utility Curve Shapes

• Stay to the right and youare fine for all curves

BW

U Elastic

BW

U Hard real-time

BW

U Delay-adaptive

Page 37: CS 356: Computer Network Architectures Lecture 24: IP ...

52

Playback Applications

• Sample signal à packetize à transmit à buffer à playback– Fits most multimedia applications

• Performance concern:– Jitter: variation in end-to-end delay

• Delay = fixed + variable = (propagation + packetization) + queuing• Solution:

– Playback point – delay introduced by buffer to hide network jitter

Page 38: CS 356: Computer Network Architectures Lecture 24: IP ...
Page 39: CS 356: Computer Network Architectures Lecture 24: IP ...

Characteristics of Playback Applications

• In general lower delay is preferable

• Doesn’t matter when packet arrives as long as it is before playback point

• Network guarantees (e.g., bound on jitter) would make it easier to set playback point

• Applications can tolerate some loss54

Page 40: CS 356: Computer Network Architectures Lecture 24: IP ...

55

Applications Variations• Rigid and adaptive applications– Delay adaptive• Rigid: set fixed playback point • Adaptive: adapt playback point

– E.g. Shortening silence for voice applications– Rate adaptive

• Loss tolerant and intolerant applications

• Four combinations

Page 41: CS 356: Computer Network Architectures Lecture 24: IP ...
Page 42: CS 356: Computer Network Architectures Lecture 24: IP ...

57

Applications VariationsReally only two classes of applications

1) Intolerant and rigid2) Tolerant and adaptive

Other combinations make little sense3) Intolerant and adaptive

- Cannot adapt without interruption4) Tolerant and rigid

- Missed opportunity to improve delay

Page 43: CS 356: Computer Network Architectures Lecture 24: IP ...

Design question 2: How to maximize V = å U(si)

• Choice #1: add more pipes

• Choice #2: fix the bandwidth but offer different services– Q: can differentiated services improve V?

Page 44: CS 356: Computer Network Architectures Lecture 24: IP ...

59

If all users’ utility functions are elastic

• å si = B• Max å U(si)

Bandwidth

U

Does equal allocation of bandwidth maximize total utility?

Elastic

Page 45: CS 356: Computer Network Architectures Lecture 24: IP ...

60

Design question: is Admission Control needed?

• If U(bandwidth) is concave à elastic applications

– Incremental utility is decreasing with increasing bandwidth• U(x) = log(xp)

• V = nlog(B/n) p= logBpn1-p

– Is always advantageous to have more flows with lower bandwidth• No need of admission control;

This is why the Internet works! And fairness makes sense

BW

U Elastic

Page 46: CS 356: Computer Network Architectures Lecture 24: IP ...

61

Utility Curves – Inelastic traffic

BW

U Hard real-time

BW

U Delay-adaptive

Does equal allocation of bandwidth maximize total utility?

Page 47: CS 356: Computer Network Architectures Lecture 24: IP ...

62

Is Admission Control needed?

• If U is convex à inelastic applications– U(number of flows) is no longer

monotonically increasing– Need admission control to

maximize total utility

• Admission control à deciding when the addition of new people would result in reduction of utility– Basically avoids overload

BW

U Delay-adaptive

Page 48: CS 356: Computer Network Architectures Lecture 24: IP ...

Incentives

• Who should be given what service?– Users have incentives to cheat– Pricing seems to be a reasonable choice– But usage-based charging may not be well

received by users

Page 49: CS 356: Computer Network Architectures Lecture 24: IP ...

Over provisioning

• Pros: simple• Cons– Not cost effective– Bursty traffic leads to a high peak/average ratio• E.g., normal users versus leading edge users

– It might be easier to block heavy users

Page 50: CS 356: Computer Network Architectures Lecture 24: IP ...

Comments

• End-to-end QoS has not happened• Why?• Can you think of any mechanism to make it

happen?

Page 51: CS 356: Computer Network Architectures Lecture 24: IP ...

66

Approaches to QoS

• Fine-grained: – Integrated services• RSVP

• Coarse-grained:– Differentiated services

Page 52: CS 356: Computer Network Architectures Lecture 24: IP ...

DiffServ

Page 53: CS 356: Computer Network Architectures Lecture 24: IP ...

95

Motivation of DiffServ• Analogy:– Airline service, first class, coach, various

restrictions on coach as a function of payment

• Economics and assurances– Pay more, and get better service– Best-effort expected to make up bulk of traffic,– Revenue from first class important to economic

base– Not motivated by real-time or maximizing social

welfare

Page 54: CS 356: Computer Network Architectures Lecture 24: IP ...

96

Basic Architecture• Agreements/service provided within a domain– Service Level Agreement (SLA) with ISP

• Edge routers do traffic conditioning– Shaping, Policing, and Marking

• Core routers– Process packets based on packet marking and

defined per hop behavior (PHB)

• More scalable than IntServ– No per flow state or signaling

Page 55: CS 356: Computer Network Architectures Lecture 24: IP ...

DiffServ Architecture Example

AT&T

UNC

DukeShaping, policing, marking

Per-hop behavior

Page 56: CS 356: Computer Network Architectures Lecture 24: IP ...

98

Per-hop Behaviors (PHBs)

• Define behavior of individual routers rather than end-to-end services; there may be many more services than behaviors– No end-to-end guarantee

• Multiple behaviors – need more than one bit in the header

• Six bits from IP TOS field are taken for Diffserv code points (DSCP)

Page 57: CS 356: Computer Network Architectures Lecture 24: IP ...

99

Per-hop Behaviors (PHBs)

• Two PHBs defined so far

• Expedited forwarding aka premium service (type P)– Possible service: providing a virtual wire

• Assured forwarding (type A)– Possible service: strong assurance for traffic within profile and

allow source to exceed profile

Page 58: CS 356: Computer Network Architectures Lecture 24: IP ...

100

Expedited Forwarding PHB• Goal: EF packets are forwarded with minimal delay and loss

• Mechanisms:– User sends within profile and network commits to delivery

with requested profile

– Rate limiting of EF packets at edges only, using token bucket to shape transmission

– Priority or Weighted Fair Queuing

Page 59: CS 356: Computer Network Architectures Lecture 24: IP ...

101

Assured Forwarding PHB• Goal: good services for in-profile traffic• Mechanisms:– User and network agree to some traffic profile• How to define profiles is an open/policy issue

– Edges mark packets up to allowed rate as “in-profile” or low drop precedence

– Other packets are marked with one of two higher drop precedence values

– Random Early Detection in/out queues

Page 60: CS 356: Computer Network Architectures Lecture 24: IP ...

DiffServ Architecture Example

AT&TUNC

DukeShaping, policing, marking

Per-hop behavior

Edge Core

Page 61: CS 356: Computer Network Architectures Lecture 24: IP ...

103

Edge Router Input Functionality

Packetclassifier

TrafficConditioner 1

TrafficConditioner N

Forwardingengine

Arrivingpacket

Best effort

Flow

1Flo

w N

Classify packets based on packet header

Page 62: CS 356: Computer Network Architectures Lecture 24: IP ...

104

Traffic Conditioning

Wait fortoken

Set EF bitPacketinput

Packetoutput

Test iftoken

Set AF “in” bit

token

No token

Packetinput

Packetoutput

Drop on overflow

Page 63: CS 356: Computer Network Architectures Lecture 24: IP ...

Router Output Processing

• Two queues: EF packets on higher priority queue• Lower priority queue implements RED “In or

Out” scheme (RIO)

105

What DSCP?

If “in” setincr in_cnt

High-priority Q

Low-priority Q

If “in” setdecr in_cnt

RIO queuemanagement

Packets out

EF

AF

Page 64: CS 356: Computer Network Architectures Lecture 24: IP ...

Router Output Processing

• Two queues: EF packets on higher priority queue• Lower priority queue implements RED “In or

Out” scheme (RIO)

106

What DSCP?

If “in” setincr in_cnt

High-priority Q

Low-priority Q

If “in” setdecr in_cnt

RIO queuemanagement

Packets out

EF

AF

Page 65: CS 356: Computer Network Architectures Lecture 24: IP ...

107

Red with In or Out (RIO)• Similar to RED, but with two separate probability

curves• Has two classes, “In” and “Out” (of profile)• “Out” class has lower Minthresh, so packets are

dropped from this class first– Based on queue length of all packets

• As avg queue length increases, “in” packets are also dropped– Based on queue length of only “in” packets

Page 66: CS 356: Computer Network Architectures Lecture 24: IP ...

108

RIO Drop Probabilities

Page 67: CS 356: Computer Network Architectures Lecture 24: IP ...

109

Pre-marking and traffic conditioning

first hoprouter

internalrouter

edgerouter

CEO

edgerouter

ISP

Company A

Unmarkedpacket flow

Packets in premiumflows have bit set

Premium packet flowrestricted to R bytes/sec

Policing

Page 68: CS 356: Computer Network Architectures Lecture 24: IP ...

110

Edge Router Policing

Arrivingpacket

Is packetmarked?

Tokenavailable?

Tokenavailable?

Clear “in” bit

Drop packet

Forwardingengine

AF “in” set

EF set

Not marked

no

no

Page 69: CS 356: Computer Network Architectures Lecture 24: IP ...

Remarks on QoS

• “Dead” at the Internet scale• Areas of success– Enterprise networks– Residential uplinks– Datacenter networks

Page 70: CS 356: Computer Network Architectures Lecture 24: IP ...

Conclusion• Multicast– Service model– Sample routing protocols

• QoS– Why do we need it?– Integrated Services– Differentiated Services

• Motivated by business models


Recommended