软件定义的网络路由器

RheaFlow的Python项目详细描述


:版本:0.0.2
:版权所有:2016`wand<;http://wand.net.nz/>;`。保留所有权利。

…meta::
:关键字:openflow、ryu、rheaflow、routing、sdn

==
rheaflow
==
==



rheaflow是一个软件定义的网络(sdn)路由应用程序,使用ip路由协议在任意数量的openflow交换机上实现路由。rheaflow将用于路由的openflow交换机多路复用到linux主机上的单个逻辑设备中,允许由rheaflow控制的任意数量的openflow交换机的行为类似于单个硬件路由器。这为网络管理员提供了在网络中使用常规linux工具执行调试和配置任务的单点访问。rheaflow是为"ryu openflow controller platform"开发的一个应用程序,http://osrg.github.io/ryu/>;` ` `.


=====
安装可以使用python pip安装rheaflow。rheaflow需要额外的python包,如ryu、eventlet、netaddr、pyyaml和pyroute2,才能成功安装。安装rheaflow时,pip会自动安装这些依赖的python包。

这是"根"或使用"sudo"来卸载rheaflow。

git克隆https://github.com/wandsdn/rheaflow/tmp/rheaflow
cd/tmp/rheaflow
pip安装。

uninstall
--

rheaflow

==
配置
==

==



rheaflow配置了一个基于yaml的配置文件,该文件默认位于Linux主机的`/usr/local/etc/ryu``目录中。在`/usr/local/etc/ryu/config.yaml``中提供了一个示例配置文件。

配置文件由两个块集合组成。"datapaths"集合用于提供有关将由rheaflow控制的openflow开关的信息。"datapaths"集合中的节点表示openflow开关,每个节点中的条目是:

*name:分配给openflow开关的可读名称,例如"switch-at-x930"。
*type:标识openflow开关的供应商,例如"allied telesis"。
*dp id:唯一OpenFlow交换机的数据路径ID。
*vs_port_prefix:提供OpenFlow交换机端口的虚拟
接口同级的接口名称格式,Linux主机将使用该端口进行路由。
*ports:指定将用于路由的OpenFlow交换机上接口的OpenFlow端口号,以及应分配给Linux主机上其虚拟同级的IP地址。包含在安装在交换机上的openflow规则中。
*fastpath_port:指定
将用于交换机上fastpath的接口的openflow端口号。
*fastpath_vs:指定fastpath的openflow端口号
Linux主机上的接口。
*交换机间链路:指定本地OpenFlow端口号,
交换机上交换机间链路的远程数据路径ID和端口号。

使用"虚拟交换机"集合配置虚拟机打开Linux主机。`` fastpath_interface``指定Linux主机上将用于指向openflow开关的fastpath链接的接口。`` fastpath_port``指定应分配给``fastpath_interface``的openflow端口号,``fastpath_port``应与提供的``fastpath_vs`相同"datapaths"集合中的openflow开关。

例如,可以通过修改"ryu.conf"中的"rhea_config",将rheaflow修改为使用不同的配置文件。Rheaflow侦听来自OpenFlow交换机的连接的TCP端口可以通过修改``OFP_TCP_Listen_Port```来更改。

==
=
用法
=
=


>承载Rheaflow的Linux计算机需要安装Open Vswitch和Bird Internet路由后台程序。open vswitch允许rheaflow在linux机器上创建和配置一个虚拟交换机实例,该实例多路复用由rheaflow控制的openflow交换机的接口。bird提供计算转发信息库(fib)所需的路由信息,rheaflow将其转换为openflow规则,该规则允许在openflow交换机上进行路由。bird路由守护进程是一个fork,已被修改为通过tcp套接字以json格式将路由信息发送到rheaflow。下图显示了Rheaflow在Linux计算机上的部署。

…image::docs/images/rheaflow.png

open vswitch installation
----


编译修改后的bird路由守护程序。
::
apt get install gcc make build essential m4 binutils bison flex libncurse5 dev libreadline6 libreadline6 dev automake autoconf libzmq3 dev

从git下载修改后的bird路由器代码的副本并安装在linux主机上机器。
::
git clone https://github.com/olafayomi/bird.git/tmp/bird
cd/tmp/bird
autoconf
配置由rheaflow控制的openflow开关所需的信息。

#/usr/local/bin/rheamanger--start

在Rheaflow启动后启动,否则将无法与Rheaflow建立连接。另外,如果rheaflow重新启动或在rheaflow停止并重新启动之后,则应重新加载bird守护进程。


openflow v1.3.

http://www.alliettelesis.com/sdn`
*联合电信930交换机

----

`http://www.pica8.com/`
*pica 3780(仅支持IPv4)。


vSwitch
----

`http://www.openvswitch.org/`


=
=
许可
=
=




请参阅名为许可证的文件。

=
=
如果您有任何技术问题,有关rheaflow的问题或建议
请使用"github问题"在github上创建问题lt;https://github.com/wandsdn/rheaflow/issues>;`。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用jaxb2annotateplugin和XJC工具的java自定义注释   java组织。xeustechnologies。jcl无法加载WstxInputFactory类   java JUnit在格式化字符串上比较失败   java Bukkit配置部分getKeys   如何关闭Java流?   java Struts2正则表达式配置   链式事务注释的java奇怪行为   java在两个JButton之间使用变量   java签署APK时内容会发生什么变化?   java LWJGL:Slick:3D世界中的绘图字体   如何分解Java数组?   在Java MySql中处理多个过滤器   java如何在Firebase数据库中跳过初始OnChildaded事件触发   java如何在PreviewView中使用CameraX?   在子类#中重写父类后访问父类原始方法的java已解决   java找不到类型的属性   游戏框架游戏!框架+Java