最简单的使用OVS和控制器做路由的方法

参考文献:http://www.sdnap.com/sdn-technology/5913.html

如上图就是网络拓扑图,其中controller就是控制器,ES1~3是边缘交换机,使用了OVS,SW0也是使用OVS,共同组成openflow网络,网络的其余部分是正常的网络。A、B、C是三种不同局域网网络拓扑下的主机连接到openflow网络,其中A是直连、B是子网中的主机、C是通过路由器连接到网络的主机。

控制器面对openflow网络要做几件事:首先要能了解openflow网络中的交换机OVS,也就是ES1~3、SW0,然后再这些网络节点上添加组网所需的flow。其次在不同子网的主机上电之后,控制器要能够了解并在openflow网络中添加flow,使得不同子网的主机能够通过openflow网络。

首先控制器通过LLDP协议报文了解到openflow网络设备的存在,在实际使用的时候可以采用在ES、SW中的OVS启动的时候,通过packet_in报文通知控制器。控制器在收到LLDP报文之后,根据这些信息进行组网,并存储在自己的数据库中,每个ESi下存储了所使用的子网,具体配置后面详说。了解到openflow中的网络设备之后,控制器需要在ESi这样的边缘交换网络中添加ARP的flow,主要有两种,一是局域网中主机的ARP报文送到控制器;二是将控制器下发的ARP报文送给局域网内主机。

这时如果A上电,并通过ARP报文寻找B主机,控制器会得到A-ARP-request,然后控制器组装一个B-ARP-response给A,并在openflow网络中建立L2网络使得A-B之间能够通信。这个过程就是上述文章中所说的“拓扑与路径。”

猜你喜欢

转载自blog.csdn.net/batmancn/article/details/51469818