Introduction:
The figure below shows quite well the principle of multicasting. Quite simply it?s taking the same packet sent only once by the user to a multiple number of other user on the network. This can obviously be helpful to reduce the use of the network and increase the efficiency use of the network bandwidth. We will talk about different aspects of multicasting in this tutorial. We will touch the basic technical side touching the addressing mode and IP addresses, then we will talk about some of the different algorithm that are now in use with multicasting. Some other algorithm are also used today, but we will limit ourselves to the one which coming out the most often in our research. We will then explain some of the different protocol used with this transmission method. Finally we will explore the latest areas of development, and different technologies being developed for multicasting.
Figure 43-1:
Multicast Transmission Sends a Single Multicast Packet Addressed to
All Intended Recipients
Technical :
For a start the multicast addressing is entering in a different group than the usual internet addressing mode. The usual package addressing is made in unicast message using the class A, B and C IP address. The multicast addressing mode needs to use the class D IP address mode. This means the address for the multicasting are limited between 224.0.0.0 and 239.255.255.255 which are the address used by the class D.
As can be seen in the figure above the four most significant bits of the class D address are always set to 1110, the rest of the 28 bits are called the multicast group ID. Some of the address range are already reserved by some group or for some predefined purposes, the rest are available for uses.
Routing Algorithms:
There are several types of algorithms which are proposed for building multicast trees. These can eventually be used to implement the multicast routing protocol. We will take a closer look at four of those algorithms. The two simpler ones will be the spanning trees algorithm, and the flooding tree algorithm. Then we will look at the Reverse path broadcasting algorithm, and the Steiner tree algorithm.
Spanning Tree:
This algorithm has already been used by the IEEE-802 MAC bridges, it is powerful and quite easy to implement. This algorithm defines a subset of internetwork links to define a tree structure such that there is never more than one active path between two routers. The name of this algorithm comes from the fact that this tree spans to all node in the internetwork. When a router receives a multicast packet it sends it on all the links which belong to the spanning tree except the one from which it just arrived from. This method ensure that every router in the internetwork receives the packet. The only information which is kept by the router is a Boolean value which says which links belongs to the tree. The algorithm has drawbacks, it centralize all of the traffic on a small set of links and the group membership are not being considered.
Figure
: Spanning Tree
Flooding:
This algorithm is the simplest one to deliver multicast packet to internetwork router on a network. When the router receives a packet it would first check if this specific packet has been received before or if it?s the first time this packet has been received before. If it?s the first time the packet has been received it will send it to all the other links of that tree except the one from which it came from. Otherwise it will simply get rid of the package and wait for the next one. This ensure that all the routers on the network receive at least one copy of each packet. This algorithm though as a great set back when it comes to memory usage in the router. Keeping track of each packet that was received before necessitate the router to keep a separate memory for reference. Also sending all the node the package each time is an inefficient use of the network bandwidth.
Reverse Path Broadcasting:
This algorithm whis is currently being used in the multicast backbone is a derivation of the spanning tree algorithm.The biggest difference in the use of this algorithm is tha t if a router X receives a packet from Y then it will first check if the link is the shortest route for the packet to reach it's destination. If the route is the shortest one then the packet is forwarded to all the link in the group except the one from which it came from. Otherwise the packet is discarted and the router wait again. This algorithm is quite efficient at using the bandwidth of the network since the routers always use the shorter route to send every packet. The picture below gives a good idea of how the algorithm works overall.
Figure
: RPB Tree
Steiner Tree:
In the previous algorithm, the reverse path broadcasting, we ensure that the shortest route is always used in such a way that the packets are always delivered in the fastest possible way. However there is nothing which done to minimize the use of the network resources.
.
Figure
: Steiner Tree
In the figure above it can be seen that the second tree uses a smaller number of links than the first one. Even though this would be slower than the first tree it would use fewer links. This is an example of a Steiner tree. The idea behind this algorithm is to make sure that every packets is sent through a minimum number of links such that the network resourses uses are minimized. Even though the Steiner algorithm reduce the number of links used, it's complexity for constructing a delivery tree as made it of little practical importance. The algorithm is also very unstable due to the links joining and leaving the groups on real time.
Conclusion:
In
conclusion, we can see that there are many possibilities of uses for
multicasting and that this approach to communication could very
become more and more used. The areas that seems to have taken
advantage the most right now of this communication mode are online
education, corporate teleconferencing and the real time online stock
market.
Multicast Protocols The main protocol
in use by multicasting applications is the Internet Group Management
Protocol (IGMP). This governs the basic method in which multicasting is performed, and is the basis for other, more sophisticated
protocols. Basically, in
order for multicasting to be possible, it is necessary for the
multicast group to be defined. In IGMP, hosts join the multicast
group by sending a message to the routers immediately next to it in
the network indicating that it wishes to join the group. Once this
occurs, the host is considered to be an active member of the
multicast group. The router will periodically check the hosts to
ensure that they are all active. Inactive hosts (hosts that no longer
wish to be part of the group) are removed from the database. If there
are multiple routers on the network, then one is chosen to query the
hosts' for their status. This is called the ?querier?. Once
the database is built, the multicast operation is quite simple. A
source node sends a message to the multicast group, and it is
delivered to all the routers immediately connected to that node. The
routers then check the database to see if any of its child nodes
are members of the multicast group. If some are members, then the
message is delivered to them. If there are no members of the group,
then the message is discarded. The requirements of the host are quite
simple. It has to support transmission to and reception from Class D
address, support enhanced UDP so that multicast will be possible, and
support IGMP. There are three main versions of IGMP,
all of which have the same basic operation as just described, but
with some improvements. Version 1 In Version 1
IGMP, a host joins a group as described above, by sending an IGMP
?report? to the router. The router periodically sends queries to
the subnet and waits for a reply. If there is no reply for a number
of queries, then the host is removed from the group list. Version 2 In Version 2,
there is a method for choosing a querier, rather than choosing it
arbitrarily. The router with the lowest IP address is chosen as the
querier. The querier still periodically queries the nodes on the
network for their status, however, an additional way in which to be
removed from the multicast group is to send a ?leave? message to
the router. This is similar in concept to the message sent to join
the group. Version 3 This is a recent
addition and is still in its early stages of development. In this
version, hosts are able to specify a set of sources within the
multicast group from which it wishes to receive messages. Multicast Routing Protocols In
addition to IGMP, it is also necessary to have routing protocols. For
multicasting, these include DVMRP, MOSPF, PIM-DM and PIM-SM,
all of which are described next. Distance Vector Multicast Routing
Protocol (DVMRP) This protocol
includes methods for removing and adding members to the group. The
source sends the first packet to the whole network. Then ?prune?
messages are sent to eliminate branches to which group members are
not connected. Similarly, if a host joins on a branch, then that
branch sends a ?graft? message to add a previously pruned branch
back into the group. When a message is
sent, the router closest to the source is put in charge of forwarding
on the message. If there are more than one router the same distance
from the source, then the one with the lowest IP address sends on the
message. Multicast Extension to OSPF (Open
Shortest Path First) (MOSPF) OSPF is a unicast
protocol, which, as the name suggests, selects the shortest route to
the destination. The multicast version of this constructs a tree of
the shortest paths between nodes using information from IGMP and
OSPF. These trees are built on demand when a source begins to send a
message to a multicast group. Within
the MOSPF are three main routing protocols, described next. Intra-Area Routing In this protocol,
the group information is entered into a database using IGMP. Together
with information gathered from OSPF, the group information is used to
construct a shortest path tree. From this tree, unused routers are
detected and pruned. Inter-Area Routing It is necessary to
use Inter-Area Routing if the source or group members are located in
a different part of the Autonomous System (AS). The Area Border
Routers (ABR) are set as the Inter-Area Multicast Forwarders, and
connected to the backbone area. They forward summarized data about
the group membership to the backbone. Inter-AS Routing This protocol is
very similar to Inter-Area Routing, but it is implemented on a larger
scale. It is necessary to use Inter-AS Routing when the source or
group members are located in a different Automated Systems. The AS
Boundary Routers (ASBR) are set as the Inter-AS Multicast Forwarders
to send on the multicast messages. Protocol-Independent
Multicast (PIM)
The Inter-Domain Multicast Routing (IDMR) work group, part of the
IETF, is working on this protocol, planning to provide internet-wide
support for multicasting, regardless of the individual unicast
routing protocols in the various subnets.
There are two main types of PIM, described next.
Protocol-Independent
Multicast ? Dense Mode (PIM-DM) This
is similar to DVMRP, but with a few differences. Since PIM-DM is
protocol independent, it does not matter what unicast routing
protocol the individual subnets use. It is necessary for a unicast
routing protocol to be present, however, so that routes back to the
source can be found.
PIM-DM also forwards all multicast messages on all subnets until a
prune image is received. DVMRP delivers the message to all child
nodes. Protocol-Independent Multicast ?
Sparse Mode (PIM-SM) This protocol is
used for situations where multicast messaging isn't used as often as
with the previously mentioned. In this case, routers have to
explicitly announce their desire to receive multicast messages,
rather than just assuming that all routers will. Each domain contains
a ?rendezvous points? (RP), which are a group of routers that
forward multicast messages on to the rest of the network.
Each host is
connected to the network through a Designated Router (DR), which is
the router with the highest IP address of that subnet. When an IGMP
message is sent to the DR, it packages it into a PIM-SM-Register
packet and sends it on to the RP of the group as a unicast message.
The RP then sends back a PIM-Join message to the DR, and all routers
in between add the source-group pair to their multicast forwarding
table. This sets up a connection to make the transmission of
subsequent messages from that source easier. [1]
http://news.com.com/2100-1033-207898.html?tag=bplst [2]
http://www.cis.ohio-state.edu/~jain/cis788-97/ip_multicast/index.htm [3]
www.iosc.org/inet99/proceedings/4b/4b_1.htm [4]
www.nwfusion.com/archive/2000/84038_01-10-2000.html [5]
www.nwfusion.com/archive/2000/87487_02_-14-2000.html [6]
http://students.cec.wustl.edu/~cs542/SP2001/Presentations/BadMC.pdf All graphics obtained from: http://www.cis.ohio-state.edu/~jain/cis788-97/ip_multicast/index.htm
New Areas of Development
IP multicasting is becoming extremely popular for a new group of Internet service providers, including FastWeb in Italy, Hong Kong Broadband Network Ltd. (HKBN), and Bredbandsbolaget (B2) in Sweden. These companies are typically making use of Cisco metro Ethernet switching or Spatial Reuse Protocol (SRP) packet ring technology to build networks that provide10-Mbps, 100-Mbps, or even 1000-Mbps connections for clients [1].
FastWeb is Italy?s largest broadband telecommunications company that makes use of Cisco?s ETTx, which is a new fibre technology that is essential to high bandwidth applications that need multicast. FastWeb provides homes and businesses in Bologna, Genoa, Turin, Milan, Naples, and Rome with Internet connectivity at rates of 10, 100, and 1000 Mbps, using ETTx. Over this connection, FastWeb provides its clients with Internet surfing capabilities using standard unicast, but switches to multicast for applications requiring more bandwidth. For example, FastWeb can offer selected TV channels to as many as 30,000 subscribers without overtaxing its network. Providing this service with unicast would require 30,000 individual unicast streams, a feat which is at this point unrealizable and unnecessary [1].
Another service provider making use of IP multicasting is Hong Kong broadband Network Ltd. HKBN has built the world's largest metro Ethernet broadband network. It will link most of the public housing estates and private residential buildings. It provides standard Internet surfing capabilities, a telephone network, and a digital television network delivered by Cisco IP multicasting.
Another area of multicasting that is under development is the Internet Group Management Protocol (IGMP). This protocol is responsible for adding and deleting nodes from multicast groups. Version 2 is currently in use. Version 3, which is in its preliminary stage, makes it possible for a host to join a group and specify a set of sources from which it wants to receive multicast messages [2].
Constraints
Despite its advantages, there are a number of problems associated with IP multicasting that are preventing it from becoming a dominant means of data delivery. One of these is that packets sent by the source can be dropped by the network. This can be caused by either of two situations. If a bad packet is received, the node discards it without notifying the user. Packets can also be dropped without notice if the incoming packet does not fit within the receive buffer [6]. Due to scalability issues and the end-to-end requirements, there cannot be any acknowledgement of reception from receivers, so reliability has to be provided by the source retransmitting all packets into a multicast group [3]. A related issue is that error-checking capability is limited. Receivers accept and to some extent try to process packets containing errors [6]. If at some point the packets with errors are recognized, the receiver cannot inform the source and request a resend.
Another disadvantage is that every router and switch in between the source and the destination must be multicast enabled. This could require in some cases extra software and hardware [4]. In an effort to avoid this problem, the Multicast Backbone (MBone) has been constructed on top of the already existing Internet. Multicast packets are sent disguised as regular IP packets until they reach a multicast router, which then sends them on as multicast messages. A side effect of this is that no single entity controls the entire infrastructure [4].
Another fairly important disadvantage is that to date, there are no real security measures to protect multicast traffic. This means that a rogue transmitter could send bad packets throughout the multicast groups. At the moment, companies that want to transfer sensitive information such as financial data or employee briefings using multicast technology have no way of encrypting data as it is sent across the wire, making it vulnerable to interception [5].
Scalability and overhead are also important issues. Some of the multicast algorithms (such as the flooding algorithm) generate an excessive number of duplicate packets, wasting the system bandwidth [2]. Others, like the spanning tree algorithm, centralize all the traffic on a small set of links without consideration for IP Group memberships [2].
References