前言:
现时同学们对“ubuntu安装mininet全流程”大致比较重视,姐妹们都需要剖析一些“ubuntu安装mininet全流程”的相关文章。那么小编同时在网上网罗了一些对于“ubuntu安装mininet全流程””的相关知识,希望兄弟们能喜欢,各位老铁们快快来学习一下吧!《实战录》导语
云端卫士《实战录》栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,希望对于关注我们的朋友有所裨益。本期分享人为云端卫士SDN工程师李松青,将带来基于ONOS的SDN-IP实验的分享。
学习ONOS一段时间了,着力点是SDN-IP模块儿;SDN-IP实现了BGP协议,使得ONOS控制的孤岛网络可作为transit AS域插入大网,对于逐步替换大网设备,或步进式融入大网环境不可或缺。
本文档不再赘述SDN-IP模块儿的架构及运行原理(可参考附录文献),而从搭建SDN-IP实验环境角度整合Quagga、Mininet、ONOS等开源软件,为新手提供比官网wiki更详尽的环境搭建流程。
Qugga简介
设备互联已经是当今Internet的主题,安装了quagga后,设备就可以充当路由器的角色。利用quagga,可以和其他路由器利用已知的路由协议交互路由信息;quagga利用这些信息更新设备转发表,以达到正确转发数据包的目的。当然,可以通过quagga提供的终端接口(如CLI)手工配置或查看路由信息,及表项信息。
目前quagga支持知名的动态路由协议,如RIP/OSPF/IS-IS/BGP等,通过Zebra也支持静态路由;另外,即将实现的LDP协议,可以支持MPLS。
Quagga由一组路由协议daemon组成,其中bgpd、ripd、ospfd等用于实现具体的路由协议;zebra则用于管理内核路由表,及在不同的协议间分发路由信息等。Quagga系统的架构如下图所示:
图1 Quagga系统架构图
准备环境
下载源码包:
编译、安装
yum install readline-devel centos依赖(optional)
或apt-get install libreadline-dev ubuntu依赖(optional)
./configure --prefix=/root/Applications/quagga
make
make install
添加quagga可执行程序到PATH路径
vim /root/.bashrc
export PATH=/root/Applications/quagga/sbin:/root/Applications/quagga/bin:$PATH
source /root/.bashrc
Mininet简介
目前,SDN/OpenFlow发展,但是在真实网络中又很难进行相关的网络实验,Mininet应运而生,担当起SDN网络拓扑模拟器的职责。Mininet是一个强大的网络仿真平台,通过它可以很方便的模拟真实环境中的网络及设备,如交换机、主机、控制器等;另外,它也支持外置的控制器。
准备环境
下载源码:git clone git://github.com/mininet/mininet
建立编译目录:mkdir mini-build
编译,安装所有功能(-a):./mininet/util/install.sh -s mini-build –a
测试安装是否成功:sudo mn --test pingall
备注:需使用最新版本,否则会出现下载源码、地址无法解析等错误
实验拓扑环境
图2 ONOS wiki的SDN-IP教程网络拓扑
图3 本文档实验环境的网络拓扑
图3所示的实验拓扑,主体继承自wiki的SDN-IP教程的实验拓扑(图2);ONOS控制器控制S1-S6等6台OF交换机组成的SDN网络;S1/S2/S5/S6分别外接其他的4个AS域,边界分别对应传统路由器R1-R4;每个AS域由一台主机模拟对应的内部网络;几个AS域通过和BGP speaker节点建立eBGP对等邻居,达到AS域间路由分发的目的。
原wiki实验中,控制器虽然也为外置ONOS控制器,不过和Mininet仿真的拓扑部署在一台物理机器上(实际为虚拟机);而本文档的拓扑,ONOS部署在单独的物理设备上,这两台物理设备通过两台路由器链路可达。
整个实验环境,除ONOS外,其他网络设备由Mininet仿真;传统路由器,通过在仿真Host上运行quagga套件bgpd、zebra仿真。
ONOS设备
Centos
192.168.6.246
10G Mem 8CPUS 50G硬盘
宿主机
VMWare,Ubuntu
192.168.24.250
3G Mem 4CPUS 50G硬盘
Mininet节点:h1-h4,r1-r4,s1-s6,bgp speaker,tor
运行在宿主机
构建拓扑脚本及配置
SDN-IP配置
将配置文件network-cfg.json(此文件位于目录$ONOS_ROOT/tools/tutorials/sdnip/configs/)放置于$ONOS_ROOT/../config目录,用于配置BGP speaker及各个eBGP对等体的连接关系。
实验步骤
实验步骤
启动ONOS
启动网络拓扑
查看链路状态
查看路由条目
由上图可知,BGP speaker和其他的AS边界路由器R1-R4建立了对等邻居,已经获取到了他们的网络路径。
由上图可知,R2-R4所在的AS域网络通过R1可达了;同理可查看其它路由器的路由表,得知所有的AS域互通互达。
查看ONOS拓扑
查看ONOS端BGP信息
由以上图可知,ONOS和BGP speaker之间的iBGP对等关系已经建立成功;并且通过iBGP邻居已经获取到了相邻AS域的路径信息。
验证各AS域互联互通
通过上图,可知H1-H4之间可以互相ping通,即各个AS域之间通过SDN-IP控制的网络可以互联互通,实验成功!
总结
本文档从搭建实验环境的角度,重现了ONOS wiki上SDN-IP模块儿教程的实验,并附上了较为详细的拓扑仿真脚本、配置文件,以便帮助新手迅速搭建BGP测试环境。
环境搭建成功后,可以通过抓包等方式分析BGP协议交互流程,也可以分析OF协议交互流程……这不属于本文档的重点,有待其他同学补充!
参考文献
标签: #ubuntu安装mininet全流程