一种分布式包转发实现方法、实现系统及自动化测试方法与流程

文档序号:16276082发布日期:2018-12-14 22:35阅读:209来源:国知局
一种分布式包转发实现方法、实现系统及自动化测试方法与流程

本发明涉及通信技术中自动化回归测试领域,具体涉及一种分布式包转发实现方法、实现系统及自动化测试方法。

背景技术

目前,借助于通用测试平台,可快捷方便实现对通信设备的自动化回归测试。但是由于通信设备位置固定,一般需要安装在实验室的机架上,组网不够灵活,需要测试人员手动跳纤来改变网络拓扑,降低了测试效率。尤其是在搭建大型测试环境时,采用真实的通信设备不仅硬件成本价格高昂,还占用大量试验场地,导致测试成本较高,需要耗费大量人力物力。尤其是在研发阶段,需要大量采用通信设备进行测试,不但需要较高的研发成本,也相对的降低了研发效率。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种分布式包转发实现方法、实现系统及自动化测试方法,通过系统虚拟通信设备接入测试平台,降低测试成本,通过调整配置实现网络拓扑的快速调整,提高测试效率,进而提高研发效率。

为达到以上目的,本发明采取一种基于linux的分布式包转发实现方法,包括步骤:

在linux环境下设置多个虚拟转发vfp单板,所述vfp单板和linux的通用协议栈均通过内部接口连接虚拟交换机;

所述通用协议栈和/或vfp单板在待发报文上增加控制性报文头后发送到虚拟交换机,所述控制性报文头包括源、目的mac地址;

同时或之后,所述通用协议栈和/或vfp单板接收源、目的mac地址匹配的报文,剥掉所述报文头后转发。

在上述技术方案的基础上,所述vfp单板和linux的通用协议栈均通过内部接口连接虚拟交换机之前,还包括步骤:通过管理终端配置所述通用协议栈的管理端口与linux管理网卡的映射关系;另外,创建一个管理模块,配置所述vfp单板的业务端口与业务网卡的映射关系。

在上述技术方案的基础上,所述linux环境为主机环境时,所述linux管理网卡为linux主机网卡,配置所有vfp单板上业务端口数量的总和等于所述linux主机网卡的数量。

在上述技术方案的基础上,所述linux环境为虚拟机环境时,所述linux管理网卡为linux虚拟机网卡,将linux虚拟机网卡与linux主机网卡采用桥接方式捆绑,并根据所有vfp单板上业务端口数量需求创建对应业务网卡。

在上述技术方案的基础上,所述通用协议栈包括第一报文封装标记组件mac_in_mac,所述vfp单板包括非阻塞输入输出组件nio和第二报文封装标记组件mac_in_mac,所述nio设有至少一个业务端口,所述第一mac_in_mac和第二mac_in_mac设有所述内部接口。

在上述技术方案的基础上,所述通用协议栈对报文的处理包括:

通用协议栈根据管理端口收到的数据生成配置报文,或自身生成状态报文,通过第一mac_in_mac封装控制性报文头,并通过内部接口发送到所述虚拟交换机;

同时或之后,通用协议栈监听内部接口上的报文,若监听到源、目的mac地址与通用协议栈匹配的报文,则接收报文并剥离报文头后,发送给通用协议栈的对应模块处理。

在上述技术方案的基础上,所述vfp单板对报文的处理包括:

vfp单板由业务端口接收业务网卡的业务报文或信令报文,或者vfp单板自身产生告警报文,将所述报文通过第二mac_in_mac封装控制性报文头,通过内部接口发送到所述虚拟交换机;

同时或之后,vfp单板监听内部接口上的报文,若监听到源、目的mac地址与vfp单板匹配的报文,则接收对应报文并剥离报文头,发送给所述nio进行下一步处理。

在上述技术方案的基础上,所述控制性报文头为扩展以太报文,还包括vlan、目的槽位、端口、端口类型以及速率;所述控制性报文头中源、目的mac地址根据所述协议栈和vfp单板所在槽位调整。

本发明提供一种基于linux的分布式包转发实现系统,运行于linux环境下,包括:

