This presentation is the property of its rightful owner.
Sponsored Links
1 / 18

Multicast PowerPoint PPT Presentation

  • Uploaded on
  • Presentation posted in: General

Multicast. Speaker : Sandra Date : 2012-07-18. What is Multicast?. There are three possible ways of data communication among computers:  (1) unicast transmission is the sending of messages to a single network destination identified by a unique address.

Download Presentation


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript





What is multicast

What is Multicast?

  • There are three possible ways of data communication among computers: 

    • (1) unicast transmission is the sending of messages to a single network destination identified by a unique address.

    • (2)broadcast refers to a method of transferring a message to all recipients simultaneously. 



What is multicast con

What is Multicast?(con.)

  • (3) On a multicast network, you can send a single packet of information from one computer for distribution to several other computers, instead of having to send that packet once for every destination.

  • Also, when you use multicasting to send a packet, you don't need to know the address of everyone who wants to receive the multicast.


Multicast addresses

Multicast addresses

Levels of conformance

Levels of conformance

  • Level 0 is the "no support for IP Multicasting" level.

  • Level 1 is the "support for sending but not receiving multicast IP datagrams" level.

  • Level 2 is the "full support for IP multicasting" level.

Sending multicast datagrams

Sending Multicast Datagrams

  • A list of TTL thresholds and their associated scope follows:

The mbone

The MBone

  • The purpose of Mbone is to minimize the amount of data required for multipoint audio/video-conferencing.

  • topology: combination of mesh and star networks.

  • IP addresses:

  • routing schemes: DVMRP, MOSPF.

Multicast applications

Multicast applications

  • Many applications transmit the same data at one time to multiple receivers.

    • Broadcasts of Radio or Video.

    • Videoconferencing.

    • Shared Applications.

  • A network must have mechanisms to support such applications in an efficient manner.

Multicast programming

Multicast programming

  • All of them are handled via two system calls: 

    • setsockopt() (used to pass information to the kernel) .

    • getsockopt() (to retrieve information regarded multicast behavior). 

Multicast programming con

Multicast programming(con.)

  • The following are the setsockopt()/getsockopt() function prototypes:  

    • int getsockopt(int s, int level, int optname, void* optval, int* optlen);

    • int setsockopt(int s, int level, int optname, const void* optval, int optlen);

Multicast programming con1

Multicast programming(con.)

  • The optnames involved in multicast programming are the following:

Ip multicast loop


  • You have to decide, as the application writer, whether you want the data you send to be looped back to your host or not. If you plan to have more than one process or user "listening", loopback must be enabled.

    u_char loop;

    setsockopt(socket, IPPROTO_IP, IP_MULTICAST_LOOP, &loop, sizeof(loop));

Ip multicast ttl


  • if not otherwise specified, multicast datagrams are sent with a default value of 1, to prevent them to be forwarded beyond the local network. To change the TTL to the value you desire (from 0 to 255), put that value into a variable (here I name it "ttl") and write somewhere in your program:

    u_char ttl;

    setsockopt(socket, IPPROTO_IP, IP_MULTICAST_TTL, &ttl, sizeof(ttl));

Ip multicast if


  • Usually, the system administrator specifies the default interface multicast datagrams should be sent from. The programmer can override this and choose a concrete outgoing interface for a given socket with this option.

    struct in_addr interface_addr;

    setsockopt (socket, IPPROTO_IP, IP_MULTICAST_IF, &interface_addr, sizeof(interface_addr));

Ip add membership


  • Recall that you need to tell the kernel which multicast groups you are interested in.

  • If no process is interested in a group, packets destined to it that arrive to the host are discarded.

    struct ip_mreq


    struct in_addr imr_multiaddr; /* IP multicast address of group */

    struct in_addr imr_interface; /* local IP address of interface */


Ip drop membership


  • The process is quite similar to joining a group:

    struct ip_mreq mreq;

    setsockopt (socket, IPPROTO_IP, IP_DROP_MEMBERSHIP, &mreq, sizeof(mreq));



  • gcc –o mc mc.c

  • Client:

    • ./mc

  • Server:

    • ./ms




  • Multicast [1][2][3]

  • Broadcast[1]

  • Unicast[1]

  • MBONE[1]

  • Login