掌桥专利:专业的专利平台
掌桥专利
首页

一种链路测试方法

文献发布时间:2024-01-17 01:26:37


一种链路测试方法

技术领域

本申请实施例涉及服务器技术领域,尤其涉及一种链路测试方法。

背景技术

随着数据中心的大规模建设和高速发展,传统的风冷机架式服务器的缺点越发突出。为了满足客户需求,相关技术中将服务器、交换机以及液冷散热等设备集成在一个机柜中,构成整机柜服务器。整柜服务器通过L1/L2垂直整合,进行集中供电和散热,降低了整机柜服务器的功耗。通过由传统的分散交付到整机柜生产预制化,整机柜服务器具备工厂预制、整机交付的部署能力,在生产环节提前安装,提高了服务器的出柜率。

整机柜服务器需要在生产环节中提前安装,而整机柜服务器中,服务器与交换机之间可以通过线缆和模组连接器连接。但是,线缆走线链路长以及模组连接器的质量有问题,皆会影响数据在服务器与交换机之间传递的信号完整性(Signal integrity,简称SI)。

因此,亟需一种链路测试方法,在整机柜服务器生产环节中,对链路进行测试,以保证链路信号质量能够满足正常业务需求。

发明内容

本申请实施例提供一种链路测试方法,用于在整机柜服务器生产环节中,对链路进行测试,以保证链路信号质量能够满足正常业务需求。

第一方面,本申请实施例提供一种链路测试方法,应用于计算设备,计算设备包括服务器、第一交换机以及第二交换机;

其中,服务器包括网卡,网卡包括第一网卡端口和第二网卡端口;服务器通过网卡中的第一网卡端口与第一交换机电连接;网卡中的第一网卡端口和第一交换机之间的链路为第一链路;服务器通过网卡中的第二网卡端口与第二交换机电连接;网卡中的第二网卡端口和第二交换机之间的链路为第二链路;第一交换机与第二交换机电连接;

方法包括:

服务器响应于接收到链路测试请求,通过网卡中的第一网卡端口向第一交换机发送第一测试数据包;

第一交换机在接收到第二测试数据包后,向第二交换机发送第二测试数据包;其中,第二测试数据包为第一测试数据包流经第一链路后的数据包;

第二交换机在接收到第二测试数据包后,向服务器发送第二测试数据包;

服务器在通过网卡中的第二网卡端口接收到第三测试数据包的情况下,根据第一测试数据包和第三测试数据包,确定链路测试结果;其中,第三测试数据包为第二测试数据包流经第二链路后的数据包。

在第一交换机和第二交换机电连接的情况下,测试数据包可以直接在网卡的第一网卡端口→第一交换机→第二交换机→网卡的第二网卡端口的全链路上进行传输。比较传输前的数据包(第一测试数据包)和传输后的数据包(第三测试数据包)确定链路传输数据包的效果,以实现对链路的测试。通过该种方式,无需利用单独开发的测试夹具,仅需要将与第一网卡端口连接的第一交换机,和与第二网卡端口连接第二交换机进行连接,即可对网卡与交换机的全链路进行快速测试。解决了相关技术中,无法在整机柜服务器生产环节中,对链路进行测试的问题,保证了测试通过的计算设备(整机柜服务器)的链路信号质量,能够满足正常的业务需求。

在一种实现方式中,服务器在通过网卡中的第一网卡端口向第一交换机发送第一测试数据包之后,方法还包括:

服务器确定在预设时长内,是否通过网卡中的第二网卡端口接收到第三测试数据包;

服务器在通过网卡中的第二网卡端口接收到第三测试数据包的情况下,根据第一测试数据包和第三测试数据包,确定链路测试结果,包括:

服务器在确定在预设时长内,通过网卡中的第二网卡端口接收到第三测试数据包的情况下,根据第一测试数据包和第三测试数据包,确定链路测试结果。

服务器在预设时长内,通过网卡中的第二网卡端口接收到第三测试数据包的情况下,可以根据第一测试数据包和第三测试数据包,确定链路测试结果。保证了根据测试数据包传递效果确定的链路测试结果,可以反映网卡和交换机之间的真实链路情况。

在一种实现方式中,根据第一测试数据包和第三测试数据包,确定链路测试结果,包括:

服务器根据第一测试数据包和第三测试数据包,确定误码率;

服务器在确定误码率大于预设阈值时,确定链路测试结果为通过;或者,

服务器在确定误码率小于或者等于预设阈值时,确定链路测试结果为不通过。

服务器可以根据第一测试数据包和第三测试数据包,确定误码率,根据误码率(可以反映数据包在链路中传递的信号完整性),确定链路测试结果,保证了链路测试结果可以反映网卡和交换机之间的真实链路情况。

在一种实现方式中,第一测试数据包包括第一测试码流,第三测试数据包包括第二测试码流;

服务器根据第一测试数据包和第三测试数据包,确定误码率,包括:

服务器根据第一测试码流和第二测试码流,确定误码率。

本实施例的有益效果:服务器可以通过比较第一测试数据包中的第一测试码流和第二测试数据包中的第二测试码流,确定可以反映链路真实情况的误码率,保证了链路测试结果可以反映网卡和交换机之间的真实链路情况。

在一种实现方式中,第一测试码流和第二测试码流为伪随机二进制序列码流,或者,自定义码流。

本实施例的有益效果:第一测试码流和第二测试码流可以为伪随机二进制码流,也可以为自定义码流,保证了测试方案可以适用于多种测试环境。

在一种实现方式中,方法还包括:

服务器在确定在预设时长内,未通过网卡中的第二网卡端口接收到第三测试数据包的情况下,确定链路测试结果为不通过。

