IP multicasting provides a mechanism for sending a single
datagram to a group of systems. Generally, only systems that have
joined the multicast group process the datagrams.
Multicast datagrams are transmitted and delivered with the
same "best effort" reliability as regular unicast
IP datagrams. The datagrams are not guaranteed to arrive intact
at all members of the destination group or in the same order as
the datagrams were sent.
Membership in a multicast group is dynamic. Systems can join
or leave groups at any time based upon the applications' behavior.
A system remains a member of a multicast group until the last socket
that joined the group is closed or drops membership in the group.
A system can be a member of more than one group at a time. A system
that has multiple interfaces might be a member of the same group
on each interface.
IP Multicast Addresses |
 |
At the IP layer, a multicast address is a Class D Internet
address with the following format:
User IP multicast addresses can be in the range 224.0.1.0
through 239.255.255.255. The addresses 224.0.0.0 through 224.0.0.255
are reserved. The addresses of other well-known permanent multicast groups
are published in the "Assigned Numbers" RFC
(RFC-1060, March 1990).
Multicast Routing |
 |
Multicast datagrams are sent through the interface associated
with the default route. If that interface does not support multicast,
attempts to send multicast datagrams will result in the ENETUNREACH
error.
A default multicast route can be configured by specifying
a network route for 224.0.0.0. The example below provides both the
command line and netconf file entries.
route add 224.0.0.0 192.1.2.3 0 #192.1.2.3 is a local interface |
ROUTE_DESTINATION[1]="224.0.0.0" ROUTE_GATEWAY[1]="192.1.2.3" ROUTE_COUNT[1]="0" |
Additionally, routes for specific multicast addresses can
be configured just like any other host route. The example below
provides both the command line and netconf file entries.
route add 224.1.2.3 192.5.6.7 0 #192.5.6.7 is a local interface |
ROUTE_DESTINATION[2]="224.1.2.3" ROUTE_GATEWAY[2]="192.5.6.7" ROUTE_COUNT[2]="0" |