SDN软件定义网络笔记

mtain 2017年08月02日 559次浏览

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