Tutorial No.1
Here you will get hands-on experience on real SDN network. Here we will build simple Local Area Network (LAN) with SDN. Now recall our SDN architecture. To create LAN with sdn what we require-
1)Hosts
2)Data forwarding plane
3)Data controlling plane
4)Programing Interface
1) Hosts :- Hosts are nothing but workstations/terminals among which we are going to create network (or LAN). We can use computer or mobile phone as host.
2) Data forwarding plane:- There are OpenFlow enabled switches available in the market but their set up cost is reasonable only for enterprise or campus level network at large scale. But we are creating LAN for experimental purpose or on very small scale to handle 6-7 hosts So we will use unmanageable router as our data forwarding plane. We are using TPLink 841 N (V9.0) router for this purpose. Its cost is near about $20-25. But TPLink has own firmware image installed in their devices. To make it OpenFlow enabled we have to change its firmware image(Unbricking). We will learn how to unbrick TPLink 841 N router in next tutorial.
3) Data controlling plane:- Job of the control plane is to match packet header field and instruct (install flow or rule in) forwarding plane about taking corresponding required action on packet. Hence our controller should capable to handle high packet data with good clock frequency, RAM, peripheral support, Ethernet support. For controller we have options like Raspberry Pi ,Intel’s Beaglebone, RouterBoard etc. We are going to use Raspberry Pi B+ as control plane in our LAN. And its cost is $35-45.
Raspberry Pi B+ Features:-
1)700 MHz clock
2)512 MB RAM
3)32 GB Expandable Memory
4)4 USB Ports, 1 Ethernet Port
5)SD card Slot
6)HDMI, Composite Video output
7)ARM7 processor
4) Programing Interface
As SDN promises directly programmable network, we should have to programing interface to our data & control plane. Control plane is itself Linux based platform so we can easily install our controller on it. We will use python based POX controller right now. In future we will also try for java, c, ruby, erlang etc. based controllers. And on data plane we will use open source embedded firmware OpenWRT. You will get more cleared in upcoming tutorials.
Therefore to design our SDN enabled Local Area Network we require,
1) Hosts:- Laptop, mobile phones or Tablets
2) Data forwarding plane:- TPLink 841N V9.0 with OpenWRT (OpenFlow1.0)
3) Data control plane:- Raspberry Pi B+ with POX
Estimate Cost of Setup is $55-70 (This cost may vary according to exchange rate of your country)
Note:-For testing and experiments purpose, you can use the openwrt devices listed here, whereas for testing/implementing in real network scenery on large scale, refer ONF vendor list having plenty of sdn SDN Controller, switches etc.