SDN
SDN(Software Defined Network)即软件定义网络,是一种网络设计理念,或者一种推倒重来的设计思想。只要网络硬件可以集中式软件管理,可编程化,控制转发层面分开,则可以认为这个网络是一个SDN网络。所以说,SDN并不是一个具体的技术,不是一个具体的协议,而是一个思想、一个框架。狭义的SDN是指的“软件定义网络”,广义的SDN的概念还延伸出了:软件定义安全、软件定义存储等等。可以说,SDN是一个浪潮,席卷整个IT产业。
SDN是什么?https://www.zhihu.com/question/20279620
控制器
1.RYU(Python代码控制)
参考文章:
http://blog.csdn.net/xinxing__8185/article/details/51900444
2.POX
参考文章:
http://www.sdnlab.com/2771.html
http://blog.csdn.net/xuesong_hello/article/details/17662733
其它控制器
NOX, OpenDaylight, Floodlight
**注意:**控制器是SDN的管理核心,一般配有管理界面
Open vSwitch
Open vSwitch(下面简称为 OVS)是由 Nicira Networks 主导的,运行在虚拟化平台(例如 KVM,Xen)上的虚拟交换机。在虚拟化平台上,OVS 可以为动态变化的端点提供 2 层交换功能,很好的控制虚拟网络中的访问策略、网络隔离、流量监控等等。
常用命令总结:
# 创建(删除)名为br0的网桥
ovs-vsctl add-br br0
ovs-vsctl del-br br0
# 列出所有网桥。
ovs-vsctl list-br
# 启用网桥br0
ifconfig br0 up
# 将网络接口eth0挂接(卸载)到网桥br0上
ovs-vsctl add-port br0 eth0
ovs-vsctl del-port br0 eth0
# 列出网桥br0上的所有网络接口
ovs-vsctl list-ports br0
# br0网桥链接到指定控制器
ovs-vsctl set-controller br0 tcp:<controller IP>:<port>
# 网桥详情查看
ovs-vsctl show
# 交换机信息查看
ovs-ofctl show br0
# 交换机端口信息查看
ovs-ofctl dump-ports br0
# 查看所有的流规则
ovs-ofctl dump-flows br0
参考文章:
http://www.sdnlab.com/3166.html
Centos7 安装:http://blog.csdn.net/xinxing__8185/article/details/51900444
常用工具
1. 虚拟网卡tunctl
tunctl可添加虚拟网卡TUN/TAP
Centos7 RPM包http://li.nux.ro/download/nux/misc/el7/x86_64//tunctl-1.5-12.el7.nux.x86_64.rpm
创建命令tunctl -b
2. 网桥brctl
3. 网络设备设置ifconfig
# 置空IP
ifconfig ens33 0.0.0.0
# 设置IP和子网掩码
ifconfig tap0 10.12.0.1 netmask 255.255.255.0 promisc
# 设置IP为192.168.2.100和子网掩码为255.255.255.0
ifconfig br0 192.168.2.100/24