服务器在预设时长内未通过网卡中的第二网卡端口接收到第三测试数据包时,确定链路测试结果为不通过。通过监测在预设时长内是否接收到第三测试数据包的方式,筛选出现问题的链路,保证了链路测试结果可以反映网卡和交换机之间的真实链路情况。

在一种实现方式中,方法还包括:

服务器输出链路测试结果;链路测试结果用于指示第一链路和第二链路的测试结果为通过或者不通过。

服务器可以在确定链路测试结果后,可以输出链路测试结果,以通知测试人员第一链路和第二链路的测试结果为通过或者不通过。

在一种实现方式中,

在确定链路测试结果为不通过的情况下,服务器输出告警信息;或者,控制网卡的告警指示灯点亮。

服务器在确定链路测试结果为不通过时,可以输出告警信息或者控制网卡的告警指示灯点亮,以提醒测试人员链路测试结果为不通过。

在一种实现方式中,服务器在通过网卡中的第一网卡端口向第一交换机发送第一测试数据包之前,方法还包括:

服务器将网卡的工作模式配置为混杂模式。

在网卡的工作模式为混杂模式的情况下,网卡可以侦听并接收所有通过该网卡的数据包,不需要验证数据包的地址,从而使得第一测试数据包可以不局限于服务器内部,而是可以由网卡发送至第一交换机。

在一种实现方式中,方法还包括:

在确定链路测试结果为通过的情况下,服务器将网卡的工作模式配置为广播模式。

服务器在确定链路测试结果为通过后,可以将网卡的工作模式由混杂模式重新配置为广播模式,以清除网卡的配置,从而使得在服务器的后续使用过程中,网卡仅接收目的地址为该网卡的数据包,从而避免网卡无差别的接收所有数据包,导致服务器的处理器的处理负荷增大。

第二方面,本申请实施例提供一种链路测试方法,应用于服务器,服务器包括网卡,网卡包括第一网卡端口和第二网卡端口;服务器通过网卡中的第一网卡端口与第一交换机电连接;网卡中的第一网卡端口和第一交换机之间的链路为第一链路;服务器通过网卡中的第二网卡端口与第二交换机电连接;网卡中的第二网卡端口和第二交换机之间的链路为第二链路;第一交换机与第二交换机电连接;

该方法包括:

服务器响应于接收到链路测试请求,通过网卡中的第一网卡端口向第一交换机发送第一测试数据包;

服务器在通过网卡中的第二网卡端口接收到第三测试数据包的情况下,根据第一测试数据包和第三测试数据包,确定链路测试结果;其中,第三测试数据包为第二测试数据包流经第二链路后的数据包。

在第一交换机和第二交换机电连接的情况下,测试数据包可以直接在网卡的第一网卡端口→第一交换机→第二交换机→网卡的第二网卡端口的全链路上进行传输。比较传输前的数据包(第一测试数据包)和传输后的数据包(第三测试数据包)确定链路传输数据包的效果,以实现对链路的测试。通过该种方式,无需利用单独开发的测试夹具,仅需要将与第一网卡端口连接的第一交换机,和与第二网卡端口连接第二交换机进行连接,即可对网卡与交换机的全链路进行快速测试。解决了相关技术中,无法在整机柜服务器生产环节中,对链路进行测试的问题,保证了测试通过的计算设备(整机柜服务器)的链路信号质量,能够满足正常的业务需求。

第三方面,本申请实施例提供一种链路测试方法,应用于第一交换机,方法包括:

第一交换机在接收到第二测试数据包后,向第二交换机发送第二测试数据包;其中,第二测试数据包为第一测试数据包流经第一链路后的数据包。

测试数据包可以直接在网卡的第一网卡端口→第一交换机→第二交换机→网卡的第二网卡端口的全链路上进行传输。比较传输前的数据包(第一测试数据包)和传输后的数据包(第三测试数据包)确定链路传输数据包的效果,以实现对链路的测试。通过该种方式,无需利用单独开发的测试夹具,仅需要将与第一网卡端口连接的第一交换机,和与第二网卡端口连接第二交换机进行连接,即可对网卡与交换机的全链路进行快速测试。解决了相关技术中,无法在整机柜服务器生产环节中,对链路进行测试的问题,保证了测试通过的计算设备(整机柜服务器)的链路信号质量,能够满足正常的业务需求。

第四方面,本申请实施例提供一种链路测试方法,应用于第二交换机,方法包括:

第二交换机在接收到第二测试数据包后,向服务器发送第二测试数据包。

测试数据包可以在网卡的第一网卡端口→第一交换机→第二交换机→网卡的第二网卡端口的全链路上进行传输。比较传输前的数据包(第一测试数据包)和传输后的数据包(第三测试数据包)确定链路传输数据包的效果,以实现对链路的测试。通过该种方式,无需利用单独开发的测试夹具,仅需要将与第一网卡端口连接的第一交换机,和与第二网卡端口连接第二交换机进行连接,即可对网卡与交换机的全链路进行快速测试。解决了相关技术中,无法在整机柜服务器生产环节中,对链路进行测试的问题,保证了测试通过的计算设备(整机柜服务器)的链路信号质量,能够满足正常的业务需求。

第五方面,本申请实施例提供一种服务器,服务器包括网卡,网卡包括第一网卡端口和第二网卡端口;服务器通过网卡中的第一网卡端口与第一交换机电连接;网卡中的第一网卡端口和第一交换机之间的链路为第一链路;服务器通过网卡中的第二网卡端口与第二交换机电连接;网卡中的第二网卡端口和第二交换机之间的链路为第二链路;第一交换机与第二交换机电连接;

服务器还包括:

发送模块,用于响应于接收到链路测试请求,通过网卡中的第一网卡端口向第一交换机发送第一测试数据包;

