CN108449228A - 报文处理方法及网络设备 - Google Patents
报文处理方法及网络设备 Download PDFInfo
- Publication number
- CN108449228A CN108449228A CN201810180564.6A CN201810180564A CN108449228A CN 108449228 A CN108449228 A CN 108449228A CN 201810180564 A CN201810180564 A CN 201810180564A CN 108449228 A CN108449228 A CN 108449228A
- Authority
- CN
- China
- Prior art keywords
- metadata
- chip
- int messages
- int
- messages
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
Landscapes
- Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文处理方法及网络设备,网络设备包括入芯片、出芯片、交换芯片和计算装置。计算装置接收出芯片发送的INT报文,并分别计算该INT报文中的第一元数据、第二元数据和第三元数据中所包括的出时间信息与入时间信息的时间差值,对计算得到的时间差值求和,得到该INT报文在网络设备中的停留时间,根据该停留时间计算该INT报文在网络设备的出时间信息,将第一元数据中的出时间信息修改为计算出的出时间信息,删除第二元数据和第三元数据,得到修改后的INT报文,并通过出芯片转发修改后的INT报文。如此,即便网络设备中各芯片的时间不同步,也能够准确计算出网络设备转发报文的延时。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种报文处理方法及网络设备。
背景技术
为了监测网络设备(如,交换机、路由器等)的转发延时,可以在经过网络设备的报文中添加该报文在网络设备的入时间信息(如,入时间戳)和出时间信息(如,出时间戳),从而根据该报文中添加的入时间信息和所述出时间信息得到该报文在网络设备的停留时间,即网络设备转发该报文的延时。
然而,当网络设备中各个芯片的时间不同步时,通过上述方式计算得到的停留时间是不准确的,也就无法对网络设备的转发延时进行精准监测。
发明内容
有鉴于此,本申请的目的在于提供一种报文处理方法及网络设备,以改善上述问题。
为了达到上述目的,本申请实施例提供一种报文处理方法,应用于网络设备,该网络设备包括入芯片、出芯片、交换芯片及计算装置,入芯片和出芯片分别与计算装置通信连接,该方法包括:
计算装置接收出芯片发送的INT报文,该INT报文包括第一元数据、第二元数据和第三元数据,其中,第一元数据包括该INT报文在入芯片的入时间信息和出时间信息,第二元数据包括该INT报文在交换芯片的入时间信息和出时间信息,第三元数据包括该INT报文在出芯片的入时间信息和出时间信息;
计算装置分别计算第一元数据、第二元数据和第三元数据中的出时间信息与入时间信息的时间差值,对计算得到的时间差值求和,得到该INT报文在网络设备中的停留时间;
计算装置根据所述停留时间和第一元数据中的入时间信息得到所述INT报文在所述网络设备的出时间信息,在接收到的INT报文中将第一元数据中的出时间信息修改为所述INT报文在网络设备的出时间信息,删除第二元数据和第三元数据,得到修改后的INT报文,并通过出芯片对该修改后的INT报文进行转发。
本申请实施例还提供一种网络设备,包括入芯片、出芯片、交换芯片和计算装置,入芯片和出芯片分别与计算装置通信连接;
计算装置接收出芯片发送的INT报文,该INT报文包括第一元数据、第二元数据及第三元数据,其中,第一元数据包括该INT报文在入芯片的入时间信息和出时间信息,第二元数据包括该INT报文在交换芯片的入时间信息和出时间信息,第三元数据包括该INT报文在出芯片的入时间信息和出时间信息;
计算装置分别计算第一元数据、第二元数据和第三元数据中的出时间信息与入时间信息的时间差值,对计算得到的时间差值求和,得到该INT报文在网络设备中的停留时间;
计算装置根据停留时间和第一元数据中的入时间信息得到所述INT报文在所述网络设备的出时间信息,在接收到的INT报文中将第一元数据中的出时间信息修改为所述INT报文在网络设备的出时间信息,删除第二元数据和第三元数据,并通过出芯片对该修改后的INT报文进行转发。
相较于现有技术,本申请实施例具有以下有益效果:
本申请实施例提供的一种报文处理方法及网络设备,网络设备包括入芯片、出芯片、交换芯片和计算装置,计算装置接收出芯片发送的包括第一元数据、第二元数据和第三元数据的INT报文,分别计算第一元数据、第二元数据和第三元数据中的出时间信息与入时间信息的时间差值,对计算得到的时间差值求和,得到该INT报文在网络设备中的停留时间;根据该停留时间和第一元数据中的入时间信息得到该INT报文在网络设备的出时间信息,在接收到的INT报文中将第一元数据中的出时间信息修改为该INT报文在网络设备的出时间信息,得到修改后的INT报文,并通过出芯片对该修改后的INT报文进行转发。如此,即便网络设备中的各个芯片的时间不同步,也可以准确地计算出网络设备转发报文的延时。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种网络设备的方框示意图;
图2为本申请实施例提供的一种报文处理方法的流程示意图;
图3为本申请实施例提供的一种交换机A的方框示意图;
图4为本申请实施例提供的一种报文传输路径的示意图;
图5为本申请实施例提供的一种报文格式示意图。
图标:100-网络设备;110-处理器;120-计算装置;130-交换芯片;140、141-转发芯片。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为了对网络设备的运行状态进行监测,可以控制网络设备在经过的报文中插入自身的运行状态信息,监测平台(或监测装置)获取该报文并解析出该报文中携带的运行状态信息,即可对网络设备的运行状态进行监控。
在本实施例中,上述过程可以通过带内网络遥感(In-band Network Telemetry,INT)技术实现。实施时,针对需要监测的网络设备,可以开启该网络设备的INT功能,并设置需要监测的信息,例如网络设备的转发延时、队列利用率等。如此,当该网络设备接收到报文时,会检测该报文中是否包括INT Header,从而判定该报文是否为INT报文。若不包括,则确定该报文不是INT报文,并根据设置的需要监测的信息在该报文中插入相应的INTHeader,再根据INT Header将相应的运行状态信息作为MetaData(元数据)插入到该报文中;若包括,则确定该报文是INT报文,可以直接根据该INT Header将相应的运行状态信息作为元数据插入到该报文中。
其中,所设置的需要监测的具体信息不同,插入的INT Header也会不同。插入有INT Header的报文通常被称作INT报文。
实施时,当包括元数据的INT报文被转发至下一个网络设备时,若该下一个网络设备的INT功能也被开启,则该下一个网络设备会根据接收到的INT报文中的INT Header在该INT报文中插入新的元数据。
以需要监测的信息是网络设备的转发延时为例,插入到INT报文中的元数据可以包括网络设备的标识、入端口标识(如,入端口号)、入时间信息、出端口标识(出端口号)、出时间信息等。详细地,入时间信息可以是INT报文进入网络设备的时间戳(入时间戳),出时间信息可以是INT报文离开网络设备的时间戳(出时间戳),该出时间信息通常是在将INT报文转发出本设备时被插入到INT报文中。通过该入时间信息和出时间信息可以得到该INT报文在网络设备中的停留时间,即转发延时(Hop Latency)。通过网络设备的标识、入端口标识及出端口标识,可以唯一地确定网络设备及该INT报文在该网络设备中的转发路径。
通过上述过程,当报文转发速度过慢时,可以根据收集到的INT报文中的元数据检测出导致转发速度慢的具体网络设备,从而能够针对性地进行调整,有效提高报文转发速度。
在现有技术中,通常是根据INT报文在网络设备的入时间信息和出时间信息来计算INT报文在网络设备中的停留时间,而当网络设备包括两个以上转发芯片(包括两个)时,INT报文在该网络设备的入端口和出端口可能在不同的转发芯片上。此时,实际是根据INT报文在入芯片(入端口所在的转发芯片)的入时间信息和INT报文在出芯片(出端口所在的转发芯片)的出时间信息来计算该INT报文在网络设备中的停留时间。
然而,如果网络设备中的各个芯片的时间不同步,则可能出现如下情况:INT报文在入芯片的入时间信息为100,在出芯片的出时间信息为99,在此情形下无法计算出该INT报文在网络设备中的停留时间。即便该INT报文在出芯片的出时间信息为101,计算出的的停留时间也是没有意义的,因为各芯片不是基于相同的基准时间。
在现有技术中,有时可以采用时钟同步机制(如,1588时钟同步功能)实现各芯片的时间同步,但是在实际应用中,容易出现芯片不支持时钟同步机制或是时钟同步机制出现问题的情况。
因此,如何在网络设备中的芯片时间不同步时,仍旧准确地计算出INT报文在网络设备中的停留时间成为有待解决的问题。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程及下文中本申请实施例针对上述问题所提出的解决方案,都应该是发明人在发明过程中对本申请做出的贡献。
基于上述研究,本实施例提供了一种报文处理方法及网络设备,计算装置接收出芯片发送的包括第一元数据、第二元数据和第三元数据的INT报文,分别计算第一元数据、第二元数据和第三元数据中的出时间信息与入时间信息的时间差值,对计算出的时间差值求和得到该INT报文在网络设备中的停留时间,并将该停留时间添加到该INT报文中转发出去。如此,即便网络设备中各芯片的时间不同步,仍能准确计算出INT报文在网络设备中的停留时间。下面将结合附图对该内容进行详细介绍。
请参照图1,是本申请实施例提供的一种网络设备100的示意图。网络设备100可以是交换机、路由器等任意具有数据转发功能的设备。如图1所示,网络设备100包括处理器(CPU,Central Processing Unit)110、计算装置120、交换芯片130及至少两个转发芯片(例如图1中的转发芯片140和转发芯片141)。
处理器110、计算装置120、交换芯片130及至少两个转发芯片相互之间直接或间接地电性连接,以实现数据的传输或交互。其中,转发芯片可以是位于网络设备100的转发板上的芯片,交换芯片130可以是位于网络设备100的交换板上的芯片。
转发芯片中存储有转发表,当接收到报文时,可根据存储的转发表对报文进行转发。交换芯片130用于将INT报文从一个转发芯片交换到另一个转发芯片,例如,当某一报文在转发芯片140进入网络设备100时,转发芯片140根据本芯片中的转发表确定该报文的出口在转发芯片141,则转发芯片140将该报文转发给交换芯片130,由交换芯片130将该报文交换至转发芯片141。
在本实施例中,网络设备100中的每一个芯片或每多个芯片可以通过一个处理器110进行管理,处理器110可以用于对该一个芯片或该多个芯片接收到的报文进行处理。对应地,网络设备100中可以包括一个以上处理器110。
在本实施例中,计算装置120可以是FPGA(Field-Programmable Gate Array,现场可编程门阵列)芯片,也可以由网络设备100中的任意一个处理器110来替代。网络设备100中的每个转发芯片与计算装置120通信连接,可以与计算装置120进行报文交互。
值得说明的是,本实施例中,处理器110、交换芯片130及至少两个转发芯片可以与计算装置120作为一个整体安装在一起,也可以是处理器110、交换芯片130和至少两个转发芯片作为一个整体安装在一起,计算装置120独立于该整体,本实施例对此不做限制。
应当理解,图1所示的结构仅为示意,网络设备100还可以包括比图1所示更多或更少的组件,或是具有与图1所示完全不同的配置。值得说明的是,网络设备100中的各组件可以以软件、硬件或其组合实现,本实施例对此不做限制。
请参照图2,是本申请实施例提供的一种报文处理方法的流程示意图,该报文处理方法可以应用于图1所示的网络设备100。下面结合图2对该报文处理方法的具体流程及步骤做详细阐述。
步骤S210,入芯片在接收到INT报文时,在该INT报文中添加第一元数据,在存储的转发表中查找该INT报文的出端口,当确定该出端口不在本芯片时,将包括第一元数据的INT报文转发给交换芯片,并在转发时在第一元数据中设置该INT报文在该入芯片的出时间信息。
在本实施例中,当任意一个转发芯片通过外部物理端口接收到报文时,可以确定该转发芯片是该报文的入芯片;当任意一个转发芯片通过芯片互联口接收到报文时,可以确定该转发芯片是该报文的出芯片。
原因在于,在实际应用中,网络设备100中的每个转发芯片至多包括两种类型的端口:外部物理端口和芯片互联口。其中,芯片互联口是指芯片上与其他芯片互联的端口,外部物理端口即为芯片上不与其他芯片互联的端口。
以网络设备100是交换机A为例,请参阅图3,交换机A中,转发芯片a1包括端口P1、端口P2和端口P3,转发芯片a2包括端口P4和P5,转发芯片a2包括端口P6和端口P7。其中,转发芯片a1的端口P3与交换芯片a3的端口P4互联,即端口P3和端口P4为芯片互联口。转发芯片a2的端口P6和交换芯片的端口P5互联,即端口P6和端口P5为芯片互联口。端口P1、端口P2、端口P7未与其他芯片互联,为外部物理端口。
在实际应用中,一条报文在交换机A中的转发路径包括以下情形:第一,报文的入芯片和出芯片是相同的转发芯片,即报文只经过一个转发芯片;第二,报文的入芯片和出芯片是不同的转发芯片,即报文会经过三个芯片,所述三个芯片分别是入芯片、交换芯片及出芯片,其中交换芯片用于将报文从入芯片交换到出芯片。
由此可见,交换芯片a3必然不会是报文的入芯片和出芯片。至于转发芯片,当报文从转发芯片的物理端口进入时,该报文必然是从交换机A之外的设备直接发送而来的,因此,该转发芯片是该报文的入芯片。当报文从转发芯片的芯片互联口进入时,表示该报文是从交换机A中的其他芯片转发而来的,而一条报文在交换机A中至多经过两个转发芯片,因此该转发芯片必然是该报文在交换机A的出芯片。
在本实施例中,网络设备100中每个芯片的INT功能被开启。当芯片的INT功能被开启后,该芯片在接收到报文时,会检测该报文是否为INT报文,当该报文是INT报文时,在该报文中插入相应的元数据。例如图1所示的网络设备100中,交换芯片130、转发芯片140和转发芯片141的INT功能被开启,则交换芯片130、转发芯片140和转发芯片141中的任意一个接收到报文时,会检测该报文是否为INT报文,若是,则在该报文中插入相应的元数据。
INT报文是指包括INT Header的报文。其中,可以在INT Header中预设一标识信息,由于INT Header的各个字段在报文中的位置是确定的,在设置完成后,预设的标识信息的位置也是固定的。基于此,可以通过检测报文的相应字段是否包括预设的标识信息,来判断该报文是否为INT报文。
例如,可以在INT Header的Probe Marker字段中设置字符0xAAAA_AAAA。由于INTHeader的Probe Marker字段在报文中的位置是固定的,因此在接收到报文时,可以检测该报文中与Probe Marker字段对应的位置是否包括0xAAAA_AAAA,若是,则可以确定该报文为INT报文,并根据该报文中的INT Header在该报文中插入相应的元数据。
当然,该预设的标识信息也可以是其他字符,上述的0xAAAA_AAAA仅为示例,不应作为对本实施例的限定。
在实际应用中,网络设备100接收到的报文,可能是其他INT功能被开启的网络设备发送过来的,此时该报文中已经包括INT Header;此外,也可能是不具备INT功能的设备发送而来的,此时该报文中不包括INT Header。
针对上述情形,在本实施例中,当网络设备100中的任意一个转发芯片通过物理端口接收到报文,即入芯片接收到报文时,可以通过如下步骤确定该报文是否为INT报文。
检测该报文的预设字段中是否包括预设的标识信息;
若不包括,则在该报文中插入包括该预设的标识信息的报文头信息,使该预设的标识信息位于该报文的预设字段,并判断该报文为INT报文;
若包括,则判断该报文为INT报文。
下面给出一个实例,以对上述步骤做进一步阐述:
假设网络设备100是交换机,如图4所示,源设备S发出的报文X1依次经过交换机A、交换机B及交换机C被转发至目的设备D,报文X1的格式可以如图5所示。交换机A上进行了相应的设置,交换机A中的各个芯片插入到报文中的INT Header的Probe Marker字段包括字符0xAAAA_AAAA。其中,请再次参阅图3,交换机A中包括转发芯片a1、转发芯片a2和交换芯片a3。
现需要对交换机A的转发延时进行监测,则可以在交换机A开启INT功能。
实施时,假设交换机A的转发芯片a1通过物理端口接收到报文X1,,则转发芯片a1是报文X1的入芯片。由于报文X1中不包括INT Header,则转发芯片a1检测到报文X1中与Probe Marker字段对应的位置不包括字符0xAAAA_AAAA,此时可以将Probe Marker字段中设置有字符0xAAAA_AAAA的INT Header添加到报文X1中,并确定包括INT Header的报文X1为INT报文。其中,添加的INT Header的具体内容与交换机A上设置的需要监测的信息相对应。
在添加上述INT Header之后,入芯片(转发芯片a1)可以将本芯片的运行状态信息作为第一元数据(如图5中的MetaData1)添加到包括该INT Header的报文X1中,得到报文X2。其中,报文X2为包括该INT Header及Metadata1的报文X1,报文X2的内容具体可以如图5所示。
由于本实施例中需要对交换机的转发延时进行监测,因此,该第一元数据可以包括报文X1在转发芯片a1的入时间信息和出时间信息。此外,该第一元数据还可以包括交换机A的标识、报文X1在转发芯片a1的入端口标识和出端口标识等。其中,由于报文X2实际是在报文X1的报头部分插入相应信息后得到的报文,其有效载荷(payload)并没有改变。因此,报文X1和报文X2在转发芯片a1的出端口相同,对应地,出端口标识也相同。
在本实施例中,入芯片在接收到INT报文时添加的第一元数据,其中包括的入时间信息为入芯片接收到该INT报文的时间,是一个准确有效的时间;而其中包括的出时间信息并非是有效的时间。入芯片在确定该INT报文的出端口之后,会重新设置第一元数据中的出时间信息,具体可以是在根据转发表确定该INT报文的出端口之后设置。
假设报文X1在交换机A中的转发路径为转发芯片a1→交换芯片a3→转发芯片a2,则在重新设置MetaData1中的出时间信息后,转发芯片a1会将报文X2转发至交换芯片a3。
步骤S220,交换芯片130在接收到入芯片发送的INT报文时,在该INT报文中添加第二元数据,得到包括第一元数据和第二元数据的INT报文,将包括第一元数据和第二元数据的INT报文发送给出芯片,并在转发时在第二元数据中设置该INT报文在该交换芯片130的出时间信息。
在本实施例中,交换芯片130在接收到入芯片发送的INT报文时添加的第二元数据,其中包括的入时间信息为该INT报文进入该交换芯片的时间,是一个有效的时间;其中包括的出时间信息并非是一个有效的时间。
在实施时,入芯片在确定INT报文的出芯片时,会在该INT报文中新增报文头,并将出芯片的标识记录在该新增的报文头中,即,交换芯片130接收到的INT报文中还包括其出芯片的标识。如此,交换芯片130可以根据该新增的报文头中的标识,将该INT报文转发给出芯片。具体地,交换芯片130在根据该标识确定到达转发芯片a的出端口之后,会重新设置第二元数据中的出时间信息并转发包括第一元数据和第二元数据的INT报文给出芯片。
请再次参阅图4,以上述报文X2为例,交换芯片a3在接收到报文X2,可根据ProbeMarker字段中的字符0xAAAA_AAAA确定报文X2为INT报文,并将本芯片的信息作为第二元数据(如图5中的Metadata2)添加到报文X2中,从而得到报文X3。其中,交换芯片a3可以在转发芯片a1添加的第一元数据之后添加第二元数据,例如图5所示,Metadata2可以被添加到Metadata1之后。
其中,添加到报文X2中的第二元数据可以包括报文X2在交换芯片a3的入时间信息和出时间信息。当然,该第二元数据还可以包括交换机A的标识、报文X2在交换芯片a3的入端口标识和出端口标识等。
按照转发芯片a1→交换芯片a3→转发芯片a2的转发路径,交换芯片a3在确定报文X3在本芯片的出口之后,会重新设置MetaData2中的出时间信息,并将报文X3转发给转发芯片a2。
步骤S230,出芯片在接收到交换芯片130发送的INT报文时,在该INT报文中添加第三元数据,得到包括第一元数据、第二元数据和第三元数据的INT报文,将包括第一元数据、第二元数据和第三元数据的INT报文转发给计算装置120,并在转发时在第三元数据中设置该INT报文在该出芯片的出时间信息。
在本实施例中,当任意一个转发芯片通过芯片互联口接收到INT报文时,确定本芯片为该INT报文的出芯片,并可以通过所接收报文的预设字段中预设的标识信息确定该报文为INT报文,从而可以在该INT报文中添加第三元数据。
其中,出芯片接收到的INT报文已经经过入芯片和交换芯片130,因此,该INT报文中包括第一元数据和第二元数据。因此,在添加第三元数据后,得到的是包括第一元数据、第二元数据和第三元数据的INT报文。
在此值得说明的是,出芯片在接收到交换芯片130发送的INT报文时添加的第三元数据,其中包括的入时间信息是该INT报文在该出芯片的入时间信息,是一个准确有效的时间;而其中包括的出时间信息并非该INT报文在该出芯片的实际出时间,是无效的。当出芯片根据本芯片存储的转发表确定该INT报文的出端口在本芯片之后,可以在第三元数据中重新设置该INT报文在该出芯片的出时间信息,并通过与计算装置120相连的芯片互联口,将包括第一元数据、第二元数据和第三元数据的INT报文转发给计算装置120。
请再次参阅图4,以上述的报文X3为例,当转发芯片a2通过芯片互联口接收到报文X3时,可以确定自身是报文X3的出芯片。转发芯片a2通过报文X3的Probe Marker字段中包括的字符0xAAAA_AAAA,可以确定报文X3为INT报文,并在报文X3中添加相应的第三元数据(如图5中的Metadata3),从而得到报文X4。对应地,插入到报文X3中的第三元数据可以包括交换机A的标识以及报文X3在转发芯片a2的入端口标识、入时间信息、出端口标识及出时间信息等。
其中,在根据转发表查找出报文X4的具体出端口后,可以在MetaData3中重新设置出时间信息,并将通过与计算装置120相连的芯片互联口将报文X4转发给计算装置120。
在此需要说明的是,报文X1-报文X4具有相同的有效载荷(payload),只是Header不同。对应地,报文X1-报文X4的目的MAC(Media Access Control或Medium AccessControl)地址,即目的设备D1的MAC地址。由此可知,在交换机A中,报文X1-报文X4的出芯片相同,为转发芯片a2。
在正常转发过程中,出芯片会根据转发表将包括第一元数据、第二元数据和第三元数据的INT报文从相应出端口转出,因而在此需要将该INT报文重定向到计算装置120。
可选地,在本实施例中,可以通过在转发芯片上设置访问控制列表(AccessControl List,ACL)来触发重定向的动作。实施时,可以在网络设备100的处理器110上设置ACL,再通过处理器110将该ACL下发至相应的转发芯片。
其中,每个转发芯片上存储的ACL中可以包括出芯片匹配项及INT报文匹配项,当转发芯片接收到报文时,若该报文与该ACL中的出芯片匹配项及INT报文匹配项均匹配上,则执行将该报文转发到计算装置120的操作。
可选地,INT报文匹配项可以是报文的预设字段为预设标识。
在一种具体实施方式中,出芯片匹配项可以为:报文在转发芯片的芯片互联口被接收到。在另一种具体实施方式中,出芯片匹配项可以为:报文不是在转发芯片的物理端口被接收到。
步骤S240,计算装置120接收出芯片发送的包括第一元数据、第二元数据和第三元数据的INT报文,分别计算第一元数据、第二元数据和第三元数据中的出时间信息与入时间信息的时间差值,对计算得到的时间差值求和得到该INT报文在网络设备100中的停留时间。
实施时,针对第一元数据,计算第一元数据中的出时间信息与入时间信息的时间差值,得到该INT报文在入芯片中的停留时间;针对第二元数据,计算第二元数据中的出时间信息与入时间信息的时间差值,得到该INT报文在交换芯片130中的停留时间;针对第三元数据,计算该第二元数据中的出时间信息与入时间信息的时间差值,得到该INT报文在出芯片中的停留时间。如此,可以得到该INT报文在网络设备100中经过的各个芯片中的停留时间。对得到的各个停留时间求和,即可得到该INT报文在网络设备100中的停留时间。
在此值得说明的是,在本实施例中,虽然计算装置120也可以是网络设备100中的一个芯片,但并不会统计INT报文在计算装置120中的停留时间。因为通过INT报文计算的转发延时,实际是为了获得网络设备100在转发数据报文、协议报文(非INT报文)时的转发延时,而在转发非INT报文时,并不会将该INT报文重定向到计算装置120,也就不会在计算装置120中停留,因此可以不必计算INT报文在计算装置120中的停留时间。
现仍旧以图3和图4所示的交换机A为例,对上述步骤S240做详细阐述:
请再次参阅图4,假设报文X1在转发芯片a1(入芯片)的入时间信息为100,出时间信息为101;报文X1在交换芯片a3的入时间信息为103,出时间信息为105;报文X1在转发芯片a2的入时间信息为102,出时间信息为104。
则针对转发芯片a1,计算装置120从报文X4的Metadata1中获得报文X1在转发芯片a1的入时间信息100和出时间信息101,并计算该出时间信息101与该入时间信息100的时间差值,得到报文X1在转发芯片a1中的停留时间t1=101-100=1。
针对交换芯片a3,计算装置120从报文X4的Metadata2中获得报文X1在交换芯片a3的入时间信息103和出时间信息105,并计算该出时间信息105和该入时间信息103的时间差值,得到报文X1在交换芯片a3中的停留时间t3=105-103=2。
针对转发芯片a2(出芯片),计算装置120从报文X4的Metadata3中获得报文X1在转发芯片a2的入时间信息102和出时间信息104,并计算该出时间信息104与该入时间信息102的时间差值,得到报文X1在转发芯片a2中的停留时间t2=104-102=2。
如此,即可计算出报文X1在交换机A中的停留时间T=t1+t3+t2=5。
步骤S250,计算装置120根据停留时间和第一元数据中的入时间信息得到该INT报文在网络设备100的出时间信息,在接收到的INT报文中将第一元数据中的出时间信息修改为该INT报文在网络设备100的出时间信息,删除第二元数据和第三元数据,得到修改后的INT报文,并通过出芯片对该修改后的INT报文进行转发。
如此,最终得到的INT报文中仅包括第一元数据,且第一元数据中的入时间信息为该INT报文在网络设备100的入时间信息,出时间信息为该INT报文在网络设备100的出时间信息。当该INT报文被发送到相应的监测装置或平台时,即可根据该第一元数据得到网络设备100的转发延时。
仍旧以交换机A为例,根据INT报文在转发芯片a1的入时间信息100及报文X1在交换机A中的停留时间T,可以计算出报文X1在交换机A的出时间信息为:
100+T=100+5=105
即,报文X1在交换机A的出时间信息为105。
然后可以在报文X4中,将Metadata1中的出时间信息101修改为105,并删除Metadata2和Metadata3,得到报文X5,并对报文X5进行转发。
应当理解,计算装置120也可以将停留时间添加到第二元数据或第三元数据中,并对应删除其他元数据。其中,当计算装置120将停留时间添加到第二元数据或第三元数据时,需要将第二元数据或第三元数据中的入时间信息修改为第一元数据中的入时间信息,将第二元数据或第三元数据中的出时间信息修改为计算出的INT报文在网络设备100的出时间信息。
在本实施例中,计算装置120可以将修改后的INT报文发送给出芯片,并从该INT报文在出芯片的出端口被转发出去。
可选地,在本实施例中,出芯片在将包括第一元数据、第二元数据和第三元数据的INT报文转发给计算装置120之前,可以将该INT报文在出芯片的出端口的标识添加在该INT报文中一并发送给计算装置120,如此,当计算装置120将修改后的INT报文发送给出芯片时,出芯片可以直接转发该报文,而不必再次查找转发表,从而提高效率、节约资源。基于此,步骤S250可以包括如下子步骤:
计算装置120将修改后的INT报文发送给出芯片,使出芯片根据该修改后的INT报文中包括的该出端口的标识,从该出端口转发该修改后的INT报文。
其中,可以在网络设备100中设置,当接收到的报文是计算装置120发送的报文时,禁止INT功能。如此,计算装置120发送的INT报文到达出芯片时,出芯片不会再次添加第三元数据。
通过本申请实施例的上述方式,可以不必利用入芯片的入时间信息与报文在出芯片的出时间信息的相对时间关系来计算报文在网络设备100中的停留时间,如此,即便网络设备100中的各个芯片时间不同步,也不会影响计算结果的准确性和可靠性。即,通过上述方式,计算得到的报文在网络设备100的停留时间总是准确可靠的,从而能够对网络设备100转发报文的延时进行精准监测。
综上所述,本申请实施例提供的一种报文处理方法及网络设备,网络设备包括入芯片、出芯片、交换芯片和计算装置,计算装置接收出芯片发送的包括第一元数据、第二元数据和第三元数据的INT报文,分别计算第一元数据、第二元数据和第三元数据中的出时间信息与入时间信息的时间差值,对计算得到的时间差值求和,得到该INT报文在网络设备中的停留时间,根据该停留时间和第一元数据中的入时间信息得到该INT报文在网络设备的出时间信息,在接收到的INT报文中将第一元数据中的出时间信息修改为该INT报文在网络设备的出时间信息,删除第二元数据和第三元数据,得到修改后的INT报文,并通过出芯片对修改后的INT报文进行转发。如此,即便网络设备中的各个芯片的时间不同步,也可以准确地计算出网络设备转发报文的延时。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种报文处理方法,其特征在于,应用于网络设备,该网络设备包括入芯片、出芯片、交换芯片和计算装置,所述入芯片和所述出芯片分别与所述计算装置通信连接;所述方法包括:
所述计算装置接收所述出芯片发送的INT报文,该INT报文包括第一元数据、第二元数据及第三元数据,其中,所述第一元数据包括该INT报文在所述入芯片的入时间信息和出时间信息,所述第二元数据包括该INT报文在所述交换芯片的入时间信息和出时间信息,所述第三元数据包括该INT报文在所述出芯片的入时间信息和出时间信息;
所述计算装置分别计算所述第一元数据、所述第二元数据和所述第三元数据中的出时间信息与入时间信息的时间差值,对计算得到的时间差值求和,得到所述INT报文在所述网络设备中的停留时间;
所述计算装置根据所述停留时间和所述第一元数据中的入时间信息得到所述INT报文在所述网络设备的出时间信息,在接收到的INT报文中将所述第一元数据中的出时间信息修改为所述INT报文在所述网络设备的出时间信息,删除所述第二元数据和所述第三元数据,得到修改后的INT报文,并通过所述出芯片对所述修改后的INT报文进行转发。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述入芯片在接收到INT报文时,在该INT报文中添加所述第一元数据,在存储的转发表中查找该INT报文的出端口,当确定该出端口不在本芯片时,将包括所述第一元数据的INT报文转发给所述交换芯片,并在转发时在所述第一元数据中设置该INT报文在该入芯片的出时间信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述交换芯片在接收到所述入芯片发送的INT报文时,在该INT报文中添加所述第二元数据,得到包括所述第一元数据和所述第二元数据的INT报文;
所述交换芯片将包括所述第一元数据和所述第二元数据的INT报文发送给所述出芯片,并在转发时在所述第二元数据中设置该INT报文在该交换芯片的出时间信息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述出芯片在接收到所述交换芯片发送的INT报文时,在该INT报文中添加所述第三元数据,得到包括所述第一元数据、所述第二元数据和所述第三元数据的INT报文;
所述出芯片将包括所述第一元数据、所述第二元数据和所述第三元数据的INT报文转发给所述计算装置,并在转发时在所述第三元数据中设置该INT报文在该出芯片的出时间信息。
5.根据权利要求1-4任一所述的方法,其特征在于,在所述出芯片将包括所述第一元数据、所述第二元数据和所述第三元数据的INT报文转发给所述计算装置之前,所述方法还包括:
所述出芯片在存储的转发表中查找该INT报文的出端口,并将该出端口的标识添加到该INT报文中;
所述计算装置通过所述出芯片对所述修改后的INT报文进行转发的步骤,包括:
所述计算装置将所述修改后的INT报文发送给所述出芯片,使所述出芯片根据所述修改后的INT报文中包括的该出端口的标识,从该出端口转发所述修改后的INT报文。
6.一种网络设备,其特征在于,包括入芯片、出芯片、交换芯片和计算装置,所述入芯片和所述出芯片分别与所述计算装置通信连接;
所述计算装置接收所述出芯片发送的INT报文,该INT报文包括第一元数据、第二元数据及第三元数据,其中,所述第一元数据包括该INT报文在所述入芯片的入时间信息和出时间信息,所述第二元数据包括该INT报文在所述交换芯片的入时间信息和出时间信息,所述第三元数据包括该INT报文在所述出芯片的入时间信息和出时间信息;
所述计算装置分别计算所述第一元数据、第二元数据和第三元数据中的出时间信息与入时间信息的时间差值,对计算得到的时间差值求和,得到所述INT报文在所述网络设备中的停留时间;
所述计算装置根据所述停留时间和所述第一元数据中的入时间信息得到所述INT报文在所述网络设备的出时间信息,在接收到的INT报文中将所述第一元数据中的出时间信息修改为所述INT报文在所述网络设备的出时间信息,删除所述第二元数据和所述第三元数据,得到修改后的INT报文,并通过所述出芯片对所述修改后的INT报文进行转发。
7.根据权利要求6所述的网络设备,其特征在于,所述入芯片在接收到INT报文时,在该INT报文中添加所述第一元数据,在存储的转发表中查找该INT报文的出端口,当确定该出端口不在本芯片时,将包括所述第一元数据的INT报文转发给所述交换芯片,并在转发时在所述第一元数据中设置该INT报文在该入芯片的出时间信息。
8.根据权利要求7所述的网络设备,其特征在于,所述交换芯片在接收到所述入芯片发送的INT报文时,在该INT报文中添加所述第二元数据,得到包括所述第一元数据和所述第二元数据的INT报文,将包括所述第一元数据和所述第二元数据的INT报文发送给所述出芯片,并在转发时在所述第二元数据中设置该INT报文在该交换芯片的出时间信息。
9.根据权利要求8所述的网络设备,其特征在于,所述出芯片在接收到所述交换芯片发送的INT报文时,在该INT报文中添加所述第三元数据,得到包括所述第一元数据、所述第二元数据和所述第三元数据的INT报文,将包括所述第一元数据、所述第二元数据和所述第三元数据的INT报文转发给所述计算装置,并在转发时在所述第三元数据中设置该INT报文在该出芯片的出时间信息。
10.根据权利要求6-9任一所述的网络设备,其特征在于,所述出芯片在将包括所述第一元数据、所述第二元数据和所述第三元数据的INT报文转发给所述计算装置之前,在存储的转发表中查找该INT报文的出端口,并将该出端口的标识添加到该INT报文中;
所述计算装置将所述修改后的INT报文发送给所述出芯片,使所述出芯片根据所述修改后的INT报文中包括的该出端口的标识,从该出端口转发所述修改后的INT报文,从而实现通过所述出芯片对所述修改后的INT报文进行转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810180564.6A CN108449228B (zh) | 2018-03-05 | 2018-03-05 | 报文处理方法及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810180564.6A CN108449228B (zh) | 2018-03-05 | 2018-03-05 | 报文处理方法及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108449228A true CN108449228A (zh) | 2018-08-24 |
CN108449228B CN108449228B (zh) | 2020-03-17 |
Family
ID=63193542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810180564.6A Active CN108449228B (zh) | 2018-03-05 | 2018-03-05 | 报文处理方法及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108449228B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111224839A (zh) * | 2019-12-26 | 2020-06-02 | 长沙星融元数据技术有限公司 | 一种带内网络遥测功能的验证方法、装置、存储介质及电子设备 |
CN112350844A (zh) * | 2019-08-09 | 2021-02-09 | 华为技术有限公司 | 用于数据传输的方法和装置 |
CN112866075A (zh) * | 2020-12-21 | 2021-05-28 | 网络通信与安全紫金山实验室 | 面向Overlay网络的带内网络遥测方法、系统及相关装置 |
WO2021121275A1 (zh) * | 2019-12-16 | 2021-06-24 | 华为技术有限公司 | 一种用于时钟同步的消息处理方法、时钟同步方法及装置 |
CN113364778A (zh) * | 2021-06-07 | 2021-09-07 | 新华三技术有限公司 | 一种报文处理方法及装置 |
WO2022022219A1 (zh) * | 2020-07-31 | 2022-02-03 | 华为技术有限公司 | 传输报文的方法、装置、设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6647071B2 (en) * | 1998-11-06 | 2003-11-11 | Texas Instruments Incorporated | Method and apparatus for equalization and tracking of coded digital communications signals |
US20070022254A1 (en) * | 2005-07-21 | 2007-01-25 | Veazey Judson E | System for reducing the latency of exclusive read requests in a symmetric multi-processing system |
CN103220775A (zh) * | 2013-03-21 | 2013-07-24 | 京信通信系统(中国)有限公司 | 一种实现数据同步的方法、装置和系统 |
CN106161121A (zh) * | 2015-03-24 | 2016-11-23 | 中兴通讯股份有限公司 | 一种报文转发时延的测量方法、装置及系统 |
KR20170113807A (ko) * | 2016-03-25 | 2017-10-13 | 고려대학교 산학협력단 | 서비스 기능 체이닝 시스템 및 그 방법 |
-
2018
- 2018-03-05 CN CN201810180564.6A patent/CN108449228B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6647071B2 (en) * | 1998-11-06 | 2003-11-11 | Texas Instruments Incorporated | Method and apparatus for equalization and tracking of coded digital communications signals |
US20070022254A1 (en) * | 2005-07-21 | 2007-01-25 | Veazey Judson E | System for reducing the latency of exclusive read requests in a symmetric multi-processing system |
CN103220775A (zh) * | 2013-03-21 | 2013-07-24 | 京信通信系统(中国)有限公司 | 一种实现数据同步的方法、装置和系统 |
CN106161121A (zh) * | 2015-03-24 | 2016-11-23 | 中兴通讯股份有限公司 | 一种报文转发时延的测量方法、装置及系统 |
KR20170113807A (ko) * | 2016-03-25 | 2017-10-13 | 고려대학교 산학협력단 | 서비스 기능 체이닝 시스템 및 그 방법 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112350844A (zh) * | 2019-08-09 | 2021-02-09 | 华为技术有限公司 | 用于数据传输的方法和装置 |
CN112350844B (zh) * | 2019-08-09 | 2024-03-29 | 华为技术有限公司 | 用于数据传输的方法和装置 |
WO2021121275A1 (zh) * | 2019-12-16 | 2021-06-24 | 华为技术有限公司 | 一种用于时钟同步的消息处理方法、时钟同步方法及装置 |
CN111224839A (zh) * | 2019-12-26 | 2020-06-02 | 长沙星融元数据技术有限公司 | 一种带内网络遥测功能的验证方法、装置、存储介质及电子设备 |
WO2022022219A1 (zh) * | 2020-07-31 | 2022-02-03 | 华为技术有限公司 | 传输报文的方法、装置、设备及可读存储介质 |
CN112866075A (zh) * | 2020-12-21 | 2021-05-28 | 网络通信与安全紫金山实验室 | 面向Overlay网络的带内网络遥测方法、系统及相关装置 |
CN113364778A (zh) * | 2021-06-07 | 2021-09-07 | 新华三技术有限公司 | 一种报文处理方法及装置 |
CN113364778B (zh) * | 2021-06-07 | 2022-07-29 | 新华三技术有限公司 | 一种报文处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108449228B (zh) | 2020-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108449228A (zh) | 报文处理方法及网络设备 | |
CN109617743B (zh) | 网络性能监测与业务测试系统及测试方法 | |
CN110971445B (zh) | 一种网络的oam方法及装置 | |
US9992117B2 (en) | Network apparatus, communication system, abnormal traffic detection method, and program | |
CN101931982A (zh) | 一种网络故障定位方法及装置 | |
US10771363B2 (en) | Devices for analyzing and mitigating dropped packets | |
CN102571492B (zh) | 检测路由设备故障的方法和装置 | |
CN109428782B (zh) | 网络监控的方法和设备 | |
CN104283780B (zh) | 建立数据传输路径的方法和装置 | |
US20230102193A1 (en) | Network Performance Measurement Method, Apparatus, Device, and System, and Storage Medium | |
CN108737221A (zh) | 丢包检测方法及通信链路系统 | |
CN108632099A (zh) | 一种链路聚合的故障检测方法及装置 | |
US20230300051A1 (en) | In-band Edge-to-Edge Round-Trip Time Measurement | |
CN109964450B (zh) | 一种确定共享风险链路组的方法及装置 | |
CN104702461A (zh) | 用有限的计算资源来确定网络等待时间 | |
CN110971540B (zh) | 一种数据信息的传输方法、装置、交换机及控制器 | |
CN110620693A (zh) | 一种基于物联网的铁路沿线车站路由远程重启控制系统及方法 | |
EP2858302A1 (en) | Connectivity check method of service stream link, related apparatus and system | |
CN109863723A (zh) | 存在多个网络接口情况下的自动网络连接恢复 | |
CN110581792B (zh) | 一种报文传输方法及装置 | |
CN105763347A (zh) | 用于获取参数的方法、网络设备及系统 | |
CN109309604A (zh) | 一种环路检测的方法、装置、终端设备和介质 | |
CN112422355B (zh) | 网络传输检测系统 | |
CN103401730A (zh) | 链路的通量测量方法及待测设备 | |
US11853254B1 (en) | Methods, systems, and computer readable media for exposing data processing unit (DPU) traffic in a smartswitch |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |