IP MULTICAST WITH APPLICATIONS TO IPTV AND MOBILE DVB-H

Daniel Minoli

/CfWILEY- INTERSCIENCE A JOHN WILEY & SONS, INC., PUBLICATION CONTENTS

Preface xiii About the Author xv

1 INTRODUCTION TO IP MULTICAST 1 1.1 Introduction 1 1.2 Why Multicast Protocols are Wanted/Needed 3 1.3 Basic Multicast Protocols and Concepts 5 1.4 IPTV and DVB-H Applications 11 1.5 Course of Investigation 21 Appendix LA: Multicast IETF Request for Comments 21 Appendix l.B: Multicast Bibliography 23 References 23

2 MULTICAST ADDRESSING FOR PAYLOAD 26 2.1 IP Multicast Addresses 26 2.1.1 Limited Scope Addresses 29 2.1.2 GLOP Addressing 30 2.1.3 Generic IPv4 Addressing 30 2.2 Layer 2 Multicast Addresses 31 2.2.1 MAC Address Mapping 31 2.3 MPEG-Layer Addresses 33 References 38

3 MULTICAST PAYLOAD FORWARDING 39 3.1 Multicasting on a LAN Segment 40 3.2 Multicasting between Network Segments 40 3.3 Multicast Distribution Trees 41 3.4 Multicast Forwarding: Reverse Path Forwarding 47 3.5 Multicast Forwarding: Center-Based Tree Algorithm 48 3.6 Implementing IP Multicast in a Network 49 References 50 VIII CONTENTS

4 DYNAMIC HOST REGISTRATION—INTERNET GROUP MANAGEMENT PROTOCOL 51 4.1 IGMP Messages 52 4.2 IGMPv3 Messages 55 4.3 IGMP Operation 61 Appendix 4.A: Protocol Details for IGMPv2 63 4. A. 1 Overview 63 4.A.2 Protocol Description 64 4.A.3 Receiver (Host) State Diagram 65 4.A.4 State Diagram 69 Appendix 4.B: IGMP Snooping Switches 72 Appendix 4.C: Example of Router Configurations 76 References 77

5 MULTICAST —SPARSE-MODE PROTOCOLS: PROTOCOL INDEPENDENT MULTICAST 78 5.1 Introduction to PIM 79 5.2 PIM SM Details 83 5.2.1 Approach 86 5.2.2 PIM SM Protocol Overview 86 5.2.3 Detailed Protocol Description 94 5.2.4 Packet Formats 114 References 124

6 —SPARSE-MODE PROTOCOLS: CORE-BASED TREES 125 6.1 Motivation 126 6.2 Basic Operation 127 6.3 CBT Components and Functions 129 6.3.1 CBT Control Message Retransmission Strategy 131 6.3.2 Nonmember Sending 131 6.4 Core Router Discovery 131 6.5 Protocol Specification Details 132 6.5.1 CBT HELLO Protocol 133 6.5.2 JOIN_REQUEST Processing 134 6.5.3 JOIN_ACK Processing 135 6.5.4 QUIT_NOTIFICATION Processing 135 6.5.5 ECHO_REQUEST Processing 136 6.5.6 ECHO_REPLY Processing 137 CONTENTS IX

6.5.7 FLUSH_TREE Processing 137 6.5.8 Nonmember Sending 138 6.5.9 Timers and Default Values 138 6.5.10 CBT Packet Formats and Message Types 138 6.5.11 Core Router Discovery 142 6.6 CBT Version 3 145 6.6.1 The First Step: Joining the Tree 145 6.6.2 Transient State 146 6.6.3 Getting "On Tree" 146 6.6.4 Pruning and Prune State 147 6.6.5 The Forwarding Cache 147 6.6.6 148 6.6.7 The "Keepalive" Protocol 148 6.6.8 Control Message Precedence and Forwarding Criteria 149 6.6.9 Broadcast LANs 149 6.6.10 The "all-cbt-routers" Group 150 6.6.11 Nonmember Sending 150 References 151

MULTICAST ROUTING—DENSE-MODE PROTOCOLS: PIM DM 152 7.1 Overview 152 7.2 Basic PIM DM Behavior 153 7.3 Protocol Specification 155 7.3.1 PIM Protocol State 156 7.3.2 Data Packet Forwarding Rules 158 7.3.3 Hello Messages 159 7.3.4 PIM DM Prune, Join, and Graft Messages 160 7.3.5 State Refresh 170 7.3.6 PIM Assert Messages 175 7.3.7 PIM Packet Formats 182 References 184

8 OTHER DENSE-MODE MULTICAST ROUTING PROTOCOLS: DVMRP AND MOSPF 185 8.1 Distance Vector Multicast Algorithm 185 8.1.1 Overview 185 8.1.2 Basic DVMRP Operation 186 CONTENTS

8.2 Multicast OSPF 190 References 193

IP MULTICASTING IN IPv6 ENVIRONMENTS 194 9.1 Opportunities Offered by IPv6 194 9.2 Introductory Overview of IPv6 196 9.2.1 IPv6 Benefits 197 9.2.2 Traditional Addressing Classes for IPv4 198 9.2.3 Network Address Translation Issues in IPv4 199 9.2.4 IPv6 Address Space 200 9.2.5 Basic Protocol Constructs 201 9.2.6 IPv6 Autoconfiguration 204 9.3 Migration and Coexistence 208 9.4 Multicast with IPv6 211 9.4.1 IPv6 Multicast Addresses 211 9.4.2 MAC Layer Addresses 211 9.4.3 Signaling 213 9.4.4 RPApproaches 213 References 213

MULTICAST LISTENER DISCOVERY 215 10.1 Overview ofMLDvl 216 10.2 Message Format 216 10.3 Protocol Description 218 10.4 Node State Transition Diagram 220 10.5 Router State Transition Diagram 223 10.6 Overview of MLDv2 226 10.6.1 Protocol Overview 227 10.6.2 Building Multicast Listening State on Listeners 228 10.6.3 Exchanging Messages between the Querier and the Listening Nodes 228 10.6.4 Building Multicast Address Listener State on Multicast Routers 230 10.7 Source Filtering 232 References 233 CONTENTS XI

11 IPTV APPLICATIONS 234 11.1 Overview and Motivation 234 11.2 Basic Architecture 236 11.2.1 Content Aggregation Subsystem 244 11.2.2 Uniform Transcoding Subsystem 245 11.2.3 Conditional-Access Management Subsystem 251 11.2.4 Encapsulation Subsystem 258 11.2.5 Long-Haul Distribution Subsystem 262 11.2.6 Local Distribution Subsystem 264 11.2.7 Middleware Subsystem 267 11.2.8 Set-Top Boxes 267 11.2.9 Catcher (for VoD Services) 269 Appendix ILA: Serial Digital Interface Basics 269 Appendix ll.B: MPEG Basics 271 ll.B.l MPEG-2 Transport/Multiplexing Mechanisms 271 ll.B.2 IPTV/IP Transmission over TS Logical Channels 279 1 LB.3 Compression Technology 281 Appendix ll.C: Encapsulation for Transmission of IP over MPEG-2/DVB Networks 298 References 300

12 DVB-H: HIGH-QUALITY TV TO CELL PHONES 303 12.1 Background and Motivation 304 12.2 Basic DVB-H Technology 311 12.2.1 DVB-H Mobile Devices 315 Appendix 12.A: Open Mobile Video Coalition Efforts 317 References 318 Glossary 319 Index 349