In telecommunications and in data networks, multicast is a mechanism to route data traffic in the network from one source to a group of terminals. The group is associated with a special address dedicated from the address space of the internetwork protocol. According to the Open Systems Interconnection Model OSI, the multicast is a function of the network layer. In order to use it, two types of protocols need to work simultaneously: a group management protocol and a multicast routing protocol. On one hand, the group management protocols are a family of network layer protocols that create and deactivate groups, as well as managing operations related to the group members, this includes joining and leaving groups. On the other hand, multicast routing protocols are a routing protocol family that provide one-to-many routing mechanism. They create and maintain routes between group members across the network. Over the past years, since its adoption as a packet routing mechanism, the multicast has seen many additions and improvements. In addition to that, modifications have also been made to pre-existing technologies to serve multicast purposes.