MicroNugget: How to Embed RP & VLC Multicasting with IPv6

MicroNugget: How to Embed RP & VLC Multicasting with IPv6



embeded rendezvous points and VLC multi casting using ipv6 let's begin our objective for you and I and this micro nugget is simple is to identify how we can train this network to dynamically learn who their rendezvous point is without using BSR and without statically configuring that information on every single router one mechanism of doing that is by embedding the IP address of the rendezvous point inside of a multicast group address to embed the rendezvous point IP address inside of a group address we first of all need a plan on what the rendezvous point address is going to be so let's choose our two that we want him and his loopback address of this guy right here to go ahead and be the rendezvous point IP address now we are going to statically configure our to the rendezvous point we need to tell him that he's in charge of being the rendezvous point but we're not going to specifically tell r1 r3 or r4 we'll let them figure out who the rendezvous point is based on the multicast group address that we create so with that in mind that we're going to use this rendezvous point address let's take a look at how we can stuff that into a multicast group address we start off with F F and the F F represents that hey this is a multicast group this seven right there that's saying hey guess what it's not just a normal multicast group but it has the embedded information about the actual rendezvous point inside of this multicast group the details about the last character here this eight represents the scope of this multicast content is it site wide or organization wide or is it global in scope and then we come to this next section of bits and this right here this R represents the last character of the rendezvous point IP address now one of the requirements to stuff this ipv6 address inside of another is that the rendezvous point address the host portion which is the interface ID the last 64 bits it needs to be mostly zeros in this case that's true and the last character is number two so we take that last character follow me here that last character goes right in that position so in our case because the lab characters at 2:00 for the rendezvous point it goes right here now you might be thinking well Keith we're gonna need a lot more information about the rendezvous point than just the last character of its ipv6 address we also need to know what network gets on that's a good point let's take a look at these next two sections these next two characters which represent eight more bits is the prefix length bits and then the prefix length we have these two characters with those two characters we're going to indicate how much of the network we're going to tell about so let's say that this rendezvous point is on a / 64 bit network 2001 DB 8 2 2 2 2 : 0 those 64 bits we want to represent that right here and I know that 42 the decimal mind doesn't look like 64 however it's in hexadecimal so if this is a value of 16 each and this is the ones position that be 16 times 4 plus 0 ones which would be 64 so this 40 right here is just telling inside of the multicast group you're about to receive 64 bits of information regarding the network address of the rendezvous point well if you told it that you were gonna give it 64 bits guess what that's what the next 64 bits need to be the next four groups represent the network address of the rendezvous point which in this case is going to be 2001 DB 8 2 2 2 2 0 now you put that 0 there instead of the double : because I wanted to expressly indicate that that was the 64 bits I even color-coded it for you so that's this part right here and these last 32 bits that's going to represent our individual multicast group ID and with 32 bits available we can create millions of different multicast groups all of which are using the embedded RP address inside of them once we've identified that this is the multicast group we want to use we're gonna use a group of 0 6 7 8 3 has the last 32 bits then we simply need to tell our to we configure ham saying you are the rendezvous point and then we allow r1 r3 and r4 and everybody else if they see the multicast group of this they will automatically know who that rendezvous point is they'll extract it and use our two as a rendezvous point to actually test the multicast I statically configured r2 to let it know that it's a rendezvous point but we haven't told the rest of the network and these friends they have here with me this is a Windows XP box and he's on this network right here which is the a subnet which is just off to the left of our one I've also got this Windows 8 machine and this Windows 8 machine is on the F subnet which is just off of the gig 3-0 interface down to the bottom of our network pinging off of our three we're gonna make the xp box a VLC multicast server so we'll simply launch PLC bring it open I'm using a lot of the defaults this is version 2.0 5 if you want to replicate this and we're gonna go ahead and simply create a media server so we'll go to media I want to stream my content I'm gonna grab a file just a mp4 file that I want to send and then I'm gonna specify that I want to go ahead and stream it right here now I'm gonna take a lot of the defaults is specifying the file that I just chose I'm gonna click on next it's asking me how do I want to send this I'm gonna say I want to use the RTP MPEG transport stream select that click on add and then I need to put the address of where I want to send that to and this address I'm putting in is that multicast embedded group address that we just looked at I'm also gonna specify port 5 0 0 4 and just be aware of that because on that client I need to be registered for that group and also paying attention once that stream comes to port 5 0 0 4 I'm also going to tell it I don't want to do any active transcoding I want to send it as it is we simply click on next and the other thing that is really important is to specify the time to live at time to live if we set it to 1 the first router who gets it's gonna say oh time to live is over and then drop you so we're gonna increase the time to live I'm gonna specify 10 which would be plenty enough to get through the 4 routers that are sitting between the subnet a devices and the subnet F devices and then we'll simply click on stream and it's off to the races we're now pumping out this content inside of the network in fact if we take a look at this icon right here it's showing that my network is sending sending sending and that's a very very good sign the second half of this is to go to the Windows 8 machine which is done on network subnet F and tell it to join this multicast group will use the VLC player there as well it'll use a multicast listener discovery report to tell r3 it wants that group that message will be propagated through the multicast network and then the content should flow down to the Windows 8 machine so over on the windows 8 machine let's go ahead and bring up VLC and we're gonna simply go to media and I say I want to open a network stream it says ok what do you want to listen to and I'm gonna go ahead and put in the details regarding what I want to listen to and the details are this we're gonna say RTP : whack-whack and @ symbol and then in brackets because I have an ipv6 address that uses colons I'm gonna put the entire ipv6 multicast group address there then I close the bracket and then a colon and then the port 5004 and then we'll click on play and there's the content streaming through so it should loop and the music's on I'm gonna mute it so I don't have to listen to that but every 10 or 12 seconds it's going to loop it's gonna send it again and go through this network in this micro nugget we've taken a look at one way of training our network devices on who the rendezvous point is and that is through embedding the rendezvous points address inside of a multicast group address I hope this information has been informative for you and I'd like to thank you for viewing

4 Comments

  • Hi Keith! This video is awesome. Thanks for sharing!!

    I have built the same topology following your steps. I can see multicast packets from the server to client. Everything is working fine except I can´t open the stream on the client. The server is streaming content through a Microsoft Loopback Adapter on my own PC. The client is a Windows7 running on VirtualBox. I am using "Virtual Host-Only Ethernet Adapter"…Should I use a different one? Just in case, I´ve already disabled the firewall and rebooted the host a couple of times. Don´t know if I´m missing something. I´ve tried everything. To be honest, it´s driving me crazy.

    This the error I´m getting: "VLC unable to open MRL…"

    Hope you can give me a hint…
    Thanks in advance!!!!

  • Qarma Nerd says:

    Hi Keith I'm a big fan of your style of teaching. I got the whole concept of the embedded RP, as well how to derive the embedded RP address. However, I need a little clarification on how one would represent the network length portion of a embedded RP that is using a /128 host address. 

  • Keith Barker says:

    Hi LabLogicNet –

    I don't do much Web development, and am not sure how to embed the vlc player. If I knew, I would share my knowledge about it with you.

    Hope you find a working solution soon.

    Sincerely,

    Keith

  • Keith Barker says:

    Hello Jeroen-

    That is a great question. To use multicast on a network, the network must be able to forward that multicast traffic. I don't know what method is used for broadcasting a station using a DNAS Server, but because listeners actually connect to the server to receive a stream, it is likely based on uni-cast and not multicast.

    There are options on some DNAS servers to pump out content via multicast, but the network would have to support it specifically for it to work.

    Thanks

Leave a Reply

Your email address will not be published. Required fields are marked *