In Multicast routing protocol transmission method one device communicates with several devices in a single transmission.A multicast address is a single IP data packet set that represents a network host group. Multicast addresses are available to process datagram’s or frames intended.
Different Ranges of multicast address:
Multicast address ranges from the 126.96.36.199 to 188.8.131.52. IPV4-reserved address for multicast
- 184.108.40.206: based address reserved
- 220.127.116.11: Used for all multicasting host groups
- 18.104.22.168: Used for all subnet routers
- 22.214.171.124 and 126.96.36.199: Used by Open Shortest Path First, an interior gateway protocol for all network segment routing information.
Procedures involved in setting multicast network:
- Routers in the network’s are multicast enabled
- Configurations of multicast network is also support multicast enabled.
- Select the address you’ll use for your multicast
Algorithm involved in multicast routing protocol:
- Reverse path multicasting.
- Core-based tree.
- Spanning trees.
- Truncated reverse path broadcasting.
- Reverse path broadcasting etc.
Many different algorithm can be implemented for multicast routing protocol projects depending upon requirement of your projects.,
Sample Output video representing Omnet++ Multicasting Projects
Sample Omnet++ code for Multicast routing Protocol
void MULTICAST::processEchoReply(MULTICASTMessage *reply)
IPv4ControlInfo *ctrl = check_and_cast<IPv4ControlInfo*>(reply->removeControlInfo());
PingPayload *payload = check_and_cast<PingPayload *>(reply->decapsulate());
long originatorId = payload->getOriginatorId();
PingMap::iterator i = pingMap.find(originatorId);
if (i != pingMap.end())
send(payload, "pingOut", i->second);
EV << "Received ECHO REPLY has an unknown originator ID: " << originatorId << ", packet dropped." << endl;
void MULTICAST::sendEchoRequest(PingPayload *msg)
cGate *arrivalGate = msg->getArrivalGate();
int i = arrivalGate->getIndex();
pingMap[msg->getOriginatorId()] = i;
IPv4ControlInfo *ctrl = check_and_cast<IPv4ControlInfo*>(msg->removeControlInfo());
MULTICASTMessage *request = new MULTICASTMessage(msg->getName());