本申请涉及通信技术领域,尤其涉及一种远端环回测试装置及方法。
背景技术:
目前在进行交换设备业务的整网测试及网络故障定位过程中,经常需要通过测试源发送测试报文,经过远端交换设备(或称“远端设备”)使用环回测试方法把该测试报文送回到测试源(或称“近端设备”),此时测试源可以根据环回的该测试报文的接收和发送数量以及延时等信息,判断网络质量的好坏或者完成网络故障定位。
如图1所示的现有远端设备中测试报文的远端环回测试装置包括:远端设备的交换芯片和多个fpga芯片。
远端设备中交换芯片的4个前面板端口均连接一片fpga芯片的一端,前面板端口为交换芯片的输出口,交换芯片的输入口通过高速串行计算机扩展总线(peripheralcomponentinterconnectexpress,pcie)与中央处理器(centralprocessingunit,cpu)的第一端口连接,每个fpga芯片的另一端通过串行外设接口(serialperipheralinterface,spi)总线与cpu的第二端口连接,交换芯片和多个fpga芯片分别获取cpu下发的相应配置信息。
交换芯片首先设置交换芯片的目标输出口为环回端口,当根据cpu下发的配置信息检测出环回端口存在要环回的测试报文时,该测试报文为近端设备发送的报文,将该测试报文发给该环回端口直连的fpga芯片,fpga芯片根据cpu下发的配置信息,实现测试报文的源媒体访问控制(mediaaccesscontrol,mac)地址和目的mac地址的互换,或源mac地址和目的mac地址的互换,以及源互联网协议(internetprotocoladdress,ip)地址与ip地址目的互换等操作,然后将处理后的测试报文返回通过该环回端口发送至交换芯片,交换芯片将该处理后的测试报文确定为交换芯片接收的报文,并按照入芯片流程正常转发至近端设备,从而实现测试报文远端环回。
然而,发明人发现由于上述远端环回测试装置中交换芯片的每个前面板端口都需要连接一片fpga芯片,增加了远端环回测试装置的成本。
技术实现要素:
本申请实施例提供一种远端环回测试装置及方法,解决了现有技术存在的上述问题,以降低远端环回测试装置的成本。
第一方面,提供了一种远端环回测试装置,该装置可以包括:一片交换芯片和一片现场可编程门阵列fpga芯片;
所述交换芯片,用于通过第一物理端口接收近端设备发送的报文;若所述报文的目的物理端口为预设环回端口,则确定所述报文为测试报文,并对所述测试报文增加级联报文头后生成第一测试报文,并将所述第一测试报文通过配置的级联端口发送至所述fpga芯片;其中,所述级联报文头包括所述测试报文的源物理端口和目的物理端口,所述源物理端口为所述第一物理端口,所述目的物理端口为第二物理端口,所述第二物理端口为所述交换芯片查询存储的芯片表项配置信息得到的与所述第一物理端口对应的物理端口,所述第一测试报文的源mac地址为所述近端设备的媒体访问控制mac地址,所述第一测试报文的目的mac地址为所述远端设备的mac地址;
所述fpga芯片,用于根据存储的远端环回修改信息,对所述第一测试报文进行报文修改,得到第二测试报文;其中,所述第二测试报文中级联报文头的源物理端口为所述第二物理端口,目的物理端口为所述第一物理端口,且所述第二测试报文的源mac地址为所述远端设备的mac地址,所述第二测试报文的目的mac地址为所述近端设备的mac地址;将所述第二测试报文通过所述配置的级联端口发送至所述交换芯片;
所述交换芯片,还用于删除所述第二测试报文的级联报文头,得到第三测试报文;
通过所述第一物理端口向所述近端设备发送所述第三测试报文。
在一个可选的实现中,交换芯片,还用于根据存储的内联端口配置信息,将所述交换芯片的一个内联端口配置成级联端口,并将所述级联端口的转发模式确定为按照所述芯片表项配置信息指定的目的物理端口进行转发。
在一个可选的实现中,所述fpga芯片,具体用于将所述第一测试报文中级联报文头的所述第二物理端口确定为新的目的物理端口,将所述第一物理端口确定为新的源物理端口;
根据所述第一物理端口的端口配置信息,将所述远端设备的mac地址确定为新的源mac地址,将所述近端设备的mac地址确定为新的目的mac地址;
根据所述新的目的物理端口、所述新的源物理端口、所述新的源mac地址和所述新的目的mac地址,得到第二测试报文;
或者,根据所述第一物理端口的端口配置信息,将所述远端设备的mac地址确定为新的源mac地址,将所述近端设备的mac地址确定为新的目的mac地址,以及将所述远端设备的互联网协议ip地址确定为新的源ip地址,将所述近端设备的ip地址确定为新的目的ip地址;
根据所述新的目的物理端口、所述新的源物理端口、所述新的源mac地址、所述新的目的mac地址、所述新的源ip地址和所述新的目的ip地址,得到第二测试报文。
在一个可选的实现中,所述交换芯片,还具体用于若所述第二测试报文是根据所述新的目的物理端口、所述新的源物理端口、所述新的源mac地址和所述新的目的mac地址得到的,则根据所述第三测试报文中的目的mac地址,通过所述第一物理端口向所述近端设备发送所述第三测试报文;
若所述第二测试报文是根据所述新的目的物理端口、所述新的源物理端口、所述新的源mac地址、所述新的目的mac地址、所述新的源ip地址和所述新的目的ip地址得到的,则根据所述第三测试报文中的目的ip地址,通过所述第一物理端口向所述近端设备发送所述第三测试报文。
第二方面,提供了一种远端环回测试方法,所述方法应用在远端设备的交换芯片,该方法可以包括:
交换芯片通过第一物理端口接收近端设备发送的报文;
若所述报文的目的物理端口为预设环回端口,则确定所述报文为测试报文,所述目的物理端口为第二物理端口,所述第二物理端口为所述交换芯片查询存储的芯片表项配置信息得到的与所述第一物理端口对应的物理端口;
对所述测试报文增加级联报文头后生成第一测试报文;其中,所述级联报文头包括所述测试报文的源物理端口和目的物理端口,所述源物理端口为所述第一物理端口,所述第一测试报文的源mac地址为所述近端设备的媒体访问控制mac地址,所述第一测试报文的目的mac地址为所述远端设备的mac地址;
将所述第一测试报文通过配置的级联端口发送至所述fpga芯片;
通过所述配置的级联端口接收所述fpga芯片发送的第二测试报文,其中,所述第二测试报文中级联报文头的源物理端口为所述第二物理端口,目的物理端口为所述第一物理端口,且所述第二测试报文的源mac地址为所述远端设备的mac地址,所述第二测试报文的目的mac地址为所述近端设备的mac地址;
删除所述第二测试报文的级联报文头,得到第三测试报文;
通过所述第一物理端口向所述近端设备发送所述第三测试报文。
在一个可选的实现中,通过所述第一物理端口向所述近端设备发送所述第三测试报文,包括:
若所述第二测试报文是根据所述新的目的物理端口、所述新的源物理端口、所述新的源mac地址和所述新的目的mac地址得到的,则根据所述第三测试报文中的目的mac地址,通过所述第一物理端口向所述近端设备发送所述第三测试报文;
若所述第二测试报文是根据所述新的目的物理端口、所述新的源物理端口、所述新的源mac地址、所述新的目的mac地址、所述新的源ip地址和所述新的目的ip地址得到的,则根据所述第三测试报文中的目的ip地址,通过所述第一物理端口向所述近端设备发送所述第三测试报文。
第三方面,提供了另一种远端环回测试方法,所述方法应用在远端设备的fpga芯片中,该方法可以包括:
fpga芯片接收交换芯片通过配置的级联端口发送的第一测试报文,其中,所述第一测试报文是所述交换芯片对近端设备发送的测试报文增加级联报文头得到的,所述级联报文头包括测试报文的源物理端口和目的物理端口,所述源物理端口为所述交换芯片的第一物理端口,所述目的物理端口为第二物理端口,所述第二物理端口为所述交换芯片查询存储的芯片表项配置信息得到的与所述第一物理端口对应的所述交换芯片的物理端口,所述源mac地址为所述近端设备的媒体访问控制mac地址,目的mac地址为远端设备的mac地址;
根据存储的远端环回修改信息,对所述第一测试报文进行报文修改,得到第二测试报文;其中,所述第二测试报文中级联报文头的源物理端口为所述第二物理端口,目的物理端口为所述第一物理端口,且所述第二测试报文的源mac地址为所述远端设备的mac地址,所述第二测试报文的目的mac地址为所述近端设备的mac地址;
将所述第二测试报文通过所述配置的级联端口发送至所述交换芯片。
在一个可选的实现中,根据存储的远端环回修改信息,对所述第一测试报文进行报文修改,得到第二测试报文,包括:
将所述第一测试报文中级联报文头的所述第二物理端口确定为新的目的物理端口,将所述第一物理端口确定为新的源物理端口;
根据所述第一物理端口的端口配置信息,将所述远端设备的mac地址确定为新的源mac地址,将所述近端设备的mac地址确定为新的目的mac地址;
根据所述新的目的物理端口、所述新的源物理端口、所述新的源mac地址和所述新的目的mac地址,得到第二测试报文;
或者,根据所述第一物理端口的端口配置信息,将所述远端设备的mac地址确定为新的源mac地址,将所述近端设备的mac地址确定为新的目的mac地址,以及将所述远端设备的互联网协议ip地址确定为新的源ip地址,将所述近端设备的ip地址确定为新的目的ip地址;
根据所述新的目的物理端口、所述新的源物理端口、所述新的源mac地址、所述新的目的mac地址、所述新的源ip地址和所述新的目的ip地址,得到第二测试报文。
第四方面,提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第二方面中任一所述的方法步骤或上述第三方面中任一所述的方法步骤。
第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面中任一所述的方法步骤或上述第三方面中任一所述的方法步骤。
本发明实施例提供的应用在远端设备中的远端环回测试装置中的交换芯片通过第一物理端口接收近端设备发送的报文;若报文的目的物理端口为预设环回端口,则确定报文为测试报文,并对测试报文增加级联报文头后生成第一测试报文;将第一测试报文通过配置的级联端口发送至fpga芯片;其中,级联报文头包括测试报文的源物理端口和目的物理端口,源物理端口为第一物理端口,目的物理端口为交换芯片查询存储的芯片表项配置信息得到的与第一物理端口对应的第二物理端口,第一测试报文的源mac地址为近端设备的mac地址,第一测试报文的目的mac地址为远端设备的mac地址;fpga芯片根据存储的远端环回修改信息,对第一测试报文进行报文修改,得到第二测试报文;其中,第二测试报文中级联报文头的源物理端口为第二物理端口,目的物理端口为第一物理端口,且第二测试报文的源mac地址为远端设备的mac地址,第二测试报文的目的mac地址为近端设备的mac地址;将第二测试报文通过配置的级联端口发送至交换芯片;之后,交换芯片删除第二测试报文的级联报文头,得到第三测试报文;通过第一物理端口向近端设备发送第三测试报文。该装置中的一片fpga芯片通过与交换芯片中配置的级联口连接,利用级联口使发送至fpga的报文携带包含端口信息的级联报文头,即第一测试报文,从而使第一测试报文具有规定的传输方向,在通过fpga执行环回修改时对第一测试报文进行源端口和目的端口、源mac地址和目的mac地址进行互换修改,即可得到具有传输方向的第二测试报文,fpga根据第二测试报文中修改后的端口信息将第二测试报文返回交换芯片,交换芯片在删除第二测试报文中的级联报文头得到第三报文后,按照互换修改后的mac地址信息将第三报文返回近端设备,与现有技术相比,该方法仅通过一片fpga芯片即可完成测试报文的环回测试,有效降低了远端环回测试的成本。
附图说明
图1为现有技术中远端设备的结构示意图;
图2为本发明实施例提供的一种远端环回测试装置应用的系统架构示意图;
图3a为本发明实施例提供的一种远端设备的结构示意图;
图3b为本发明实施例提供的一种远端环回测试装置的结构示意图;
图4a为本发明实施例提供的一种报文的报文结构示意图;
图4b为本发明实施例提供的一种第一测试报文的报文结构示意图;
图4c为本发明实施例提供的一种第二测试报文的报文结构示意图;
图4d为本发明实施例提供的一种第三测试报文的报文结构示意图;
图5为本发明实施例提供的一种远端环回测试方法的流程示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
远端环回是指从远端设备给近端设备做环回,一般是连同通信线路一同做环回测试。
本发明实施例提供的远端环回测试装置可以应用在图2所述的网络架构中,该网络架构可以包括远端设备和近端设备,该远端设备可以是交换机,或具有交换机的服务器或终端,近端设备可以是服务器,也可以是终端。其中,服务器可以是应用服务器或云服务器。终端可以是移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(pda)、平板电脑(pad)等用户设备(userequipment,ue)、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备、移动台(mobilestation,ms)、移动终端(mobileterminal)等。该终端具备经无线接入网(radioaccessnetwork,ran)与一个或多个核心网进行通信的能力。
近端设备向远端设备发送测试报文,远端设备对该测试报文使用远端环回测试方法后,通过近端设备与远端设备的网络连接,将该测试报文送回近端设备,由此近端设备可以根据环回的该测试报文的接收数量、发送数量、延时等信息,判断网络质量的好坏或者完成网络故障定位。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图3a所示,远端设备的结构示意图,该远端设备可以包括:cpu和包括一片交换芯片与一片fpga芯片的远端环回测试装置。
交换芯片的第一内联端口与fpga芯片的一端连接,交换芯片的第二内联端口通过pcie总线与cpu的第一端口连接,第一内联端口和第二内联端口为交换芯片的任意两个内部连接端口,其中,交换芯片的内联端口具有20g报文流量的环回能力;fpga芯片的另一端通过spi总线与cpu的第二端口连接。
具体的,如图3b所示,交换芯片,用于通过pcie总线获取cpu传输的第一配置信息,并进行存储,该第一配置信息可以包括内联端口配置信息、报文配置信息、芯片表项配置信息、通信端口的端口配置信息、环回配置信息等。
首先,交换芯片根据内联端口配置信息,将与fpga芯片连接的第一内联端口配置成级联端口,并将该级联端口的转发模式确定为按照芯片表项配置信息进行转发的模式,以及根据环回配置信息将交换芯片的一个物理端口配置成预设环回端口。
交换芯片通过远端设备与近端设备的通信端口,如第一物理端口,接收近端设备发送的报文;查询芯片表项配置信息中第一物理端口为源物理端口对应的目的物理端口,如第二物理端口。其中,芯片表项配置信息用于根据报文的源物理端口,即输入端口,查找该报文对应的目的物理端口,即输出端口。
例如,交换芯片接收的报文的报文结构可以如图4a所示,其包括源mac地址字段、目的mac地址字段、数据字段和校验字段。其中,源mac地址字段为近端设备的mac地址、目的mac地址字段为远端设备的mac地址,数据字段携带数据a、校验字段为校验值b。
然后,若该报文的第二物理端口为预先设置的预设环回端口,则确定该报文为测试报文;
之后,交换芯片根据报文配置信息,如预设的访问控制列表(accesscontrollists,acl)的指令,丢弃将要通过第二物理端口输出的测试报文,即拒绝通过第二物理端口输出测试报文,同时镜像实现该测试报文重定向到配置的级联端口,并对测试报文增加级联报文头后生成第一测试报文,从而将第一测试报文通过配置的级联端口发送至fpga芯片;其中,级联报文头包括测试报文的源物理端口和目的物理端口,即源物理端口为第一物理端口,目的物理端口为第二物理端口,第一测试报文的源mac地址为近端设备的mac地址,目的mac地址为远端设备的mac地址。
可选地,若该报文的第二物理端口不为预先设置的预设环回端口,则确定该报文为业务报文,并按照预设转发流程对该业务报文进行正常转发,即允许该业务报文通过第二物理端口发出,如图3b中的虚线所示。
例如,结合图4a,第一测试报文的报文结构可以如图4b所示,其包括第一测试报文的级联报文头、源mac地址字段、目的mac地址字段、数据字段和校验字段,第一测试报文的级联报文头包括源物理端口字段和目的物理端口字段。其中,源物理端口字段为第一物理端口的端口号、目的物理端口字段为第二物理端口的端口号、源mac地址字段为近端设备的mac地址、目的mac地址字段为远端设备的mac地址,数据字段携带数据a、校验字段为校验值b。
可以理解的是,正常转发的业务报文的报文结构如图4a所示。
fpga芯片,用于通过sip总线获取cpu传输的远端环回修改信息,并根据远端环回修改信息,对第一测试报文进行报文修改,得到第二测试报文;其中,第二测试报文中级联报文头的源物理端口为第二物理端口,目的物理端口为第一物理端口,且第二测试报文的源mac地址为远端设备的mac地址,目的mac地址为近端设备的mac地址;将第二测试报文通过配置的级联端口发送至交换芯片。
例如,第二测试报文的报文结构可以如图4c所示,其包括第二测试报文的级联报文头、源mac地址字段、目的mac地址字段、数据字段和校验字段,第二测试报文的级联报文头包括源物理端口字段和目的物理端口字段。其中,源物理端口字段为第二物理端口的端口号、目的物理端口字段为第一物理端口的端口号、源mac地址字段为远端设备的mac地址、目的mac地址字段为近端设备的mac地址,数据字段携带数据a、校验字段为校验值b。
可选地,为了进一步实现远端环回测试,fpga芯片根据远端设备与近端设备间的通信端口的端口配置信息,如二层协议配置信息或三层协议配置信息,对第一测试报文进行报文修改,获取实现远端环回的测试报文。
fpga芯片,具体用于将第一测试报文中级联报文头的第二物理端口确定为新的目的物理端口,将第一物理端口确定为新的源物理端口,即获取新的级联报文头;
根据第一物理端口的端口配置信息,将远端设备的mac地址确定为新的源mac地址,将近端设备的mac地址确定为新的目的mac地址;
根据新的级联报文头、新的源mac地址和新的目的mac地址,得到第二测试报文,即得到二层远端环回的测试报文;
或者,根据第一物理端口的端口配置信息,将远端设备的mac地址确定为新的源mac地址,将近端设备的mac地址确定为新的目的mac地址,以及将远端设备的互联网协议ip地址确定为新的源ip地址,将近端设备的ip地址确定为新的目的ip地址;
根据新的级联报文头、新的源mac地址、新的目的mac地址、新的源ip地址和新的目的ip地址,得到第二测试报文,即得到三层远端环回的测试报文。
交换芯片,还用于删除第二测试报文的级联报文头,得到第三测试报文,并通过第一物理端口向近端设备发送该第三测试报文。
其中,若第二测试报文是根据新的目的物理端口、新的源物理端口、新的源mac地址和新的目的mac地址得到的,即第二测试报文是二层远端环回的测试报文,此时第三测试报文也是二层远端环回的测试报文,则根据第三测试报文中的目的mac地址,通过第一物理端口向近端设备发送第三测试报文。
例如,结合图4c,第三测试报文的报文结构可以如图4d所示,其包括源mac地址字段、目的mac地址字段、数据字段和校验字段,其中,源mac地址字段为远端设备的mac地址、目的mac地址字段为近端设备的mac地址,数据字段携带数据a、校验字段为校验值b。
若第二测试报文是根据新的目的物理端口、新的源物理端口、新的源mac地址、新的目的mac地址、新的源ip地址和新的目的ip地址得到的,即第二测试报文是三层远端环回的测试报文,此时第三测试报文也是三层远端环回的测试报文,则根据第三测试报文中的目的ip地址,通过第一物理端口向近端设备发送第三测试报文。
需要说明的是,交换芯片收到第二测试报文后,检测到第二测试报文的级联报文头中的源物理端口为第二物理端口,交换芯片将认为该第二测试报文是从第二物理端口进入的报文,故交换芯片在得到第三测试报文后,将按照第二物理端口到第一物理端口的路由对第三测试报文进行正常转发。
可选地,交换芯片,还用于在将第一测试报文通过配置的级联端口发送至fpga芯片前,可以为第一测试报文增加交换芯片的芯片标识(或称“芯片号”),之后在fpga芯片将第二测试报文通过配置的级联端口发送至交换芯片时,第二测试报文仍然携带该芯片标识,但由于现有的交换芯片默认会丢弃芯片标识为自身的报文,因此交换芯片设置芯片标识配置信息,芯片标识配置信息指示允许接收相同芯片标识的报文,即配置相应的寄存器允许芯片标识为自身的报文通过,芯片标识配置信息表示为allow_src_mod=1。
与上述装置对应的,本发明实施例还可以提供以下远端环回测试方法。
图5为本发明实施例提供的一种远端环回测试方法的流程示意图。如图5所示,该方法可以包括:
步骤510、交换芯片通过第一物理端口接收近端设备发送的报文。
执行该步骤之后,交换芯片查询存储的芯片表项配置信息得到的与第一物理端口对应的该报文的目的物理端口,如第二物理端口;
步骤520、交换芯片检测该报文是否为测试报文。
具体为,交换芯片检测第二物理端口与交换芯片预先设置的预设环回端口是否为同一端口;
若是,则确定该报文为测试报文;
若否,则确定该报文为业务报文,并按照预设转发流程对该业务报文进行转发。
之后,交换芯片根据预设的acl的指令,拒绝通过第二物理端口输出该测试报文,同时镜像实现该测试报文重定向到配置的级联端口。
步骤530、交换芯片对测试报文增加级联报文头,获取第一测试报文。
其中,第一测试报文的报文结构可以如图4b所示。
可选地,交换芯片为第一测试报文增加交换芯片的芯片标识,并设置芯片标识配置信息,芯片标识配置信息指示允许接收相同芯片标识的报文。
步骤540、交换芯片将第一测试报文通过配置的级联端口发送至fpga芯片。
步骤550、fpga芯片根据存储的远端环回修改信息,对第一测试报文进行报文修改,得到第二测试报文。
fpga芯片根据远端设备和近端设备间的通信端口的配置信息,如二层协议配置或三层协议配置,确定根据远端环回修改信息对第一测试报文进行二层环回修改还是三层环回修改。
具体的,fpga芯片根据远端环回修改信息,将第一测试报文中级联报文头的第二物理端口确定为新的目的物理端口,将第一物理端口确定为新的源物理端口,即获取新的级联报文头,并根据第一物理端口的端口配置信息,将远端设备的mac地址确定为新的源mac地址,将近端设备的mac地址确定为新的目的mac地址,以得到二层远端环回的测试报文;
或者,fpga芯片根据远端环回修改信息,将第一测试报文中级联报文头的第二物理端口确定为新的目的物理端口,将第一物理端口确定为新的源物理端口,即获取新的级联报文头,并根据第一物理端口的端口配置信息,将远端设备的mac地址确定为新的源mac地址,将近端设备的mac地址确定为新的目的mac地址,以及将远端设备的互联网协议ip地址确定为新的源ip地址,将近端设备的ip地址确定为新的目的ip地址,以得到三层远端环回的测试报文。
步骤560、fpga芯片将第二测试报文通过配置的级联端口发送至交换芯片。
步骤570、交换芯片删除第二测试报文的级联报文头,得到第三测试报文。
其中,第三测试报文的报文结构可以如图4d所示。
步骤580、交换芯片通过第一物理端口向近端设备发送第三测试报文。
本发明实施例提供的应用在远端设备中的远端环回测试装置中的交换芯片通过第一物理端口接收近端设备发送的报文;若报文的目的物理端口为预设环回端口,则确定报文为测试报文,并对测试报文增加级联报文头后生成第一测试报文;将第一测试报文通过配置的级联端口发送至fpga芯片;其中,级联报文头包括测试报文的源物理端口和目的物理端口,源物理端口为第一物理端口,目的物理端口为第二物理端口,第二物理端口为交换芯片查询存储的芯片表项配置信息得到的与第一物理端口对应的物理端口,第一测试报文的源mac地址为近端设备的mac地址,第一测试报文的目的mac地址为远端设备的mac地址;fpga芯片根据存储的远端环回修改信息,对第一测试报文进行报文修改,得到第二测试报文;其中,第二测试报文中级联报文头的源物理端口为第二物理端口,目的物理端口为第一物理端口,且第二测试报文的源mac地址为远端设备的mac地址,第二测试报文的目的mac地址为近端设备的mac地址;将第二测试报文通过配置的级联端口发送至交换芯片;之后,交换芯片删除第二测试报文的级联报文头,得到第三测试报文;通过第一物理端口向近端设备发送第三测试报文。与现有技术相比,该装置中的一片fpga芯片通过与交换芯片中配置的级联口连接,利用级联口使发送至fpga的报文携带包含端口信息的级联报文头,即第一测试报文,从而使第一测试报文具有规定的传输方向,在通过fpga执行环回修改时对第一测试报文进行源端口和目的端口、源mac地址和目的mac地址进行互换修改,即可得到具有传输方向的第二测试报文,fpga根据第二测试报文中修改后的端口信息将第二测试报文返回交换芯片,交换芯片在删除第二测试报文中的级联报文头得到第三报文后,按照互换修改后的mac地址信息将第三报文返回近端设备,与现有技术相比,该方法仅通过一片fpga芯片即可完成测试报文的环回测试,有效降低了远端环回测试的成本。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器610、通信接口620、存储器630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。
存储器630,用于存放计算机程序;
处理器610,用于执行存储器630上所存放的程序时,实现如下步骤:
通过第一物理端口接收近端设备发送的报文;
若所述报文的目的物理端口为预设环回端口,则确定所述报文为测试报文,所述目的物理端口为第二物理端口,所述第二物理端口为所述交换芯片查询存储的芯片表项配置信息得到的与所述第一物理端口对应的物理端口;
对所述测试报文增加级联报文头后生成第一测试报文;其中,所述级联报文头包括所述测试报文的源物理端口和目的物理端口,所述源物理端口为所述第一物理端口,所述第一测试报文的源mac地址为所述近端设备的媒体访问控制mac地址,所述第一测试报文的目的mac地址为所述远端设备的mac地址;
将所述第一测试报文通过配置的级联端口发送至所述fpga芯片;
通过所述配置的级联端口接收所述fpga芯片发送的第二测试报文,其中,所述第二测试报文中级联报文头的源物理端口为所述第二物理端口,目的物理端口为所述第一物理端口,且所述第二测试报文的源mac地址为所述远端设备的mac地址,所述第二测试报文的目的mac地址为所述近端设备的mac地址;
删除所述第二测试报文的级联报文头,得到第三测试报文;
通过所述第一物理端口向所述近端设备发送所述第三测试报文。
在一个可选的实现中,通过所述第一物理端口向所述近端设备发送所述第三测试报文,包括:
若所述第二测试报文是根据所述新的目的物理端口、所述新的源物理端口、所述新的源mac地址和所述新的目的mac地址得到的,则根据所述第三测试报文中的目的mac地址,通过所述第一物理端口向所述近端设备发送所述第三测试报文;
若所述第二测试报文是根据所述新的目的物理端口、所述新的源物理端口、所述新的源mac地址、所述新的目的mac地址、所述新的源ip地址和所述新的目的ip地址得到的,则根据所述第三测试报文中的目的ip地址,通过所述第一物理端口向所述近端设备发送所述第三测试报文。
或者,执行以下步骤:
fpga芯片接收交换芯片通过配置的级联端口发送的第一测试报文,其中,所述第一测试报文是所述交换芯片对近端设备发送的测试报文增加级联报文头得到的,所述级联报文头包括测试报文的源物理端口和目的物理端口,所述源物理端口为所述交换芯片的第一物理端口,所述目的物理端口为第二物理端口,所述第二物理端口为所述交换芯片查询存储的芯片表项配置信息得到的与所述第一物理端口对应的所述交换芯片的物理端口,所述源mac地址为所述近端设备的媒体访问控制mac地址,目的mac地址为远端设备的mac地址;
根据存储的远端环回修改信息,对所述第一测试报文进行报文修改,得到第二测试报文;其中,所述第二测试报文中级联报文头的源物理端口为所述第二物理端口,目的物理端口为所述第一物理端口,且所述第二测试报文的源mac地址为所述远端设备的mac地址,所述第二测试报文的目的mac地址为所述近端设备的mac地址;
将所述第二测试报文通过所述配置的级联端口发送至所述交换芯片。
在一个可选的实现中,根据存储的远端环回修改信息,对所述第一测试报文进行报文修改,得到第二测试报文,包括:
将所述第一测试报文中级联报文头的所述第二物理端口确定为新的目的物理端口,将所述第一物理端口确定为新的源物理端口;
根据所述第一物理端口的端口配置信息,将所述远端设备的mac地址确定为新的源mac地址,将所述近端设备的mac地址确定为新的目的mac地址;
根据所述新的目的物理端口、所述新的源物理端口、所述新的源mac地址和所述新的目的mac地址,得到第二测试报文;
或者,根据所述第一物理端口的端口配置信息,将所述远端设备的mac地址确定为新的源mac地址,将所述近端设备的mac地址确定为新的目的mac地址,以及将所述远端设备的互联网协议ip地址确定为新的源ip地址,将所述近端设备的ip地址确定为新的目的ip地址;
根据所述新的目的物理端口、所述新的源物理端口、所述新的源mac地址、所述新的目的mac地址、所述新的源ip地址和所述新的目的ip地址,得到第二测试报文。
上述提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由于上述实施例中电子设备的各器件解决问题的实施方式以及有益效果可以参见图5所示的实施例中的各步骤来实现,因此,本发明实施例提供的电子设备的具体工作过程和有益效果,在此不复赘述。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的远端环回测试方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的远端环回测试方法。
本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。