SDN全网拓扑发现及链路时延测量方法研究
2023-06-22闫驰
闫驰
摘要:当前SND被广泛应用到流量工程、安全监测等领域,为了进一步提升SND应用的可靠性,对这一技术应用过程中表现出的技术难点进行研究。文章考虑到SND整体应用过程相对复杂,主要介绍了全网拓扑发现方法与链路时延测量方法。研究发现:NSCA-II节点选择算法可以有效平衡测量节点与测量路径间的制约关系,为网络链路延时测量节点问题的解决提供有效的支持。通过在当前网络体系发展过程中,能够通过快速、完整获取网络结构,并对相关性能进行统计收集的方式,为SND研究发展提供助力,满足当前人们对网络体系可持续发展的实际需要。
关键词:软件定义网络:拓扑发现:链路时延测量
中图分类号:TP311.1
文献标志码:A
0 引言
SDN作为一种新型的网络体系结构,在实际应用过程中,能够将传统网络体系中的硬件、操作系统、网络应用耦合到一起,实现网络设备硬件的逻辑控制,更好地适应各种网络变化的需要。在5G技术广泛普及的背景下,网络规模不断扩大,网络结构越发复杂,为满足多样化网络设备、网络应用的需要,软件定义网络(SDN)得到了广泛的应用。现阶段,为了维护网络的安全稳定运行,在SDN应用过程中,确定目标网络的拓扑,并对其进行时延测量,成了一项极为必要的工作。
1 软件定义网络( SND)全网拓扑发现方法
1.1 拓扑发现协议NewOFP+
现阶段,拓扑发现主要由网络实体发现与网络链路发现组成,其中网络实体发现在传统网络系统中,主要由互联设备、主机、子网共同构成;在SND中则由控制器、转发设备共同构成。而网络链路发现主要是指网络实体间的连接关系。现阶段,拓扑发现大多存在着自动或者无需人工介入的特点,因此,在SND网络体系中,拓扑发现主要指的是网络链路发现[1]。在实际工作过程中,链路两端的端口将Packet-in消息发送给控制器,在信息传输过程中,可以先对交换机记录端口都向控制器端口发送P ack -in消息进行判断,若已经发送信息,那么则不再向另一个端口转发LLDP包,若没有发送,则由一个端口发送消息[2]。现阶段,为了实现上述信息判断算法,可以通过NewOFDP+为OpenFlow交换机添加哈希策略的方式,對端口是否已经向控制器发送Packet-in消息进行判定,在减少控制器需要处理的消息量的同时,减少链路重复测量问题出现的概率,实现不必要流量的减少,为控制器负担的减轻提供有效的支持[3]。
1.2 添加锁机制的NeWOFDP+
理想状态下,经过上述处理后.NewOFDP+发送的Packet -in消息数已经被减少到每条链路发送一条,但考虑到网络体系在运行过程中存在较强的复杂性与不确定性,因此,在实际应用过程中,仍存在部分链路两端端口均会向控制器发送Packet - in消息的现象,这一情况的出现使得部分链路仍会在工作过程中出现重复测量的问题。对上述问题的出现原因进行分析可以了解,一方面,在进行哈希比较操作时,操作修改可能会同时进行,为了保证解决方案的顺利制定,则需要操作在下一节讨论中继续进行;另一方面,在实际应用过程中,控制器到两个不同交换机的端口时延相一致,并且这两个端口间的链路宽带对等,使得哈希表中记录的转发时间相等,但对文献资料进行查阅后可以发现这种端口时延相一致的情况出现概率极低,因此,为了实现Packet-in消息处理工作效率的有效提升,可以通过添加锁机制的NewOFDP+对哈希比较操作进行进一步优化的方式,提高控制器的工作效率[4]。
为了保证每条链路仅能发送一条Packet -in消息,将哈希表添加到交换机系统中并对信息进行记录,是一种不错的方式,但经过理论实践分析后发现,链路端口向控制器发送的Packet -in消息数量仍比网络链路数更多,而这一情况出现的主要原因在于,哈希表比较、修改操作可能在同一时间进行[5]。现阶段,为了切实解决上述问题,可以通过为NewOFDP+添加锁机制的方式,避免在链路一端端口已经向控制器发送Packet -in消息,但链路另一端端口在发送LLDP包前进行哈希表查询的时间与修改操作进行时间相一致,进而导致端口关键字对应值不为1.出现端口分别向链路另一端端口发送Packet-out消息、向控制器转发Packet - in消息的情况。具体来说,为NewOFDP+添加锁机制这一操作可以令比较、修改这两个操作均转化为原子操作,即在网络系统实际应用过程中,系统无法同时进行比较、修改这两种操作,并且在此过程中,锁机制为非公平锁,这就使得修改操作的优先级高于比较操作,在两者同时出现时,修改操作可以抢占锁,从而为Packet -in消息数量的减少提供支持[6]。
如表1所示,在实际应用后可以发现,抢占式的原子操作尽管可以使Packet -in消息数量减少,但同时会导致部分端口处理数据的时间加倍。也就是说,在系统没有发生修改与比较操作同时出现问题时,信息仍按照正常的速率进行传输与处理,若两者同时出现,则修改操作抢占锁,进而导致信息传输处理所消耗的时间为正常处理时间的2倍。尽管这种情况的出现会使拓扑发生时间被延长,进而对适用网络造成了限制,导致这种技术方法的适用范围有所缩小,但这种技术方式可以有效减少控制器需要处理的Packet-in消息,从而实现控制器的“减负”,为控制器使用寿命的延长提供支持[7]。
2 软件定义网络( SND)链路时延测量方法
2.1 多目标链路时延测量节点选择算法
现阶段,链路时延测量技术主要可以被分成主动测量、被动测量两部分内容,但考虑到软件定义网络存在着高度集中的特性,在SND链路中,试验测量技术主要为主动测量技术。同时,考虑到发送探测包设备的不同,主动测量又可以被分成完全控制器测量、部分交换器测量两种,在实际应用过程中,为了减轻控制器的工作负担,部分交换器测量应用频率更高。考虑到部分交换器测量已经被总结为GRAMI框架,并且这一框架主要由离线计算阶段与在线测量阶段共同构成,因此,在技术应用过程中,测量节点、规划测量路径的选择情况会对时延测量任务的时效性、准确性之间产生明显的影响。现阶段,为了提升测量节点、规划测量路径选择的有效性,可以利用NSCJA-II算法对多目标进行优化,从而选择最优的测量节点,实现规划测量路径质量的有效提升[8]。
2.2 实验与结果分析
为了切实了解NSGA-II算法是可以满足SND全网拓扑发现及链路时延测量的需要,可以以Topology Zoo为试验拓扑集,主要参数如表2所示,对NSCJA-II算法与改进后的贪婪近似算法实验结果进行比较,了解NSCJA-II算法计算结果的合理性。经过实验分析后可以发现.NSCA-II算法更能满足当前的链路时延测量T-作的需要[9]。
2.3 网络链路时延测量
GRAMO框架在实际应用过程中,可以将一厂-作分成离线计算、在线计算两部分内容,在离线计算阶段,可以使用NSGA-II算法选择多目标时延测量节点,并实现节点位置的计算、测量链路的分配。而在在线测量阶段,为了切实了解上述算法对测量节点部署、测量链路的分配效果,可以在Floodloghl+Mininet网络仿真环境下,通过测量节点发送探测包的方式,对实际网络链路时延情况进行测量。测量时的网络状态分别为:(1)网络仅包含链路时延测量探测包:(2)网络存在少量稳定随机流;(3)网络存在大量随机流。在第一种网络状态下,网络处于空载状态,不存在其他数据流量的干扰,此时,从理论上看网络链路时延测量值等于理论值。为验证上述理论,对网络链路时延情况进行模拟,可以发现实验得到的结论与理论情况相一致。在第二种网络状态下时,考虑到显示网络在实际应用过程中可以依据网络用途、范围的不同,被分为工作、生活网络,并且工作网络一般情况下被定义成在一定范围内的局域网,这种网络的流量类型相对单一,并且很少会出现突发性的大流量问题:生活网络出现大量各类流量的情况相对较多,并且网络拥塞这种问题属于大量流量中的一种较为极端的情况。在进行网络存在少量稳定随机流这种现实网络的时延测量时,为了提升测量的可靠性,可以通过向Peerl拓扑中注入少量稳定随机流的方式,实现对现实网络状况的有效仿真。并且为了提升链路的利用效率,可以将链路的传播时延设为0.经过实验分析可以发现,在仿真过程中,链路时延整体较为平稳,趋势变化相对较小,比理论值高的链路数量极少,与网络质保函用于链路实验的探测包情况相类似,这一情况的存在说明当探测包到达交换机后,等待耗时极短,交换机处理效率相对较高,进而大部分链路的时延可以近似看成理论值。在第三种网络状态下,为了实现对现实网络状况的有效仿真,可以在测量过程中,向Peerl拓扑中注入大量的随机流,然后再进行仿真实验。为了提升链路的利用效率,可以将链路的传播时延设为0,经过实验分析可以发现,在仿真过程中,多数链路的时延比较小,仅有少部分的链路时延较为明显,并且这些时延明显的链路是链路利用率相对较高的链路,链路出现了网络拥堵的状况。这种情况出现的原因在于:网络中存在大量随机流,链路中各种流量较多,这些流量中包括进行时延测量的探测包,在流量到达交换机后,交换机无法在短时间内完成所有流量的处理工作,多余流量将会在交换机内排队等候处理,探测包在等待列队中等待转发,这一情况的出现使得链路时延包含了大量的排队时延。通常情况下,若链路的利用率接近80%.那么链路就会出现拥堵,导致链路的时延增加[10]。
3 结语
总而言之,测量与监测是保障网络系统安全稳定运行的根本,但由于当前计算机网络结构复杂度的不断提升,测量监测工作的难度也在不断增加,现阶段,为了切实保证底层拓扑性能参数收集工作质量能够满足需要,精准掌握当前网络的拓扑结构,了解网络的性能状态,并以此为基础,利用NSGA-II算法选择多目标时延测量节点,加强SND数控分离与高度集中控制质量,可以在实现节点位置的计算、测量链路有效分配的基础上,盡可能降低SND控制器集中控制引起的控制器负担,保证网络体系正常的运转。
参考文献
[1]李毛.SDN网络测量及流量传输技术研究[D].长沙:湖南大学.2021.
[2]陈毅.SDN网络中保障服务品质的虚拟链路技术研究[D].成都:电子科技大学.2020.
[3]曹洪运.SDN控制平面中负载均衡的迁移优化研究[D].西安:西安工业大学.2019.
[4]王兴.SDN数据中心网络链路时延测量及流表管理方法研究[D].成都:电子科技大学,2018.
[5]杨泽卫,李呈.重构网络:SDN架构与实现[M].北京:电子工业出版.2017.
[6]张恒,蔡志平,李阳.SDN网络测量技术综述[Jl.中国科学:信息科学,2018(3):293-314.
[7]王兴.SDN数据中心网络链路时延测量及流表管理方法研究[D].成都:电子科技大学,2018.
[8]陈毅.SDN网络中保障服务品质的虚拟链路技术研究[D].成都:电子科技大学.2020.
[9]李毛.SDN网络测量及流量传输技术研究[D].长沙:湖南大学.2021.
[10]蒲恒袆.SDN网络管理系统的设计与实现[D].西安:西安电子科技大学.2021.
(编辑傅金睿)