preview

Nt1310 Unit 6 Assignment 1

Satisfactory Essays

6. APPENDIX
//
// Network topology
//
// n0
// \ 5 Mb/s, 2ms
// \ 1.5Mb/s, 10ms
// n2 -------------------------n3
// /
// / 5 Mb/s, 2ms
// n1
//
// - all links are point-to-point links with indicated one-way BW/delay
// - CBR/UDP flows from n0 to n3, and from n3 to n1
// - FTP/TCP flow from n0 to n3, starting at time 1.2 to time 1.35 sec.
// - UDP packet size of 210 bytes, with per-packet interval 0.00375 sec.
// (i.e., DataRate of 448,000 bps)
// - DropTail queues
// - Tracing of queues and packet receptions to file "simple-global-routing.tr"

#include
#include
#include
#include

#include "ns3/core-module.h"
#include "ns3/network-module.h"
#include "ns3/internet-module.h"
#include "ns3/point-to-point-module.h" …show more content…

NS_LOG_INFO ("Assign IP Addresses."); Ipv4AddressHelper ipv4; ipv4.SetBase ("10.1.1.0", "255.255.255.0"); Ipv4InterfaceContainer i0i1 = ipv4.Assign (d0d1);

ipv4.SetBase ("10.1.2.0", "255.255.255.0"); Ipv4InterfaceContainer i1i2 = ipv4.Assign (d1d2);

// Create router nodes, initialize routing database and set up the routing // tables in the nodes. Ipv4GlobalRoutingHelper::PopulateRoutingTables ();

// Create the OnOff application to send UDP datagrams of size // 210 bytes at a rate of 448 Kb/s NS_LOG_INFO ("Create Applications."); uint16_t port = 9; // Discard port (RFC 863) OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (i1i2.GetAddress (0), port))); onoff.SetConstantRate (DataRate ("448kb/s")); ApplicationContainer apps = onoff.Install (c.Get (0)); apps.Start (Seconds …show more content…

apps.Stop (Seconds (2.0));

// Create a packet sink to receive these packets PacketSinkHelper sink ("ns3::UdpSocketFactory", Address (InetSocketAddress (Ipv4Address::GetAny (), port))); apps = sink.Install (c.Get (2)); apps.Start (Seconds (0.5)); apps.Stop (Seconds (2.0));

/* // Create a similar flow from n3 to n1, starting at time 1.1 seconds onoff.SetAttribute ("Remote", AddressValue (InetSocketAddress (i1i2.GetAddress (0), port))); apps = onoff.Install (c.Get (3)); apps.Start (Seconds (1.1)); apps.Stop (Seconds (10.0));

// Create a packet sink to receive these packets apps = sink.Install (c.Get (1)); apps.Start (Seconds (1.1)); apps.Stop (Seconds (10.0));
*/
AsciiTraceHelper ascii; p2p.EnableAsciiAll (ascii.CreateFileStream ("trial1.tr")); p2p.EnablePcapAll ("trial1");

// Flow Monitor FlowMonitorHelper flowmonHelper; if (enableFlowMonitor) { flowmonHelper.InstallAll (); }

NS_LOG_INFO ("Run Simulation."); Simulator::Stop (Seconds (2.5)); Simulator::Run (); NS_LOG_INFO ("Done.");

if (enableFlowMonitor) { flowmonHelper.SerializeToXmlFile ("trial1.flowmon", false, false); }

Simulator::Destroy (); return 0;

Get Access