Qualnet Network simulator

Qualnet is used for large, heterogeneous networks.Distributed applications execute on these networks.A commercial version of GloMoSim is named as Qualnet.

Features of Qualnet Network simulator:

  • Robust for both wired, wireless networks and hybrid network.
  • Useful for simulating diverse types of networks.
  • Optimized for speed.
  • Optimized for scalability.
  • Designed from ground-up as a parallel simulator.
  • Qualnet executes simulation multiples faster.
  • A robust graphical user interface.
  • Used to simulate high-fidelity models of wireless networks.
  • Portability.
  • Model Fidelity.
  • Extensibility.

Platform Support:

  • QualNet executes on all commonly used platforms.
  • Windows NT/2000/XP/ Professional.
  • Solaris.
  • Linux.
  • most UNIX variants.
  • MacOS.

Components of QUALNET:

  • QualNet Architect.
  • QualNet Analyzer.
  • QualNet Packet Tracer.
  • QualNet File Editor.
  • QualNet Command Line Interface.

QualNet enables users to:

  • Optimize new and existing models.
  • Design new protocol models.
  • Design large wired and wireless networks using pre-configured or user-designed models.
  • Analyze the performance of networks and perform what-if analysis to optimize.

Qualnet Libraries:

The QualNet has three libraries of component models which include:

  • Developer.
  • Wireless.
  • Multimedia and Enterprise.

There are two versions of the platform:

  • QualNet Developer.
  • QualNet Run-Time.

CODE:

void

APP_UdpSendNewDataWithPriority(

Node *node,

AppType appType,

NodeAddress sourceAddr,

short sourcePort,

NodeAddress destAddr,

int outgoingInterface,

char *payload,

int payloadSize,

TosType priority,

clocktype delay,

TraceProtocolType traceProtocol)

{

Message *msg;

AppToUdpSend *info;

ActionData acnData;

msg = MESSAGE_Alloc(

node,

TRANSPORT_LAYER,

TransportProtocol_UDP,

MSG_TRANSPORT_FromAppSend);

MESSAGE_PacketAlloc(node, msg, payloadSize, traceProtocol);

memcpy(MESSAGE_ReturnPacket(msg), payload, payloadSize);

MESSAGE_InfoAlloc(node, msg, sizeof(AppToUdpSend));

info = (AppToUdpSend *) MESSAGE_ReturnInfo(msg);

SetIPv4AddressInfo(&info->sourceAddr, sourceAddr);

info->sourcePort = sourcePort;

SetIPv4AddressInfo(&info->destAddr, destAddr);

info->destPort = (short) appType;

info->priority = priority;

info->outgoingInterface = outgoingInterface;

info->ttl = IPDEFTTL;

//Trace Information

acnData.actionType = SEND;

acnData.actionComment = NO_COMMENT;

TRACE_PrintTrace(node, msg, TRACE_APPLICATION_LAYER,

PACKET_OUT, &acnData);

MESSAGE_Send(node, msg, delay);

}