通用协议栈,其设有管理端口和第一报文封装标记组件mac_in_mac;所述通用协议栈根据管理端口接收的数据生成配置报文,所述第一mac_in_mac用于为通用协议栈生成的状态报文或所述配置报文添加控制性报文头;

至少一个虚拟转发过程vfp单板,其包括非阻塞输入输出组件nio和第二报文封装标记组件mac_in_mac,所述nio设有至少一个业务端口;所述第二mac_in_mac用于为来自业务端口的业务报文或信令报文,以及自身生成的告警报文添加控制性报文头;

虚拟交换机,其通过内部接口与第一mac_in_mac和第二mac_in_mac通信;

其中,所述控制性报文头包括源、目的mac地址;所述第一mac_in_mac还用于接收源、目的mac地址匹配的报文,剥掉报文头发送给所述协议栈对应模块;所述第二mac_in_mac还用于接收源、目的mac地址匹配的报文,剥掉报文头发送给nio进行下一步处理。

本发明提供一种自动化测试方法,基于通用测试平台,将所述分布式包转发实现系统作为一台虚拟通信设备接入所述通用测试平台,且虚拟通信设备的数量根据需求设置。

本发明的有益效果在于:

1、通过基于linux的分布式包转发方法和系统来虚拟通信设备,在开发调试环境下,省去真实通信设备的物理组网环节,提升研发效率,缩短迭代周期。

2、通过基于linux的分布式包转发方法和系统,代替真实通信设备接入通用测试平台,有效减少自动化测试过程中的硬件设备及维护,节约人工成本和时间成本。同时,还能减少机房和通信设备的采购,减少能耗,降低设备折旧费用。

3、本发明的方法和系统对外以软件形式发布,便于获取,可以运用在培训和认证上,使用广泛。

附图说明

图1为本发明第四实施例基于linux的分布式包转发实现系统示意图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

第一实施例

本发明基于linux的分布式包转发实现方法,运行于linux环境下,包括步骤:

启动linux系统,设置多个vfp(virtualforwardingprocess,虚拟转发过程)单板,vfp单板和linux的通用协议栈均通过内部接口连接虚拟交换机。其中,虚拟交换机作为虚拟网桥,承载vfp单板和通用协议栈所有的通信报文,实现报文的转发,vfp单板和通用协议栈的交互过程可以通过在虚拟交换机上抓包观察、

通用协议栈和/或vfp单板在待发报文上增加控制性报文头后发送到虚拟交换机,所述控制性报文头包括源、目的mac地址。

同时或之后,通用协议栈和/或vfp单板监听内部接口上的报文,并接收源、目的mac地址匹配的报文,剥掉所述报文头后转发。

上述步骤中,控制性报文头为扩展以太报文,还可以包括vlan、目的槽位、端口、端口类型以及速率,作为转发时进行匹配的的辅助确认信息。控制性报文头中源、目的mac地址根据协议栈和vfp单板所在槽位进行调整,确保协议栈和vfp单板上业务端口的对应关系。

第二实施例

基于上述实施例,本实施例中,linux环境为主机环境,那么linux管理网卡为linux主机网卡,主机网卡决定所有vfp单板上业务端口的总数量,即,所有vfp单板上业务端口数量的总和等于所述linux主机网卡的数量。

通过管理终端配置通用协议栈的管理端口与linux管理网卡的映射关系,其中,管理终端可以是个人电脑、网管服务器或终端管理工具,可以通过telnet或ssh进行管理。

另外,在linux主机环境下,创建一个管理模块,配置vfp单板的业务端口与业务网卡的映射关系。该管理模块还负责管理协议栈和vfp单板的内部接口连接关系,维护所有mac地址和系统网卡(包括业务网卡和管理网卡)的映射关系。

每个业务端口对应一个业务网卡,业务网卡可以是虚拟网卡。每个vfp单板的业务端口的mac地址相互独立,所述报文严格识别mac地址进行转发处理。

第三实施例

基于第一实施例,本实施例中,linux环境为虚拟机环境,即linux主机下挂至少一个linux虚拟机。linux管理网卡为linux虚拟机网卡,将linux虚拟机网卡与linux主机网卡采用桥接方式捆绑,并根据所有vfp单板上业务端口数量需求创建对应业务网卡。通过管理终端配置通用协议栈的管理端口与linux管理网卡的映射关系,其中,管理终端可以是个人电脑、网管服务器或终端管理工具,可以通过telnet或ssh进行管理。

