OMNET MULTICAST PROJECTS 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 224.0.0.0 to 239.255.255.255. IPV4-reserved address for multicast
- 224.0.0.0: based address reserved
- 224.0.0.1: Used for all multicasting host groups
- 224.0.0.2: Used for all subnet routers
- 224.0.0.5 and 224.0.0.6: 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.
- Flooding.
- 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()); payload->setControlInfo(ctrl); delete reply; long originatorId = payload->getOriginatorId(); PingMap::iterator i = pingMap.find(originatorId); if (i != pingMap.end()) send(payload, "pingOut", i->second); else { EV << "Received ECHO REPLY has an unknown originator ID: " << originatorId << ", packet dropped." << endl; delete payload; } } 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()); ctrl->setProtocol(IP_PROT_MULTICAST); MULTICASTMessage *request = new MULTICASTMessage(msg->getName()); request->setType(MULTICAST_ECHO_REQUEST); request->encapsulate(msg); request->setControlInfo(ctrl); sendToIP(request); }