| technology | networking - Ross Heintzkill
How to Use IPv6 Multicast-Routing Rendezvous Points
Imagine if the post office sent individual mail carriers to carry each and every piece of mail from every mailer to every recipient. That would, obviously, be a huge waste. Although multicasting works very differently from the postal service, the underlying concepts are related: increase efficiency by sending as few transmissions as possible — all without sacrificing getting the data to who needs it. Our aim in this blog post is to expand that analogy to IPv6 multicasting.
IPv6 multicast can't happen if a central tool of multicasting is missing: IPv6 multicast-routing rendezvous points. Rendezvous points are basically how a network goes about connecting the place where multicasts are originating from to whoever's interested in receiving them. In this post, we're covering the essentials of IPv6 rendezvous points — why they exist, and the mechanism that makes them possible.
What is Multicast?
Quick Definition: A multicast is a form of communication between networked computers. The data of a multicast is addressed to a group of destination computers. IP multicast isn't simply addressing multiple IP addresses, however, it's a method of sending data to a group address, to which interested parties subscribe.
What is a Rendezvous Point?
Quick Definition: A rendezvous point is a router that acts as the place where sources and receivers of multicast data can find each other. On small networks, it's not hard to imagine finding the source of a multicast and subscribing to it. But on large and complex networks, rendezvous points help connect interested parties with sources of multicast data. A network can have any number of routers configured to be rendezvous points.
What is Protocol Independent Multicast?
Quick Definition: Protocol Independent Multicast, usually referred to as PIM, is a family of routing protocols that make multicasting possible on a LAN, a WAN, or over the internet. PIM doesn't have its own way of discovering a given network's topology, which is where the "protocol independent" part of its name comes from – PIM uses the routing information that's provided by other protocols.
When Do You Need IPv6 Multicast Rendezvous Points?
Any time you're broadcasting data over your network that more than one device needs access to, a broadcast is the most efficient way to send it. And any time you need to connect the devices listening for a broadcast with the broadcaster, rendezvous points are exactly as their name suggests where they meet up.
To conceptualize when you might need IPv6 multicast rendezvous points, let's imagine a multicast network. Let's make it a large network with multiple routers — we can say the address block is 2001:db8:X::/64. Say we have 100 clients sitting behind R3, and all 100 of those clients want to view a video stream.
The server that hosts the video is several hops away, behind R1. And that video server sits there, reliably pumping out its content. Now, think what would happen if we were to set this up to be unicast. In that transmission method, we'd be sending a copy of the video data to every single device. That means 100 different broadcasts of the same data to 100 different IP addresses. Of course, each device would receive the data. Unicast is nothing if not reliable.
But that would also be wildly inefficient. Sending the same data to 100 different addresses is a huge waste of bandwidth. It's a much more efficient use of space to send it once and tell 100 different IP addresses to listen for the one broadcast. That's the power and versatility of multicast, and IPv6 multicast rendezvous points make it possible.
An Overview of IPv6 Multicast-Routing Rendezvous Points [VIDEO]
In this video, Keith Barker covers the benefits of using an IPv6 tunnel broker, configuring a tunnel interface, and verifying that it's working correctly. He'll begin by explaining what a tunnel broker is and the various benefits it can offer as you tunnel to the IPv6 internet.
How Does Multicast Work?
Multicast differs from unicast in several ways, but the key difference is that rather than send to individual addresses, a multicast transmission is sent to a multicast group address, a group address to which recipients can "listen" and receive data sent to it. In the case of our network, we'd choose an address like FF08::2001:6783.
The packets that contain the data of our video get sent once, to one destination. All devices who are interested in receiving the video can tune in and receive the content. And as the data gets sent down the network to the routers that sit along the way, we only need to send one copy. But there being only one copy of the data doesn't stop everyone from getting a chance to look at it.
The benefits of IPv6 multicast routing should be obvious. The question that remains is how exactly it does its work. With IPv6, multicast routing depends on a collection of routing protocols called PIM. PIM stands for Protocol Independent Multicast, and an IPv6 multicast network relies on it. The "protocol independent" part of PIM means that the multicast method will take the network as it is, regardless of how it got there.
PIM does need one thing for it to work: IPv6 unicast routing needs to be working. Fortunately, that's just a fancy way of saying that the network has reachability, that everything is functioning correctly. PIM overlays multicast on top of a normally functioning IPv6 unicast network and the "protocol independent" part just means that PIM doesn't care how you got the unicast routing.
If your IPv6 network uses EIGRP, IS-IS or OSPF to build routes and static routes, PIM doesn't care. As long as the unicast routing is working, PIM simply overlays the multicast on top of that already-functioning network.
What happens when PIM becomes enabled on an IPv6 network is all adjacent routers become PIM neighbors. In the hypothetical network we've designed, our devices are sitting behind R3. Its neighbors are R4 and R2 in a triangular arrangement. R4 and R2 are now neighbors, as are R3 and R4, as well as R3 and R2. Our video server is behind R1, and R1's a PIM neighbor to R2.
With PIM enabled, all those routers know about one another, and all the downline devices will have a clear path to the sources. But that's not the extent of IPv6 multicasting. The big challenge is introduced by the video content for the group of 100 devices. When that video content comes down from the server, we don't just want to forward it to every single device on the network. The magic of IPv6 multicasting isn't just saving bandwidth on transmission. It's also that only the devices listening for the content ever get it.
How do IPv6 Multicast Routing Rendezvous Points Enable Multicasting?
Multicasting works because it amounts to something of a handshake transaction: all parties involved have a part in sending and receiving the multicast. On the one hand, clients who want to receive a specific multicast transmission initiate a request and the server broadcasting a multicast transmission sends it to a certain address. The only piece missing is where those parties meet. Or, you might say, where they rendezvous.
The clients looking for that video traffic send a message that essentially says, "Hello, R3. If you see the multicast video content, we want to see it." That message is sent via something called MLD — Multicast Listener Discovery protocol. The message itself is a type called a report. As in, they are reporting that they are looking to join that multicast group.
Remember that R3 is the router sitting in-between our 100 devices and the rest of the network. Now, when R3 sees that report, it turns around and says, "Sure, I hear you. I'll go ahead and open up an interface. If I see that multicast content, I'll be sure to forward it to you." But R3 doesn't have a copy of that content yet, and at this rate, it won't.
So what we want to do is identify one device on our network as the rendezvous point – a place where the listeners and broadcasters can join up. In our case, we decided to make R2 the RP. Once we make that decision, we tell the entire network that R2 – based on R2's IP address – is the RP.
It just so happens that R3's best connection to R2 is through R4. For R3, the router knows the address of the network's rendezvous point, so it sends a join request of its own through PIM over to R4. That join request essentially says, "Hello, R4. Please forward multicast content to me if you see it."
For its part, R4 gets that request and says, "Sure – I hear you. I'll forward it to you, but I don't have it." And R4 turns around and sends a join request to R2, asking pretty much the same thing as the others have before that.
R2 receives the request from R4, and now the chain is established. The video server can flow the content to the rendezvous point – R2 – and the RP can open the appropriate interface, flow it down to R4, who will flow it R3, who will flow it to its clients.
And that's the purpose of an IPv6 multicast-routing rendezvous point: it's a specific point in the network that all devices can use to initiate the flow of multicast traffic through the network.
It shouldn't surprise you to learn that the general theory of IPv6 multicast-routing rendezvous points is the tip of the iceberg when it comes to all you need to know about TCP/IP routing principles.
Whether you're learning more about your job as a network administrator or you're considering pursuing a certification like CompTIA A+, CBT Nuggets has networking training that can help prepare you.Our TCP/IP training covers networking with IPv6 and consists of 54 videos and 24 hours of training.