Post on 21-Dec-2015
1Netcomm 2005
Communication NetworksCommunication Networks
Recitation 10Recitation 10
2Netcomm 2005
Multimedia, QoSMultimedia, QoS& Multicast Routing& Multicast Routing
3Netcomm 2005
Quality of Service: What is it?Quality of Service: What is it?
Multimedia applications: network audio and video
network provides application with level of performance needed for application to function.
QoS
4Netcomm 2005
Multimedia QoS RequirementsMultimedia QoS Requirements
• live sources, stored sourceslive sources, stored sources• requirements:requirements: deliver data in timely manner deliver data in timely manner
– short end-end delay for interactive multimediashort end-end delay for interactive multimedia• e.g., IP telephony, teleconf., virtual worlds, DISe.g., IP telephony, teleconf., virtual worlds, DIS
– in time for “smooth” playoutin time for “smooth” playout
• relaxed reliabilityrelaxed reliability– 100% reliablity not always required100% reliablity not always required
5Netcomm 2005
Why is QoS so hard?Why is QoS so hard?
need session’s input trafficneed session’s input traffic• must know app’s traffic demandmust know app’s traffic demand
To provide performance (delay, loss) guarantees: To provide performance (delay, loss) guarantees:
compute session’s outputcompute session’s output• scheduling disciplinescheduling discipline
6Netcomm 2005
7Netcomm 2005
RTP - Real-time Transport ProtocolRTP - Real-time Transport Protocol
• Ip-based protocol providingIp-based protocol providing– time-reconstructiontime-reconstruction– loss detectionloss detection– securitysecurity– content identificationcontent identification
• Designed primarily for multicast of real-Designed primarily for multicast of real-time datatime data
8Netcomm 2005
General ViewGeneral View
• and the result…and the result…
9Netcomm 2005
RTCP – Real-time Control ProtocolRTCP – Real-time Control Protocol
• Designed to work together with RTPDesigned to work together with RTP• In an RTP session the participants In an RTP session the participants
periodically send RTCP packet to give periodically send RTCP packet to give feedback on the quailty of the datafeedback on the quailty of the data
• Comparable to flow and congestion Comparable to flow and congestion control of other transport protocolscontrol of other transport protocols
• RTP produces sender and receivers RTP produces sender and receivers reports; statistics and packet countsreports; statistics and packet counts
10Netcomm 2005
RTSP – Real-time Streaming ProtocolRTSP – Real-time Streaming Protocol
• Client-server multimedia presentation Client-server multimedia presentation protocol to enable controlled delivery.protocol to enable controlled delivery.
• Provides ”vcr”-style remote controlProvides ”vcr”-style remote control
• RTSP is an application-level protocol RTSP is an application-level protocol designed to work with RTP (and RSVP) to designed to work with RTP (and RSVP) to provide a complete streaming service over provide a complete streaming service over internetinternet
11Netcomm 2005
RTSP Cont.RTSP Cont.
Multimedia DataEthernetheader
UDPheader
IPheader
RTPheader
RTSPheader
12Netcomm 2005
Example: Media on DemandExample: Media on Demand
client
web server
mediaservers
HTTP GET
presentation description (sdp)
SETUP
PLAY
RTP audio/video
RTCP
TEARDOWN
13Netcomm 2005
Intserv: QoS guaranteesIntserv: QoS guarantees• Resource reservationResource reservation
– call setup, signaling (RSVP)call setup, signaling (RSVP)– traffic, QoS declarationtraffic, QoS declaration– admission controladmission control
– QoS-sensitive QoS-sensitive scheduling (e.g., WFQ)scheduling (e.g., WFQ)
request/reply
14Netcomm 2005
RSVP RSVP –– Reservation ProtocolReservation Protocol
• Reservation is done in one directionReservation is done in one direction• Receiver-initiatedReceiver-initiated• The sender sends QoS wanted to the The sender sends QoS wanted to the
receiver which sends an RSVP receiver which sends an RSVP message back to the sendermessage back to the sender
• The sender does not need to know the The sender does not need to know the capabilities along the path or at the capabilities along the path or at the receiverreceiver
15Netcomm 2005
Intserv QoS: Service ModelsIntserv QoS: Service ModelsGuaranteed service:Guaranteed service:• worst case traffic arrival: worst case traffic arrival:
leaky-bucket-policed leaky-bucket-policed source source
• simple simple boundbound on delay on delay
WFQ
token rate, r
bucket size, b
per-flowrate, R
D = b/Rmax
Controlled load service:Controlled load service:• "a quality of service closely "a quality of service closely
approximating the QoS that approximating the QoS that same flow would receive same flow would receive from an unloaded network from an unloaded network element."element."
arrivingtraffic
16Netcomm 2005
Differentiated ServicesDifferentiated Servicesedge routers:edge routers:• profile of allowable user trafficprofile of allowable user traffic• packet marking:packet marking:
• in-profilein-profile• out-of-profileout-of-profile
““stateless” core routers:stateless” core routers:• no notion of sessionsno notion of sessions• forwarding: in-profile have “priority” over forwarding: in-profile have “priority” over
out-of-profileout-of-profile
17Netcomm 2005
Differentiated Services Cont.Differentiated Services Cont.
• Complexity (per-flow state) at network edgeComplexity (per-flow state) at network edge– leaky bucket markingleaky bucket marking
• High-speed, stateless core routersHigh-speed, stateless core routers– 1-bit determines forwarding behavior1-bit determines forwarding behavior
• Over-provisioned bandwidth:Over-provisioned bandwidth: for in-profile for in-profile traffic used for out-profile, best effort traffictraffic used for out-profile, best effort traffic
18Netcomm 2005
QoS RoutingQoS Routing
• QoS Routing = Multiple parameter QoS Routing = Multiple parameter routing subject to constraintsrouting subject to constraints– Link metrics are vectorsLink metrics are vectors– NP-complete (good heuristics needed)NP-complete (good heuristics needed)
A
B C D
EF G
H
IJ
K
delay: 10 msbandwidth :100 Mb/scell loss ratio: 1.0e-6
19Netcomm 2005
The ProblemThe ProblemTraditional unicast model does not scaleTraditional unicast model does not scale
– Millions of clientsMillions of clients– Server and network meltdownServer and network meltdown
20Netcomm 2005
Solution: IP MulticastSolution: IP Multicast• Source sends single streamSource sends single stream• Routers split stream towards all clientsRouters split stream towards all clients• Guarantee only one copy in each linkGuarantee only one copy in each link
21Netcomm 2005
Multicast Routing TreeMulticast Routing Tree
On tree relay router
Router with directly attached group membersIGMP
Multicast Routing Protocol
22Netcomm 2005
Internet Group Management Internet Group Management Protocol (IGMP)Protocol (IGMP)
• Used by routers to learn about Multicast Used by routers to learn about Multicast Group Memberships on their directly Group Memberships on their directly attached subnetsattached subnets
• Implemented over IPImplemented over IP• Designated RouterDesignated Router
– Each network has one QuerierEach network has one Querier– All routers begin as QueriersAll routers begin as Queriers– Mrouter with the lowest IP address chosenMrouter with the lowest IP address chosen
23Netcomm 2005
How IGMP WorksHow IGMP Works
one router is elected the “querier”one router is elected the “querier”querier periodically sends a Membership Query messagequerier periodically sends a Membership Query message
to the all-systems group (224.0.0.1), with TTL = 1to the all-systems group (224.0.0.1), with TTL = 1on receipt, hosts start random timers (between 0 and 10 on receipt, hosts start random timers (between 0 and 10
seconds) for each multicast group to which they belong seconds) for each multicast group to which they belong
Qrouters:
hosts:
24Netcomm 2005
How IGMP Works (cont.)How IGMP Works (cont.)
when a host’s timer for group G expires, it sends a when a host’s timer for group G expires, it sends a Membership Report Membership Report to group Gto group G, with TTL = 1, with TTL = 1
other members of G hear the report and stop their timersother members of G hear the report and stop their timersrouters hear routers hear allall reports, and time out non-responding groups reports, and time out non-responding groups
Q
G G G G
25Netcomm 2005
Type of Service (TOS) RoutingType of Service (TOS) Routing
“low delay”
“high throughput”
Does not support real QoS
26Netcomm 2005
Multicast Tree with QoSMulticast Tree with QoS
• QoS constraintsQoS constraints– Link: minimum bandwidth; available buffer space.Link: minimum bandwidth; available buffer space.– Tree constraints: end-to-end delay; jitter.Tree constraints: end-to-end delay; jitter.
• Optimization objectivesOptimization objectives– Link: maximize bandwidth.Link: maximize bandwidth.– Tree optimization: minimize the cost.Tree optimization: minimize the cost.
27Netcomm 2005
Core-Based Trees (CBT)Core-Based Trees (CBT)
• Core-based multicast routing:Core-based multicast routing:– One router is selected as the core for each One router is selected as the core for each
multicast group.multicast group.– A tree rooted at the core spans all group A tree rooted at the core spans all group
members.members.– Data packets are forwarded on all Data packets are forwarded on all on-treeon-tree
interfaces except the one on which packets interfaces except the one on which packets arrive.arrive.
28Netcomm 2005
CBT Multicast RoutingCBT Multicast Routing
Core
On tree relay router
On tree routerRouter with directlyattached group member
Sender
29Netcomm 2005
Member Join in CBTMember Join in CBT
Core
Requesting routerwith a new member
join-request
join-request
join-ack
join-ack
30Netcomm 2005
QoS-Aware Member JoinQoS-Aware Member Join
Core
On tree relay router
On tree group routerjoin-request
join-request
u
v
Eligibility Test
Only after the join-request passes the eligibilitytests will a join-acknowledgement be returned.
31Netcomm 2005
Shortest Path Tree (SPT)Shortest Path Tree (SPT)
• Source Based Tree:Source Based Tree: Rooted at the source, Rooted at the source, composed of the shortest paths between composed of the shortest paths between the source and each of the receivers in the the source and each of the receivers in the multicast group.multicast group.
• If the routing metric used is the latency If the routing metric used is the latency between neighbors, the resulted tree will between neighbors, the resulted tree will minimize delay over the multicast group.minimize delay over the multicast group.
• Example: DVMRP. Example: DVMRP.
32Netcomm 2005
Distance-Vector Multicast Distance-Vector Multicast Routing Protocol (DMVRP)Routing Protocol (DMVRP)
DVMRP consists of two major components:DVMRP consists of two major components:(1) a conventional distance-vector routing (1) a conventional distance-vector routing
protocol (like RIP)protocol (like RIP)
(2) a protocol for determining how to forward (2) a protocol for determining how to forward multicast packets, based on the routing table multicast packets, based on the routing table and routing messages of (1)and routing messages of (1)
33Netcomm 2005
Example TopologyExample Topologyg g
s
g
34Netcomm 2005
Phase 1: FloodingPhase 1: Floodingg g
s
g
35Netcomm 2005
Phase 2: PruningPhase 2: Pruningg g
s
prune (s,g)
prune (s,g)
g
36Netcomm 2005
Steady StateSteady State
g g
s
g
g
37Netcomm 2005
graft (s,g)
graft (s,g)
Joining on New ReceiversJoining on New Receivers
g g
s
g
g
report (g)
38Netcomm 2005
Steady State after JoiningSteady State after Joining
g g
s
g
g
39Netcomm 2005
Steiner Minimal Tree (SMT)Steiner Minimal Tree (SMT)
• Shared Tree: All sources use the same Shared Tree: All sources use the same shared tree. shared tree.
• SMT is defined to be the minimal cost SMT is defined to be the minimal cost subgraph (tree) spanning a given subgraph (tree) spanning a given subset of nodes in a graphsubset of nodes in a graph
• Approximate SMT: KMBApproximate SMT: KMB
40Netcomm 2005
An example of a Steiner TreeAn example of a Steiner Tree
AB
D G
H
I
C
F
K J
E
4
54
52
2
1
64
15
1
132
3
Mcast group members
Relay Nodes
*
41Netcomm 2005
• Step 1Step 1: Construct a complete directed distance : Construct a complete directed distance graph Ggraph G11=(V=(V11,E,E11,c,c11).).
• Step 2Step 2: Find the min spanning tree T: Find the min spanning tree T11 of G of G11. .
• Step3Step3: Construct a subgraph G: Construct a subgraph GSS of G by replacing of G by replacing
each edge in Teach edge in T11 by its corresponding shortest path in by its corresponding shortest path in
G. G.
• Step 4Step 4: Find the min spanning tree T: Find the min spanning tree TSS of G of GS.S.
• Step 5Step 5: Construct a Steiner tree T: Construct a Steiner tree THH from T from TSS by by
deleting edges in Tdeleting edges in TSS if necessary, so that all the if necessary, so that all the
leaves in Tleaves in TH H are Steiner points. are Steiner points.
KMB AlgorithmKMB Algorithm
42Netcomm 2005
Due to [Kou, Markowsky and Berman 81’]Due to [Kou, Markowsky and Berman 81’]
Worst case Worst case time complexitytime complexity O(|S||V| O(|S||V|22).).
CostCost no more than 2(1 - 1/ no more than 2(1 - 1/ll) *optimal cost ) *optimal cost
where where ll = number of leaves in the steiner tree. = number of leaves in the steiner tree.
KMB Algorithm Cont.KMB Algorithm Cont.
43Netcomm 2005
KMB ExampleKMB Example
A
C
D4
4
444 4
B
A
C
D4
4
4
B
A
B
C D
EF
G
HI
10
1
1
2
9
8
1 1
1/2
2
1/2
1
B
C D
EF
G
HI
1
1
2
1 1
1/2
2
1/2
1
A
Destination Nodes
Intermediate Nodes
44Netcomm 2005
KMB Example Cont.KMB Example Cont.
B
C D
EF
G
HI
1
1
2
1 1
1/2
2
1/2
A
B
C D
EF
I
1
1
2
1 1
2
A
Destination Nodes
Intermediate Nodes