CS 356: Computer Network Architectures Lecture 24: IP Multicast and - - PowerPoint PPT Presentation

cs 356 computer network architectures lecture 24 ip
SMART_READER_LITE
LIVE PREVIEW

CS 356: Computer Network Architectures Lecture 24: IP Multicast and - - PowerPoint PPT Presentation

CS 356: Computer Network Architectures Lecture 24: IP Multicast and QoS [PD] Chapter 4.2, 6.5 Xiaowei Yang xwy@cs.duke.edu Overview Two historic important topics in networking Multicast QoS Limited Deployment IP Multicast


slide-1
SLIDE 1

CS 356: Computer Network Architectures Lecture 24: IP Multicast and QoS [PD] Chapter 4.2, 6.5

Xiaowei Yang xwy@cs.duke.edu

slide-2
SLIDE 2

Overview

  • Two historic important topics in networking

– Multicast – QoS

  • Limited Deployment
slide-3
SLIDE 3

IP Multicast

slide-4
SLIDE 4

What is Multicast

  • Many-to-many communications
  • Applications

– Internet radio – Video conferencing – News dissemination

slide-5
SLIDE 5

Communication models

  • Unicast

– One-to-one – Unicast routing

  • Multicast
  • Anycast
  • Broadcast
slide-6
SLIDE 6

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?
slide-7
SLIDE 7

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

slide-8
SLIDE 8

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)

slide-9
SLIDE 9

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
slide-10
SLIDE 10

Router forwarding algorithm

  • if IP-destination is on the same local network
  • r IP-destination is a host group, send

datagram locally to IP-destination

  • else

– send datagram locally to NextHop ( IP-destination )

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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?

slide-14
SLIDE 14

Multicast routing

224.16.0.10 eth0 eth1

  • Multicast distribution trees: multiple outgoing

interfaces for a multicast destination address

eth0 eth1

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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

  • ne
  • Packets do not loop back

– Why?

S

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

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

slide-20
SLIDE 20

A pruning example

R1 R2 G Prune

slide-21
SLIDE 21

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

slide-22
SLIDE 22

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

slide-23
SLIDE 23

PIM-SM

  • (a): R4 joins the multicast

group

  • (b): R5 joins the group

– The Join message travels to R2

(*, G), if (S,G)

slide-24
SLIDE 24

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
slide-25
SLIDE 25

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

slide-26
SLIDE 26

Source specific tree

  • Problems

– Encapsulation is inefficient

  • Solution:

– RP sends Join message to source S – R3 now knows the group (S,G)

slide-27
SLIDE 27

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

slide-28
SLIDE 28

PIM-SM

  • R1 is the source

(s,G), if

slide-29
SLIDE 29

PIM: final remarks

  • Unicast independent

– Assuming a unicast routing protocol has established correct forwarding state

  • Scalability challenges

– Per (S,G) forwarding state!

slide-30
SLIDE 30

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

slide-31
SLIDE 31

41

End System Multicast

MIT1 MIT2 CMU1 CMU2

UCSD MIT1 MIT2 CMU2 Overlay Tree

Berkeley

CMU1

CMU Berkeley MIT UCSD

slide-32
SLIDE 32

Internet Quality of Service

slide-33
SLIDE 33

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
slide-34
SLIDE 34

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
slide-35
SLIDE 35

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

slide-36
SLIDE 36

51

Utility Curve Shapes

  • Stay to the right and you

are fine for all curves

BW U Elastic BW U Hard real-time BW U Delay-adaptive

slide-37
SLIDE 37

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

slide-38
SLIDE 38
slide-39
SLIDE 39

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 loss

54

slide-40
SLIDE 40

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
slide-41
SLIDE 41
slide-42
SLIDE 42

57

Applications Variations

Really only two classes of applications 1) Intolerant and rigid 2) Tolerant and adaptive Other combinations make little sense 3) Intolerant and adaptive

  • Cannot adapt without interruption

4) Tolerant and rigid

  • Missed opportunity to improve delay
slide-43
SLIDE 43

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?

slide-44
SLIDE 44

59

If all users’ utility functions are elastic

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

Bandwidth U

Does equal allocation of bandwidth maximize total utility?

Elastic

slide-45
SLIDE 45

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

slide-46
SLIDE 46

61

Utility Curves – Inelastic traffic

BW U Hard real-time BW U Delay-adaptive

Does equal allocation of bandwidth maximize total utility?

slide-47
SLIDE 47

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

slide-48
SLIDE 48

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

slide-49
SLIDE 49

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

slide-50
SLIDE 50

Comments

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

happen?

slide-51
SLIDE 51

66

Approaches to QoS

  • Fine-grained:

– Integrated services

  • RSVP
  • Coarse-grained:

– Differentiated services

slide-52
SLIDE 52

DiffServ

slide-53
SLIDE 53

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

slide-54
SLIDE 54

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

slide-55
SLIDE 55

DiffServ Architecture Example

AT&T

UNC

Duke

Shaping, policing, marking Per-hop behavior

slide-56
SLIDE 56

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)

slide-57
SLIDE 57

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

slide-58
SLIDE 58

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

slide-59
SLIDE 59

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

slide-60
SLIDE 60

DiffServ Architecture Example

AT&T

UNC

Duke

Shaping, policing, marking Per-hop behavior Edge Core

slide-61
SLIDE 61

103

Edge Router Input Functionality

Packet classifier Traffic Conditioner 1 Traffic Conditioner N Forwarding engine

Arriving packet

Best effort

Flow 1 Flow N

Classify packets based on packet header

slide-62
SLIDE 62

104

Traffic Conditioning

Wait for token

Set EF bit

Packet input Packet

  • utput

Test if token

Set AF “in” bit

token No token

Packet input Packet

  • utput

Drop on overflow

slide-63
SLIDE 63

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” set incr in_cnt High-priority Q Low-priority Q If “in” set decr in_cnt RIO queue management

Packets out EF AF

slide-64
SLIDE 64

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” set incr in_cnt High-priority Q Low-priority Q If “in” set decr in_cnt RIO queue management

Packets out EF AF

slide-65
SLIDE 65

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

slide-66
SLIDE 66

108

RIO Drop Probabilities

slide-67
SLIDE 67

109

Pre-marking and traffic conditioning

first hop router internal router edge router CEO edge router

ISP Company A

Unmarked packet flow Packets in premium flows have bit set Premium packet flow restricted to R bytes/sec Policing

slide-68
SLIDE 68

110

Edge Router Policing

Arriving packet

Is packet marked? Token available? Token available? Clear “in” bit Drop packet

Forwarding engine AF “in” set EF set

Not marked no no

slide-69
SLIDE 69

Remarks on QoS

  • “Dead” at the Internet scale
  • Areas of success

– Enterprise networks – Residential uplinks – Datacenter networks

slide-70
SLIDE 70

Conclusion

  • Multicast

– Service model – Sample routing protocols

  • QoS

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

  • Motivated by business models