The salient features of SDN are:
- Directly programmable: SDN decouples the network control and forwarding functions. SDN allows programming the network control plane by abstracting the physical infrastructure.
- Agile: Decoupling and abstracting network control from forwarding helps administrators dynamically adjust network-wide traffic flow to meet the changing needs in the networks.
- Centrally managed: Network intelligence is centralized (logically) in software based SDN controllers that maintain a global view of the network, which appear to applications and policy engines as a single, logical switch.
- Programmatically configured: SDN lets network managers configure, manage, secure, and optimize network resources very quickly via dynamic, automated SDN programs, which they can write easily and quickly, because the programs do not depend on proprietary software.
- Open standards-based and vendor-neutral: Because SDN is implemented through open standards, SDN simplifies network design and operation because instructions are provided by SDN controllers instead of multiple, vendor-specific devices and protocols
SDN in NetSim#
SDN is available in NetSim from version 11 onwards. NetSim 'simulates' OpenFlow protocol. OpenFlow is an open interface to remotely control the forwarding tables in network switches, routers, etc.
SDN Controller in NetSim#
An SDN controller is an application in SDN that manages flow control to enable intelligent networking. SDN controller can be used to control the packet forwarding of all Layer 3 devices in the network.
SDN controller lies between the network devices and the applications. Any communication between applications and devices must go through the controller.
NetSim has inbuilt controllers that 'simulate' SDN. An SDN controller in NetSim contains a Command Line Interface (CLI) to allow you to configure properties, such as, the IP forwarding table for different devices in the network.
NetSim also provides a platform whereby users can develop various kind of commands/interface compatible to any SDN enabled device.
In NetSim, any Layer 3 device can be configured as an SDN Controller. Multiple controllers can be configured in a network scenario. The following is a list of Layer 3 devices you can configure as an SDN controller:
- Internetworks – Nodes (Wired, Wireless Node), L3 Switches, Routers
- MANETs – Nodes (Wired, Wireless Node), Bridge Node (Wired, Wireless Node), Routers
- WSN - Sensors and Sink Node
- IOT - Sensors and Gateway (LowPAN Gateway), Nodes (Wired, Wireless Node), Routers
- Cognitive Radio – CR CPE, Nodes (Wired, Wireless Node), Routers
- LTE – UE, EPC, Nodes (Wired, Wireless Node), Routers
- VANETs – Vehicle and RSU
- 5G mmWave – UE, EPC, Nodes (Wired, Wireless Node), Routers
Note: NetSim ‘simulates’ SDN protocol and cannot connect to real controllers such as Open Daylight.
CLI Commands for SDN in NetSim#
You can use the following commands when you simulate SDN in NetSim:
Simulation-specific – Pause, PauseAt, Continue, Stop, Exit, and Reconnect.
Route – route add, route print, and route delete.
Ping Command – ping (not supported on some network types, for example, Wireless Sensor Network)
ACL configuration – ACL Enable, ACL Disable, ACL Print, and aclconfig.
Note: CLI commands in NetSim are NOT case-sensitive. To get detailed help about how to use CLI commands in NetSim, Section 3.5 NetSim Interactive Simulation in User Manual.
How to use CLI Commands for SDN#
Each device in NetSim has a console which can be accessed by right clicking on the device.
Users can execute supported SDN commands on the console of the SDN controller node to configure other nodes in the network. Let us look at a few examples.
Example 1: To view the IP routing table of a node that is controlled by the SDN controller, use the following command syntax: <DeviceName with Device_ID> route print.
For example, type Wired_Node_2 route print and press Enter.
The following image illustrates the output for the command.
Example 2: To initiate ping from one node to another node where both nodes are controlled by the SDN controller, following command can be executed in the SDN controller:
<DeviceName with Device_ID> Ping <DeviceName with Device_ID> or <DeviceName with Device_ID> Ping <IP Address>.
For example, type Router_4 ping Router_5 or Router_4 ping 184.108.40.206 and press Enter.
Note: In order to initiate ping between the devices, ICMP protocol which is present in the Network Layer properties of the devices must be set to TRUE.
Multiple controllers can be configured in NetSim. However, intercontroller communication requires the user to write their own code in NetSim.
NetSim provides inbuilt examples to get started with the SDN module. To access these examples, you can go to Examples > Software-Defined-Networks in the NetSim Home Screen. You can change the default values of the parameters in these examples and see how they affect the performance of the SDN network.
- Configuring One SDN Controller in a Simple Internetwork
- Configuring Multiple SDN Controllers in a Wireless Sensor Network
- How to Change the IP tables in devices in NetSim using SDN Commands
- Configuring Static Routes for a MANET Network by using SDN
- Configuring Static Routes for a WSN Network by using SDN
You can refer to the up-to-date FAQs about NetSim’s SDN library at