另外,创建一个管理模块,配置所述vfp单板的业务端口与业务网卡的映射关系。

每个业务端口对应一个业务网卡,业务网卡可以是虚拟网卡。每个vfp单板的业务端口的mac地址相互独立,所述报文严格识别mac地址进行转发处理。

第四实施例

本发明一种基于linux的分布式包转发实现系统,该系统运行于linux环境下,包括通用协议栈、虚拟交换机、管理模块和至少一个vfp单板,如图1所示,本实施例中vfp单板为3个。

其中,通用协议栈负责控制层面的信令和业务处理。具体的,通用协议栈用于根据管理端口接收的数据生成配置报文,还用于生成状态报文。通用协议栈设有管理端口和第一报文封装标记组件mac_in_mac,用于配置报文或状态报文添加控制性报文头。

vfp单板包括非阻塞输入输出组件nio和第二报文封装标记组件mac_in_mac,nio设有至少一个业务端口,分别对应业务网卡。vfp单板既可以生成告警报文,也可以从自业务端口接收业务报文或信令报文,第二mac_in_mac用于为业务报文、信令报文和告警报文添加控制性报文头。

虚拟交换机用于虚拟网桥,与第一mac_in_mac和第二mac_in_mac通过内部接口通信,负责通用协议栈和vfp单板间内部接口互联和报文转发。

管理模块,负责管理通用协议栈和vfp单板的内部接口连接关系,维护所有业务端口的mac地址和业务板卡的映射关系。

其中,内部通信口可划分多个vlan,以实现独立通道互不影响,例如信令通道vlan1只处理携带控制性报文头的信令报文,配置通道vlan2承载ip转发路径,用于盘间的配置和告警信息传递,业务通道vlan3用于本节点内盘间互转等。虚拟交换机承载所有内部接接口通信的报文,报文携带控制性报文头,可以通过抓包工具在线观测报文交互过程。

控制性报文头包括源、目的mac地址。第一mac_in_mac还用于接收源、目的mac地址匹配的报文,剥掉报文头发送给所述协议栈对应模块;第二mac_in_mac还用于接收源、目的mac地址匹配的报文,剥掉报文头发送给nio进行下一步处理。

第五实施例

在第四实施例的基础上,通用协议栈对报文的处理包括:

通用协议栈根据管理端口收到的数据生成配置报文,通用协议栈还可以生成状态报文,这两种报文通过第一mac_in_mac被封装控制性报文头,然后通过内部接口发送到所述虚拟交换机。

同时或之后,通用协议栈监听内部接口上的报文,可以是业务报文或信令报文,如果监听到源、目的mac地址与通用协议栈匹配的报文,则接收该报文,剥离报文头后,发送给通用协议栈的对应模块处理。

第六实施例

在第五实施例的基础上,vfp单板对报文的处理包括:vfp单板由业务端口接收业务网卡的业务报文或信令报文,或者vfp单板自身产生告警报文,这些报文通过第二mac_in_mac封装控制性报文头,再由内部接口发送到交换机。

同时或之后,vfp单板监听内部接口上的报文,可以是配置报文或状态报文,也可以是来自其他vfp单板的业务报文、信令报文或告警报文。若监听到源、目的mac地址与vfp单板匹配的报文,则接收对应报文并剥离报文头,发送给所述nio进行下一步处理。由此,可以实现vfp单板和通用协议栈之间的报文转发,也可以实现不同vfp单板之间的报文转发。

第七实施例

本实施例提供一种自动化测试方法,基于通用测试平台,将第四、五或六实施例的基于linux的分布式包转发实现系统,作为一台被测通信设备接入所述通用测试平台,在自动化测试过程中,虚拟通信设备的数量可以根据需求设置。通过虚拟通信设备的方式,极大提高自动化验证效率,减少设备硬件资源投入,提升研发效率,缩短迭代开发周期。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、系统、和计算机程序产品来描述的。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理。

以上仅为本发明的实施例而已,并不用于限制本发明,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1