NS3 SDN PROJECTS
SDN features:
- Emerging reality.
- Automating network device configuration.
- Big switch network.
Functionalities supported by SDN:
- Support virtualization
- Open flow support
- Scalability
- Programmability
- Network functionality
- Security
- Performance
- Reliability
- Vendor characteristics
- Centralized monitoring and visualization
Sample code for SDN projects:
CsmaHelper csma;
csma.SetChannelAttribute (“DataRate”, DataRateValue (5000000));
csma.SetChannelAttribute (“Delay”, TimeValue (MilliSeconds (2)));
// Create the csma links, from each terminal to the switch
NetDeviceContainer terminalDevices;
NetDeviceContainer switchDevices;
for (int i = 0; i < 4; i++)
{
NetDeviceContainer link = csma.Install (NodeContainer (terminals.Get (i), csmaSwitch));
terminalDevices.Add (link.Get (0));
switchDevices.Add (link.Get (1));
}
// Create the switch netdevice, which will do the packet switching
Ptr switchNode = csmaSwitch.Get (0);
OpenFlowSwitchHelper swtch;
if (use_drop)
{
Ptr controller = CreateObject ();
swtch.Install (switchNode, switchDevices, controller);
}
else
{
Ptr controller = CreateObject ();
if (!timeout.IsZero ()) controller->SetAttribute (“ExpirationTime”, TimeValue (timeout));
swtch.Install (switchNode, switchDevices, controller);
}
// Add internet stack to the terminals
InternetStackHelper internet;
internet.Install (terminals);