Reliable IPTV Transport Network Reliable IPTV Transport Network Dongmei Wang AT&T labs-research Florham Park, NJ
Page 2 Outline Outline • Background on IPTV Background on IPTV • • Motivations for IPTV Motivations for IPTV • • Technical challenges Technical challenges • • How to design a reliable IPTV backbone network • How to design a reliable IPTV backbone network • • Smart IGP weight setting Smart IGP weight setting • • Make Make- -before before- -break tree switching break tree switching • Future works Future works •
Page 3 What is IPTV What is IPTV IPTV: Internet Protocol Television IP Internet IP Internet Further defined: A technology that Telcos are deploying to compete with cable TV Using internet protocol and IP multicast protocol to deliver IP packets of digital video. IPTV packets are delivered over private networks.
Page 4 IPTV vs. Cable TV IPTV vs. Cable TV Broadcast TV Multi-channel broadcast from the head-end to the home DSLAM Switched IPTV Broadcast to DSLAM Switched video to the home
Page 5 Why IPTV Why IPTV • Business Business • • Critical component to triple play bundle Critical component to triple play bundle • • Attracts new subscribers Attracts new subscribers • • Grow Average revenue per customer (ARPU) Grow Average revenue per customer (ARPU) • • Customer benefits Customer benefits • • Improved price Improved price • • Enhanced services • Enhanced services – Caller ID displayed on TV – Unified messaging – Picture-in-Picture – Search functionality
Page 6 IPTV Basic Requirements IPTV Basic Requirements • Relatively stable high bandwidth Relatively stable high bandwidth • FAST RESTORATION (< 50ms)? • 1~4 mbps per video stream, 6~8 mbps HDTV • 1~4 mbps per video stream, 6~8 mbps HDTV • About 300~500 channels About 300~500 channels � � 1.5 1.5 Gbps Gbps • • High availability High availability • • 99.99% ~ 99.999% 99.99% ~ 99.999% - ->5~50 minutes downtime per year >5~50 minutes downtime per year • • Tight jitter (<10ms) and loss constraints (<0.1%) Tight jitter (<10ms) and loss constraints (<0.1%) •
Page 7 IPTV Backbone Architecture IPTV Backbone Architecture SHO: super-head office VHO: video-head office SHO SHO DSLAM VHO VHO
Page 8 How to handle failures How to handle failures • Protocols Protocols • • OSPF routing protocol • OSPF routing protocol • PIM PIM- -SSM: source specific multicast SSM: source specific multicast • • Protocol re Protocol re- -convergence upon failure convergence upon failure • • 5~30 seconds for OSPF convergence 5~30 seconds for OSPF convergence • • 200 ms for PIM 200 ms for PIM- -SSM SSM • • Does not satisfy IPTV restoration requirement (<50ms) !! Does not satisfy IPTV restoration requirement (<50ms) !! •
Page 9 Link- -Based FRR Based FRR Link Normal traffic forwards on primary link Primary link fails, MPLS FRR to backup No OSPF/ PIM-SSM convergences A P P r r i i m m a a r r y y B Backup Path Backup Path Virtual link between AB with virtual interfaces Virtual link consists both primary/ backup path OSPF LSA on top of virtual link
Page 1 0 Why Smart Link Weight Why Smart Link Weight 3Gbps S S d1 d2 d3 d1 d2 d3 d4 d5 d6 d7 d8 d4 d5 d6 d7 d8 (a) (b) Bad Good Link d5-d6 and link d6-d7 have Link S-d1 and link S-d3 have weight 2, other links have weight 1 weight 2, other links have weight 1 overlap: a packet travels more than once on the same link along the same direction
Page 1 1 Smart Link Weights Smart Link Weights • Assumption: Assumption: • • • Given a 2 Given a 2- -connected network topology connected network topology • A source node A source node • • Objective: Objective: • • • Separate links: high cost and low cost Separate links: high cost and low cost • Low cost links form a multicast tree Low cost links form a multicast tree • • Each link on the multicast tree has a backup path Each link on the multicast tree has a backup path • • No overlap between backup traffic and multicast traffic No overlap between backup traffic and multicast traffic •
Page 1 2 Algorithm Algorithm 1. 1. Find a set of links to form a ring, including source Find a set of links to form a ring, including source 2. Assign weights for the ring links: Assign weights for the ring links: 2. 1. Set one link adjacent to source as high cost 2. Set other links on the ring with low cost 3. All links with weights form graph G 3. 3. Find a set of links to form a line with two ends of the line sta Find a set of links to form a line with two ends of the line staying ying on G from remaining links on G from remaining links 4. Assign weights for the links on the new line Assign weights for the links on the new line 4. 1. Set one end link as high cost 2. Set other links on the line as low cost 3. Add the new line with weights to G 5. Repeating steps 3 Repeating steps 3- -4 until all links are in G 4 until all links are in G 5.
Page 1 3 Example Example s Steps: 1: select ring S-1-5-6-2 1 2 2: select chain 1-3-5 3: select chain 3-4-6 4: select chain 2-8-6 8 3 5: select chain 5-7-8 6 5 6: select chain 1-2 4 7 Low link weight High link weight
Page 1 4 Correctness of Algorithm Correctness of Algorithm • Induction proof Induction proof • • Base: ring topology • Base: ring topology • Assumption for k new lines are added Assumption for k new lines are added • • Proof after (k+1)th new line is added Proof after (k+1)th new line is added • – First we need to prove the existence of such a new line. Then we pick any two nodes on graph G, we prove that there is one path from one node to another without overlapping the multicast tree traffic. Then we prove the correctness of our algorithm (see Infocom 2007)
Page 1 5 Summary on FRR with smart weight setting Summary on FRR with smart weight setting • Achieved • Achieved • Fast Switch to the backup path (<50ms) upon link failure • Fast Switch to the backup path (<50ms) upon link failure • No routing re No routing re- -convergence as long as either the link or its backup convergence as long as either the link or its backup • path is available path is available • Guaranteed fast restoration (<50ms) for Guaranteed fast restoration (<50ms) for single link failure single link failure • • Upon router failure, routing protocol re Upon router failure, routing protocol re- -converges and PIM rebuilds converges and PIM rebuilds • the multicast tree. the multicast tree. • Problem: Problem: • • No guarantee for dual/multiple link failures No guarantee for dual/multiple link failures •
Page 1 6 Double Failure Congestion Double Failure Congestion S d1 d2 d3 d4 d5 d6 d7 d8 • Link d6 Link d6- -d5 has backup path d6 d5 has backup path d6- -d2 d2- -S S- -d1 d1- -d4 d4- -d5 d5 • • Link d6 Link d6- -d7 has backup path d6 d7 has backup path d6- -d2 d2- -S S- -d3 d3- -d8 d8- -d7 d7 • • If d6 If d6- -d5 and d6 d5 and d6- -d7 fail, there are traffic overlapping on links d7 fail, there are traffic overlapping on links • d6- -d2 and d2 d2 and d2- -S, which could S, which could cause congestion and may last a cause congestion and may last a d6 few more hours few more hours
Page 1 7 Backup path for transit period only Backup path for transit period only • Proposed approach Proposed approach • • Fast reroute traffic to backup path upon link/interface failure Fast reroute traffic to backup path upon link/interface failure • • Cost • Cost- -out the backup path to trigger routing re out the backup path to trigger routing re- -convergence. convergence. • After routing re After routing re- -converges, PIM rebuilds multicast tree. The converges, PIM rebuilds multicast tree. The • backup path is only used during protocol convergence period. backup path is only used during protocol convergence period. • Problem: • Problem: • Potential double hits during single failure Potential double hits during single failure •
Page 1 8 Potential double hits per single failure Potential double hits per single failure S d1 d2 d3 d4 d5 d7 d8 d6 d5 sends prune to d4 d5 sends join to d4 d5 sends prune to d6 d5 sends join to d6 First hit: d5 stops receiving packets from d6 even though routing in S has not converged Second hit: after failure repair, d5 switches back to the original tree too quick.
Page 1 9 Hitless tree switching Hitless tree switching 3 . Source sends data along both trees S 2 . Additional ( S, G) State is created along new part of the Tree. d2 d1 d3 d8 d4 d5 d6 d7 4. After receiving packets from new tree, 1 . d5 sends join m essage to d4 . d5 sends prune to d6 Traffic flow (S, G) Join (S,G) Prune
Recommend
More recommend