处理模块,用于在通过网卡中的第二网卡端口接收到第三测试数据包的情况下,根据第一测试数据包和第三测试数据包,确定链路测试结果;其中,第三测试数据包为第二测试数据包流经第二链路后的数据包。

本实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其有益效果类似,此处不再进行赘述。

在一种实现方式中,处理模块,还用于:

在通过网卡中的第一网卡端口向第一交换机发送第一测试数据包后,确定在预设时长内,是否通过网卡中的第二网卡端口接收到第三测试数据包;

在确定在预设时长内,通过网卡中的第二网卡端口接收到第三测试数据包的情况下,根据第一测试数据包和第三测试数据包,确定链路测试结果。

本实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其有益效果类似,此处不再进行赘述。

在一种实现方式中,处理模块,具体用于:

根据第一测试数据包和第三测试数据包,确定误码率;

在确定误码率大于预设阈值时,确定链路测试结果为通过;或者,

在确定误码率小于或者等于预设阈值时,确定链路测试结果为不通过。

本实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其有益效果类似,此处不再进行赘述。

在一种实现方式中,第一测试数据包包括第一测试码流,第三测试数据包包括第二测试码流;处理模块,具体用于:

根据第一测试码流和第二测试码流,确定误码率。

本实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其有益效果类似,此处不再进行赘述。

在一种实现方式中,第一测试码流和第二测试码流为伪随机二进制序列码流,或者,自定义码流。

本实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其有益效果类似,此处不再进行赘述。

在一种实现方式中,处理模块,还用于:

在确定在预设时长内,未通过网卡中的第二网卡端口接收到第三测试数据包的情况下,确定链路测试结果为不通过。

在一种实现方式中,

发送模块,还用于输出链路测试结果;链路测试结果用于指示第一链路和第二链路的测试结果为通过或者不通过。

本实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其有益效果类似,此处不再进行赘述。

在一种实现方式中,处理模块,还用于:

在确定链路测试结果为不通过的情况下,输出告警信息;或者,控制网卡的告警指示灯点亮。

本实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其有益效果类似,此处不再进行赘述。

在一种实现方式中,服务器还包括配置模块;

在发送模块通过网卡中的第一网卡端口向第一交换机发送第一测试数据包之前,配置模块,用于将网卡的工作模式配置为混杂模式。

本实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其有益效果类似,此处不再进行赘述。

在一种实现方式中,配置模块,还用于:

在确定链路测试结果为通过的情况下,将网卡的工作模式配置为广播模式。

本实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其有益效果类似,此处不再进行赘述。

第六方面,本申请实施例提供一种第一交换机,第一交换机包括:

接收模块,用于接收第二测试数据包;

发送模块,用于向第二交换机发送第二测试数据包;其中,第二测试数据包为第一测试数据包流经第一链路后的数据包。

本实施例提供的第一交换机,可以执行上述方法实施例中的执行主体为第一交换机的技术方案,其有益效果类似,此处不再进行赘述。

第七方面,本申请实施例提供一种第二交换机,第二交换机包括:

接收模块,用于接收第二测试数据包;

发送模块,用于向服务器发送第二测试数据包。

本实施例提供的第二交换机,可以执行上述方法实施例中的执行主体为第二交换机的技术方案,其有益效果类似,此处不再进行赘述。

第八方面,本申请实施例提供一种计算设备,计算设备包括第五方面的服务器、第六方面的第一交换机以及第七方面的第二交换机,第一交换机和第二交换机电连接。

本实施例提供的计算设备,可以执行第一方面的技术方案,其有益效果类似,此处不再进行赘述。

附图说明

为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种计算设备的内部结构示意图;

图2为本申请实施例提供的一种计算设备的结构示意图;

图3为本申请实施例提供的一种链路测试方法实施例一的流程示意图;

图4为本申请实施例提供的一种链路测试方法实施例二的流程示意图;

图5为本申请实施例提供的一种链路测试方法实施例三的流程示意图;

图6为本申请实施例提供的一种服务器的结构示意图;

图7为本申请实施例提供的一种第一交换机的结构示意图;

图8为本申请实施例提供的一种第二交换机的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在根据本实施例的启示下作出的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

随着数据中心的大规模建设和高速发展,传统的风冷机架式服务器的缺点越发突出。第一,数据中心总耗能(IT设备能耗和制冷、配电等系统的能耗)与IT设备能耗的值的比值(电源使用效率(Power Usage Effectiveness,简称PUE))太高,介于1.5-1.8之间,能效水平较低,无法满足当前日益增长的节能减排需求。第二,数据中心L0/L1/L2缺乏协同,需要安装人员在客户现场进行走线,以使服务器与交换机通过信号连线(光纤或者线缆)连接,导致交付周期长,且无法实现服务器的自动化运维。第三,机柜的功率最大为8KW,导致每个风冷式机架服务器可以放置的服务器的个数受到限制,严重影响机柜中服务器的出柜率。

基于上述风冷机架式服务器的缺陷,相关技术中将服务器、交换机以及液冷散热等设备集成在一个机柜中,构成整机柜服务器。整柜服务器通过L1/L2垂直整合,进行集中供电和散热,降低了PUE。通过由传统的分散交付到整机柜生产预制化,避免了传统的需要现场走线的问题。整机柜服务器具备工厂预制、整机交付的部署能力,在生产环节提前安装,提高了服务器的出柜率。

