Professional Documents
Culture Documents
Mike McBride
Network Traffic
6
4
2
0
1 20 40 60 80 100
# Clients
Multicast
Multicast Benefits
1. Efficiently Controls network traffic
Increase Productivity & Save Cost
2. Reduces server and CPU loads
3. Eliminates traffic redundancy Generate New Revenue Stream
Network
Add IP multicast to your network core
Choose transport methods based on SLA and operational
requirements/preferences
Native IP multicast, MPLS, L2, mix
Solution should minimize involvement in provisioning of individual
applications/services
IPTV services
Start with traditional broadcast TV
Investigate extending IPTV and other (IP multicast) services
More RoI on network layer investment
Signaling
Signaling
Signaling
Service Interface
The network
Network Plane
2008 Cisco Systems, Inc. All rights reserved. 11
50,000 feet architecture
Goals
Separate network and services plane
Network = shared infrastructure for all services
Routers, switches, optical gear, NMS,
IPTV = encoders, groomers, splicers, VoD server, STB,
Often operated by different entity/group than network
IP multicast
Allow to attach solution plane devices (sourcing, receiving) anywhere global,
national, regional, local. Start/stop sending traffic dynamically, best utilize
bandwidth only when needed.
One network technology usable for all services (IPTV, MVPN, )
Enable network operator not to provision/worry about individual
programming.
Service Interface
How network & service operator infrastructure interacts with each other
SLA of IP multicast traffic sent/received
Signaling used
Admission control
Per-flow bandwidth based admission control
RSVP-TE, RSVP/UPnP-CAC at edge
Router local admission control
More :
(per subscriber) access control (eg: lineup), provisioning of
subscriber policies,
Accounting (Radius, Netflow, )
Management, troubleshooting
Not further covered in this presentation
Lots of product specifics
Mandatory:
SSM-tree building: IGMPv3/MLDv2 with SSM joins
receivers needs to know (S,G) channels to join
Send multicast packets with TTL > 1
Optional:
DSCP setting
Signaling for source redundancy
Send/receive traffic twice (redundancy and/or live-live)
RSVP/UPnP-CAC for admission control
Workarounds in network
Static building of multicast trees, SSM transition,
DSCP marking, router based CAC,
2008 Cisco Systems, Inc. All rights reserved. 15
Network infrastructure
Only implicitly impacting services (resilience, security,..)
Path selection
(dual path) MoFRR or exposed to service
Tree cost optimization
Load-splitting:
ECMP: PIM and mLDP
Arbitrary: RSVP-TE (CSPF)
multicast services
How end-devices can use IP multicast
Of interest to network and service operator
ASM, SSM (and protocols IGMP/MLD)
Service operator just need to add SLA requirements!
ASM
DoS attacks by unwanted sources
Address allocation
Home STB
PE-AGG DSLAM
Regional/ local Gateway
content
Content
Source P2 PE2 CE2
Tailend LSRs =
CE2 PE1 P1 Downstream PEs
MVPN(PIM)
Carries traffic across RFC2547 compatible L3 VPN.
With aggregation
IPv4 PIM-SSM/SM/Bidir in core (IPv4)
RFC2547 BGP ; GRE encap/encap on PE
PE-PE signaling required
I-PMSI = Default-MDT ; SI-PIMSI = Data-MDT
BGP extensions for InterAS and SSM support
2008 Cisco Systems, Inc. All rights reserved. 27
Deploying MPLS-Based L3 VPNs and
San Jose
CE CE
CE CE
MPLS Core
CE CE
CE CE
2008 Cisco Systems, Inc. All rights reserved. 29
Multicast VPN: Overview
Each Multicast Domain consists
of a Default-MDT
Blue Each Default-MDT uses a
separate Multicast Group inside
of Providers Network
CE
Red
CE Provider
PE Net Blue
PE CE
Red (*,239.1.1.1)
CE (*,239.1.1.2)
PE
PE
CE CE
Blue Red
LO0 10.3.3.3
PE LO0 10.1.1.1 PE
LO0 10.3.3.3
C: Data Packet PE LO0 10.1.1.1 PE
S=192.1.1.1
D=239.255.1.1
Payload: (Multicast Data)
Provider
Net
(*,239.1.1.1)
Default-MDT
Receiver Joins:
S=192.1.1.1 LO0 10.2.2.2
G=239.255.1.1 PE LO0 10.4.4.4
PE
CE
LO0 10.3.3.3
PE LO0 10.1.1.1 PE
Provider
Net Unwanted Data
(*,239.1.1.1)
Default-MDT
Receiver
S=192.1.1.1 LO0 10.2.2.2
G=239.255.1.1 PE LO0 10.4.4.4
PE
CE
High-Rate
Source
S=192.1.1.1 CE
G=239.200.1.1
LO0 10.3.3.3
PE LO0 10.1.1.1 PE
Provider
Net
(*,239.1.1.1)
Default-MDT
Receiver
S=192.1.1.1 LO0 10.2.2.2
G=239.00.1.1 PE LO0 10.4.4.4
PE
CE
High-Rate
Source
S=192.1.1.1 CE
G=239.200.1.1
LO0 10.3.3.3
PE LO0 10.1.1.1 PE
P: Control Packet
S=10.1.1.1
D=224.0.0.13
Payload: (PIM MDT-Data) Provider
S=192.1.1.1, G=239.200.1.1
MDT Group = 239.2.2.1 Net
(*,239.1.1.1)
Default-MDT
Receiver
S=192.1.1.1 LO0 10.2.2.2
G=239.00.1.1 PE LO0 10.4.4.4
PE
CE
High-Rate
Source
S=192.1.1.1 CE
G=239.200.1.1
LO0 10.3.3.3
PE LO0 10.1.1.1 PE
P: Control Packet
S=10.2.2.2
D=224.0.0.13
Payload: (PIM Join) Provider
S=10.1.1.1, G=239.2.2.1
Net
(*,239.1.1.1)
Default-MDT
Receiver (*,239.2.2.1)
S=192.1.1.1 LO0 10.2.2.2 Data-MDT
G=239.00.1.1 PE LO0 10.4.4.4
PE
CE
High-Rate
Source
S=192.1.1.1 CE
G=239.200.1.1
LO0 10.3.3.3
PE LO0 10.1.1.1 PE
Provider
Net
(*,239.1.1.1)
Default-MDT
Receiver (*,239.2.2.1)
S=192.1.1.1 LO0 10.2.2.2 Data-MDT
G=239.00.1.1 PE LO0 10.4.4.4
PE
CE
High-Rate
Source
S=192.1.1.1 CE
G=239.200.1.1
LO0 10.3.3.3
C: Data Packet PE LO0 10.1.1.1 PE
S=192.1.1.1
D=239.200.1.1
Payload: (Multicast Data)
Provider
P: Data Packet Net
S=10.1.1.1
D=239.2.2.1 (*,239.1.1.1)
Payload: (C: Data Packet) Default-MDT
Receiver (*,239.2.2.1)
S=192.1.1.1 LO0 10.2.2.2 Data-MDT
G=239.00.1.1 PE LO0 10.4.4.4
PE
CE
C: Data Packet
S=192.1.1.1
D=239.200.1.1
Payload: (Multicast Data)
Pop
PE-1 P-4
CE-1 MC Pkt
MPLS Core
Content
Source MC Pkt L30
MC Pkt
Push PE-3
IPv4
Swap IPv6
CE-3
Receiver
2008 Cisco Systems, Inc. All rights reserved. 41
MLDP: Transiting SSM (IPv4 Non-VPN)
PIM-V4
PIM-V4 JOIN:
JOIN:
Source
Source == 10.10.10.1
10.10.10.1
M-LDP Group = 232.0.0.1
Group = 232.0.0.1
M-LDP Label
Label
Advertisement:
Advertisement:
M-LDP
M-LDP Label
Label FEC
FEC == FEC200
FEC200
Advertisement:
Advertisement:
FEC RPFv
RPFv = PE-1
= PE-1
FEC == FEC200
FEC200
RPFv
RPFv == PE-1
PE-1
Label
Label == (20)
(20) IPv4
PIM-V4
PIM-V4 Join:
Join: Label
Label == (100)
(100) CE-2 Content
Source
Source == 10.10.10.1
10.10.10.1 Receiver
Group = 232.0.0.1
Group = 232.0.0.1
IPv4
PE-2
CE-1
PE-1 PE-4
MPLS Core
Content M-LDP
M-LDP Label
Label
Source Advertisement:
Advertisement:
FEC
FEC == FEC200
FEC200 PE-3
P2MP LSP RPFv
RPFv == PE-1
PE-1
Label
Label == (30)
(30)
Root PIM-V4
PIM-V4 JOIN:
JOIN: IPv4 CE-3
Source
Source == 10.10.10.1
10.10.10.1
Group
Group == 232.0.0.1
232.0.0.1
Content
Receiver
2008 Cisco Systems, Inc. All rights reserved. 42
mLDP: Transiting SSM (IPv4 Non-VPN)
IPv4
IPv4 L20 CE-2 Content
IPv4 Receiver
IPv4 IPv4 L100
IPv4
PE-2
CE-1 Pop
PE-1 PE-4
MPLS Core
Content
Source IPv4 L30
IPv4
Push PE-3
IPv4 CE-3
Swap
Content
Receiver
2008 Cisco Systems, Inc. All rights reserved. 43
Multicast LDP-Based Multicast VPN
(Default-MDT)
MP2MP Tree Setup Summary
All PEs configured for same VRF derive FEC from configured PIM-V4
PIM-V4 VRF
VRF Config:
Config:
ip
ip vrf
vrf RED
RED
default-mdt group mdt
mdt default
default 239.1.1.1
239.1.1.1 mp2mp
mp2mp 4.4.4.4
4.4.4.4
Downstream path is setup like a normal P2MP LSP
Upstream path is set up like a P2P LSP to the upstream router
M-LDP
M-LDP Label
Label IPv4
M-LDP Advertisement:
Advertisement: CE-2 Content
M-LDP Label
Label FEC
Advertisement:
Advertisement: FEC == FEC-MDT
FEC-MDT Receiver
FEC=
FEC= FEC-MDT
FEC-MDT RPFv
RPFv == P-4
P-4
RPFv
RPFv == P-4
P-4 Label = (20)
Label = (20)
Label = (20)
Label = (20) (21)
(21) Upstrm
Upstrm
IPv4
(21)
(21) Upstrm
Upstrm PE-2
CE-1
PE-1 PE-4
MPLS Core
M-LDP
M-LDP Label
Label
Content Advertisement:
Advertisement:
Source FEC
FEC == FEC-MDT
FEC-MDT
RPFvMP2MP
RPFv = P-4
= P-4 LSP PE-3
Label Root
Label == (30)
(30)
Label
Label = (31) Upstrm
= (31) Upstrm IPv4 CE-3
PIM-V4
PIM-V4 VRF
VRF Config:
Config: PIM-V4
PIM-V4 VRF
VRF Config:
Config:
ip vrf RED
ip vrf RED ip vrf RED
ip vrf RED
mdt
mdt default
default 239.1.1.1
239.1.1.1 mp2mp
mp2mp 4.4.4.4
4.4.4.4 mdt
mdt default
default 239.1.1.1
239.1.1.1 mp2mp
mp2mp 4.4.4.4
4.4.4.4
Content
Receiver
2008 Cisco Systems, Inc. All rights reserved. 44
Multicast LDP-Based Multicast VPN
(Default-MDT)
IPv4 CE-3
Swap
Content
Receiver
2008 Cisco Systems, Inc. All rights reserved. 45
Multicast LDP-Based Multicast VPN
(Default-MDT)
IPv4
CE-2 Content
IPv4
Receiver
IPv4
PE-2
CE-1 Pop
PE-1 PE-4 Inner Label
MPLS Core
Content
Source
PE-3 IPv4
IPv4 CE-3
Content
Receiver
2008 Cisco Systems, Inc. All rights reserved. 46
mLDP signaling
Summary
Best of PIM + MPLS
Receiver side originated explicit joins scalable trees
PIM-SSM = mLDP P2MP, Bidir-PIM ~= mLDP MP2MP
RPF-vector implicit (mLDP root)
Best of LDP
Neighbor discovery, graceful restart, share unicast TCP session
No interaction for unicast label assignment (ships in the night)
Variable length FEC
Allows overlay signaling free 1:1 tree building for ANY (vpn, v6,..) tree
All PIM complexity avoided
No direct source/receiver support (DR) (just PE to PE)
No PIM-SM (need to emulate), No Bidir-PIM DF process
No hop-by-hop RP config (AutoRP, BSR, static) needed)
No asserts, other data-triggered events
IPv4 PE-2
MPLS
Core
PE-1 P-4
CE-1
Content
RESV
RESV Label
Label == 100
100 Static
Static IGMP/PIM
IGMP/PIM join
Source join
Source=
Source= 10.10.10.1
10.10.10.1
RESV PATH
PATH P4,
P4, PE2 PE-3 Group
Group == 232.0.0.1
RESV Label
Label == 100
100 PE2 232.0.0.1
On
On interface
interface to
to CE
CE
RESV
RESV Label
Label == 30
30 IPv4
Locality:
Affects convergence/reoptimization speed:
PIM/mLDP: Failure in network affects only router
in region (eg: in pink region).
RSVP: impact headend and all affected midpoint
and tailends for RSVP-TE reoptimization.
Join/leave of members affect only routers up to Rcv
first router on the tree in mLDP/PIM. Will affect
Rcv
headend and all midpoints in RSVP-TE P2MP.
Rcv
2008 Cisco Systems, Inc. All rights reserved. 51
RSVP-TE P2MP benefits over PIM/mLDP
Examples
Sub 50 msec protection Src
Transport
Opt. Options IGMP:
{Limits} IGMPv3 IGMPv3 IGMPv3 IGMPv3 IGMPv3
Source
Redundancy {Static-fwd} snooping snooping snooping proxy routing SSM
PIM-SSM
2008 Cisco Systems, Inc. All rights reserved. 58
IGMP
snooping vs. proxy routing
IGMP snooping: IGMP
Performed by L2 switch. Intended to the Proxy routing
transparent. Many vendor variations.
IETF RFC 4541 INFORMATIONAL ONLY
Transparent: no snooping messages suppressed 10.1.0.0/24 10.0.0.0/24
Report-suppression: guess which IGMP reports 10.1.0.1 10.0.0.1 10.0.0.2
are redundant at router (can break explicit Join(G) Join(G) Leave(G)
tracking, fast leaves).
IGMP IGMP
Proxy-reporting: fully emulate host. Proxying Snooping
Router Switch
IGMPv3: Use source-IP address 0.0.0.0
10.0.0.0/24
IGMP proxy-routing: 10.0.0.0/24
I B B P B B P B B P B B
IPMulticast is UDP
The only acceptable loss is 0ms
How much is reasonable?
Retransmissions
Done e.g. with vendor IP/TV solutionsunicast retransmissions
Candidate large bursts of retransmissions!
Limit #retransmissions necessary
Multicast retransmissions (e.g. PGM ?)
No broadcast IP/TV solutions use this
This approach requires the network to This approach does not require fast
have fast IGP and PIM convergence IGP and PIM convergence
Source 2 Source 2
1.1.1.1 1.1.1.1
STB STB
X
Source 2 Source 2
1.1.1.1 1.1.1.1
STB STB
It is make-before-break solution
Multicast routing doesnt have to wait for unicast
routing to converge
An alternative to source redundancy, but:
Dont have to provision sources
Dont have to sync data streams
No duplicate data to multicast receivers
No repair tunnels
No new setup protocols
No forwarding/hardware changes
A
Alt Data Path
Data Path
Alt Join
R BB Path Path C
IP multicast
All failures/topology changes are corrected by
re-converging the trees
Re-convergence time is sum of:
Failure detection time (only for failure cases)
Unicast routing re-convergence time
~ #Multicast-trees PIM re-convergence time
Possible
~ minimum of 200 msec initial
~ 500 ... 4000 trees convergence/sec (perf)
Rcvr1 S(ource)
R1 R2 R3
Rcvr2
R4 R5 R6
ACTIVE
Line Card
Line Card
Line Card
Intradomain: Multi-Topology-Routing
Multicast and Unicast solution; multiple topologies for unicast and multicast
MP_REACH_NLRI:
MP_REACH_NLRI: 192.192.2/24
192.192.2/24
AFI:
AFI: 1,
1, Sub-AFI:
Sub-AFI: 11 (unicast)
(unicast)
AS_PATH:
AS_PATH: 300300 200
200 Multicast BGP Table
MED:
MED: Network Next-Hop Path
Next-Hop:
Next-Hop: 192.168.200.2
192.168.200.2 *>i160.10.1.0/24 192.20.2.2 i
*>i160.10.3.0/24 192.20.2.2 i
MP_REACH_NLRI:
MP_REACH_NLRI: 192.192.2/24
192.192.2/24
AFI:
AFI: 1,
1, Sub-AFI:
Sub-AFI: 22 (multicast)
(multicast)
AS_PATH:
AS_PATH: 300300 200
200 Multicast BGP Table
MED:
MED: Network Next-Hop Path
Next-Hop:
Next-Hop: 192.168.200.2
192.168.200.2 *>i160.10.1.0/24 192.20.2.2 i
*>i160.10.3.0/24 192.20.2.2 i
*>i192.192.2.0/24 192.168.200.2 300 200 i
Live-LiveSpatial Separation
Two separate paths through network; can engineer manually
(or with RSVP-TE P2MP )
Use of two topologies (MTR)
Naturally diverse/split networks work well (SP cores,
likely access networks too), especially with ECMP
Target to provide zero loss by merging copies based
on sequence number
Live-LiveTemporal Separation
In application devicedelay one copyneed to know
maximum network outage
Receiver
Source
Receiver
2008 Cisco Systems, Inc. All rights reserved. 89
What Is Live-live (with Path Diversity)?
Why bother?
Only resiliency solution in the network that that can be driven to
provide zero packet loss under any single failure in the network
without introducing more than path propagation delay (latency)!
RH1a
HFC1
RH1b
RH1b HFC2
STBs
Classic pseudowire R1 R2
R1/R2 provide pseudowire
Pseudowire
for R3/R4 over LDP MPLS
R4
R3
accepting/delivering packets
from/to physical interface.
Protected pseudowire RSVP-TE (P2P)
Tunnels with FRR
Provide sub 50msec link
protection for packets of
pseudowire (or any other R1 R2
R4
MPLS packets) by Pseudowire
configuring RSVP-TE LSP R3 over LDP MPLS
with FRR backup tunnel
Terminated pseudowire
R1/R2 terminate RSVP-TE (P2P)
pseudowire on internal port Tunnels with FRR
R1 R2
instead of physical
interface. Can bridge
(VLAN) or route from/to Terminated
port. pseudowire
over LDP MPLS
2008 Cisco Systems, Inc. All rights reserved. 92
cFRR
PIM/mLDP Break before Make
S(ource)
RPF change on C from A to C:
Cost: 10 Cost: 12 1.Receive RPF change from IGP
2.Send prunes to A
A B 3.Change RPF to B
4.Send joins to B
Same methodology, different
terminology in mLDP
RPF == ingres label binding
C
Some more details (not discussed)
R(eceiver)
A B 4. Change RPF to A
5. Send prunes to B
Should only do Make-before-Break when old path
(B) is known to still forward traffic after 1.
Path via B failed but protected
Path to A better, recovered
C
Not: path via B fails, unprotected
Make before Break could cause more
interruption than Break before Make !
R(eceiver)
Rcvr Rcvr
Src1 Rcvr
B1 A2
Core Core
Region1 POP1 POP2 Region2
Src2 Rcvr
WAN
Links
A1 B2
Rcvr Rcvr
A3 B3
Core POP3
Rcvr Rcvr
Region3
Rcvr Rcvr
Src1 Rcvr
B1 A2
Core Core
Region1 POP1 POP2 Region2
Src2 Rcvr
A1 B2
Rcvr Rcvr
Rcvr Rcvr
Src1 Rcvr
B1 A2
Core Core
Region1 POP1 POP2 Region2
Src2 Rcvr
A1 B2
Rcvr Rcvr
Unnecessary use of
WAN
Links
A3 B3
Core POP3
Rcvr Rcvr
Region3
Rcvr Rcvr
The same metric good for unicast load splitting cause multicast traffic to
go unnecessarily across both the A and B WAN links.
10 Gbps WAN links, 1..2 Gbs multicast => 10..20% WAN waste
(cost factor)
Can not resolve problem well without multicast specific topology
2008 Cisco Systems, Inc. All rights reserved. 98
MT-IGP
Cost optimization
Rcvr Rcvr
Src1 Rcvr
B1 A2
Core Core
Region1 POP1 POP2 Region2
Src2 Rcvr
A1 B2
Rcvr Rcvr
Efficient use of
WAN
Links
A3 B3
Core POP3
Rcvr Rcvr
Region3
Rcvr Rcvr
1 1
PIM joins
Fear of join latency
History (ATM-DSLAM)
IGMP joins
IGMP joins
IGMP joins
Home
3. Real Multicast Gateway
dynamic tree building full path
Router-links
Router local CLI solution
Strategic solution: RSVP
Already used for unicast VoD
Can only share bandwidth between unicast and multicast with
RSVP
2. Different BW:
Content
Provider 1
- MPEG2 SDTV: 4 Mbps E s) s)
bpps)s) Mbp DSLAM
MPEG2 SDTV
MPEG2 HDTV 10 1G Mb
- MPEG2 HDTV: 18 Mbps MPEG4 SDTV
MPEG4 SDTV GE 50 M bp 50
(2250 0M (2
-1 ( 25 oD
- MPEG4 SDTV: 1.6 Mbps CPP-2-3 ( t/V
C P e/In
- MPEG4 HDTV: 6 Mbps Content
C ic
Vo
Provider 2 10GE 1GE
MPEG2 SDTV
3. Fair sharing of bandwidth MPEG2 HDTV
MPEG4 SDTV
G
E PE
1G DSLAM
10
MPEG4 SDTV
E
Example:
4Mbps DSL link, 3.5 Mbps MPEG2
Can only receive one TV channel at a time
Leave latency on channel change complex (triggers IGMP
queries from router/DSLAM) and long (spec default: 2 seconds)
control
Unicast/
ASERVER VQE (multicast)
VQE Client
multicast library