专利名称:一种转发时延的记录方法及路由器的制作方法
技术领域:
本发明实施例涉及通信技术,尤其涉及一种转发时延的记录方法及路由器。
背景技术:
目前,IP承载网承载的业务越来越多,也越来越重要。因此,运营商对网络质量 也越来越关注。对于网络质量的检测,客户经常使用的工具是因特网包探索器(Packet Internet Grope ;PING)。可参考图1,图1是现有技术中的网间控制报文协议(Internet Control Messages Protocol ; I CMP)回显请求和应答报文的格式示意图。例如,请求端发送 ICMP回显请求报文,所述请求报文中包括发起时间戳(Originate Timestamp),目的端收到 ICMP回显请求报文后,记录接收时间戳(Receive Timestamp),发送ICMP回显应答报文给 请求端,所述ICMP回显应答报文包括接收时间戳和发送时间戳(Transmit Timestamp),请 求端接收到ICMP回显应答报文后,根据收到的ICMP回显应答报文的时间和发起时间戳记 录的时间的差值得到端到端的双向网络时延。由于ICMP回显应答报文中的发送时间戳和 接收时间戳的差值表示目的端处理该报文的软件时延,所以为了准确获得端到端的双向网 络时延,请求端在计算端到端的双向网络时延时可以减去目的端本身的软件时延。但是,现有的PING工具只能显示端到端的网络时延,不能显示转发路径上的路由 器的转发时延,尤其当网络时延很大或者存在明显抖动,通过现有技术提供的方法,无法定 位是转发路径上的哪个路由器引起的转发时延大。
发明内容
本发明实施例提供一种转发时延的记录方法及装置,可以提供转发路径上的路由 器的双向转发时延,从而准确定位时延大的路由器,有利于运营商对网络质量的监测。本发明实施例提供的一种转发时延的记录方法,包括路由器接收网间控制报文协议ICMP回显报文,所述ICMP回显报文是ICMP回显请 求报文或ICMP回显应答报文,所述ICMP回显报文中承载有记录底层转发时间戳的信息;当确认所述ICMP回显报文中承载有记录底层转发时间戳的信息时,所述路由器 在所述ICMP回显报文中添加入时间戳和出时间戳,记录所述路由器的环回地址,所述入 时间戳是由入口网络处理器添加的时间戳,所述出时间戳是由出口网络处理器添加的时间 戳。本发明实施例提供的一种路由器,所述路由器包括接收单元,用于接收ICMP回显报文,所述ICMP回显报文是ICMP回显请求报文或 ICMP回显应答报文,所述ICMP回显报文中承载有记录底层转发时间戳的信息;记录单元,用于当确认所述ICMP回显报文中承载有记录底层转发时间戳的信息 时,在所述ICMP回显报文中添加入时间戳和出时间戳,记录所述路由器的环回地址,所述 入时间戳是由入口网络处理器添加的时间戳,所述出时间戳是由出口网络处理器添加的时 间戳。
可见,通过本发明实施例提供的转发时延的记录方法和路由器,可以显示转发路 径上的路由器的底层转发时延,从而准确定位时延大的路由器,有利于运营商对网络质量 的监测。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。图1是现有技术中的ICMP回显请求和应答报文的格式示意图;图2是本发明实施例提供的转发时延的记录方法流程图;图3是本发明实施例的ICMP回显请求和应答报文的格式示意图;图4是本发明实施例提供的路由器示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一本发明实施例提供了一种转发时延的计算方法,参见图2,图2是本发明实施例提 供的转发时延的记录方法流程图;该方法包括202 当路由器接收ICMP回显报文,所述ICMP回显报文是ICMP回显请求报文或 ICMP回显应答报文,所述ICMP回显报文中承载有记录底层转发时间戳的信息;在本发明实施例的具体实现时,可以有多种实现方式,本发明不做具体的限定。例 如可以通过扩充ICMP协议实现,具体来说,可以在ICMP Echo和ICMP Echo reply的协议 报文中扩充代码(code)。互联网工程任务组IETF(Internet Engineering Task Force)的 RFC792中对ICMP协议报文中的类型(type)和代码(code)进行了详细描述。ICMP协议中 的type是8个比特,范围是0 255,但是目前type只使用了 15个值。本发明实施例可以 沿用现有ICMP协议中对type的规定,对于type为0时,type为0表示为ICMP回显应答 报文,可以增加code 1来表示ICMP回显应答报文需要记录底层转发的时间戳;同理,对于 type为8时,type为8表示为ICMP回显请求报文,增加code 1来表示ICMP回显请求报文 需要记录底层转发的时间戳。204 当确认所述ICMP回显报文中承载有记录底层转发时间戳的信息时,所述路 由器在所述ICMP回显报文中添加入时间戳(Ingress Timestamp)和出时间戳(Egress Timestamp),记录所述路由器的环回地址,所述入时间戳是由入口网络处理器(Ingress NP)添加的时间戳,所述出时间戳是由出口网络处理器(Egress NP)添加的时间戳。可参见图3,图3是本发明实施例的ICMP回显请求和应答报文的格式示意图;在 本发明实施例的具体实现时,接收该ICMP回显请求报文的入口网络处理器判断该ICMP回显请求报文的code,当code为1时表示需要记录底层转发的时间戳,则在该ICMP回显请求 报文中记录入时间戳,并且记录所述路由器的环回地址,所述ICMP回显请求报文经过交换 网后发送到出口网络处理器,出口网络处理器判断该ICMP回显请求报文的code,当code为 1时表示需要记录底层转发的时间戳,则在该ICMP回显请求报文中记录出时间戳。需要说 明的,所述路由器的环回地址可以由入口网络处理器记录,也可以由出口网络处理器记录, 本发明实施例不做限定。当判断所述ICMP回显请求报文的目的地址不是自身时,则转发该 ICMP回显请求报文给所述ICMP回显请求报文相应的下一跳。当判断所述ICMP回显请求报 文的目的地址是自身时,则将所述ICMP回显请求报文上送到CPU处理。所述ICMP回显请求报文相应的下一跳的处理操作同所述路由器。同理,当所述路由器收到ICMP回显应答报文时,判断该ICMP回显应答报文的 code,当code为1时表示需要记录底层转发的时间戳,则在该ICMP回显应答报文中记录入 时间戳,并且记录所述路由器的环回地址,所述ICMP回显应答报文经过交换网后发送到出 口网络处理器,出口网络处理器判断该ICMP回显应答报文的code,当code为1时表示需要 记录底层转发的时间戳,则在该ICMP回显应答报文中记录出时间戳。需要说明的,所述路 由器的环回地址可以由入口网络处理器记录,也可以由出口网络处理器记录,本发明实施 例不做限定。当判断所述ICMP回显应答报文的目的地址不是自身时,则转发该ICMP回显 应答报文给所述ICMP回显应答报文相应的下一跳。所述ICMP回显应答报文相应的下一跳的处理操作同所述路由器。当请求端收到所述ICMP回显应答报文时,根据转发路径上的路由器的环回地址 以及对应的入时间戳和出时间戳,可以获取转发路径上的路由器的底层转发时延。可见,通过本发明实施例提供的转发时延的记录方法,可以显示转发路径上的路 由器的底层转发时延,从而准确定位时延大的路由器,有利于运营商对网络质量的监测。实施例二 本发明实施例还提供了一种路由器,该路由器可以记录转发时延。参见图4,图4 是本发明实施例提供的路由器示意图,该路由器包括接收单元402 用于接收ICMP回显报文,所述ICMP回显报文是ICMP回显请求报 文或ICMP回显应答报文,所述ICMP回显报文中承载有记录底层转发时间戳的信息;记录单元404 用于当确认所述ICMP回显报文中承载有记录底层转发时间戳的 信息时,在所述ICMP回显报文中添加入时间戳(Ingress Timestamp)和出时间戳(Egress Timestamp),记录所述路由器的环回地址,所述入时间戳是由入口网络处理器(Ingress NP)添加的时间戳,所述出时间戳是由出口网络处理器(Egress NP)添加的时间戳。在本发明实施例的具体实现时,所述记录单元可以设置在所述路由器的每个网络 处理器中。此外,所述路由器还包括转发单元406,用于当判断所述ICMP回显报文的目的地址不是自身时,则转发该 ICMP回显报文给所述ICMP回显报文相应的下一跳。进一步地,所述路由器还包括上送单元408,用于判断所述ICMP回显报文的目的地址是自身时,则将所述ICMP 回显报文上送到CPU处理。
可见,通过本发明实施例提供的转发时延的记录方法,可以显示转发路径上的路 由器的底层转发时延,从而准确定位时延大的路由器,有利于运营商对网络质量的监测。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在 执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光 盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
一种转发时延的记录方法,其特征在于,包括路由器接收网间控制报文协议ICMP回显报文,所述ICMP回显报文是ICMP回显请求报文或ICMP回显应答报文,所述ICMP回显报文中承载有记录底层转发时间戳的信息;当确认所述ICMP回显报文中承载有记录底层转发时间戳的信息时,所述路由器在所述ICMP回显报文中添加入时间戳和出时间戳,记录所述路由器的环回地址,所述入时间戳是由入口网络处理器添加的时间戳,所述出时间戳是由出口网络处理器添加的时间戳。
1.一种转发时延的记录方法,其特征在于,包括路由器接收网间控制报文协议ICMP回显报文,所述ICMP回显报文是ICMP回显请求报 文或ICMP回显应答报文,所述ICMP回显报文中承载有记录底层转发时间戳的信息;当确认所述ICMP回显报文中承载有记录底层转发时间戳的信息时,所述路由器在所 述ICMP回显报文中添加入时间戳和出时间戳,记录所述路由器的环回地址,所述入时间戳 是由入口网络处理器添加的时间戳,所述出时间戳是由出口网络处理器添加的时间戳。
2.根据权利要求1所述的方法,其特征在于,当所述ICMP回显报文为ICMP回显请求报 文时,所述ICMP回显报文中承载有记录底层转发时间戳的信息为ICMP回显请求报文中的 代码为1。
3.根据权利要求1所述的方法,其特征在于,当所述ICMP回显报文为ICMP回显应答报 文时,所述ICMP回显报文中承载有记录底层转发时间戳的信息为ICMP回显应答报文中的 代码为1。
4.根据权利要求2所述的方法,其特征在于,还包括当判断所述ICMP回显请求报文 的目的地址不是自身时,则转发该ICMP回显请求报文给所述ICMP回显请求报文相应的下 一跳或当判断所述ICMP回显请求报文的目的地址是自身时,则将所述ICMP回显请求报文 上送到中央处理器CPU处理。
5.根据权利要求3所述的方法,其特征在于,还包括当判断所述ICMP回显应答报文 的目的地址不是自身时,则转发该ICMP回显应答报文给所述ICMP回显应答报文相应的下 一跳或当判断所述ICMP回显应答报文的目的地址是自身时,则将所述ICMP回显应答报文 上送到CPU处理。
6.一种路由器,其特征在于,所述路由器包括接收单元(402),用于接收ICMP回显报文,所述ICMP回显报文是ICMP回显请求报文或 ICMP回显应答报文,所述ICMP回显报文中承载有记录底层转发时间戳的信息;记录单元(404),用于当确认所述ICMP回显报文中承载有记录底层转发时间戳的信息 时,在所述ICMP回显报文中添加入时间戳和出时间戳,记录所述路由器的环回地址,所述 入时间戳是由入口网络处理器添加的时间戳,所述出时间戳是由出口网络处理器添加的时 间戳。
7.根据权利要求6所述的路由器,其特征在于,所述记录单元设置在所述路由器的每 个网络处理器中。
8.根据权利要求6所述的路由器,其特征在于,所述路由器还包括转发单元,用于当判断所述ICMP回显报文的目的地址不是自身时,则转发该ICMP回显 报文给所述ICMP回显报文相应的下一跳。
9.根据权利要求6所述的路由器,其特征在于,所述路由器还包括上送单元,用于判断所述ICMP回显报文的目的地址是自身时,则将所述ICMP回显报文 上送到CPU处理。
全文摘要
本发明实施例提供了转发时延的记录方法,包括路由器接收网间控制报文协议ICMP回显报文,所述ICMP回显报文是ICMP回显请求报文或ICMP回显应答报文,所述ICMP回显报文中承载有记录底层转发时间戳的信息;当确认所述ICMP回显报文中承载有记录底层转发时间戳的信息时,所述路由器在所述ICMP回显报文中添加入时间戳和出时间戳,记录所述路由器的环回地址,所述入时间戳是由入口网络处理器添加的时间戳,所述出时间戳是由出口网络处理器添加的时间戳。此外,本发明实施例还提供了相应的路由器。通过本发明实施例提出的转发时延的记录方法和路由器,可以显示转发路径上的路由器的底层转发时延,从而准确定位时延大的路由器,有利于运营商对网络质量的监测。
文档编号H04L12/56GK101997774SQ201010532359
公开日2011年3月30日 申请日期2010年11月3日 优先权日2010年11月3日
发明者佟兴, 孙锦秀 申请人:华为数字技术有限公司