图1为本申请实施例提供的一种计算设备的内部结构示意图。如图1所示,在计算设备中,服务器中的网卡通过模组连接器(服务器中的模组连接器)、线缆以及模组连接器(交换节点的模组连接器),与交换机电连接。其中,模组连接器包括模块头、线缆、直母连接器以及直公连接器,直公连接器插接在线缆背板上,与插接在线缆背板上的另一直公连接器通过线缆连接。示例性地,模块头可以为封装类型为四通道小型可插拔(Quad SmallForm-factor Pluggable,简称QSFP)28类型的直连铜缆(Direct Attach Cable,简称DAC)的模块头,模块头也可以为封装类型为小型可插拔(Small Form Pluggable,简称SFP)28类型的DAC的模块头,模块头也可以为SFP类型的DAC模块头,本申请实施例不对模块头的类型进行限定。

但是,线缆背板高度长,导致走线链路长。走线链路长、模组连接器的质量有问题,皆会影响信号完整性,甚至导致链路无法出传递数据信号。因此,亟需一种链路测试方法,对计算设备(如整机柜服务器)的链路进行测试,以保证链路信号质量能够满足正常业务需求。

基于上述技术问题,本申请实施例提供一种链路测试方法,能够在计算设备(如整机柜服务器)生产预装时,实现网卡和交换机的数据包冲包测试,通过冲包测试,覆盖全链路信号质量,确保测试通过的计算设备的链路信号质量,能够满足正常业务需求。

下面对本申请实施例的链路测试方案进行详细的说明。

图2为本申请实施例提供的一种计算设备的结构示意图。如图2所示,计算设备包括至少一个服务器和至少两个交换机(Switch)。每个服务器包括至少一个网卡(NetworkInterface Card,简称NIC),每个网卡包括至少两个网卡端口,其中,网卡包括的网卡端口的数量为偶数。服务器可以通过网卡中的网卡端口,与交换机电连接。另外,服务器还可以包括处理器,服务器中的处理器可以与服务器中的网卡电连接。

示例性的,服务器的处理器可以为中央处理器(Central Processing Unit,简称CPU)。需要说明的是,交换机可以为管理交换机,也可以为业务交换机。当交换机为管理交换机时,交换机可以用于向服务器转发用于对服务器进行管理的数据包;当交换机为业务交换机时,交换机可以用于向服务器转发来自用户的数据包。

示例性地,图2示出了两个服务器,分别为服务器201和服务器202。

服务器201包括处理器2011、网卡2012以及网卡2013。网卡2012包括两个网卡端口,分别为第一网卡端口和第二网卡端口。网卡2013包括两个网卡端口,分别为第一网卡端口和第二网卡端口。

服务器202包括处理器2021、网卡2022以及网卡2023。网卡2022包括两个网卡端口,分别为第一网卡端口和第二网卡端口。网卡2023包括两个网卡端口,分别为第一网卡端口和第二网卡端口。

示例性地,图1还示出了四个交换机,分别为交换机203、交换机204、交换机205以及交换机206。其中,交换机203、交换机204、交换机205以及交换机206可以作为架顶(Topof Rack,简称TOR)交换机,安装在服务器201和服务器202的顶部。

服务器201中的网卡2012的第一网卡端口可以通过交换机203的第一端口与交换机203电连接,网卡2012的第二网卡端口可以通过交换机204的第一端口与交换机204电连接。需要说明的是,当计算设备所处网络为以太网时,网卡2012的第一网卡端口和网卡2012的第二网卡端口可以为以太网接口(ethernet,简称ETH)。

网卡2013的第一网卡端口可以通过交换机205的第一端口与交换机205电连接,网卡2013的第二网卡端口可以通过交换机206的第一端口与交换机206电连接。

服务器202中的网卡2022的第一网卡端口可以通过交换机203的第二端口与交换机203电连接,网卡2022的第二网卡端口可以通过交换机204的第二端口与交换机204电连接。

网卡2023的第一网卡端口可以通过交换机205的第二端口与交换机205电连接,网卡2023的第二网卡端口可以通过交换机206的第二端口与交换机206电连接。

另外,与同一网卡的不同网卡端口电连接的交换机203和交换机204之间,可以通过交换机203的第三端口(上行端口)和交换机204的第三端口(上行端口)进行电连接。需要说明的是,交换机203在与交换机204电连接时,交换机203可以通过一个交换机203的第三端口(上行端口)和一个交换机204的第三端口(上行端口),与交换机204电连接。交换机203也可以通过多个交换机203的第三端口(上行端口)和多个交换机204的第三端口(上行端口),与交换机204电连接。交换机203与交换机204进行电连接时所需的端口数量,与计算设备包括的服务器的个数、收敛比、网卡端口类型有关。另外,端口数量还与交换机端口类型有关。

与同一网卡的不同网卡端口电连接的交换机205和交换机206之间,可以通过交换机205的第三端口(上行端口)和交换机206的第三端口(上行端口)进行电连接。

还需要说明的是,网卡在通过网卡端口和交换机的端口,与交换机连接时,是通过模组连接器、线缆以及模组连接器(包括模块头、线缆、直母连接器以及直公连接器)进行连接的。

交换机在通过交换机端口和另一个交换机端口,与另一个交换机进行电连接时,可以通过两个光模块以及两个光模块之间的光纤进行电连接。需要说明的是,光模块可以为SFP光模块,可以为QSFP28光模块,可以为SFP28光模块,还可以为其他封装类型的光模块,本申请实施例对此不进行限定。

交换机在通过交换机端口和另一个交换机端口,与另一个交换机进行电连接时,也可以通过一个直连铜缆(Direct Attach Cable,简称DAC)(由一根线缆和两端的模块头组成)进行电连接。

还需要说明的是,计算设备可以为整机柜服务器,还可以为其他包括服务器和交换机的计算设备。

还需要说明的是,图2仅是本申请实施例提供的一种计算设备的结构示意图,本申请实施例不对图2中包括的各种设备的实际形态进行限定,也不对图1中设备之间的交互方式进行限定,在方案的应用中,可以根据实际需求设定。

