Использование AODV в проводной симуляции

Я пытаюсь использовать AODV в проводной симуляции, но я не могу заставить ее работать, возможно ли связать 2 AODVRouters по проводам и использовать протокол AODV?? или я должен использовать 2 standardhost и изменить AODVrouting.cc??

РЕДАКТИРОВАТЬ: Я просто имитирую пример AODV simpleRREQ, используя стандартные хосты вместо AODVrouters и используя режим отладки, он падает в следующем фрагменте кода:

void AODVRouting::sendAODVPacket(AODVControlPacket *packet, const L3Address& destAddr, unsigned int timeToLive, double delay)
{INetworkProtocolControlInfo *networkProtocolControlInfo = addressType->createNetworkProtocolControlInfo();

networkProtocolControlInfo->setHopLimit(timeToLive);

networkProtocolControlInfo->setTransportProtocol(IP_PROT_MANET);
networkProtocolControlInfo->setDestinationAddress(destAddr);
networkProtocolControlInfo->setSourceAddress(getSelfIPAddress());

// TODO: Implement: support for multiple interfaces

InterfaceEntry *ifEntry = interfaceTable->getInterfaceByName("AODV");
networkProtocolControlInfo->setInterfaceId(ifEntry->getInterfaceId());

UDPPacket *udpPacket = new UDPPacket(packet->getName());
udpPacket->encapsulate(packet);
udpPacket->setSourcePort(aodvUDPPort);
udpPacket->setDestinationPort(aodvUDPPort);
udpPacket->setControlInfo(dynamic_cast<cObject *>(networkProtocolControlInfo));

if (destAddr.isBroadcast())
    lastBroadcastTime = simTime();

if (delay == 0)
    send(udpPacket, "ipOut");
else
    sendDelayed(udpPacket, delay, "ipOut");
}

Как я могу отправить пакет AODV, выбрасывая все порты Ethernet маршрутизатора?

0 ответов

Другие вопросы по тегам