Question: #include ns 3 / core - module.h #include ns 3 / network - module.h #include ns 3 / mobility -
#include nscoremodule.h
#include nsnetworkmodule.h
#include nsmobilitymodule.h
#include nsinternetmodule.h
#include nsapplicationsmodule.h
#include nsaodvmodule.h
#include nsolsrmodule.h
using namespace ns;
enum RoutingProtocol
AODV,
OLSR,
HYBRID
;
struct RouteEntry
IpvAddress dest;
IpvAddress nextHop;
RoutingProtocol protocol;
RouteEntryIpvAddress dest, IpvAddress nextHop, RoutingProtocol protocol
: destdest nextHopnextHop protocolprotocol
;
std::vector routingTable;
class HybridRoutingProtocol : public Object
public:
static TypeId GetTypeIdvoid;
HybridRoutingProtocol;
void HandleRREQPtr packet, IpvAddress source, IpvAddress dest;
void HandleRREPPtr packet, IpvAddress source, IpvAddress dest;
void HandleRERRPtr packet, IpvAddress unreachableDest;
void HandleTCPtr packet, IpvAddress originator;
void HandleMPTPtr packet, IpvAddress mptNode;
void HandleNeighborDiscoveryPtr packet, IpvAddress neighbor;
private:
Add your hybrid routing logic here
;
TypeId HybridRoutingProtocol::GetTypeIdvoid
static TypeId tid TypeIdHybridRoutingProtocol
SetParent;
return tid;
HybridRoutingProtocol::HybridRoutingProtocol
Initialization if needed
void HybridRoutingProtocol::HandleRREQPtr packet, IpvAddress source, IpvAddress dest
Process RREQ
void HybridRoutingProtocol::HandleRREPPtr packet, IpvAddress source, IpvAddress dest
Process RREP
void HybridRoutingProtocol::HandleRERRPtr packet, IpvAddress unreachableDest
Process RERR
void HybridRoutingProtocol::HandleTCPtr packet, IpvAddress originator
Process TC
void HybridRoutingProtocol::HandleMPTPtr packet, IpvAddress mptNode
Process MPT
void HybridRoutingProtocol::HandleNeighborDiscoveryPtr packet, IpvAddress neighbor
Process Neighbor Discovery
void SendHybridRREQPtr source, IpvAddress destAddress, uintt numPackets
for uintt i ; i numPackets; i
Call HybridRoutingProtocol to send RREQ
void MeasurePerformanceuintt numNodes, uintt numPackets
Measurement logic
int main
Initialization code
Ptr hybridProtocol CreateObject;
Set the hybrid protocol to nodes based on your logic
for uintt i ; i numNodes; i
Ptr node nodes.Geti;
nodeAggregateObjecthybridProtocol;
Send RREQ packets
IpvAddress destAddress;
SendHybridRREQnodesGet destAddress, ;
SendHybridRREQnodesGet destAddress, ;
SendHybridRREQnodesGet destAddress, ;
Run simulation, measure performance, etc.
Additional simulations and measurements
MeasurePerformance;
MeasurePerformance;
MeasurePerformance;
MeasurePerformance;
MeasurePerformance;
MeasurePerformance;
Rest of the main function
return ;
write me t osend aodv packets fo nodes. writ eme code to send olsr packets for packets for nodes. write me code for hybrid aodv olsr t osend packets for nodes writ eme for ns and writ eme code for measure for pdr average, eedthroughput, routing overhead for source destination address, routing table for aodv routing table for olsr routing table for hybrid aodv olsr
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