下面,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

图3为本申请实施例提供的一种链路测试方法实施例一的流程示意图。参见图3,该方法具体包括以下步骤:

S301:服务器响应于接收到链路测试请求,通过网卡中的第一网卡端口向第一交换机发送第一测试数据包。

在本实施中,服务器可以接收到链路测试请求。在一种实现方式中,服务器显示有可视化界面,服务器可以获取用户通过可视化界面输入的链路测试请求。在一种实现方式中,服务器可以获取其他计算设备发送的链路测试请求,示例性地,服务器可以获取与服务器连接的终端设备发送的链路测试请求。

服务器在接收到链路测试请求后,响应于链路测试请求,可以通过网卡中的第一网卡端口向第一交换机发送第一测试数据包。其中,第一测试数据包的源地址为第一网卡端口的地址,第一测试数据包的目的地址为第二网卡端口的地址。另外,第一测试数据包中可以包括第一测试码流,在一种实现方式中,该第一测试码流可以为伪随机二进制序列(Pseudo Random Binary Sequence,简称PRBS)码流;在一种实现方式中,该第一测试码流可以为自定义码流,本申请实施例不对第一测试码流的具体内容进行限定。

在一种实现方式中,在服务器发送第一测试数据包之前,服务器中的处理器(如中央处理器),可以运行发包软件,生成第一测试数据包。服务器中的处理器在生成第一测试数据包后,可以将第一测试数据包发送至网卡,并通过网卡中的第一网卡端口向第一交换机发送第一测试数据包。需要说明的是,处理器可以通过高速串行计算机扩展总线标准(Peripheral Component Interconnect Express,简称PCIE)接口与网卡进行通信,以向网卡发送第一测试数据包。

在一种实现方式中,服务器响应于接收到链路测试请求,可以将网卡的工作模式配置为混杂模式,以使网卡可以无需验证数据包的地址,接收所有流经网卡的数据包。

具体地,网卡的工作模式包括广播模式和混杂模式。

数据包在网络中的传输过程是明文传输的。

在网卡的工作模式为广播模式的情况下,当服务器将数据包发送到网络上时,网络在进行数据包的传输时,会把数据包送到各个网络节点(网络节点指的是加入到网络中的各个服务器,如计算设备中的各个服务器)。与目的地址匹配的网络节点会接收这些数据包,其它的网络节点在确定其与数据包的目的地址不匹配的情况下,只对这些数据包做简单的丢弃操作。

网卡负责控制接收还是丢弃这些数据包。具体地,网卡会过滤出目的地址是该网卡的地址的数据包,并将目的地址为该网卡的地址的数据包,发送至处理器(如中央处理器)进行处理。另外,网卡会将目的地址不是该网卡的地址的数据包进行丢弃。

在网卡的工作模式为混杂模式(Promiscuous Model)的情况下,网卡可以侦听并接收所有通过该网卡的数据包,不需要验证数据包的地址。

当网卡的工作模式为广播模式时,在第一测试数据包的源地址为第一网卡端口的地址,第一测试数据包的目的地址为第二网卡端口的地址的情况下,也就是说,在第一测试数据包的发送方和接收方为同一网卡的情况下,网卡在获取处理器发送的第一测试数据包后,确定第一测试数据包的目的地址为网卡的第二网卡端口。网卡在确定第一测试数据包的目的地址为网卡的第二网卡端口的情况下,网卡可以直接将第一测试数据包发送至处理器。此时,该第一测试数据包仅能在服务器内部进行传输,无法发送至第一交换机和第二交换机,进而无法对计算设备的链路进行测试,也就是说,无法对第一链路(网卡的第一网卡端口→第一交换机),以及第二链路(网卡的第二网卡端口→第二交换机)进行测试。

当网卡的工作模式为混杂模式时,网卡在接收到第一测试数据包时,无需验证该第一测试数据包的目的地址。一方面,网卡在接收第一测试数据包时,可以将第一测试数据包发送至处理器;另一方面,网卡可以作为转发部件,将第一测试数据包发送至网络中。也就是说,第一测试数据包可以不局限于服务器内部,而是可以由网卡发送至第一交换机。

S302:第一交换机在接收到第二测试数据包后,向第二交换机发送第二测试数据包。

在本实施例中,第一测试数据包在流经第一链路(网卡的第一网卡端口→第一交换机)后,成为第二测试数据包。其中,第二测试数据包的源地址为第一网卡端口的地址,第二测试数据包的目的地址为第二网卡端口的地址。另外,第二测试数据包包括第三测试码流。在一种实现方式中,第三测试码流可以为伪随机二进制码流;在一种实现方式中,第三测试码流可以为自定义码流,本申请实施例不对第三测试码流的具体内容进行限定。

第一交换机在接收到第二测试数据包后,基于第二测试数据包的目的地址为第二网卡端口的地址,向第二交换机发送第二测试数据包。

S303:第二交换机在接收到第二测试数据包后,向服务器发送第二测试数据包。

在本实施例中,基于本申请对第一链路和第二链路进行测试的目的,以及第一交换机和第二交换机之间是采用预先准备的两个光模块以及光纤,或者,直连铜缆,进行电连接,因此确定第一交换机→第二交换机之间的链路无质量问题,也就是说,确定第二测试数据包在流经第一交换机和第二交换机时,不会出现丢包情况,第二测试数据包在流经(第一交换机→第二交换机)的链路后,仍为第二测试数据包。

第二交换机在接收到第一交换机发送的第二测试数据包后,基于第二测试数据包的目的地址为第二网卡端口的地址,向服务器发送第二测试数据包。

