RYU多控制器通信

随着SDN控制平面不断扩展,单一的控制器很难满足需求,这时候部署多个控制器是势在必行的,一旦部署了多控制器,如何使它们协同工作就成了亟待解决的问题。Ryu是基于Python的控制器,不像java类型的控制器一样带有集群功能,不过好在比java方便,本篇文章就介绍一下如何利用C/S架构进行多控制器之间的通信。设计原理因为控制器一旦运行,就要占用一个TCP端口,如果跟其他控制器直接通信,需要再占用其他端口,如果控制器数量很多,那么控制器全互联的代价很大,配置也很不方便。为了解决这个问题,我们设置一 »

man man 分类:Ryu,SDN 标签:none

openvswitch升级到2.8.1

在实验中有使用meter表的需求,ovs2.8之前的版本是不支持meter的。所以我们要把ovs升级到2.8以上。查看当前ovs的版本可以用ovs-vsctl show或者ovs-vsctl --version我现在的ovs版本是2.3.0,系统是ubuntu17.04,mininet版本2.3.0。ryu版本4.15。注意:我们现在说的是升级,这表明我们已经安装了相关依赖,并且ovs能够正常使用。以上是基础。我们一般安装的OVS都是内核版本的,并且系统中还装有ovs的服务,这意味着我们要先删 »

man man 分类:SDN 标签:none

Ryu利用组表实现组播

组播是现代网络中非常重要的组成部分,当我们需要发送数据给多台主机的时候,如果采用单播的方式,我们需要发送多个数据包,而采用广播又会使得网络中的每个终端都必须接收数据,所以组播应运而生,组播的特点就是组播源只需要发送一次数据包,而且只有一组特定的主机会接收数据包,不想接收的主机是收不到的。要利用Ryu实现组播,需要考虑以下几点:1.获取,管理组播组成员的信息。2.寻找组播源去往组播组成员的最佳路径。在Ryu里已经提供了用于管理组成员和寻路的库ryu/lib/igmplib.py本文将基于这个库来 »

man man 分类:Ryu 标签:none

Ryu代码解析-DNS欺骗

  软件定义网络利用控制器对网络的控制,实现一些传统网络中难以实现的功能,控制器在这个网络中扮演一个上帝的角色,上一篇文章里已经介绍了控制器可以实现代理应答,本次要介绍的是利用控制器和python来对数据包内容进行解析,实现DNS欺骗。原理解析  主机在进行域名解析的时候,先向DNS服务器发送DNS Request报文,而后DNS服务器回复一个Reply报文,主机接收此报文即可完成解析。既然控制器可以造出ICMP应答报文,也能造出DNS回复报文。 »

man man 分类:Ryu 标签:none

Ryu代码解析-代理响应和欺骗

  在SDN中最重要的就是控制器,控制器的代码决定了整个网络的特点,Ryu提供了很多协议的数据包代码,我们可以根据这些代码对网络中的数据包进行修改,达到我们想要的效果。  Ping是我们经常用到的一个命令,我们用它来检测网络连通性,如果收到了目标IP的应答消息,我们就认为Ping成功了。  据此我们可以编写一个程序,来实现主机不管ping什么地址,我们都可以给它应答。  下面先放代码:import »

man man 分类:Ryu 标签:none