陶骏,佘星星,刘华敏,宋卫卫
(安徽信息工程学院 计算机与软件工程学院,安徽 芜湖 241000)
OSPF(Open Shortest Path First)路由协议是一种应用于企业网络的内部网关路由协议(IGP),其管理配置灵活,并根据网络的实际链路状态进行路由选择,所以其运行效率优于传统的距离矢量路由协议.OSPF路由协议只在一个自治系统(AS)内运行,按照链路状态的通告范围,OSPF协议可以分为单区域的OSPF协议和多区域的OSPF协议.单区域的OSPF协议应用最为广泛,在单区域的OSPF网络中,所有网络设备都位于同一个OSPF区域,只要区域中一个网络发生了改变,OSPF协议会把LSA( Link-State Advertisement)报文泛洪广播到本区域内所有的网络设备,这不但耗费了大量的网络带宽,而且还加重了网络设备的转发负担,降低了网络的运行效率.多区域OSPF协议能减少网络中的LSA,但是维护多区域的OSPF的代价较高,需要耗费大量资源[1].
SDN(软件既网络)是一种新的网络通信机制,其把路由数据的发送进行了“转控”分离,网络体系中由控制器决定数据的转发逻辑,其余的网络设备只负责数据的物理转发.SDN提升了网络的控制力度,降低了网络管理的负担[2].
本研究结合SDN和多区域OSPF网络的优点,提出了一种基于SDN的多区域OSPF动态网络模型,此模型通过SDN对多区域的OSPF网络进行配置,对区域进行动态划分,其有效的降低了路由器LSDB数据规模,同时也提升了网络的管理效率.多区域OSPF协议将大多数LSA报文限制在较小的OSPF区域内,通过SDN进行网络配置,减轻了网络设备的负荷,提升了网络的运行效率和用户的使用感知,所以此种网络模型可以用于单区域OSPF网络的调整和升级.
OSPF路由协议是一种基于链路状态的动态路由协议,运行OSPF协议的网络设备不能静态去指定路由,其需要动态宣告和发现路由,动态宣告和发现路由依靠5种LSA链路状态报文完成,这5种报文的类型和功能如表1所示:
表1 OSPF 5种基本报文
网络设备先通过hello报文发现相邻设备,再选取DR(指定路由器)和BDR(备用指定路由器)建立邻接关系,再根据其余的4种报文通过DR宣告和发现路由,LSA存储在网络设备的LSDB(链路状态数据库)中,当网络中各设备的LSDB数据同步时,即网络的收敛完成时,设备会根据迪杰斯特拉算法计算其到其余设备的最短路径(SPF)[3].
单区域OSPF路由协议指所有的路由器都运行在一个逻辑区域,区域内的每台路由器的LSDB需要存储区域内所有网络的LSA,一个单区域OSPF的网络如图1所示.
图1 单区域OSPF网络拓扑图
此时区域0中包含6个路由器和5个网络,R1路由器的LSDB需要存储NET1到NET5总共5个网络信息,另外5个路由器也要存储这5个网络的信息,随着网络规模的增大,网络中设备发送的LSA越多,每台路由器的LSDB所存储的数据规模和OSPF协议所耗费的流量会急剧增加,网络中路由器的也越来越重,OSPF路由的算法复杂度为O(n2),n指路由器的数目.
单区域OSPF协议的管理配置策略为:启动OSPF进程,在默认的核心区域内宣告网络地址.
而在多区域的OSPF路由协议中,存在一个核心区域和多个边缘区域,每个边缘区域必须通过一个边界路由器(ABR)同核心区域相连接,边缘区域内的其他路由器称为内部路由器(IR),当IR路由器和其他区域的路由器通信时,其需要访问本区域的ABR路由器,ABR路由器负责跨区域的路由转发,所以IR路由器的LSDB只存储本区域的LSA,ASR路由器的LSDB存储核心区域和本区域的LSA,一个多区域的OSPF网络拓扑图如图2所示:
图2 多区域OSPF网络拓扑图
此时总共有6台路由器和5个网络,R1、R2和R3位于区域0,R4、R5和R6位于区域1,R1和R4为边界路由器,其余4个路由器为内部路由器,R1和R4的LSDB包含5个网络的信息,R2和R3的LSDB只包含网络NET1和NET2的信息,R5和R6的LSDB只包含网络NET3和NET4的信息,内部路由器的LSDB规模明显降低,OSPF路由的算法复杂度为O(m2+m×s2),m指区域的个数,s指区域内路由器的最大个数,多区域OSPF路由算法时间复杂度优于单区域OSPF路由算法的时间复杂度[4].
多区域OSPF协议的管理配置策略为:启动OSPF进程;划分区域;在区域内宣告相关的网络地址.因为多区域的OSPF网络需要划分网络为多个区域,所以其配置管理的代价高于单区域的OSPF网络.
SDN是一种软件定义网络的机制,SDN认为网络设施就是一个应用软件,而对网络业务的调整等价于对软件的修改,这种机制极大地提高网络的效率.SDN使用OPENFLOW技术对网络的进行可编程控制,使网络能像软件一样可以进行灵活的编程[5].
SDN的核心优势是在网络中部署了控制器,其使网络设备能被集中的进行控制,还使网络设备的转发和控制功能进行了分离,SDN机制的结构如图3所示.
图3 SDN机制结构
图4 基于SDN的多区域OSPF网络模型图
SDN控制器为结构的控制层,比如BGP协议、组播协议和L2TP协议的部署和运算都集中在了控制器,控制器把指令发给其余的网络设备,网络设备对数据进行转发[6].
控制器上有相关的编程接口,网络管理员使用编程接口下发指令来管理网络业务.
转发层包含被剥夺了控制能力的转发器,转发器指支持SDN功能的路由器、交换机和防火墙等设备,其只负责接受SDN控制器的指令对业务数据进行转发,转发器相连的接口称为东西向接口;控制层为SDN控制器,其负责为转发器下发控制指令,连接转发器和SDN控制器的接口称为南向接口;协同应用层包含应用软件,比如OSS和OPENSTACK,其通过编程接口同SDN控制器进行交互,编程接口称为北向接口.
SDN的优势在于:网络业务的快速更新部署;简化了网络结构;减轻了网络转发设备的负担.
基于SDN的多区域OSPF网络配备了SDN设备,而且配置了多区域OSPF协议,网络设备的OSPF参数配置都被集中在了SDN控制器,网络设备接收SDN控制器下发的指令并转发数据,SDN控制器一般下挂在网络的核心路由器下,如图4所示.
多区域OSPF网络降低了网络的LSDB的规模,但是多区域的OSPF协议需要配置多个OSPF区域,每个区域都要宣告其归属的网段,所以多区域OSPF协议的管理复杂度高于单区域的OSPF协议,网络管理会耗费较多的资源.
而SDN实现了“转控分离”,多区域OSPF网络依靠SDN这一特性极大的降低了网络的配置难度,对于一个具有1个区域OSPF网络,区域里包含n个路由器,路由器用Ri表示,当Ri的LSDD的规模超过阙值后,区域会自动分成两个,所有路由器进行相关配置修改,随着网络规模的不断扩大,区域分裂的次数也越来越多,如果区域发生了m次分裂,网络管理员需要进行m×n次配置,这会增加网络管理员的配置复杂度,使用SDN后,SDN根据网络管理员的调度算法和SDN流表进行统一下发配置,配置复杂度得到了降低,网络管理员只需要进行一次配置.
基于SDN的多区域OSPF的网络模型的调度算法如表2所示:
表2 网络模型调度算法
算法对应的流程图如图5所示.
图5 调度算法流程图
从上述分析可以得到:基于SDN的多区域OSPF网络不但使网络的LSDB规模得到了显著降低,也提高了网络的管理效率,所以网络的性能和管理得到了提高.
在Linux环境下用NS2网络软件模拟了基于SDN的多区域OSPF的网络和传统的单区域OSPF网络.使用Waxman随机图数学模型对网络进行分析计算,图中的结点满足随机分布,会生成在1个满足假设需求的网络拓扑图形,结点x与y之间存在边的概率P(x,y)为:
(1)
s(x,y)为结点x到结点y的欧拉距离,d是欧拉距离最大值,参数x,y属于开区间(0,1),x的值越大,结点间的存在边的概率就越大,y越大,网络的稠密越高.在模拟实验中取x= 0.6,y= 0.4.
定义cn基于SDN的多区域的OSPF网络优越系数,OSPF区域数为n,其和网络的时延大小tn、丢包个数ln、抖动次数jn和SDN参与系数S相关,其值为:
cn=αntn+βnln+χntn+S/n
(2)
cn越小网络越优化,αn为时延系数,βn为丢包系数,χn为抖动系数,它们满足:
αn+βn+χn=1
(3)
其中n越大,SDN带来的便捷性越高,c1是单区域OSPF的网络优越系数,定义θn为两种网络的的对比优越度,θn为:
θn=((cn-c1)/c1)×100%
(4)
θn随n变化的趋势图如图6所示:
图6 网络优越度趋势图
随着区域数目的增长,θn的优势会越来越大.
采用华为系列的路由器、交换机、防火墙和SDN设备构建了一个基于SDN的多区域OSPF网络,网络拓扑图如图7所示.
图7 基于SDN的OSPF网络拓扑图
防火墙的下联接口、核心路由器和汇聚路由器都运行OSPF协议,SDN设备下发表2的网络调度算法给这3种网络设备,防火墙进行数据包过滤并通过NAT(地址翻译)转换后访问互联网,防火墙通过默认静态路由与运营商进行通信,防火墙在OSPF进程中下发默认路由,汇聚路由器配置子接口,终结交换机VLAN发送过来的数据帧,交换机配置相关的VLAN,上联接口设置为透传模式,下联接口配置成接入模式进行数据帧的转发.
网络构建完毕后,各项网络业务运行平稳正常,通过控制SDN,对比了启动网络新模型各项网络性能参数,启动之后的参数比启动之前的参数有了明显的提升,选取1台终端对某知名服务器进行ping测试,网络ping测试所产生的时间延迟对比图,具体如图8所示.
图8 时延对比图
最大时间延迟的已经从启动新模型之前的94ms降低为改造后的58ms.启动新模型之后,网络产生抖动的对比如图9所示.
图9 抖动对比图
每3h的最大的网络抖动次数由10个下降为6个.网络丢包的对比如图10所示.
图10 丢包对比图
启动新网络模型之后,每3h的最大的网络丢包次数由8个下降为4个.从上述参数对比可以看出:网络性能得到了很大的提升,而且改造后的网络通过SDN控制器进行网络业务部署,极大的提高了网络管理员的工作效率[9].
OSPF协议根据网络的链路状态运用迪杰斯特拉算法生成两个网络设备之间的最短路径,其比距离矢量协议的性能优越,但是单区域OSPF路由协议还是存在很多不足,其主要表现在:LSA泛洪的范围过大,造成网络设备的LSDB的数据规模大,容易超出设备处理能力的阙值,这会严重影响网络运行效率.多区域的OSPF协议的网络有效的降低了LSA泛洪的范围,减少了LSDB的数据规模,能弥补单区域OSPF协议缺陷.SDN机制进行了“转控”分离,其可以加快网络部署.本研究在引入SDN机制的前提下,实现了一个自适应的多区域OSPF动态网络,其可使网络性能得到提高[10].
作为一种IGP的路由协议,OSPF的处理路由的能力要比BGP路由协议弱,如果网络的规模继续增加,当路由表的规模已经超出多区域OSPF协议的处理能力时,此时就要选择用BGP协议和SDN机制对网络进行更一步的完善调整,使网络满足业务发展的需求,这也是下一步的研究方向.