I was just going through some multicast theory.i have some doubts.
1.How do the clients know about the multicast server.
2.How do the server which is sending the multicast traffic knows about the multicast address.
what is confusing to me is that both the clients and as well as the server r using the same mulicast address.
1) Clients do not know about mulitcast server. What they do know is the multicast address(es) that they want to join. This can either be configured manually or you can have software that allows you to browse available multicast groups.
2) The server software is configured with the multicast address eg. in our test lab we use VLC which allows you to send a multicast stream across the network. When you setup VLC you tell it what multicast address you want to use.
Note that there are multicast addresses that are in use and should not be used by applications eg.
thanks for u r reply.
As u said that the clients dnot know abt the multicast server,they know about the multicast address they want to join.this can be configured manually or we can use the software.it this mean that the software application installed on the client is also using the same multicast address as used on the server.
regarding u r second point.the server software is configured with the multicast address whicih is going to send the multicast stream,so it means that the application is going to use this multicast address.
i want to know intially how do the server forwards the multicast stream unless it gets any request from the clients.
An example will be helpful.
Yes when you initially configure Multicast server and client you have to tell both the devices which group they want to listen.
When you configure Multicast server you define it will send multicast traffic to which multicast destination address or some applications like live caster can automatically search for available multicast address and alsogenerate some URL which can be browsed from applications installed on client and that URL has the information about the multicast address to which client should listen and as soon as you click on those generated URLs your client will generate an IGMP report which will help your infra switch build snooping table and rest you know how it works.
Like Jon posted about VLC it is much easier application for streaming media and you can install same application on 2 machines one can be used as server and another client and you have to manually tell both to which mcast address it should send and client should be defined as which multicast addrress it should listen.
*Pls rate all helpfull post
Thanks for ur reply.nice to see u back.
Well still i m confused,i think i going crazy about some terms please bare with me.
As per u r reply,let me put some points about which i m confused.
for eg.if we are running a multicast application as u said it needs to be installed both on the server as well as client.for eg we installded the application using a multicast address of 184.108.40.206 so if this server want to send the traffic it is going to use the multicast address 220.127.116.11 i m i right in thining this.
next coming to the client side we have the same application installed witht the same multicast address,how can we say weather this clinet is a sender or reciever may i m souning silly but i m confused.
Please help in this regrad.
Yes your confusion is valid and I will recommend download vlc-0.8.6b-win32.exe from google and instrall on 2 machines.
Then I will send you the steps how to configure same application as server and client. Its just how you configure it. You are right that when you use it as a server you will define a address and then when you configure it as a client you have to tell the client which address to listen.
Also instead of using some media stream you can use iperf.exe which is very very simple application and install on 2 machines and I will send you the commands which you can use to start a server and client. You can easily test with iperf that even there is no client on network who wants to listen to multicast traffic server can start sending multicast trafic if you issue those commands and when you issue a client based commands your client will start receiving it and it is very nicely visible.
Incase you are inerested in any of the aplpication please come back I can send you the commands for iperf or procedure how to use VLC player.
*Pls rate all helpfull post
Thanks for the reply.As u said that u have to configure the client to listen for the address,is this the same address which the server is using to send the multicast traffic.Please explain.
Yes it is. it can be confusing because it sound counterintuitive when you think of IP unicast addressing ie. you wouldn't configure the same address on both client and server.
But the server is sending packets out with a destination address of the multicast address. The client is simply saying it wants to receive packets with that address. You don't actually configure any physical interfaces on the client with that address.
Hi Ankur and Jon,
Thanks for u r replies.Hope this will be the last one until we nail this down.What i i have understood from our conversation that
the server is going to use one multicast address(application)to send the traffic to a particular destination.
On the clients as the same application is installed,when they execute this appication they too have the same multicast address but here they are going to listen to any traffic which is having the destination multicast address as their multicast address in other words when they execute the appication what they mean is that they want to recieve the traffic which is having the specifed multicast address. i m right in thinking this.
Yes you have pretty much summed up how it works. Be aware that the client does listen for the multicast address but it also has to register it's interest in that multicast address before it starts receiving that traffic.
The client registers an interest with IGMP. This tells the router to forward that multicast traffic onto the client subnet.
Yes it is the same address which server will use to send. Mcast server send it to particular destination and Mcast client simply receive it from that destination in simple terms.
Actually there is no real physical entity which has that multicast address so it sounds confusing so client need to know which address it has to receive traffic from and that is the reason same address is required on both.
*Pls rate all helpfull post
Re the client software. Yes it must use the same multicast address that the server is using for the relevant application.
How the server forwards the multicast stream depends on whether you are running pim dense or pim sparse mode.
Pim dense mode - the server starts multicasting the application. The routers in the network then flood these multicast packets onto each segment. If a router downstream from the server does not have any clients, be they client machines or other routers, that are interested in the traffic they prune themsleves from the multicast "tree" ie the instruct the upstream router that they do not want to receive the multicast traffic.
If at a later date this router is then informed of a client that wants to receive the traffic it grafts itself back onto the tree by notifying the upstream router.
Pim sparse mode does things differently.
Once the server starts to multicast the stream the traffic is not flooded throughout the network. It is done on a demand basis. So if a client on a remote lan wants to receive the traffic every router between it and the multicast source must join itself to the tree. In actual fact it's a bit more complicated than this in that sparse-mode utilises shared trees but i think this gives you the idea.
In either scenario the server will start forwarding the multicast stream regardless of whether anyone wants to listen ie. the server does not start forwarding when the first client registers an interest.
Hope i've answered your question
Other posters have done a fine job, but since you asked about theory, thought I try another go at your questions.
The sender or source can just pump data out "blind" to any multicast address of its choice.
The receiver or listener just attempts to eavesdrop for any traffic using a multicast address of its choice.
A simple analogy, if you've ever used a CB radio or something similar, would be the sender or source picks a channel to transmit on, the listener also picks a channel to listen on. Works best when they both pick the same channel. The issue of picking a common channel is what both your questions are asking.
The problem of picking a common channel is usually left unexplained. When you read about multicast you'll normally read on how it works, and hopefully, how to make it work well and efficiently.
Often, though, picking a common channel, or multicast address to use for an application, is administrative choice. Sort of like a pre-agreement that we'll use channel 5. Multicast applications where you don't chose a multicast address usually already have one predefined and usually offer a method to change it (often buried in the documentation). Other multicast applications will want you to select a multicast address right from the start.