S304:服务器在通过网卡中的第二网卡端口接收到第三测试数据包的情况下,根据第一测试数据包和第三测试数据包,确定链路测试结果。

在本实施例中,第二测试数据包在流经第二链路(第二交换机→网卡的第二网卡端口)后,成为第三测试数据包。其中,第三测试数据包的源地址为第一网卡端口的地址,第三测试数据包的目的地址为第二网卡端口的地址。另外,第三测试数据包包括第二测试码流。在一种实现方式中,第二测试码流可以为伪随机二进制码流;在一种实现方式中,第二测试码流可以为自定义码流,本申请实施例不对第二测试码流的具体内容进行限定。

服务器可以通过网卡中的第二网卡端口,接收到第三测试数据包。

服务器中的处理器在通过网卡中的第二网卡端口接收到第三测试数据包后,可以根据处理器生成的第一测试数据包和接收到的第三测试数据包,确定链路测试结果。

具体地,在第一测试数据包包括第一测试码流,第三测试数据包包括第二测试码流的情况下,处理器可以根据第一测试码流和第二测试码流,确定误码率,并根据误码率,确定链路测试结果。

需要说明的是,服务器在确定链路测试结果为通过后,可以将网卡的工作模式由混杂模式重新配置为广播模式,以清除网卡的配置,从而使得在服务器的后续使用过程中,网卡仅接收目的地址为该网卡的数据包,从而避免网卡无差别的接收所有数据包,导致处理器的处理负荷增大。

本实施例中,在第一交换机(与服务器的网卡的第一网卡端口连接的交换机)与第二交换机(与服务器的网卡的第二网卡端口连接的交换机)电连接的情况下,测试数据包可以直接在网卡的第一网卡端口→第一交换机,第一交换机→第二交换机,以及,第二交换机→网卡的第二网卡端口的链路上进行传输。本实施例通过比较传输前的测试数据包(第一测试数据包)和传输后的测试数据包(第三测试数据包)确定链路的传输数据的效果。通过该种方式,无需利用单独开发的测试夹具,仅需要将与网卡的第一网卡端口连接的第一交换机,和与网卡的第二网卡端口的第二交换机之间进行电连接,即可对网卡与交换机的全链路进行快速测试。解决了相关技术中,无法在整机柜服务器生产环节中,对链路进行测试的问题,保证了测试通过的整机柜服务器的链路信号质量,能够满足正常的业务需求。

在上述方法实施例一的基础上,下面通过方法实施例二对服务器确定链路测试结果的过程进行详细说明。

图4为本申请实施例提供的一种链路测试方法实施例二的流程示意图。参见图4,该方法具体包括以下步骤:

S401:服务器在通过网卡中的第一网卡端口向第一交换机发送第一测试数据包后,确定在预设时长内,是否通过网卡中的第二网卡端口接收到第三测试数据包。

在本实施例中,服务器在通过网卡中的第一网卡端口向第一交换机发送第一测试数据包后,确定服务器在预设时长内,是否通过网卡中的第二网卡端口接收到第三测试数据包。

服务器在确定服务器在预设时长内,通过网卡中的第二网卡端口接收到第三测试数据包的情况下,执行S402;服务器在确定服务器在预设时长内,未通过网卡中的第二网卡端口接收到第三测试数据包的情况下,执行S403。

S402:服务器根据第一测试数据包和第三测试数据包,确定链路测试结果。

在本实施例中,服务器在确定服务器在预设时长内,通过网卡中的第二网卡端口接收到第三测试数据包的情况下,根据服务器生成的第一测试数据包和接收到的第三测试数据包,确定链路测试结果。

具体地,服务器可以比较第一测试数据包中的第一测试码流和第三测试数据包中的第二测试码流,确定第二测试码流中出现的错误码元数。服务器可以确定第一测试码流的总码元数,并根据第二测试码流中出现的错误码元数和第一测试数据包中的第一测试码流的总码元数,确定误码率。

服务器在确定误码率后,可以比较误码率和预设阈值。服务器在确定误码率大于预设阈值时,确定链路测试结果为通过。服务器在确定误码率小于或者等于预设阈值时,确定链路测试结果为不通过。

服务器在确定链路测试结果后,可以输出链路测试结果;其中,链路测试结果用于指示第一链路(网卡的第一网卡端口→第一交换机)和第二链路(第二交换机→网卡的第二网卡端口)的测试结果为通过或者不通过。

在一种实现方式中,服务器在确定链路测试结果为不通过的情况下,可以生成告警信息,以提醒测试人员链路测试结果为不通过。在一种实现方式中,服务器可以在生成告警信息后,控制计算设备显示或者播放该告警信息。具体地,计算设备显示有可视化界面,计算设备可以控制计算设备的可视化界面显示告警信息。计算设备还可以包括播放部件,计算设备可以控制计算设备的播放部件播放该告警信息。在另一种实现方式中,服务器可以在生成告警信息后,向其他计算设备(如终端设备,示例性地,终端设备可以为手机或者电脑)发送告警信息,以使其他计算设备显示或者播放该告警信息。

在一种实现方式,服务器在确定链路测试结果为不通过的情况下,可以控制网卡的第一告警指示灯点亮,以提醒测试人员链路测试结果为不通过。

同样地,服务器在确定链路测试结果为通过的情况下,可以生成通过信息,以提醒测试人员链路测试结果为通过。在一种实现方式中,服务器在生成通过信息后,可以控制计算设备的可视化界面显示该通过信息,或者,可以控制播放部件播放该通过信息。服务器在生成通过信息时,也可以向其他计算设备(如终端设备)发送该通过信息,以使其他计算设备显示或者播放该通过信息。服务器在确定链路测试结果为通过时,可以控制网卡的第二告警指示灯点亮,以提醒测试人员链路测试结果为通过。

