本发明涉及交换机技术领域,尤其涉及一种数据中心交换机的时延探测方法、装置、设备及介质。
背景技术:
随着数据中心网络的设备规模日益增大,承载的业务越来越多,用户对网络的智能运维提出了更高的要求,包括监控数据拥有更高的精度以便及时检测和快速调整微突发流量,同时监控过程要对设备自身功能和性能影响小以便提高设备和网络的利用率。
目前,现有的数据中心网时延探测主要采用遥测协议,然而传统遥测协议部署实现较为复杂,对交换机要求高,如何更好的利用传统交换技术实现数据中心时延探测机制成为一个技术性的难题。
技术实现要素:
有鉴于此,有必要针对以上技术问题,提供部署简单、且稳定可靠的一种数据中心交换机的时延探测方法、装置、设备及介质。
根据本发明的第一方法,提供了一种数据中心交换机的时延探测方法,所述方法包括:
将数据中心的多个交换机配置为开启串联模式,并将所述多个交换机的探测报文标识dscp均配置为第一预设值;
多个交换机依次接收并解析ip报文以确定所述ip报文对应的dscp值,并将其与第一预设值比较;
响应于所述ip报文对应的dscp值等于第一预设值,则每跳交换机将报文的收发时间添加至接收的ip报文中并转发至后一跳交换机;
获取最后一跳交换机转发的ip报文,并根据最后一跳交换机转发的ip报文中的收发时间确定传输时延。
在其中一个实施例中,所述方法还包括:
响应于所述ip报文对应的dscp值不等于第一预设值,则每一跳交换机将从前一跳交换机接收的ip报文依次转发。
在其中一个实施例中,所述每跳交换机将报文的收发时间添加至接收的ip报文中并转发至后一跳交换机的步骤包括:
利用交换机的交换芯片入口处理流程获取报文接收时间和入端口标识;
利用交换机的交换芯片出口处理流程获取报文发送时间和出端口标识;
将所述报文接收时间和入端口标识以及所述报文发送时间和出端口标识作为探测数据,并将所述探测数据封装到ip报文中;
将携带有所述探测数据的ip报文作为新的报文转发到下一跳交换机。
在其中一个实施例中,所述获取最后一跳交换机转发的ip报文,并根据最后一跳交换机转发的ip报文中的收发时间确定传输时延的步骤包括:
检测当前交换机是否为最后一跳交换机;
响应于检测到最后一跳交换机,则将所述最后一跳交换机发送的ip报文上传至采集器;
所述采集器接收并解析最后一跳交换机发送的ip报文以得到探测数据;
根据所述探测数据确定第一跳交换机的报文接收时间和最后一跳交换机的报文发送时间;
将所述第一跳交换机的报文接收时间和所述最后一跳交换机的报文发送时间的差值作为所述传输时延。
在其中一个实施例中,所述方法还包括:
根据所述探测数据确定每一跳交换机的入端口标识和出端口标识;
获取多个交换机的串联次序,并根据所述串联次序对所述每一跳交换机的入端口标识和出端口标识进行排序,以得到所述传输时延对应的传输路径。
在其中一个实施例中,所述方法还包括:
预先获取待发送的ip报文的类型;
响应于所述待发送的ip报文为探测报文,则报文发送设备将所述待发送报文的dscp配置为第一预设值,并将待发送的ip报文发送至第一条跳交换机;
响应于所述待发送的ip报文为业务报文,则报文发送设备将所述待发送报文的dscp配置为不同的第二预设值,并将待发送的ip报文发送至第一条跳交换机。
在其中一个实施例中,每一跳交换机的报文的收发时间均添加至当前交换机转发的ip报文末尾。
根据本发明的第二方面,提供了一种数据中心交换机的时延探测装置,所述装置包括:
交换机配置模块,用于将数据中心的多个交换机配置为开启串联模式,并将所述多个交换机的探测报文标识dscp均配置为第一预设值;
ip报文接收解析模块,用于多个交换机依次接收并解析ip报文以确定所述ip报文对应的dscp值,并将其与第一预设值比较;
收发时间添加模块,用于在所述ip报文对应的dscp值等于第一预设值时,则每跳交换机将报文的收发时间添加至接收的ip报文中并转发至后一跳交换机;
传输时延确定模块,用于获取最后一跳交换机转发的ip报文,并根据最后一跳交换机转发的ip报文中的收发时间确定传输时延。
根据本发明的第三方面,还提供了一种计算机设备,该计算机设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的数据中心交换机的时延探测方法。
根据本发明的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的数据中心交换机的时延探测方法。
上述一种数据中心交换机的时延探测方法,通过将多个交换机的探测报文标识dscp配置为第一预设值,并对交换机接收的报文进行解析,如果p报文对应的dscp值等于第一预设值,则每跳交换机将报文的收发时间添加至接收的ip报文中并转发至后一跳交换机,进而根据最后一跳交换机转发的ip报文中的收发时间确定传输时延,避免了使用复杂的遥测协议识别探测报文,部署简单方便,开发成本较低,且探测结果稳定可靠。
此外,本发明还提供了一种数据中心交换机的时延探测装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明一个实施例提供的一种数据中心交换机的时延探测方法的流程示意图;
图2为本发明另一个实施例提供的数据中心交换机sink模式下ip报文转发示意图;
图3为本发明另一个实施例提供的数据中心交换机网络组网配置流程示意图;
图4为本发明另一个实施例提供的一种数据中心交换机的时延探测流程图结构示意图;
图5为本发明另一个实施例提供的数据中心交换机的时延探测装置的示意图;
图6为本发明另一个实施例中算机设备的内部结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
在一个实施例中,请参照图1所示,本发明提供了一种数据中心交换机的时延探测方法,所述方法包括:
s100,将数据中心的多个交换机配置为开启串联模式,并将所述多个交换机的探测报文标识dscp均配置为第一预设值;
其中,串联模式即sink模式,具体请参照图2所示,该交换中心由交换机sw1、交换机sw2和交换机sw3组成,假设server1为发出ip报文的设备,server1为目的接收设备,ip报文的传递顺序自左向右,即交换机sw1为第一跳交换机,交换机sw3为最后一跳交换机;dscp(differentiatedservicescodepoint)即差分服务代码点。
s200,多个交换机依次接收并解析ip报文以确定所述ip报文对应的dscp值,并将其与第一预设值比较;举例来说,通常ip报文的inthrd中包含dcxp字段,dcxp字段记录有dscp值。
s300,响应于所述ip报文对应的dscp值等于第一预设值,则每跳交换机将报文的收发时间添加至接收的ip报文中并转发至后一跳交换机;较佳的,每一跳交换机的报文的收发时间均添加至当前交换机转发的ip报文末尾。
s400,获取最后一跳交换机转发的ip报文,并根据最后一跳交换机转发的ip报文中的收发时间确定传输时延。
上述一种数据中心交换机的时延探测方法,通过将多个交换机的探测报文标识dscp配置为第一预设值,并对交换机接收的报文进行解析,如果p报文对应的dscp值等于第一预设值,则每跳交换机将报文的收发时间添加至接收的ip报文中并转发至后一跳交换机,进而根据最后一跳交换机转发的ip报文中的收发时间确定传输时延,避免了使用复杂的遥测协议识别探测报文,部署简单方便,开发成本较低,且探测结果稳定可靠。
在又一个实施例中,为了保证交换机的正常得业务功能所述方法还包括:
s500,响应于所述ip报文对应的dscp值不等于第一预设值,则每一跳交换机将从前一跳交换机接收的ip报文依次转发。由此dscp值不等于第一预设值的ip报文视为普通的业务报文,该普通的业务报文在多个交换机之间的转发下到底目的接收设备。
在又一个实施例中,前述步骤s300具体包括以下子步骤:
s310,利用交换机的交换芯片入口处理流程获取报文接收时间和入端口标识;
s320,利用交换机的交换芯片出口处理流程获取报文发送时间和出端口标识;
s330,将所述报文接收时间和入端口标识以及所述报文发送时间和出端口标识作为探测数据,并将所述探测数据封装到ip报文中;其中探测数据记作md。
举例来说,请参照表1,表1为探测数据封装格式,rx_time即为报文接收时间,rx_port为入端口标识,tx_time即为报文发送时间,tx_por为出端口标识优选地探测数据中还可包括交换机的id、fcs等信息。
表1探测数据封装格式
340,将携带有所述探测数据的ip报文作为新的报文转发到下一跳交换机。
在又一个实施例中,前述步骤s400具体包括:
s410,检测当前交换机是否为最后一跳交换机;
s420,响应于检测到最后一跳交换机,则将所述最后一跳交换机发送的ip报文上传至采集器;
s430,所述采集器接收并解析最后一跳交换机发送的ip报文以得到探测数据;
s440,根据所述探测数据确定第一跳交换机的报文接收时间和最后一跳交换机的报文发送时间;
s450,将所述第一跳交换机的报文接收时间和所述最后一跳交换机的报文发送时间的差值作为所述传输时延。
优选地,在前述实施例的基础上,所述方法还包括:
s610,根据所述探测数据确定每一跳交换机的入端口标识和出端口标识;
s620,获取多个交换机的串联次序,并根据所述串联次序对所述每一跳交换机的入端口标识和出端口标识进行排序,以得到所述传输时延对应的传输路径。
在又一个实施例中,所述方法还包括:
s710,预先获取待发送的ip报文的类型;
s720,响应于所述待发送的ip报文为探测报文,则报文发送设备将所述待发送报文的dscp配置为第一预设值,并将待发送的ip报文发送至第一条跳交换机;
s730,响应于所述待发送的ip报文为业务报文,则报文发送设备将所述待发送报文的dscp配置为不同的第二预设值,并将待发送的ip报文发送至第一条跳交换机。
在又一个实施例中,请再次参照图2所示,为了便于理解本发明的技术方案,下面以三个交换机为例进行说明,假设该数据中的应用场景为server1是手机,server2是网站服务器,假设以server1通过交换机sw1至交换机sw3向server2发送ip报文,具体来说该数据中心交换机的时延探测方法包括以下步骤:
步骤1、首先进行网络组网配置;具体的请参照图3所示,网络组网配置包括:开启交换机sw1至交换机sw3的sink时延探测,分别配置sw1至交换机sw3的交换机id(交换机标识),用于在探测组网中作为交换机的唯一标识;为交换机sw1至交换机sw3配置统一的dscp(差分服务代码点)作为探测报文的唯一标识,交换机接收到对应dscp(差分服务代码点)的报文识别为探测报文,其余报文作为普通业务报文处理;最后需要配置交换机的转发次序,即交换机sw1第一跳交换机,交换机sw2为第二跳交换机,交换机sw3为最后一跳交换机,其中只有交换机sw3的探测报文会上送采集器,而企业交换机的探测报文无需上送采集器。
步骤2,由server1发送ip报文,交换机sw1解析ip报文以确定报文属于探测报文还是业务报文,并根据具体的报文类型进行相应操作;具体的请参照图4所示,判断接收到的ip报文中的dscp是否和配置的探测报文的dscp相匹配:如果接收到的ip报文和配置的探测报文的dscp(差分服务代码点)不匹配,认为是业务报文,按照正常业务报文进行二三层转发;如果接收到的ip报文和配置的探测报文的dscp匹配,认为是探测报文,探测报文需要逐级抓取收发方向时间戳,并在原有ip报文的尾部封装探测字段;
步骤3,假如ip报文识别为探测报文,在交换芯片ingress(入方向)处理时打上对应接收时间戳和对应入方向端口标识;
步骤4,假如ip报文识别为探测报文,在交换芯片egress(出方向)处理时打上对应发送时间戳和对应出端口标识;对应交换机sw2和sw3同样需要执行上述步骤2-步骤4
步骤5,判断交换机是否为最后一跳交换机;如果交换机不是最后一跳交换机,则探测报文和业务报文相同,正常二三层转发;例如交换机sw1和交换机sw2均不是最后一跳交换机只需要进程正常的报文转发即可;如果交换机是最后一跳交换机,则探测报文需要上送采集器;
步骤6,采集器接收交换机sw3到探测报文,计算全路径的时延,最后一条交换机探测数据(即sw3md)中的发送时间tx_time减去第一跳交换机探测数据(即sw1md)中的接收rx_time即为整个路径的传输延时。
上述数据中心交换机的时延探测方法,交换机通过规定ip报文中特定的dscp)值为探测报文标识,当交换机接收到对应dscp数值的报文识别为网络探测报文,当接收到其它dscp数值的报文识别为业务报文,从而完成探测报文和业务报文的区分,进一步的在属于探测报文的原有报文的末尾逐级封装收发时间,并由最后一跳交换机上送采集器,实现整个传输路径的时延探测,该组网方案简单,稳定性高。
在又一个实施例中,请参照图5所示,本发明提供了一种数据中心交换机的时延探测装置80,所述装置包括:
交换机配置模块81,用于将数据中心的多个交换机配置为开启串联模式,并将所述多个交换机的探测报文标识dscp均配置为第一预设值;
ip报文接收解析模块82,用于多个交换机依次接收并解析ip报文以确定所述ip报文对应的dscp值,并将其与第一预设值比较;
收发时间添加模块83,用于在所述ip报文对应的dscp值等于第一预设值时,则每跳交换机将报文的收发时间添加至接收的ip报文中并转发至后一跳交换机;
传输时延确定模块84,用于获取最后一跳交换机转发的ip报文,并根据最后一跳交换机转发的ip报文中的收发时间确定传输时延。
需要说明的是,关于数据中心交换机的时延探测装置的具体限定可以参见上文中对数据中心交换机的时延探测方法的限定,在此不再赘述。上述数据中心交换机的时延探测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
根据本发明的另一方面,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图请参照图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的数据中心交换机的时延探测方法。
根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的数据中心交换机的时延探测方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
1.一种数据中心交换机的时延探测方法,其特征在于,所述方法包括:
将数据中心的多个交换机配置为开启串联模式,并将所述多个交换机的探测报文标识dscp均配置为第一预设值;
多个交换机依次接收并解析ip报文以确定所述ip报文对应的dscp值,并将其与第一预设值比较;
响应于所述ip报文对应的dscp值等于第一预设值,则每跳交换机将报文的收发时间添加至接收的ip报文中并转发至后一跳交换机;
获取最后一跳交换机转发的ip报文,并根据最后一跳交换机转发的ip报文中的收发时间确定传输时延。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述ip报文对应的dscp值不等于第一预设值,则每一跳交换机将从前一跳交换机接收的ip报文依次转发。
3.根据权利要求1所述的方法,其特征在于,所述每跳交换机将报文的收发时间添加至接收的ip报文中并转发至后一跳交换机的步骤包括:
利用交换机的交换芯片入口处理流程获取报文接收时间和入端口标识;
利用交换机的交换芯片出口处理流程获取报文发送时间和出端口标识;
将所述报文接收时间和入端口标识以及所述报文发送时间和出端口标识作为探测数据,并将所述探测数据封装到ip报文中;
将携带有所述探测数据的ip报文作为新的报文转发到下一跳交换机。
4.根据权利要求3所述的方法,其特征在于,所述获取最后一跳交换机转发的ip报文,并根据最后一跳交换机转发的ip报文中的收发时间确定传输时延的步骤包括:
检测当前交换机是否为最后一跳交换机;
响应于检测到最后一跳交换机,则将所述最后一跳交换机发送的ip报文上传至采集器;
所述采集器接收并解析最后一跳交换机发送的ip报文以得到探测数据;
根据所述探测数据确定第一跳交换机的报文接收时间和最后一跳交换机的报文发送时间;
将所述第一跳交换机的报文接收时间和所述最后一跳交换机的报文发送时间的差值作为所述传输时延。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述探测数据确定每一跳交换机的入端口标识和出端口标识;
获取多个交换机的串联次序,并根据所述串联次序对所述每一跳交换机的入端口标识和出端口标识进行排序,以得到所述传输时延对应的传输路径。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
预先获取待发送的ip报文的类型;
响应于所述待发送的ip报文为探测报文,则报文发送设备将所述待发送报文的dscp配置为第一预设值,并将待发送的ip报文发送至第一条跳交换机;
响应于所述待发送的ip报文为业务报文,则报文发送设备将所述待发送报文的dscp配置为不同的第二预设值,并将待发送的ip报文发送至第一条跳交换机。
7.根据权利要求1所述的方法,其特征在于,每一跳交换机的报文的收发时间均添加至当前交换机转发的ip报文末尾。
8.一种数据中心交换机的时延探测装置,其特征在于,所述装置包括:
交换机配置模块,用于将数据中心的多个交换机配置为开启串联模式,并将所述多个交换机的探测报文标识dscp均配置为第一预设值;
ip报文接收解析模块,用于多个交换机依次接收并解析ip报文以确定所述ip报文对应的dscp值,并将其与第一预设值比较;
收发时间添加模块,用于在所述ip报文对应的dscp值等于第一预设值时,则每跳交换机将报文的收发时间添加至接收的ip报文中并转发至后一跳交换机;
传输时延确定模块,用于获取最后一跳交换机转发的ip报文,并根据最后一跳交换机转发的ip报文中的收发时间确定传输时延。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器中运行的计算机程序,所述处理器执行所述程序时执行权利要求1-7任意一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求1-7任意一项所述的方法。
技术总结