Inside Jio’s IPTV Architecture: Multicast VPN (MVPN) over MPLS
Insight:
IPTV over MPLS backbone using MVPN (Multicast VPN) is a key service provider solution for carrying high-quality and scalable multicast content – such as live TV, video on demand, streaming media - to subscribers spread across large geography. In this design, every IPTV customer is placed within a separate VRF (Virtual Routing and Forwarding instance), which guarantees separation of traffic and multi tenancy. Usually originating from a central headend, the IPTV multicast streams are forwarded through multicast groups with PIM-SM (Protocol Independent Multicast Sparse Mode) in the customer’s VPNs, e.g. group 239.1.1.1 for Aaj Tak and 239.1.1.2 for Star Sports). These multicast routes are then distributed throughout the MPLS core using BGP and with Multicast Virtual Private Network (MCAST-VPN; SAFI 129) functionality of Next-Generation MVPN (NG-MVPN). On the transport side, the multicast traffic is encapsulated and transported across the MPLS backbone using mLDP (Multipoint LDP) or RSVP-TE to build P2MP LSP (Label Switched Path), GRE tunnels of legacy Rosen MVPN are not necessary in this case. When the first receiver joins, PE routers dynamically form Default MDTs (Multicast Distribution Trees), and therefore only very little bandwidth is used in the provider core. Data MDT When the multicast traffic of a certain group exceeds a threshold, an individual and effective Data MDT is established to manage this high bandwidth stream. CE-facing interfaces are PIM and IGMP-enabled in CE routers so the subscriber devices, e.g., set-top boxes can send IGMP join requests and receive content. This convergence of unicast MPLS VPN, and multicast delivery enables IPTV services that scale in a linear manner are of very high quality and independently separate to each customer, so that service providers can deliver premium media services over their MPLS networks.
.png)
Scenario: Reliance Jio wants to Deliver IPTV services (live TV channels) from a central video source (headend) to subscribers across various cities using an MPLS backbone while preserving scalability, efficiency, and VPN isolation.
.png)
In an MVPN over MPLS backbone IPTV service delivery model, all these forms a chain in the efficient and scalable multi-cast video distribution. The Headend (or video source) receives live TV channels and videos, being ingested, encoded and streamed into your network in the form of multicast content. This data is initially forwarded to the Provider Edge (PE) routers through which customer traffic enters and exits the MPLS network. These PE routers are multicast enabled and contribute to MVPN using PIM, BGP with MCAST-VPN SAFI in combination with MPLS signaling (e.g. mLDP or RSVP-TE) for multicasting across the provider network as such. In MPLS core traffic is switched by Provider (P) routers, which are label switching routers and operate in high-speed mode but have no information of VPN or multicast routing. Customer Edge (CE)routers exist on the ISP access layer and are in close proximity to subscribers. These routers accept multicast traffic from the PE and deliver it to subscriber devices. And thirdly, the subscribers that have Set-Top Boxes (STBs) in their homes are end-points consuming the IPTV channels. These equipment’s listen for and join multicast groups of particular channels, receive real time TV services instantly with very short delay time nice way of effectively using the bandwidth. This tandem hierarchical structure separates those duties and can help IPTV service scale massively across the Internet while providing multicast isolation and QoS.
Here VRF name: Jio_IPTV
Multicast Group: 239.1.1.1
Head-end PE router: PE1
Remote PE router: PE2
Routing protocols for CE-PE: PIM-SM
Transport in MPLS core: m-LDP
===============================================================
Let’s deep and dive configuration part
Configuration: PE1 at Headend
1. Define the VRF
vrf JioIPTV
rd 100:1
address-family ipv4 unicast
route-target export 100:1
route-target import 100:1
!
address-family ipv4 multicast
mdt default 239.1.1.1
mdt default 239.1.1.2
mdt default 239.1.1.3
mdt default 239.1.1.4
mdt data 239.1.1.1 0.0.0.255 threshold 1
mdt data 239.1.1.2 0.0.0.255 threshold 1
mdt data 239.1.1.3 0.0.0.255 threshold 1
mdt data 239.1.1.4 0.0.0.255 threshold 1
mdt auto-discovery pim
mdt preference 1
!
2. Multicast Routing Inside VRF
router pim
vrf JioIPTV
rp-address 8.8.8.8
3. Enable BGP MVPN SAFI (Address Family Identifier)
router bgp 100
address-family vpnv4 unicast
neighbor 10.10.10.2 activate
neighbor 10.10.10.2 send-community both
!
address-family ipv4 mdt
neighbor 10.10.10.2 activate
!
address-family ipv4 mvpn
neighbor 10.10.10.2 activate
4. Configure Interface in VRF
interface GigabitEthernet0/0
vrf JioIPTV
ip address 192.168.1.1 255.255.255.0
ip pim sparse-modeConfiguration: PE2 at Subscriber site
1. Define the VRF
vrf JioIPTV
rd 100:1
address-family ipv4 unicast
route-target export 100:1
route-target import 100:1
!
address-family ipv4 multicast
mdt default 239.1.1.1
mdt default 239.1.1.2
mdt default 239.1.1.3
mdt default 239.1.1.4
mdt data 239.1.1.1 0.0.0.255 threshold 1
mdt data 239.1.1.2 0.0.0.255 threshold 1
mdt data 239.1.1.3 0.0.0.255 threshold 1
mdt data 239.1.1.4 0.0.0.255 threshold 1
mdt auto-discovery pim
mdt preference 1
!
2. Multicast Routing Inside VRF
router pim
vrf JioIPTV
rp-address 8.8.8.8
3. Enable BGP MVPN SAFI (Address Family Identifier)
router bgp 100
address-family vpnv4 unicast
neighbor 10.10.10.1 activate
neighbor 10.10.10.1 send-community both
!
address-family ipv4 mdt
neighbor 10.10.10.1 activate
!
address-family ipv4 mvpn
neighbor 10.10.10.1 activate
4. Configure Interface in VRF
interface GigabitEthernet0/1
vrf JioIPTV
ip address 192.168.1.10 255.255.255.0
ip pim sparse-modeConfiguration On CE router
ip multicast-routing
interface GigabitEthernet0/0
ip address 192.168.2.1 255.255.255.0
ip pim sparse-mode
ip igmp version 3Validation Commands
show ip mroute vrf Jio_IPTV
show ip pim vrf Jio_IPTV rp
show ip igmp groups
show ip igmp groups vrf Jio_IPTV
show bgp ipv4 mvpn summary
show bgp vpnv4 all
show bgp vpnv4 unicast
show mpls forwarding
show mpls ldp bindings
show mpls ldp session
show mpls lsp or show rsvp tunnel
show ip route vrf Jio_IPTV
show controllers interface Note: The multicast group 239.255.1.1 is just a sample for the default MDT (Multicast Distribution Tree) for one VRF (Virtual Routing and Forwarding). In real world scenarios every client/VRF should use its own (unique) MDT default address to be able to keep their multicast traffic apart. This is how ISPs stop traffic from one customer to talk to another, pretty neat.
Example: Jio have two IPTV customers for which you would configure 239.255.1.1 For first Customer and 239.255.2.1 for second Customer. These addresses are from the administratively scoped multicast address space (239.0.0.0/8) designated for use within a service provider’s network or an enterprise with respect to internal-use schemes. That way you isolate customers and multicast traffic only flows where it should.
Conclusion:
There are very high-quality multicast services – like live TV, or video on demand, and streaming content – that you want to deliver a significantly large customer base,” Rigney said, adding such IP-based multicast services are the sort of things IPTV can bring over MPLS backbone with MVPN capability. There is a dedicated VRF for each customer hence full traffic isolation and multi-tenancy environment are guaranteed. Multicasts streams are remotely distributed to the trenches (m=256) via PIM-SM over MPLS network using BGP signaling + mLDP for label-based forwarding. There are also default MDTs for control and low-bandwidth traffic as well as Data MDTs to being bandwidth efficient, minimizing duplication across the core. Correct PIM, IGMP, unique MDT group address per VRF and CEs and STBs configuration are guaranteed that the multicast traffic is distributed only to subscribers through the CE routers and STBs. In a nutshell it is this architecture which allows Jio to deliver quality IPTV over MPLS infrastructure.

Comments (3)
Great introduction! Looking forward to more HTML5 articles.
Thanks Jane! We have more articles coming soon 🚀
This helped me understand semantic tags better. Thanks!
Could you also write about Canvas API in detail?
Leave a Comment