需要说明的是,第一告警指示灯和第二告警指示灯可以为不同的指示灯,也可以为相同的指示灯。当第一告警指示灯和第二告警指示灯为相同的指示灯,可以以不同的颜色标识不同的信息。示例性地,当告警指示灯为红色时,表示链路测试结果为不通过;当告警指示灯为绿色时,表示链路测试结果为通过。

S403:服务器确定链路测试结果为不通过。

在本实施例中,服务器在确定服务器在预设时长内,未通过网卡中的第二网卡端口接收到第三测试数据包的情况下,可以直接确定链路测试结果为不通过。

需要说明的是,当服务器在预设时长内未通过网卡中的第二网卡端口接收到第三测试数据包的情况下,可以确定链路可能出现中断,或者,确定交换机可能出现故障,或者,确定网卡出现故障。

本实施例中,服务器在通过网卡中的第一网卡端口向第一交换机发送第一测试数据包后,确定在预设时长内,通过网卡中的第二网卡端口接收到第三测试数据包的情况下,根据第一测试数据包和第三测试数据包,确定链路测试结果。服务器在确定在预设时长内,未通过网卡中的第二网卡端口接收到第三测试数据包的情况下,可以直接确定链路测试结果为不通过。本实施例阐述了服务器根据第一测试数据包和第三测试数据包确定链路测试结果的过程,保证了链路测试结果可以反映网卡和交换机之间的真实链路情况。

图5为本申请实施例提供的一种链路测试方法实施例三的流程示意图。参见图5,该方法具体包括以下步骤:

S501:服务器响应于接收到链路测试请求,将网卡的第一网卡端口的标识写入至第一测试数据包。

在本实施例中,服务器在接收到链路测试请求时,可以将网卡的第一网卡端口的标识写入至第一测试数据包,并通过网卡中的第一网卡端口向第一交换机发送该第一测试数据包。示例性地,网卡的第一网卡端口的标识可以为该网卡端口的序列号,网卡的第一网卡端口的标识还可以为该网卡端口的名称。网卡的第一网卡端口的标识还可以为该网卡端口的MAC地址,网卡的第一网卡端口的标识还可以为该网卡端口的IP地址。

S502:服务器通过网卡中的第一网卡端口向第一交换机发送第一测试数据包。

S503:第一交换机在接收到第二测试数据包后,将第一交换机的标识写入至第二测试数据包。

在本实施例中,第一交换机在接收到第二测试数据包后,可以将第一交换机的标识写入至第二测试数据包。示例性地,第一交换机的标识可以为第一交换机的序列号,第一交换机的标识还可以为第一交换机的名称。

也就是说,此时第二测试数据包中包括网卡的第一网卡端口的标识和第一交换机的标识。

S504:第一交换机向第二交换机发送第二测试数据包。

S505:第二交换机在接收到第二测试数据包后,将第二交换机的标识写入至第二测试数据包。

在本实施例中,第二交换机在接收到第二测试数据包后,可以将第二交换机的标识写入至第二测试数据包。示例性地,第二交换机的标识可以为第二交换机的序列号,第二交换机的标识还可以为第二交换机的名称。

也就是说,此时第二测试数据包中包括网卡的第一网卡端口的标识、第一交换机的标识以及第二交换机的标识。

S506:第二交换机向服务器发送第二测试数据包。

S507:服务器在通过网卡中的第二网卡端口接收到第三测试数据包的情况下,根据第一测试数据包和第三测试数据包,确定链路测试结果。

在本实施例中,第二测试数据包在流经第二链路后,成为第三测试数据包。服务器在通过网卡中的第二网卡端口接收到第三测试数据包的情况下,可以将网卡的第二网卡端口的标识写入至第三测试数据包。示例性地,网卡的第二网卡端口的标识可以为该网卡端口的序列号,网卡的第二网卡端口的标识还可以为该网卡端口的名称。

也就是说,此时第三测试数据包包括网卡的第一网卡端口的标识、第一交换机的标识、第二交换机的标识以及网卡的第二网卡端口的标识。

S508:服务器根据链路测试结果和第三测试数据包,确定链路测试报告。

在本实施例中,服务器在根据第一测试数据包和第三测试数据包确定链路测试结果后,可以根据链路测试结果,以及第三测试数据包中包括的测试数据包流经的节点的标识,生成链路测试报告,其中,链路测试报告包括链路测试结果和测试数据包流经的节点。

示例性地,表1为链路测试报告。

表1链路测试报告

在一种实现方式中,服务器在生成链路测试报告后,可以控制计算设备的可视化界面显示该链路测试报告。

在一种实现方式中,服务器在生成链路测试报告后,可以控制播放部件播放该链路测试报告。

在一种实现方式中,服务器在生成链路测试报告后,可以向其他计算设备发送该链路测试报告,以使其他计算设备显示或者播放该链路测试报告。

本实施例中,服务器可以将网卡的第一网卡端口的标识写入测试数据包,测试数据包在流经第一交换机和第二交换机时,第一交换机和第二交换机可以将其标识写入测试数据包,服务器在通过网卡的第二网卡端口接收到测试数据包,可以将网卡的第二网卡端口的标识写入测试数据包。服务器可以根据测试数据包流经的节点,确定每一条完整的链路(第一网卡端口→第一交换机→第二交换机→第二网卡端口)的测试结果,以生成与每一条完整的链路对应的链路测试报告,从而使得测试人员清楚地获知每一条链路的测试结果。

下面通过实施例四对计算设备进行说明。

在本实施例中,第一交换机(与网卡的第一网卡端口连接的交换机)与第二交换机(与网卡的第二网卡端口连接的交换机)之间互联,具体地,第一交换机的上行端口与第二交换机的上行端口之间,可以通过光模块互联,也可以通过DAC互联。

需要说明的是,每个交换机所使用的端口的端口类型以及使用的端口的个数,与计算设备包括的全部服务器的个数、预设收敛比以及网卡端口类型有关。示例性地,当计算设备包括36个服务器,预设收敛比为3:2,网卡端口类型为25GE类型时,所有节点数据流带宽为36×25GE=900GE,基于预设收敛比为3:2,所以上行转发需要至少600GE。也就是说,上行转发需要6个100GE的交换机端口,或者上行转发需要3个200GE的交换机端口。本申请实施例对使用的交换机端口类型和个数不进行限定。

当上行转发需要6个100GE的交换机端口时,第一交换机可以通过6个第三端口(上行端口)和第二交换机的6个第三端口(上行端口),与第二交换机电连接。也就是说,在将第一交换机的端口与第二交换机的端口进行电连接时,需要通过6个100GE的DAC,或者通过12个100GE的光模块(第一交换机侧需要6个,第二交换机侧需要6个),将第一交换机的端口与第二交换机的端口进行电连接。

本实施例中,在对计算设备的链路进行测试的过程中,仅需要两个交换机之间互联的DAC或者光模块,无需其他测试环境,保证测试人员可以在对计算设备的链路进行测试时,简单快捷地部署测试环境,提高了测试效率,降低了测试成本。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

本申请实施例还提供一种服务器。图6为本申请实施例提供的一种服务器的结构示意图;如图6所示,该服务器60包括:配置模块61、处理模块62以及发送模块63。其中,发送模块63,用于响应于接收到链路测试请求,通过网卡中的第一网卡端口向第一交换机发送第一测试数据包;处理模块62,用于在通过网卡中的第二网卡端口接收到第三测试数据包的情况下,根据第一测试数据包和第三测试数据包,确定链路测试结果;其中,第三测试数据包为第二测试数据包流经第二链路后的数据包。

本申请实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

在一种实现方式中,处理模块62,还用于:在通过网卡中的第一网卡端口向第一交换机发送第一测试数据包后,确定在预设时长内,是否通过网卡中的第二网卡端口接收到第三测试数据包;在确定在预设时长内,通过网卡中的第二网卡端口接收到第三测试数据包的情况下,根据第一测试数据包和第三测试数据包,确定链路测试结果。

本申请实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

在一种实现方式中,处理模块62,具体用于:根据第一测试数据包和第三测试数据包,确定误码率;在确定误码率大于预设阈值时,确定链路测试结果为通过;或者,在确定误码率小于或者等于预设阈值时,确定链路测试结果为不通过。

本申请实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

在一种实现方式中,第一测试数据包包括第一测试码流,第三测试数据包包括第二测试码流;处理模块62,具体用于:根据第一测试码流和第二测试码流,确定误码率。

本申请实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

在一种实现方式中,第一测试码流和第二测试码流为伪随机二进制序列码流,或者,自定义码流。

本申请实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

在一种实现方式中,处理模块62,还用于:在确定在预设时长内,未通过网卡中的第二网卡端口接收到第三测试数据包的情况下,确定链路测试结果为不通过。

本申请实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

在一种实现方式中,发送模块63,还用于输出链路测试结果;链路测试结果用于指示第一链路和第二链路的测试结果为通过或者不通过。

在一种实现方式中,处理模块62,还用于:在确定链路测试结果为不通过的情况下,输出告警信息;或者,控制网卡的告警指示灯点亮。

本申请实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

在一种实现方式中,在发送模块63通过网卡中的第一网卡端口向第一交换机发送第一测试数据包之前,配置模块61,用于将网卡的工作模式配置为混杂模式。

本申请实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

在一种实现方式中,配置模块61,还用于:在确定链路测试结果为通过的情况下,将网卡的工作模式配置为广播模式。

本申请实施例提供的服务器,可以执行上述方法实施例中的执行主体为服务器的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

本申请实施例还提供一种第一交换机。图7为本申请实施例提供的一种第一交换机的结构示意图;如图7所示,该第一交换机70包括:接收模块71和发送模块72。其中,接收模块71,用于接收第二测试数据包;发送模块72,用于向第二交换机发送第二测试数据包;其中,第二测试数据包为第一测试数据包流经第一链路后的数据包。

本申请实施例提供的第一交换机,可以执行上述方法实施例中的执行主体为第一交换机的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

本申请实施例还提供一种第二交换机。图8为本申请实施例提供的一种第二交换机的结构示意图;如图8所示,该第二交换机80包括:接收模块81和发送模块82。其中,处理模块81,用于接收第二测试数据包;发送模块82,用于向服务器发送第二测试数据包。

本申请实施例提供的第二交换机,可以执行上述方法实施例中的执行主体为第二交换机的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

本申请实施例还提供一种计算设备,包括服务器、第一交换机以及第二交换机。其中,第一交换机与第二交换机电连接。

计算设备可以为整机柜服务器,计算设备还可以为其他包括服务器和交换机的设备。

本申请实施例提供的计算设备中的服务器,可以执行方法实施例中的执行主体为服务器的技术方案,本申请实施例提供的计算设备中的第一交换机,可以执行方法实施例中的执行主体为第一交换机的技术方案,本申请实施例提供的计算设备中的第二交换机,可以执行方法实施例中的执行主体为第二交换机的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

相关技术
  • 一种边界扫描测试链路的设计及测试方法
  • 一种通信卫星返向链路和前向链路测试方法
  • 基于100G/400G PRBS测试验证链路实现的高速串行总线链路测试方法
技术分类

06120116219560