CN107171883A - 检测转发表的方法、装置和设备 - Google Patents

检测转发表的方法、装置和设备 Download PDF

Info

Publication number
CN107171883A
CN107171883A CN201610130617.4A CN201610130617A CN107171883A CN 107171883 A CN107171883 A CN 107171883A CN 201610130617 A CN201610130617 A CN 201610130617A CN 107171883 A CN107171883 A CN 107171883A
Authority
CN
China
Prior art keywords
network
node
detection device
address
network node
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
Application number
CN201610130617.4A
Other languages
English (en)
Other versions
CN107171883B (zh
Inventor
李国平
张震伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to CN201610130617.4A priority Critical patent/CN107171883B/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to JP2018542769A priority patent/JP6544816B2/ja
Priority to PCT/CN2016/110467 priority patent/WO2017152681A1/zh
Priority to EP16893324.0A priority patent/EP3399700B1/en
Priority to EP20187810.5A priority patent/EP3800835A1/en
Publication of CN107171883A publication Critical patent/CN107171883A/zh
Priority to US16/123,576 priority patent/US10659359B2/en
Priority to US16/842,331 priority patent/US11088950B2/en
Application granted granted Critical
Publication of CN107171883B publication Critical patent/CN107171883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种检测转发表的方法,装置和设备,网络检测设备根据网络拓扑信息生成包括标签栈,TTL,源IP地址和目的IP地址的检测报文;所述标签栈中包括N个链路标签,所述TTL的值为N+1,N为所述网络检测设备到待检测网络节点的跳数;所述网络检测设备根据所述标签栈栈顶的链路标签发送所述检测报文,并接收待检测网络节点的下一跳,即反馈节点,发送的通知消息,所述网络检测设备根据所述通知消息中反馈节点的IP地址和所述网络拓扑信息,可以确定所述待检测网络节点的转发表是否正确,从而快速定位故障。

Description

检测转发表的方法、装置和设备
技术领域
本发明涉及通信技术领域,尤其涉及检测转发表的方法、装置和设备。
背景技术
在网际协议(Internet Protocol,缩写IP)网络中,网络设备控制面的路由表中,对应一个IP地址有一个路由表项,例如,IP地址192.168.1.1对应一个路由表项192.168.1.0/24。而网络设备中指导数据报文转发的是转发面(通常为转发芯片)的转发表(forwarding table),也可称为转发信息库(forwardinginformation base,缩写FIB)。网络设备的转发表通常是根据其路由表中的最优路由生成,也可以通过地址解析协议(Address Resolution Protocol,缩写ARP)生成。
由于IP网络不保证可靠性,数据报文出现丢包或错误等异常时,可能是网络中链路故障等原因,也可能是网络设备上没有生成相应的转发表项,或生成的转发表项出错导致的。
发明内容
本申请实施例提供了一种检测转发表的方法、装置和设备,能够检测网络设备的转发表是否存在错误。
第一方面,提供一种检测转发表的方法,包括:网络检测设备根据目的IP地址和网络拓扑信息生成检测报文,所述检测报文中包括标签栈,生存时间生存时间(time to live,缩写TTL),源IP地址和所述目的IP地址;所述标签栈中包括N个链路标签,所述TTL的值为N的基础上加1,即N+1,所述源IP地址为所述网络检测设备的IP地址,其中,N为所述网络检测设备到待检测网络节点的跳数,N为大于等于1的正整数(可表示为N≥1);所述网络检测设备根据所述标签栈栈顶的链路标签发送所述检测报文,以便于所述检测报文可以根据所述标签栈被发送至所述待检测网络设备。可能网络检测设备和待检测网络节点之间存在中间网络节点,则所述网络检测设备根据所述标签栈栈顶的链路标签向下一跳节点,即中间网络节点,转发所述检测报文。也可能所述网络检测设备的下一跳节点就是所述待检测网络节点,则所述网络检测设备根据所述标签栈栈顶的链路标签向所述待检测网络节点发送所述检测报文。所述网络检测设备接收通知消息,所述通知消息用于通知所述网络检测设备:反馈节点收到待检测网络节点转发的所述检测报文;所述网络检测设备根据所述通知消息和所述网络拓扑信息确定所述待检测网络节点的转发表是否正确。其中,反馈节点为所述待检测网络节点的下一跳节点;通常,所述网络检测设备是从所述反馈节点接收到该通知消息。
这样,当到目的IP地址的数据报文出现丢包或转发错误,或者客户需求等其他情况需要检测到目的IP地址的转发路径上的待检测网络节点的转发表时,网络检测设备生成包括特定标签栈和特定TTL值的检测报文,通过标签栈指定检测报文的标签转发路径,以便于所述检测报文可以根据标签栈被发送至所述待检测网络节点;并利用TTL逐跳减1,所述检测报文中TTL的值在待检测网络节点的下一跳,即所述反馈节点处理(减1)后为0触发该反馈节点向网络检测设备发送通知消息。网络检测设备就可以根据发送通知消息的反馈节点和网络拓扑信息,快速判断该待检测网络节点的转发表是否存在错误,从而提高故障定位的效率。
所述通知消息可以为网络控制报文协议(Internet Control Message Protocol,缩写ICMP)报文。
可选地,所述网络检测设备具体根据所述目的IP地址和所述网络拓扑信息,确定所述网络检测设备至所述目的IP地址的转发路径以及所述转发路径上的所述待检测网络节点;根据所述网络拓扑信息确定所述网络检测设备到所述待检测网络节点的跳数(即N)以及每一跳的链路标签,并根据所述网络检测设备到所述待检测网络节点的跳数以及每一跳的链路标签,生成所述检测报文。这样,网络检测设备在生成检测报文时,根据待检测网络节点确定N的取值,以保证所述检测报文可以根据标签栈中的N个链路标签转发至所述待检测网络节点,在所述待检测网络节点处进行路由转发,从而可以检测该待检测网络节点的转发表是否正确。
所述网络拓扑信息可以包括所述网络检测设备至所述目的IP地址的所述转发路径,以及每一跳的路由信息。路由信息包括链路标签。链路标签指定了报文的单跳转发路径。
可选地,所述反馈节点接收所述待检测网络节点转发的所述检测报文;所述反馈节点将所述TTL的值减去1,并在所述检测报文中的所述TTL的值为0时发送所述通知消息。
当所述网络检测设备确定发送所述通知消息的反馈节点与所述网络拓扑信息中路由一致,所述网络检测设备可以确定所述网络节点的转发表正确;当所述网络检测设备确定发送所述通知消息的反馈节点与所述网络拓扑信息中路由不一致时,所述网络检测设备可以确定所述网络节点的转发表存在错误。
网络检测设备在生成检测报文时,将TTL的值设为特定值,以保证所述检测报文在待检测网络节点的下一跳(即反馈节点)处理时,因TTL的值为0发送通知消息给网络检测设备,这样网络检测设备就可以根据该通知消息和网络拓扑信息判断待检测网络节点的转发表是否正确。
第二方面,提供一种检测转发表方法,包括:网络检测设备根据网络拓扑信息生成检测报文,所述检测报文中包括标签栈,TTL,源IP地址和目的IP地址;所述标签栈中包括N个链路标签,所述TTL的值为N+1,所述源IP地址为所述网络检测设备的IP地址,其中,N为所述网络检测设备到待检测网络节点的跳数,N≥1;所述网络检测设备根据所述标签栈栈顶的链路标签发送所述检测报文,以便于所述检测报文可以根据标签栈被发送至所述待检测网络设备。待检测网络节点接收所述检测报文,弹出所述标签栈栈顶的链路标签,并将所述TTL的值减去1;所述待检测网络节点确定所述标签栈为空,并根据所述目的IP地址和所述待检测网络节点的转发表,将所述检测报文转发给反馈节点。所述反馈节点接收所述检测报文,将所述TTL的值减去1;所述反馈节点确定所述TTL的值为0,并向所述网络检测设备发送通知消息。所述网络检测设备接收所述通知消息,并根据所述通知消息和所述网络拓扑信息确定所述待检测网络节点的转发表是否正确。
可能网络检测设备和待检测网络节点之间存在一个或多个中间网络节点,则所述网络检测设备根据所述标签栈栈顶的链路标签向下一跳节点,即中间网络节点,转发所述检测报文,所述待检测网络节点接收上一跳节点(中间网络节点)转发的所述待检测报文。也可能所述网络检测设备的下一跳节点就是所述待检测网络节点,即网络检测设备和待检测网络节点之间没有中间网络节点,所述网络检测设备根据所述标签栈栈顶的链路标签向所述待检测网络节点发送所述检测报文,所述待检测网络节点接收所述网络检测设备发送的所述待检测报文。
这样,网络检测设备生成包括特定标签栈(N个链路标签)和特定TTL值(TTL值为N+1)的检测报文,通过标签栈指定检测报文的标签转发路径,以便于检测报文可以根据标签栈被发送至待检测网络节点;并利用TTL逐跳减1,检测报文中TTL的值在反馈节点(即待检测网络节点的下一跳)处理(减1)后为0会发送通知消息给网络检测设备,就可以根据通知消息和网络拓扑信息对待检测网络节点的转发表进行检测,快速判断该待检测网络节点的转发表是否存在错误,从而提高故障定位的效率。
所述通知消息可以为ICMP报文。
可选地,所述网络检测设备具体根据所述目的IP地址和所述网络拓扑信息,确定所述网络检测设备至所述目的IP地址的转发路径以及所述转发路径上的所述待检测网络节点;根据所述网络拓扑信息确定所述网络检测设备到所述待检测网络节点的跳数N以及每一跳的链路标签,并根据所述网络检测设备到所述待检测网络节点的跳数N以及每一跳的链路标签,生成所述检测报文。所述网络拓扑信息中可以包括所述网络检测设备至所述目的IP地址的转发路径,以及每一跳的路由信息。路由信息包括链路标签。链路标签指定了报文的单跳转发路径。
这样,如果要检测所述转发路径上不同的待检测网络节点,网络检测设备可以确定N的不同取值,生成N为不同值的检测报文,检测网络路径上的不同待检测网络节点的转发表是否正确。
当所述网络检测设备确定发送所述通知消息的反馈节点与所述网络拓扑信息中路由一致,所述网络检测设备可以确定所述网络节点的转发表正确;当所述网络检测设备确定发送所述通知消息的反馈节点与所述网络拓扑信息中路由不一致时,所述网络检测设备可以确定所述网络节点的转发表存在错误。
可选地,所述网络检测设备和所述待检测网络节点之间可能存在一个或多个中间网络节点,则所述方法还包括:中间网络节点接收所述检测报文,弹出所述标签栈栈顶的链路标签,并将所述TTL的值减去1;所述中间网络节点确定所述标签栈不为空,并根据所述标签栈栈顶的链路标签,继续转发所述检测报文,直至所述待检测网络节点收到所述检测报文。通过检测报文中的特定标签栈,可以控制中间网络节点仅根据链路标签对所述检测报文进行标签转发,只有在待检测网络节点因标签栈为空,才根据转发表对所述检测报文进行IP路由转发。
第三方面,提供一种网络检测设备,所述网络检测设备具有实现上述检测转发表的方法中网络检测设备的功能,所述功能可以通过检测装置实现,所述检测装置可以通过硬件实现,也可以通过硬件执行相应的软件实现,所述硬件或软件可以包括一个或多个与上述功能相对应的模块。
第三方面的一种可能的实现中,所述检测装置包括报文生成模块,发送模块,接收模块和确定模块;
所述报文生成模块,用于根据目的IP地址和网络拓扑信息生成检测报文,所述检测报文中包括标签栈,TTL,源IP地址和所述目的IP地址;所述标签栈中包括N个链路标签,所述TTL的值为N+1,所述源IP地址为所述网络检测设备的IP地址,所述目的IP地址为待检测IP地址,其中,N为所述网络检测设备到待检测网络节点的跳数,N≥1;
所述发送模块,用于根据所述标签栈栈顶的链路标签发送所述检测报文,,以便于所述检测报文可以根据标签栈被发送至所述待检测网络设备;
所述接收模块,用于接收通知消息,所述通知消息用于通知所述网络检测设备:反馈节点收到待检测网络节点转发的所述检测报文;所述反馈节点为所述待检测网络节点的下一跳节点;通常,所述网络检测设备是从所述反馈节点接收到该通知消息。
所述确定模块,用于根据所述通知消息和所述网络拓扑信息确定所述待检测网络节点的转发表是否正确。
可选地,所述通知消息为所述反馈节点在所述检测报文中的所述TTL的值为0时发送。所述通知消息可以为ICMP报文。
可选地,所述报文生成模块,具体用于根据所述目的IP地址和所述网络拓扑信息,确定所述网络检测设备至所述目的IP地址的转发路径以及所述转发路径上的所述待检测网络节点;根据所述网络拓扑信息确定所述网络检测设备到所述待检测网络节点的跳数以及每一跳的链路标签,并根据所述网络检测设备到所述待检测网络节点的跳数以及每一跳的链路标签,生成所述检测报文。
可选地,所述检测装置还包括拓扑获取模块;所述拓扑获取模块,用于获取所述网络拓扑信息。所述网络拓扑信息中可以包括所述网络检测设备至所述目的IP地址的转发路径,以及每一跳的路由信息。路由信息包括链路标签。链路标签指定了报文的单跳转发路径。
第三方面的另一种可能的实现中,所述网络检测设备包括:处理器和存储器;所述网络检测设备还包括通信接口;所述处理器,所述存储器和所述通信接口通过总线相互连接;
所述存储器,用于保存网络拓扑信息;所述网络拓扑信息包括所述网络检测设备至目的IP地址的转发路径,以及每一跳的路由信息。路由信息包括链路标签。链路标签指定了报文的单跳转发路径
所述处理器,用于根据所述目的IP地址和所述网络拓扑信息生成检测报文,所述检测报文中包括标签栈,TTL,源IP地址和所述目的IP地址;所述标签栈中包括N个链路标签,所述TTL的值为N+1,所述源IP地址为所述网络检测设备的IP地址,其中,N为所述网络检测设备到待检测网络节点的跳数,N≥1;根据所述标签栈栈顶的链路标签发送所述检测报文;接收通知消息,所述通知消息用于通知所述网络检测设备:反馈节点收到待检测网络节点转发的所述检测报文;并根据所述通知消息和所述网络拓扑信息确定所述待检测网络节点的转发表是否正确。所述反馈节点为所述待检测网络节点的下一跳节点;通常,所述网络检测设备是从所述反馈节点接收到该通知消息。
所述通知消息为所述反馈节点在所述检测报文中的所述TTL的值为0时发送。
可选地,所述处理器,具体用于根据所述目的IP地址和所述网络拓扑信息,确定所述网络检测设备至所述目的IP地址的转发路径以及所述转发路径上的所述待检测网络节点;根据所述网络拓扑信息确定所述网络检测设备到所述待检测网络节点的跳数以及每一跳的链路标签,并根据所述网络检测设备到所述待检测网络节点的跳数以及每一跳的链路标签,生成所述检测报文。
可选地,所述处理器还用于获取所述网络拓扑信息。
第四方面,提供一种网络节点,所述网络节点具有实现上述检测转发表的方法中网络节点(包括待检测网络节点,中间网络节点等)的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,所述硬件或软件可以包括一个或多个与上述功能相对应的模块。
一种可能的实现中,所述网络节点包括接收模块,报文处理模块和转发模块;
所述接收模块,用于接收检测报文,所述检测报文包括标签栈,生存时间TTL,源网际协议IP地址和目的IP地址;其中,所述标签栈中包括N个链路标签,N为大于等于1的正整数(可表示为N≥1),所述TTL的值为N+1;
所述报文处理模块,用于弹出所述标签栈栈顶的链路标签,将所述TTL的值减去1;并判断所述标签栈是否为空;
所述转发模块,用于当所述报文处理模块确定所述标签栈为空时,根据所述目的IP地址和所述网络节点的转发表,将所述检测报文转发给反馈节点;此时,所述网络节点为待检测网络节点,所述反馈节点为所述待检测网络节点的下一跳节点。
所述反馈节点接收所述检测报文,将所述TTL的值减去1;所述反馈节点确定所述TTL的值为0时向所述网络检测设备发送通知消息,以便所述网络检测设备根据网络拓扑信息和所述通知消息中所述反馈节点的IP地址确定所述网络节点的转发表是否正确。
所述转发模块,还用于当所述报文处理模块确定所述标签栈不为空时,根据所述标签栈栈顶的链路标签,转发所述检测报文。此时,所述网络节点为中间网络节点,对所述检测报文继续进行标签转发,以便所述检测报文被发送给所述待检测网络节点。
另一种可能的实现中,所述网络节点包括处理器和存储器;进一步还包括通信接口;所述处理器,所述存储器和所述通信接口之间可以通过总线相互连接;
所述存储器,用于存储转发表;所述处理器,用于接收检测报文,所述检测报文包括标签栈,TTL,源IP地址和目的IP地址;其中,所述标签栈中包括N个链路标签,N≥1,所述TTL的值为N+1;弹出所述标签栈栈顶的链路标签,将所述TTL的值减去1,并判断所述标签栈是否为空。当确定所述标签栈为空时,根据所述目的IP地址和所述转发表,将所述检测报文转发给反馈节点;此时,所述网络节点为待检测网络节点,所述反馈节点为所述待检测网络节点的下一跳。
所述反馈节点接收所述检测报文,将所述TTL的值减去1;所述反馈节点确定所述TTL的值为0,并向所述网络检测设备发送通知消息,以便所述网络检测设备根据网络拓扑信息和所述通知消息中所述反馈节点的IP地址确定所述网络节点的转发表是否正确。
所述处理器,还用于当确定所述标签栈不为空时,根据所述标签栈栈顶的链路标签,转发所述检测报文;此时,所述网络节点为中间网络节点,对所述检测报文继续进行标签转发,以便所述检测报文被发送给所述待检测网络节点。
第五方面,提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码中包括实现上述第一方面的方法的指令。
第六方面,提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码中包括实现上述第二方面的方法的指令。
第七方面,提供一种检测转发表的系统,包括网络检测设备,待检测网络节点和反馈节点;
所述网络检测设备,用于根据目的IP地址和网络拓扑信息生成检测报文,所述检测报文中包括标签栈,TTL,源IP地址和所述目的IP地址;其中,所述标签栈中包括N个链路标签,所述TTL的值为N+1,所述源IP地址为所述网络检测设备的IP地址,其中,N为所述网络检测设备到待检测网络节点的跳数,N≥1;根据所述标签栈栈顶的链路标签发送所述检测报文,以便所述检测报文被发送给所述待检测网络节点;
所述待检测网络节点,用于接收所述检测报文,弹出所述标签栈栈顶的链路标签,并将所述TTL的值减去1;当确定所述标签栈为空时,根据所述目的IP地址和所述待检测网络节点的转发表,将所述检测报文转发给所述反馈节点;所述反馈节点为所述待检测网络节点的下一跳节点;
所述反馈节点,用于接收所述检测报文,将所述TTL的值减去1;并在确定所述TTL的值为0时向所述网络检测设备发送通知消息;
所述网络检测设备,还用于接收所述通知消息,并根据所述通知消息和所述网络拓扑信息确定所述待检测网络节点的转发表是否正确。具体地,当所述网络检测设备确定发送所述通知消息的反馈节点与所述网络拓扑信息中路由一致,所述网络检测设备可以确定所述网络节点的转发表正确;当所述网络检测设备确定发送所述通知消息的反馈节点与所述网络拓扑信息中路由不一致时,所述网络检测设备可以确定所述网络节点的转发表存在错误。
可选地,在所述检测转发表的系统,所述网络检测设备与所述待检测网络节点之间还存在一个或多个中间网络节点。在所述待检测网络节点接收所述检测报文之前,中间网络节点接收所述检测报文,弹出所述标签栈栈顶的链路标签,并将所述TTL的值减去1;所述中间网络节点确定所述标签栈不为空,并根据所述标签栈栈顶的链路标签,继续转发所述检测报文,直至所述待检测网络节点收到所述检测报文。这样,通过检测报文中的特定标签栈和特定TTL值,可以控制中间网络节点仅根据链路标签对所述检测报文进行标签转发,以便所述检测报文被发送给待检测网络节点,只有在待检测网络节点因标签栈为空,才根据转发表对所述检测报文进行IP路由转发。
本申请提供的技术方案,当到待检测IP地址的数据报文出现丢包或转发错误,需要检测待检测网络节点的转发表时,网络检测设备生成包括特定标签栈和特定TTL值的检测报文,指定检测报文的转发路径,并利用TTL逐跳减1、TTL的值为0时会触发待检测网络节点的下一跳,即所述反馈节点,向网络检测设备发送通知消息(ICMP报文),可以快速判断该待检测网络节点的转发表是否存在错误,从而提高故障定位的效率。
附图说明
图1为本申请实施例提供的检测转发表的系统的结构示意图;
图2为本申请实施例提供的检测转发表的方法的流程示意图;
图3为本申请实施例提供的检测转发表的方法的信息交互示意图;
图4为本申请实施例提供的一种检测转发表的检测装置的结构示意图;
图5为本申请实施例提供的另一种检测转发表的检测装置的结构示意图;
图6为本申请实施例提供的一种网络检测设备的结构示意图;
图7为本申请实施例提供的一种网络节点的结构示意图;
图8为本申请实施例提供的另一种网络节点的结构示意图。
具体实施方式
本申请提供的技术方案中,网络检测设备生成包括TTL和链路标签的检测报文,通过标签栈指定该检测报文的标签转发路径,通过TTL指定该检测报文经过的跳数,用于检测所述网络检测设备到目的IP地址的转发路径上的待检测网络节点的转发表是否正确。具体地,网络检测设备根据网络拓扑信息确定所述网络检测设备到所述待检测网络节点的跳数N以及每一跳的链路标签,生成检测报文,其中包括标签栈和TTL;标签栈包括N个链路标签(依次为N跳的链路标签),TTL的值为M的基础上加1,也即,N+1。在所述检测报文从所述网络检测设备转发至所述待检测网络节点的过程中,根据标签栈中的链路标签进行标签转发;在所述检测报文到达所述待检测网络节点后,标签栈为空,则根据所述待检测网络节点的转发表转发所述检测报文。所述待检测网络节点的下一跳,也称为反馈节点,接收所述检测报文,将TTL的值减1,导致因该检测报文中TTL的值为0向该网络检测设备发送通知消息,例如ICMP报文。这样,所述该网络检测设备根据收到的ICMP报文和网络拓扑信息可以判断该待检测网络节点的转发表,即FIB,是否存在错误。
ICMP用于在主机与路由器之间传递控制信息,包括报告错误、状态信息等。ICMP报文有不同的类型,例如ICMP差错报告报文主要用于向数据通信中的源端报告错误。ICMP差错报告报文的数据区通常包括出错报文的首部,还可以包括该出错报文的前64位数据。当数据报文中TTL为0时,路由器会丢弃该数据报文,并发送类型为超时(类型值为11,代码为0)的ICMP差错报告报文给该数据报文的发送者(源端)。本申请实施例中,通知消息可以为ICMP报文,就是指类型值为11、代码为0的ICMP差错报告报文。
本申请实施例提供的检测转发表的方法可以在发往某个目的IP地址的数据报文出现丢包或错误等异常时,而网络正常,换言之,没有其他故障(例如,链路故障等)的情况下,用于检测到该目的IP地址的转发路径上的网络节点的转发表是否存在错误。当然也可以根据用户需要,随时用来检测通往某个目的IP地址的转发路径上的网络节点的转发表是否存在错误。本申请实施例中,该目的IP地址也称为待检测IP地址。
由于转发路径上通常存在多个网络节点,网络检测设备不确定哪个网络节点的转发表存在错误,这时网络检测设备可以将转发路径中某一段网络路径上的多个网络节点依次作为待检测网络节点,发送TTL值及链路标签数量为递增或者递减的多个检测报文,触发该段网络路径上多个网络节点因TTL为0反馈ICMP报文,从而可以检测该段网络路径上每一跳网络节点的转发表是否正确。本申请提供的检测转发表的方法,通过检测一段网络路径上的多个网络节点,可以定位出转发表存在错误的网络节点,从而提高故障定位的效率。
下面结合附图和具体实施方式对本申请的技术方案作详细的说明。
图1为本申请实施例提供的一种检测转发表的系统的结构示意图,该系统100中包括网络检测设备110和所述网络检测设备到目的IP地址的转发路径中的一段网络路径120,图1所示的网络路径120中包括三个网络节点:R1,R2和R3。网络检测设备110可检测所述网络路径120上任一网络节点的转发表,也可以依次检测所述网络路径120上每个网络节点的转发表。所述系统100中还可以包括其他网络节点,例如图1中所示的网络节点R0和R4。
本申请实施例中,将网络检测设备准备检测的网络节点称为待检测网络节点,并将待检测网络节点的下一跳称为反馈节点。将转发路径上网络检测设备与待检测网络节点之间的网络节点称为中间网络节点。结合图1所示的系统,当所述网络检测设备110要检测网络节点R1的转发表时,网络节点R1为待检测网络节点;如果网络节点R1的转发表正确,则发送通知消息的反馈节点与网络拓扑信息的路由一致。如果网络节点R1的转发表错误,则发送通知消息的反馈节点与网络拓扑信息不一致。例如,网络拓扑信息中网络节点R1的下一跳为网络节点R2;如果网络检测设备收到网络节点R2发送的通知消息,则与网络拓扑信息不一致,可以确定网络节点R1的转发表正确;如果网络检测设备收到网络节点R2之外其他节点发送的通知消息,与网络拓扑信息不一致,则可以确定所述R1的转发表存在错误。
图2为本申请实施例提供的一种检测转发表的方法的流程示意图,可以检测网络路径中任一网络节点的转发表是否正确,所述方法包括:
201、网络检测设备根据目的IP地址和网络拓扑信息生成检测报文,所述检测报文中包括标签栈,TTL,源IP地址和所述目的IP地址;所述标签栈中包括N个链路标签,所述TTL的值为N+1,其中,N为所述网络检测设备到待检测网络节点的跳数,N≥1。
所述源IP地址为所述网络检测设备的IP地址,例如1.1.1.1。所述目的IP地址通常为主机的IP地址,例如192.168.1.1。
具体地,所述网络检测设备根据所述目的IP地址和所述网络拓扑信息确定所述网络检测设备到所述目的IP地址的转发路径和所述转发路径上的所述待检测网络节点;然后所述网络检测设备根据网络拓扑信息,确定所述网络检测设备到所述待检测网络节点的跳数以及每一跳的链路标签,生成所述检测报文。其中,所述网络拓扑信息包括所述网络检测设备到所述目的IP地址的转发路径,以及该转发路径上每一跳的路由信息,包括链路标签。链路标签指定了报文的单跳转发路径。
本申请实施例中,所述网络检测设备可以先通过网络拓扑管理装置获取网络拓扑信息。所述网络拓扑管理装置可以是软件定义网络(Software-DefinedNetworking,缩写SDN)控制器。具体实现中,所述网络检测设备和所述网络拓扑管理装置可以在同一个物理设备中实现,也可以是在不同的物理设备中实现。
以图1所示系统为例,网络检测设备110要检测网络中到192.168.1.1这个目的IP地址的转发路径上的网络节点R1的转发表是否正确,即待检测网络节点为R1,则所述网络检测设备110根据网络拓扑信息,确定所述网络检测设备110到网络节点R1的跳数为2(即,所述网络检测设备110到R0,以及R0到R1共两跳),链路标签分别为:8801和8802,所述网络检测设备110生成检测报文,其中标签栈中包括2个链路标签:8801和8802,TTL值为3。
202、所述网络检测设备根据所述标签栈栈顶的链路标签发送所述检测报文;
标签栈的操作与通常的堆栈“后进先出”的操作一样。标签入栈是指向报文加入一个标签,使标签栈的深度加1;标签出栈是指从报文中去掉一个标签,换言之,弹出标签,使标签栈的深度减1。报文中,标签自栈底至栈顶按照自内往外的顺序封装。在报文转发过程中,决定如何转发报文的标签始终是标签栈栈顶的标签,也即报文中最外层的标签。
具体地,所述网络检测设备可以通过(Multiprotocol Label Switching,缩写MPLS)定义的标签转发方式实现本申请的检测转发表的方法,所述检测报文可以是MPLS报文。当然,也可以采用其他支持段路由(segment routing)中链路标签转发的实现方式,本申请对此不做限制。
具体地,所述网络检测设备向下一跳节点(可能是中间网络节点,也可能就是所述待检测网络节点)发送所述检测报文,以便于所述检测报文被发送至所述待检测网络设备。继续上述步骤201中的例子,所述网络检测设备110生成的所述检测报文中,标签栈中自栈底至栈顶(报文自内而外)的链路标签依次为8802,8801;TTL值为3。所述网络检测设备110根据所述标签栈栈顶的链路标签8801向下一跳节点,即网络节点R0发送所述检测报文。
203、网络节点接收所述检测报文,弹出所述标签栈栈顶的链路标签,并将所述TTL的值减去1;
204、所述网络节点判断所述标签栈是否为空;
所述网络节点在弹出所述标签栈栈顶的链路标签之后,需要判断标签栈是否为空,以确定继续进行标签转发还是根据转发表进行IP路由转发。
当所述网络节点确定所述标签栈不为空时,表示所述网络节点为中间网络节点,则继续步骤205;当所述网络节点确定所述标签栈为空时,表示所述网络节点为待检测网络节点,则继续步骤206;
205、当所述网络节点确定所述标签栈不为空时,所述网络节点根据所述标签栈栈顶的链路标签转发所述检测报文。
当所述网络节点确定所述标签栈不为空时,即所述网络节点为中间网络节点,所述网络节点根据所述标签栈栈顶的链路标签向下一跳节点转发所述检测报文,以便于所述检测报文被发送至所述待检测网络设备。继续上述例子,网络节点R0确定所述标签不为空,所述网络节点R0根据所述标签栈栈顶的链路标签8802向下一跳节点,即网络节点R1,转发所述检测报文。
206、当所述网络节点确定所述标签栈为空时,所述网络节点根据所述目的IP地址和所述网络节点的转发表,将所述检测报文转发给反馈节点;
当所述网络节点确定所述标签栈为空时,所述网络节点即为待检测网络节点,可以理解的是,此时所述检测报文中的TTL的值为1。所述网络节点根据所述目的IP地址和所述网络节点的转发表,将所述检测报文转发给反馈节点,所述反馈节点为所述待检测网络节点的下一跳节点。继续上述例子,网络节点R1确定所述标签为空,所述网络节点R1根据所述目的IP地址和所述网络节点R1的转发表,将所述检测报文转发给反馈节点,即网络节点R2。
207、所述反馈节点接收所述检测报文,将所述TTL的值减去1,所述反馈节点确定所述TTL的值为0时向网络检测设备发送通知消息;
所述通知消息用于向所述网络检测设备通知:反馈节点收到待检测网络节点转发的所述检测报文。所述通知消息中包括所述反馈节点的IP地址。
所述通知消息具体可以是ICMP报文;当然也可以扩张已有消息,或者创建新的消息,只要能够起到该通知消息的作用即可,本申请对此不做限定。
所述反馈节点收到所述检测报文之后将所述TTL的值减去1,所述TTL的值为0,因此所述反馈节点向所述网络检测设备发送通知消息,通知所述网络检测设备:所述反馈节点收到了所述检测报文。本申请实施例中,所述网络检测设备生成的检测报文,由于设置的标签栈以及TTL值,使得该检测报文根据链路标签逐跳转发到待检测网络节点,并在经过待检测网络节点处理后标签栈为空且TTL值为1。而该检测报文经过所述反馈节点处理(TTL减1)后,所述TTL的值为0,从而触发所述反馈节点向所述网络检测设备发送通知消息。
208、所述网络检测设备接收所述通知消息,并根据所述通知消息和所述网络拓扑信息确定所述网络节点的转发表是否正确;
具体地,当所述网络检测设备确定发送所述通知消息的所述反馈节点与所述网络拓扑信息中路由一致,所述网络检测设备可以确定所述网络节点的转发表正确;当所述网络检测设备确定发送所述通知消息的所述反馈节点与所述网络拓扑信息中路由不一致时,所述网络检测设备可以确定所述网络节点的转发表存在错误。
本申请提供的技术方案,检测报文在经过标签转发后,会根据待检测网络设备的转发表进行IP路由转发,由于TTL每经过一跳会减1,通过设置适当的TTL值,使得TTL的值经反馈节点处理(TTL减1)后为0,触发反馈节点向网络检测设备发送ICMP报文,如果发送ICMP报文的反馈节点与网络拓扑信息中路由一致,则可以确定该待检测网络节点的转发表正确,否则,可以确定该待检测网络节点的转发表存在错误。
所述ICMP报文中包含所述检测报文的首部,因此网络检测设备可以确定收到的所述ICMP报文是所述反馈节点用于报告所述检测报文出现超时(TTL为0)错误的。
当网络检测设备要检测转发路径上多个网络节点的转发表时,网络检测设备可以依次发送TTL的值及链路标签的数量为递增或者递减的多个检测报文,重复执行如图2所示的检测报文的方法,从而可以检测转发路径上多个网络节点的转发表,定位出转发表存在错误的网络节点。
结合图1所示的系统,本申请实施例提供了对网络检测设备110到目的IP地址的转发路径中的一段网络路径120上的三个网络节点R1,R2和R3的转发表依次进行检测的方法。该段网络路径120可以是根据客户需求,网络部署情况(权重,带宽等),或者数据报文转发异常等分析后确定的。参见图3所示的检测转发表的方法的信息交互示意图,该方法包括:
301-1、网络检测设备110根据目的IP地址和网络拓扑信息生成第一检测报文,所述第一检测报文的头部包括第一标签栈,第一TTL,源IP地址和所述目的IP地址;
具体地,所述网络检测设备110根据所述目的IP地址和所述网络拓扑信息,确定所述网络检测设备到所述目的IP地址的转发路径及所述转发路径中网络路径120。
所述网络检测设备110首先要检测网络路径120上网络节点R1的转发表是否存在错误,即所述网络节点R1为待检测网络节点。
所述网络检测设备110根据所述网络拓扑信息确定所述网络检测设备110到网络节点R1的跳数为2(即,所述网络检测设备110到网络节点R0,以及网络节点R0到网络节点R1共两跳),链路标签,分别为:8801和8802。所述网络检测设备110生成所述第一检测报文,N为2,如图3所示,所述第一标签栈中包括2个链路标签,自栈底至栈顶(报文自内而外)依次为第二链路标签8802,第一链路标签8801;所述第一TTL的值为3。
所述目的IP地址,即待检测IP地址,例如为192.168.1.1;所述源IP地址为所述网络检测设备110的IP地址,例如为1.1.1.1。
302-1、所述网络检测设备110根据所述第一标签栈栈顶的第一链路标签(8801)发送所述第一检测报文;
具体地,网络节点R0为所述转发路径上所述网络检测设备的下一跳节点;所述网络检测设备110根据所述第一标签栈栈顶的第一链路标签8801向网络节点R0发送所述第一检测报文;
303-1、所述网络节点R0接收所述第一检测报文,弹出所述第一标签栈栈顶的第一链路标签(8801),并将所述第一TTL的值减去1;
所述第一检测报文经所述网络节点R0处理后,所述第一标签栈中包括1个链路标签,即第二链路标签8802;所述第一TTL的值为2。此时,所述第一标签栈栈顶的标签即为该第二链路标签8802。
然后所述网络节点R0需要判断所述第一标签栈是否为空,以确定继续进行标签转发还是根据转发表进行IP路由转发。
304-1、所述网络节点R0确定所述第一标签栈不为空,并根据所述第一标签栈栈顶的第二链路标签(8802)发送所述第一检测报文至网络节点R1;
所述网络节点R0确定所述第一标签栈不为空,表示所述网络节点R0为中间网络节点,所述网络节点R0继续向自己的下一跳节点,即网络节点R1,转发所述第一检测报文。
305-1、所述网络节点R1接收所述第一检测报文,弹出所述第一标签栈栈顶的第二链路标签(8802),并将所述第一TTL的值减去1;
所述第一检测报文经所述网络节点R1处理后,所述第一标签栈为空(其中没有链路标签了),所述第一TTL的值为1。
然后所述网络节点R1需要判断所述第一标签栈是否为空,以确定继续进行标签转发还是根据转发表进行IP路由转发。
306-1、所述网络节点R1确定所述第一标签栈为空,并根据所述目的IP地址和所述网络节点R1的转发表,将所述第一检测报文转发给网络节点R2;
所述网络节点R1确定所述第一标签栈为空时,表示所述网络节点R1为待检测网络节点,所述网络节点R1根据所述目的IP地址和所述网络节点R1的转发表对所述第一检测报文进行IP路由转发,将所述第一检测报文转发给所述网络节点R1的下一跳,即反馈节点。
307-1、所述网络节点R2接收所述第一检测报文,将所述第一TTL的值减去1,所述网络节点R2确定所述第一TTL的值为0并向所述网络检测设备110发送第一ICMP报文;
所述网络节点R2确定所述第一TTL的值为0,则所述网络节点R2作为反馈节点,生成所述第一ICMP报文,发送给所述网络检测设备110;所述第一ICMP报文中包括所述网络节点R2的IP地址。所述第一ICMP报文中携带所述第一检测报文的首部(所述源IP地址和所述目的IP地址),因此网络检测设备可以确定收到的所述第一ICMP报文是所述网络节点R2用于报告所述第一检测报文出现超时(TTL为0)错误的。
假设所述网络拓扑信息中所述网络检测设备至所述目的IP地址的转发路径上所述网络节点R1的下一跳为网络节点R2。所述网络节点R2收到所述第一检测报文并向网络检测设备发送所述第一ICMP报文,即所述网络节点R2为反馈节点,表明所述待检测网络节点,即网络节点R1的转发表正确。如果网络节点R2之外的其他节点收到所述第一检测报文,所述其他节点向网络检测设备发送所述第一ICMP报文,即所述其他节点为反馈节点(图3中未示出),则表明所述网络节点R1的转发表错误。
308-1、所述网络检测设备110接收所述网络节点R2发送的所述第一ICMP报文,根据所述第一ICMP报文和所述网络拓扑信息确定所述网络节点R1的转发表是否正确。
具体地,所述网络检测设备根据所述网络拓扑信息和所述第一ICMP报文中所述网络节点R2的IP地址,若确定所述网络拓扑信息中所述网络检测设备至所述目的IP地址的转发路径上所述网络节点R1(即待检测网络节点)的下一跳是所述网络节点R2,即发送所述第一ICMP报文的反馈节点(所述网络节点R2)与所述网络拓扑信息一致,则所述网络检测设备可以确定所述网络节点R1的转发表正确;若确定所述网络拓扑信息中所述转发路径上所述网络节点R1的下一跳不是所述网络节点R2,即发送所述第一ICMP报文的反馈节点(所述网络节点R2)与所述网络拓扑信息不一致,则所述网络检测设备可以确定所述网络节点R1的转发表存在错误。
接下来,所述网络检测设备110要继续检测网络路径120上网络节点R2的转发表是否存在错误。
301-2、网络检测设备110根据所述目的IP地址和所述网络拓扑信息生成第二检测报文,所述第二检测报文包括第二标签栈,第二TTL,所述源IP地址和所述目的IP地址;
具体地,所述网络检测设备110根据所述目的IP地址和所述网络拓扑信息,确定所述网络检测设备110到网络节点R2(即待检测网络节点)的跳数为3(即,所述网络检测设备110到网络节点R0,网络节点R0到网络节点R1,以及网络节点R1到网络节点R2共三跳),链路标签分别为:8801,8802和8803。所述网络检测设备110生成所述第二检测报文,N为3,如图3所示,所述第二标签栈中包括3个链路标签,自栈底至栈顶(报文自内而外)依次为第三链路标签8803,第二链路标签8802,第一链路标签8801;第二TTL的值为4。
所述第二检测报文与所述第一检测报文具有相同的源IP地址和相同的目的IP地址。
302-2、所述网络检测设备110根据所述第二标签栈栈顶的第一链路标签(8801)发送所述第二检测报文;
具体地,所述网络检测设备110根据所述第二标签栈栈顶的第一链路标签8801向自己的下一跳节点,即网络节点R0发送所述第二检测报文。
303-2、所述网络节点R0接收所述第二检测报文,弹出所述第二标签栈栈顶的第一链路标签(8801),并将所述第二TTL的值减去1;
所述第二检测报文经所述网络节点R0处理后,所述第二标签栈中包括2个链路标签,自栈底至栈顶(报文自内而外)依次为第三链路标签8803,第二链路标签8802;所述第二TTL的值为3。此时,所述第二标签栈栈顶的标签即为该第二链路标签8802。
然后所述网络节点R0需要判断所述第二标签栈是否为空,以确定继续进行标签转发还是根据转发表进行IP路由转发。
304-2、所述网络节点R0确定所述第二标签栈不为空,并根据所述第二标签栈栈顶的第二链路标签(8802)向网络节点R1发送所述第二检测报文;
所述网络节点R0确定所述第二标签栈不为空,表示所述网络节点R0为中间网络节点,所述网络节点R0根据标签栈栈顶的第二链路标签(8802)向所述网络节点R0的下一跳节点,即网络节点R1,转发所述第二检测报文。
305-2、所述网络节点R1接收所述第二检测报文,弹出所述第二标签栈栈顶的第二链路标签(8802),并将所述第二TTL的值减去1;
所述第二检测报文经所述网络节点R1处理后,所述第二标签栈中包括1个链路标签,即第三链路标签8803;所述第二TTL的值为2。此时,所述第二标签栈栈顶的标签即为该第三链路标签8803。
然后所述网络节点R1需要判断所述第二标签栈是否为空,以确定继续进行标签转发还是根据转发表进行IP路由转发。
306-2、所述网络节点R1确定所述第二标签栈不为空,并根据所述第二标签栈栈顶的第三链路标签(8803)向网络节点R2发送所述第二检测报文;
所述网络节点R1确定所述第二标签栈不为空,表示所述网络节点R1也是中间网络节点,所述网络节点R1根据所述第二标签栈栈顶的第三链路标签(8803)向自己的下一跳节点,即网络节点R2发送所述第二检测报文。
307-2、所述网络节点R2接收所述第二检测报文,弹出所述第二标签栈栈顶的第三链路标签(8803),并将所述第二TTL的值减去1;
所述第二检测报文经所述网络节点R2处理后,所述第二标签栈为空;所述第二TTL的值为1。
然后所述网络节点R2需要判断所述第二标签栈是否为空,以确定继续进行标签转发还是根据转发表进行IP路由转发。
308-2、所述网络节点R2确定所述第二标签栈为空,并根据所述目的IP地址和所述网络节点R2的转发表,将所述第二检测报文转发给网络节点R3;
所述网络节点R2确定所述第二标签栈为空,表示所述网络节点R2就是待检测网络节点。所述网络节点R2根据自己的转发表和所述目的IP地址对所述第二检测报文进行IP路由转发,将所述第二检测报文转发给自己的下一跳节点,即反馈节点。
309-2、所述网络节点R3接收所述第二检测报文,将所述第二TTL的值减去1,所述网络节点R3确定所述第二TTL的值为0并向所述网络检测设备发送第二ICMP报文;
所述网络节点R3,即反馈节点,收到所述第二检测报文后,将所述第二TTL的值减去1。所述网络节点R3确定所述第二TTL的值为0,因此生成所述第二ICMP报文,发送给所述网络检测设备110;所述第二ICMP报文中包括所述网络节点R3的IP地址。所述第二ICMP报文中还携带所述第二检测报文的首部(所述源IP地址和所述目的IP地址),因此网络检测设备可以确定收到的所述第二ICMP报文是所述网络节点R3用于报告所述第二检测报文出现超时(TTL为0)错误的。
310-2、所述网络检测设备110接收所述网络节点R3发送的所述第二ICMP报文,根据所述第二ICMP报文和所述网络拓扑信息确定所述网络节点R2的转发表是否正确。
具体地,所述网络检测设备根据所述网络拓扑信息和所述第二ICMP报文中所述网络节点R3的IP地址,若确定所述网络拓扑信息中所述网络检测设备至所述目的IP地址的转发路径上所述网络节点R2(即待检测网络节点)的下一跳节点是所述网络节点R3,即发送所述第二ICMP报文的反馈节点(所述网络节点R3)与所述网络拓扑信息一致,则所述网络检测设备可以确定所述网络节点R2的转发表正确;若确定所述网络拓扑信息中所述转发路径上所述网络节点R2的下一跳不是所述网络节点R3,即发送所述第二ICMP报文的反馈节点(所述网络节点R3)与所述网络拓扑信息不一致,则所述网络检测设备可以确定所述网络节点R2的转发表存在错误。
接下来,所述网络检测设备110继续检测网络路径120上网络节点R3的转发表是否存在错误。
301-3、网络检测设备110根据所述目的IP地址和所述网络拓扑信息生成第三检测报文,所述第三检测报文包括第三标签栈,第三TTL,所述源IP地址和所述目的IP地址;
具体地,所述网络检测设备110根据所述网络拓扑信息,确定所述网络检测设备110到网络节点R3(即待检测网络节点)的跳数为4(即,所述网络检测设备110到网络节点R0,网络节点R0到网络节点R1,网络节点R1到网络节点R2,以及网络节点R2到网络节点R3共四跳),链路标签分别为:8801,8802,8803和8804。所述网络检测设备110生成所述第三检测报文,N为4,如图3所示,所述第三标签栈中包括4个链路标签,自栈底至栈顶(报文自内而外)依次为第四链路标签8804,第三链路标签8803,第二链路标签8802,第一链路标签8801;第三TTL的值为5。
所述第三检测报文与所述第一检测报文、所述第二检测报文具有相同的源IP地址(即所述网络检测设备的IP地址)和相同的目的IP地址(即所述待检测IP地址)。
302-3、所述网络检测设备110根据所述第三标签栈栈顶的第一链路标签(8801)发送所述第三检测报文至网络节点R0;
303-3、所述网络节点R0接收所述第三检测报文,弹出所述第三标签栈栈顶的第一链路标签(8801),并将所述第三TTL的值减去1;
所述第三检测报文经所述网络节点R0处理后,所述第三标签栈中包括3个链路标签,自栈底至栈顶(报文自内而外)依次为第四链路标签8804,第三链路标签8803,第二链路标签8802;所述第三TTL的值为4。此时,所述第第三标签栈栈顶的标签即为该第二链路标签8802。
然后所述网络节点R0需要判断所述第三标签栈是否为空,以确定继续进行标签转发还是根据转发表进行IP路由转发。
304-3、所述网络节点R0确定所述第三标签栈不为空,并根据所述第三标签栈栈顶的第二链路标签(8802)发送所述第三检测报文至网络节点R1;
所述网络节点R0作为中间网络节点继续转发所述第三检测报文给自己的下一跳节点,即网络节点R1。
305-3、所述网络节点R1接收所述第三检测报文,弹出所述第三标签栈栈顶的第二链路标签(8802),并将所述第三TTL的值减去1;
所述第三检测报文经所述网络节点R1处理后,所述第三标签栈中包括2个链路标签,自栈底至栈顶(报文自内而外)依次为第四链路标签8804,第三链路标签8803;所述第三TTL的值为3。此时,所述第三标签栈栈顶的标签即为该第三链路标签8803。
然后所述网络节点R1需要判断所述第三标签栈是否为空,以确定继续进行标签转发还是根据转发表进行IP路由转发。
306-3、所述网络节点R1确定所述第三标签栈不为空,并根据所述第三标签栈栈顶的第三链路标签(8803)发送所述第三检测报文至网络节点R2;
所述网络节点R1作为中间网络节点继续转发所述第三检测报文给自己的下一跳节点,即网络节点R2。
307-3、所述网络节点R2接收所述第三检测报文,弹出所述第三标签栈栈顶的第三链路标签(8803),并将所述第三TTL的值减去1;
所述第三检测报文经所述网络节点R2处理后,所述第三标签栈中包括1个链路标签,即第四链路标签8804;所述第三TTL的值为2。此时,所述第三标签栈栈顶的标签即为该第四链路标签8804。
然后所述网络节点R2需要判断所述第三标签栈是否为空,以确定继续进行标签转发还是根据转发表进行IP路由转发。
308-3、所述网络节点R2确定所述第三标签栈不为空,并根据所述第三标签栈栈顶的第四链路标签(8804)发送所述第三检测报文至网络节点R3;
所述网络节点R2作为中间网络节点继续转发所述第三检测报文给自己的下一跳节点,即网络节点R3。
309-3、所述网络节点R3接收所述第三检测报文,弹出所述第三标签栈栈顶的第四链路标签(8804),并将所述第三TTL的值减去1;
所述第三检测报文经所述网络节点R3处理后,所述第三标签栈为空;所述第三TTL的值为1。
然后所述网络节点R3需要判断所述第三标签栈是否为空,以确定继续进行标签转发还是根据转发表进行IP路由转发。
310-3、所述网络节点R3确定所述第三标签栈为空,并根据所述目的IP地址和所述网络节点R3的转发表,将所述第三检测报文转发给网络节点R4;
所述网络节点R3确定所述第三标签栈为空时,表示所述网络节点R3为待检测网络节点,所述网络节点R3根据所述目的IP地址和所述网络节点R3的转发表对所述第三检测报文进行IP路由转发,将所述第三检测报文转发给所述网络节点R3的下一跳,即反馈节点。
311-3、所述网络节点R4接收所述第三检测报文,将所述第三TTL的值减去1,所述网络节点R4确定所述第三TTL的值为0并向所述网络检测设备发送第三ICMP报文;
所述网络节点R4确定所述第三TTL的值为0,则所述网络节点R4作为所述待检测网络节点的下一跳节点,即反馈节点,生成所述第三ICMP报文,发送给所述网络检测设备110;所述第三ICMP报文中包括所述网络节点R4的IP地址。所述第三ICMP报文中还携带所述第三检测报文的首部,因此网络检测设备可以确定收到的所述第三ICMP报文是所述网络节点R2用于报告所述第三检测报文出现超时(TTL为0)错误的。
假设所述网络拓扑信息中所述转发路径上所述网络节点R3的下一跳为网络节点R4。所述网络节点R4收到所述第三检测报文并向网络检测设备发送所述第三ICMP报文,即所述网络节点R4为反馈节点,则表明所述待检测网络节点,即网络节点R3的转发表正确。如果网络节点R4之外的其他节点收到所述第三检测报文,所述其他节点向网络检测设备发送所述第三ICMP报文,即所述其他节点为反馈节点(图3中未示出),则表明所述网络节点R3的转发表错误。
312-3、所述网络检测设备110接收所述网络节点R4发送的所述第三ICMP报文,根据所述第三ICMP报文和所述网络拓扑信息确定所述网络节点R3的转发表是否正确。
具体地,所述网络检测设备根据所述网络拓扑信息和所述第三ICMP报文中所述网络节点R4的IP地址,若确定所述网络拓扑信息中所述网络检测设备至所述目的IP地址的转发路径上所述网络节点R3(即待检测网络节点)在网络路径上的下一跳是所述网络节点R4,即发送所述第三ICMP报文的反馈节点(所述网络节点R4)与所述网络拓扑信息一致,则所述网络检测设备可以确定所述网络节点R3的转发表正确;若定所述网络拓扑信息中所述转发路径上所述网络节点R3的下一跳不是所述网络节点R4,即发送所述第三ICMP报文的反馈节点(所述网络节点R4)与所述网络拓扑信息不一致,则所述网络检测设备可以确定所述网络节点R3的转发表不正确,即存在错误。
本申请实施例提供的检测转发表的方法,网络检测设备根据网络拓扑信息生成包括特定链路标签和特定TTL值的检测报文,指定检测报文的转发路径,并利用TTL逐跳减1、TTL的值为0时会触发待检测网络节点的下一跳,即反馈节点,向网络检测设备发送通知消息(ICMP报文),可以检测到所述待检测IP地址的网络路径上任意一个或多个网络节点的转发表是否存在错误,从而提高故障定位的效率。
图3所示的检测转发表的过程中,按照所述转发路径中网络路径120上节点的顺序逐跳依次检测每个节点的转发表是否正确,当然也可以倒序检测,或者任选其中一个或多个网络节点检测其转发表是否正确,对此本申请不做限定。
在本申请图2和图3所示实施例提供的检测转发表的方法基础上,接下来具体描述提供网络检测设备侧功能的检测装置和网络检测设备。
参见图4,为本申请实施例提供的一种检测转发表的检测装置400,所述检测装置400可以设置在网络检测设备中,用于实现如本申请图2和3所示实施例中所述检测转发表的方法。所述检测装置400包括:
报文生成模块401,用于根据目的IP地址和网络拓扑信息生成检测报文,所述检测报文中包括标签栈,TTL,源IP地址和目的IP地址;所述标签栈中包括N个链路标签,所述TTL的值为N+1;所述源IP地址为所述网络检测设备的IP地址,其中,N为所述网络检测设备到待检测网络节点的跳数,N为大于等于1的正整数(可表示为N≥1);
发送模块402,用于根据所述标签栈栈顶的链路标签发送所述检测报文;具体地,向所述网络检测设备的下一跳节点发送所述检测报文;所述网络检测设备的下一跳节点可能是中间网络节点,也可能就是该待检测网络节点。
接收模块403,用于接收通知消息,所述通知消息用于通知所述网络检测设备:反馈节点收到所述待检测网络节点转发的所述检测报文;所述反馈节点为所述待检测网络节点的下一跳节点;
确定模块404,用于根据所述通知消息和所述网络拓扑信息确定所述待检测网络节点的转发表是否正确。
参见图5所示,所述检测装置400还包括拓扑获取模块405,用于获取所述网络拓扑信息,所述网络拓扑信息包括所述网络检测设备至所述目的IP地址的转发路径,及转发路径上每一跳的路由信息。路由信息包括链路标签。
所述拓扑获取模块405可以先通过网络拓扑管理装置获取网络拓扑信息。所述网络拓扑管理装置可以是SDN控制器。具体实现中,所述检测装置400和所述网络拓扑管理装置可以在同一个物理设备中实现,也可以是在不同的物理设备中实现。
所述报文生成模块401,具体用于根据所述目的IP地址和所述网络拓扑信息,确定所述网络检测设备到所述目的IP地址的转发路径和所述转发路径上的所述待检测网络节点;根据所述网络拓扑信息确定所述网络检测设备到所述待检测网络节点的跳数N以及每一跳的链路标签,并根据所述跳数N以及每一跳的链路标签,生成所述检测报文。
当所述待检测网络节点收到所述检测报文之后,所述待检测网络节点弹出所述标签栈栈顶的链路标签,并将所述TTL的值减去1;所述待检测网络节点确定所述标签栈为空,可以理解此时所述检测报文中的TTL的值为1,所述待检测网络节点就根据所述目的IP地址和所述待检测网络节点的转发表对所述检测报文进行IP路由转发,将所述检测报文转发给反馈节点,所述反馈节点为所述待检测网络节点的下一跳。
所述通知消息中包括所述反馈节点的IP地址;所述通知消息为所述反馈节点在所述检测报文中的所述TTL的值为0时发送。具体地,所述反馈节点接收所述待检测网络节点转发的所述检测报文,并将所述TTL的值减去1,导致所述TTL的值为0,触发所述反馈节点向所述网络检测设备发送通知消息,例如ICMP报文。
所述确定模块404具体用于根据所述网络拓扑信息和所述通知消息中所述反馈节点的IP地址,判断发送所述通知消息的所述反馈节点与所述网络拓扑信息中路由一致;当一致时,确定所述待检测网络节点的转发表正确;当不一致时,确定所述待检测网络节点的转发表存在错误。
参见图6,为本申请实施例提供的一种网络检测设备600,用于实现如本申请图2和3所示实施例中所述检测转发表的方法。所述网络检测设备包括:处理器601,存储器602和通信接口603;
所述处理器601,所述存储器602和所述通信接口603之间可以通过总线604相互连接;总线604可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器602,用于存储网络拓扑信息,所述网络拓扑信息包括所述网络检测设备至目的IP地址的转发路径,及转发路径上每一跳的路由信息。所述路由信息包括链路标签。
所述处理器601,用于根据所述目的IP地址和所述网络拓扑信息生成检测报文,所述检测报文中包括标签栈,TTL,源IP地址和目的IP地址;所述标签栈中包括N个链路标签,所述TTL的值为N+1,所述源IP地址为所述网络检测设备的IP地址,其中,N为所述网络检测设备到待检测网络节点的跳数,N≥1;根据所述标签栈栈顶的链路标签,通过所述通信接口603发送所述检测报文;通过所述通信接口603接收反馈节点发送的通知消息,所述通知消息用于通知所述网络检测设备:所述反馈节点收到待检测网络节点转发的所述检测报文;并根据所述通知消息和所述网络拓扑信息确定所述待检测网络节点的转发表是否正确。所述反馈节点为所述待检测网络节点的下一跳节点。
所述处理器601具体用于根据所述网络拓扑信息,确定所述网络检测设备到所述待检测网络节点的跳数N以及每一跳的链路标签,并根据所述网络检测设备到所述待检测网络节点的跳数N以及每一跳的链路标签,生成所述检测报文。
所述处理器601,还用于获取所述网络拓扑信息。具体可以通过网络拓扑管理装置获取网络拓扑信息。所述网络拓扑管理装置可以是SDN控制器。具体实现中,所述网络检测设备和所述网络拓扑管理装置可以在同一个物理设备中实现,也可以是在不同的物理设备中实现。
所述存储器602可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器602也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器602还可以包括上述种类的存储器的组合。
本申请实施例中,所述通信接口603代表所述网络检测设备600与网络中其他网络节点通信的接口,可以是一个或多个,为便于表述,本申请中用通信接口603表示,并不作为对本申请技术方案的限定。
所述处理器601可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。处理器601还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic array logic,缩写:GAL)或其任意组合。
可选地,所述存储器602还用于存储程序指令;所述处理器601可以调用存储器602中存放的程序指令,执行图2和图3所示实施例中网络检测设备的一个或多个步骤,或其中可选的实施方式,实现上述图2和图3所示的检测转发表的方法。
本申请实施例提供的网络检测设备根据目的IP地址和网络拓扑信息生成包括特定链路标签和特定TTL值的检测报文,可以检测到所述目的IP地址的转发路径上任意一个或多个网络节点的转发表是否存在错误,从而提高故障定位的效率。
在本申请图2和图3所示实施例提供的检测转发表的方法基础上,接下来具体描述实现上述方法中的网络节点。
参见图7,为本申请实施例提供的一种网络节点700,所述网络节点700用于实现如本申请图2和3所示实施例中所述检测转发表的方法。所述网络节点700包括:
接收模块701,用于接收检测报文,所述检测报文包括标签栈,TTL,源IP地址和目的IP地址;其中,所述标签栈中包括N个链路标签,N为大于等于1的正整数,所述TTL的值为N+1;
报文处理模块702,用于弹出所述标签栈栈顶的链路标签,将所述TTL的值减去1;并判断所述标签栈是否为空;
转发模块703,用于当所述报文处理模块702确定所述标签栈为空时,根据所述目的IP地址和所述网络节点的转发表,将所述检测报文转发给反馈节点。此时,所述网络节点为待检测网络节点,所述反馈节点为所述待检测网络节点的下一跳。所述反馈节点接收所述检测报文(此时,所述检测报文中不包含链路标签,所述TTL的值为1),将所述TTL的值减去1;所述反馈节点确定所述TTL的值为0时向所述网络检测设备发送通知消息,例如,ICMP报文,以便所述网络检测设备根据所述通知消息和网络拓扑信息确定所述网络节点的转发表是否正确。
所述转发模块703,还用于当所述报文处理模块702确定所述标签栈不为空时,根据所述标签栈栈顶的链路标签,转发所述检测报文。此时,所述网络节点为中间网络节点,根据链路标签对所述检测报文进行标签转发,直至发送给待检测网络节点。
所述网络拓扑信息包括所述网络检测设备至目的IP地址所对应设备的每一跳的路由信息。所述网络拓扑信息具体可以包括所述网络检测设备至所述目的IP地址的转发路径,以及该转发路径上每一跳的路由信息;路由信息包括链路标签。
参见图8,为本申请实施例提供的另一种网络节点800,用于实现如本申请图2和3所示实施例中所述检测转发表的方法。所述网络节点800包括:处理器801,存储器802和通信接口803;
所述处理器601,所述存储器602和所述通信接口603之间可以通过总线604相互连接;总线604可以是PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器802,用于存储转发表,所述转发表中包括目的IP地址和下一跳。
所述处理器801,用于接收检测报文,所述检测报文包括标签栈,TTL,源IP地址和所述目的IP地址;其中,所述标签栈中包括N个链路标签,N为大于等于1的正整数,所述TTL的值为N+1;弹出所述标签栈栈顶的链路标签,将所述TTL的值减去1,并判断所述标签栈是否为空;当确定所述标签栈为空时,根据所述目的IP地址和所述转发表,将所述检测报文转发给反馈节点。此时,所述网络节点为待检测网络节点,所述反馈节点为所述待检测网络节点的下一跳。所述反馈节点接收所述检测报文(此时,所述检测报文中不包含链路标签,所述TTL的值为1),将所述TTL的值减去1;所述反馈节点确定所述TTL的值为0,则向所述网络检测设备发送通知消息,例如,ICMP报文,以便所述网络检测设备根据所述通知消息和网络拓扑信息确定所述网络节点的转发表是否正确。
所述网络拓扑信息包括所述网络检测设备至目的IP地址(待检测IP地址)所对应设备的每一跳的路由信息。所述网络拓扑信息具体可以包括所述网络检测设备至所述待检测IP地址的转发路径,以及该转发路径上每一跳的路由信息;路由信息包括链路标签。
所述处理器801,还用于当确定所述标签栈不为空时,根据所述标签栈栈顶的链路标签,转发所述检测报文。此时,所述网络节点为中间网络节点,根据所述标签栈栈顶的链路标签对所述检测报文进行标签转发,直至发送给待检测网络节点。
所述存储器802可以包括易失性存储器,例如RAM;存储器802也可以包括非易失性存储器,例如flash,HDD,SSD;存储器802还可以包括上述种类的存储器的组合。
本申请实施例中,所述通信接口803代表所述网络节点800与网络中其他网络节点通信的接口,可以是一个或多个,为便于表述,本申请中用通信接口803表示,并不作为对本申请技术方案的限定。
所述处理器801可以是CPU,NP,或者CPU和NP的组合;所述处理器也可以是硬件芯片。上述硬件芯片可以是ASIC,PLD或其组合。上述PLD可以是CPLD,FPGA,GAL或其任意组合。
可选的,所述处理器801,还用于获取所述转发表。具体地,所述处理器801根据路由表生成所述转发表。所述存储器802还可用于存储所述路由表。所述网络节点可以采用传统的方法得到所述路由表,在此不再赘述。
可选地,所述存储器802还用于存储程序指令;所述处理器601可以调用存储器802中存放的程序指令,执行图2和图3所示实施例中网络节点的一个或多个步骤,或其中可选的实施方式,实现上述图2和图3所示的检测转发表的方法。
本申请实施例提供的网络节点,在收到网络检测设备发送的包括特定链路标签和特定TTL的检测报文后,将检测报文中的TTL的值减1;当该网络节点是待检测网络节点,根据转发表将检测报文转发给反馈节点后,反馈节点收到该检测报文同样将TTL的值减1,导致所述TTL的值为0触发反馈节点向网络检测设备发送通知消息,从而网络检测设备可以根据网络拓扑信息和通知消息中的反馈节点的IP地址,确定待检测网络节点的转发表是否正确。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (13)

1.一种检测转发表的方法,其特征在于,包括:
网络检测设备根据目的网际协议IP地址和网络拓扑信息生成检测报文,所述检测报文中包括标签栈,生存时间TTL,源IP地址和所述目的IP地址;所述标签栈中包括N个链路标签,所述TTL的值为N+1;所述源IP地址为所述网络检测设备的IP地址,其中,N为所述网络检测设备到待检测网络节点的跳数,N≥1;
所述网络检测设备根据所述标签栈栈顶的链路标签发送所述检测报文,以便于所述检测报文被发送至所述待检测网络设备;
所述网络检测设备接收反馈节点发送的通知消息,所述通知消息用于通知所述网络检测设备:所述反馈节点收到所述待检测网络节点转发的所述检测报文,其中,所述反馈节点为所述待检测网络节点的下一跳节点;
所述网络检测设备根据所述通知消息和所述网络拓扑信息确定所述待检测网络节点的转发表是否正确。
2.如权利要求1所述的方法,其特征在于,所述网络检测设备根据目的IP地址和网络拓扑信息生成检测报文包括:
所述网络检测设备根据所述目的IP地址和所述网络拓扑信息,确定所述网络检测设备到所述目的IP地址的转发路径以及所述转发路径上的所述待检测网络节点;所述网络拓扑信息包括所述转发路径以及所述转发路径上每一跳的路由信息;
所述网络检测设备根据所述网络拓扑信息,确定所述网络检测设备到所述待检测网络节点的跳数以及每一跳的链路标签,并根据所述跳数以及每一跳的链路标签,生成所述检测报文。
3.如权利要求1或2所述的方法,其特征在于,
所述反馈节点接收所述待检测网络节点转发的所述检测报文;
所述反馈节点将所述TTL的值减去1,并在确定所述TTL的值为0时发送所述通知消息。
4.一种检测转发表方法,其特征在于,包括:
网络检测设备根据目的网际协议IP地址和网络拓扑信息生成检测报文,所述检测报文中包括标签栈,生存时间TTL,源IP地址和所述目的IP地址;所述标签栈中包括N个链路标签,所述TTL的值为N+1,所述源IP地址为所述网络检测设备的IP地址,其中,N为所述网络检测设备到待检测网络节点的跳数,N≥1;
所述网络检测设备根据所述标签栈栈顶的链路标签发送所述检测报文;
待检测网络节点接收所述检测报文,弹出所述标签栈栈顶的链路标签,并将所述TTL的值减去1;
所述待检测网络节点确定所述标签栈为空,并根据所述目的IP地址和所述待检测网络节点的转发表,将所述检测报文转发给反馈节点;
所述反馈节点接收所述检测报文,将所述TTL的值减去1;
所述反馈节点确定所述TTL的值为0,并向所述网络检测设备发送通知消息;
所述网络检测设备接收所述通知消息,并根据所述通知消息和所述网络拓扑信息确定所述待检测网络节点的转发表是否正确。
5.如权利要求4所述的方法,其特征在于,所述网络检测设备根据目的IP地址和网络拓扑信息生成检测报文包括:
所述网络检测设备根据所述目的IP地址和所述网络拓扑信息,确定网络路径以及所述网络路径上的所述待检测网络节点;所述网络拓扑信息包括到所述目的IP地址的转发路径以及该转发路径上每一跳的路由信息,所述转发路径包括所述网络路径;
所述网络检测设备根据所述网络拓扑信息,确定所述网络检测设备到所述待检测网络节点的跳数以及每一跳的链路标签,并根据所述网络检测设备到所述待检测网络节点的跳数以及每一跳的链路标签,生成所述检测报文。
6.如权利要求4或5所述的方法,其特征在于,在所述待检测网络节点接收所述检测报文之前,所述方法还包括:
中间网络节点接收所述检测报文,弹出所述标签栈栈顶的链路标签,并将所述TTL的值减去1;
所述中间网络节点确定所述标签栈不为空,并根据所述标签栈栈顶的链路标签,继续转发所述检测报文直至所述待检测网络节点。
7.一种检测转发表的检测装置,其特征在于,包括:
报文生成模块,用于根据目的网际协议IP地址和网络拓扑信息生成检测报文,所述检测报文中包括标签栈,生存时间TTL,源IP地址和所述目的IP地址;所述标签栈中包括N个链路标签,所述TTL的值为N+1,所述源IP地址为所述网络检测设备的IP地址,其中,N为所述网络检测设备到待检测网络节点的跳数,N≥1;
发送模块,用于根据所述标签栈栈顶的链路标签发送所述检测报文;
接收模块,用于接收反馈节点发送的通知消息,所述通知消息用于通知所述网络检测设备:所述反馈节点收到所述待检测网络节点转发的所述检测报文,其中,所述反馈节点为所述待检测网络节点的下一跳节点;
确定模块,用于根据所述通知消息和所述网络拓扑信息确定所述待检测网络节点的转发表是否正确。
8.如权利要求7所述的检测装置,其特征在于,还包括拓扑获取模块;
所述拓扑获取模块,用于获取所述网络拓扑信息,所述网络拓扑信息包括到所述目的IP地址的转发路径以及该转发路径上每一跳的路由信息;
所述报文生成模块,具体用于根据所述目的IP地址和所述网络拓扑信息,确定网络路径以及所述网络路径上的所述待检测网络节点,其中,所述转发路径包括所述网络路径;根据所述网络拓扑信息,确定所述网络检测设备到所述待检测网络节点的跳数以及每一跳的链路标签,并根据所述跳数以及每一跳的链路标签,生成所述检测报文。
9.如权利要求7或8所述的检测装置,其特征在于,所述通知消息为所述反馈节点在所述检测报文中的所述TTL的值为0时发送。
10.一种网络检测设备,其特征在于,包括:处理器和存储器;
所述存储器,用于保存网络拓扑信息,所述网络拓扑信息包括到目的网际协议IP地址的转发路径以及该转发路径上每一跳的路由信息;
所述处理器,用于根据所述目的IP地址和所述网络拓扑信息生成检测报文,所述检测报文中包括标签栈,生存时间TTL,源IP地址和目的IP地址;所述标签栈中包括N个链路标签,所述TTL的值为N+1,所述源IP地址为所述网络检测设备的IP地址,其中,N为所述网络检测设备到待检测网络节点的跳数,N≥1;根据所述标签栈栈顶的链路标签发送所述检测报文;接收反馈节点发送的通知消息,所述通知消息用于通知所述网络检测设备所述反馈节点收到待检测网络节点转发的所述检测报文,其中,所述反馈节点为所述待检测网络节点的下一跳节点;并根据所述通知消息和所述网络拓扑信息确定所述待检测网络节点的转发表是否正确。
11.如权利要求10所述的网络检测设备,其特征在于,所述处理器具体用于根据所述目的IP地址和所述网络拓扑信息,确定网络路径以及所述网络路径上的所述待检测网络节点,其中,所述转发路径包括所述网络路径;根据所述网络拓扑信息,确定所述网络检测设备到所述待检测网络节点的跳数以及每一跳的链路标签,并根据所述跳数以及每一跳的链路标签,生成所述检测报文。
12.如权利要求10或11所述的网络检测设备,其特征在于,所述处理器还用于获取所述网络拓扑信息。
13.如权利要求10至12任一项所述的网络检测设备,其特征在于,所述通知消息为所述反馈节点在所述检测报文中的所述TTL的值为0时发送。
CN201610130617.4A 2016-03-08 2016-03-08 检测转发表的方法、装置和设备 Active CN107171883B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201610130617.4A CN107171883B (zh) 2016-03-08 2016-03-08 检测转发表的方法、装置和设备
PCT/CN2016/110467 WO2017152681A1 (zh) 2016-03-08 2016-12-16 检测转发表的方法、装置和设备
EP16893324.0A EP3399700B1 (en) 2016-03-08 2016-12-16 Method, apparatus and device for detecting forwarding table
EP20187810.5A EP3800835A1 (en) 2016-03-08 2016-12-16 Method and apparatus for checking forwarding table, and device
JP2018542769A JP6544816B2 (ja) 2016-03-08 2016-12-16 フォワーディング・テーブルを検査するための方法および装置、並びにデバイス
US16/123,576 US10659359B2 (en) 2016-03-08 2018-09-06 Method and device for checking forwarding tables of network routers
US16/842,331 US11088950B2 (en) 2016-03-08 2020-04-07 Method and device for checking forwarding tables of network nodes by means of check packets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610130617.4A CN107171883B (zh) 2016-03-08 2016-03-08 检测转发表的方法、装置和设备

Publications (2)

Publication Number Publication Date
CN107171883A true CN107171883A (zh) 2017-09-15
CN107171883B CN107171883B (zh) 2020-04-28

Family

ID=59789980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610130617.4A Active CN107171883B (zh) 2016-03-08 2016-03-08 检测转发表的方法、装置和设备

Country Status (5)

Country Link
US (2) US10659359B2 (zh)
EP (2) EP3800835A1 (zh)
JP (1) JP6544816B2 (zh)
CN (1) CN107171883B (zh)
WO (1) WO2017152681A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768769A (zh) * 2018-05-17 2018-11-06 南方科技大学 控制面和数据面一致性的检测方法、检测系统及交换机
CN110635945A (zh) * 2019-09-10 2019-12-31 清华大学 一种支持时间触发机制的数据处理方法和sdn网络系统
CN111385120A (zh) * 2018-12-29 2020-07-07 华为技术有限公司 一种确定转发故障位置的方法和设备
CN114500225A (zh) * 2018-06-29 2022-05-13 华为技术有限公司 一种网络中获取设备转发信息库的方法、设备和系统
CN115361329A (zh) * 2022-06-23 2022-11-18 北京天维信通科技有限公司 基于ttl监测网络拓扑变化并触发告警的方法
WO2024001190A1 (zh) * 2022-07-01 2024-01-04 浙江艾克斯精灵人工智能科技有限公司 消息发送方法、设备智能互联系统、相关设备及存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107248941B (zh) * 2017-06-30 2020-01-10 华为技术有限公司 一种检测路径的方法和装置
WO2019111154A1 (en) * 2017-12-04 2019-06-13 Telefonaktiebolaget Lm Ericsson (Publ) Network link verification
US10812392B2 (en) * 2018-03-05 2020-10-20 Schweitzer Engineering Laboratories, Inc. Event-based flow control in software-defined networks
CN110475161B (zh) * 2019-08-28 2021-03-09 飞思达技术(北京)有限公司 一种iptv业务直播链路的自动故障定位方法及其系统
CN113595809B (zh) * 2020-04-30 2023-05-19 华为技术有限公司 流量监控方法、相关设备及系统
US11558295B2 (en) 2020-12-08 2023-01-17 Cisco Technology, Inc. Forwarding table validation
US20230269159A1 (en) * 2022-02-21 2023-08-24 Arista Networks, Inc. Determining an egress interface for a packet using a processor of a network device
CN116996439B (zh) * 2023-09-27 2024-03-01 明阳时创(北京)科技有限公司 一种基于sdn的高效路由寻址方法及系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295296B1 (en) * 1998-09-08 2001-09-25 Cisco Technology, Inc. Use of a single data structure for label forwarding and imposition
CN1741533A (zh) * 2005-09-15 2006-03-01 杭州华为三康技术有限公司 优化建立pim-dm路由表项的方法
CN1964360A (zh) * 2006-11-29 2007-05-16 华为技术有限公司 Mac帧转发的方法及设备
CN1992672A (zh) * 2005-12-27 2007-07-04 中兴通讯股份有限公司 一种防止由于地址老化时间不一致导致网络中断的方法
US20080279110A1 (en) * 2007-05-10 2008-11-13 Alcatel Lucent Method and system for verifying connectivity of multi-segment pseudo-wires
WO2010111043A2 (en) * 2009-03-27 2010-09-30 Motorola, Inc. Device and method for reestablishing a wireless connection in a wireless network
CN101924670A (zh) * 2010-09-25 2010-12-22 杭州华三通信技术有限公司 标签交换路径检测的方法及设备
CN102148700A (zh) * 2010-12-31 2011-08-10 华为技术有限公司 二层组播转发链路故障定位方法和设备
CN102347905A (zh) * 2011-10-31 2012-02-08 杭州华三通信技术有限公司 一种网络设备及其转发信息更新方法
CN102368734A (zh) * 2011-11-03 2012-03-07 中兴通讯股份有限公司 以太环网mac地址转发表的处理方法及装置
CN102726000A (zh) * 2011-07-22 2012-10-10 华为技术有限公司 故障通告方法、检测装置、转发装置、系统及数据结构
CN104168157A (zh) * 2014-08-14 2014-11-26 中国联合网络通信集团有限公司 一种网络连通性检测的方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5583848A (en) * 1994-11-15 1996-12-10 Telefonaktiebolaget L M Ericsson Methods for verification of routing table information
JP2001274832A (ja) 2000-03-23 2001-10-05 Ntt Comware Corp ルーチング検証装置及び方法
US7752024B2 (en) * 2000-05-05 2010-07-06 Computer Associates Think, Inc. Systems and methods for constructing multi-layer topological models of computer networks
US7602728B2 (en) * 2003-06-12 2009-10-13 Avaya Inc. Method and apparatus for determination of network topology
GB0416272D0 (en) * 2004-07-20 2004-08-25 British Telecomm Method of operating a network
JP4459018B2 (ja) * 2004-10-28 2010-04-28 富士通株式会社 ノード装置
KR100713626B1 (ko) * 2006-06-19 2007-05-02 삼성전자주식회사 애드-혹 네트워크 서비스를 제공하는 이동통신단말기 및그를 이용한 애드-혹 네트워크 관리 방법
JP2012080389A (ja) 2010-10-04 2012-04-19 Yokogawa Electric Corp 通信プロトコル仕様適合検証システム
JP2014502063A (ja) 2010-12-06 2014-01-23 日本電気株式会社 通信経路検証システム、経路検証装置、通信経路検証方法および経路検証プログラム
JP5514153B2 (ja) 2011-05-13 2014-06-04 株式会社東芝 伝送装置、中継装置、監視制御装置、ipネットワークシステム及びネットワーク機器生存確認方法
JP5884919B2 (ja) 2012-11-06 2016-03-15 富士通株式会社 ネットワーク装置および送信プログラム
US9705747B1 (en) * 2012-12-04 2017-07-11 Qualcomm Incorporated Distributed path selection in hybrid networks
JP6051891B2 (ja) 2013-01-31 2016-12-27 富士ゼロックス株式会社 通信状況測定装置及びプログラム
JPWO2014136850A1 (ja) * 2013-03-06 2017-02-16 日本電気株式会社 通信システム、制御装置、転送ノード、制御方法およびプログラム
US10153967B2 (en) * 2014-11-06 2018-12-11 Juniper Networks, Inc. Deterministic and optimized bit index explicit replication (BIER) forwarding
US10560367B2 (en) * 2016-01-18 2020-02-11 Nokia Of America Corporation Bidirectional constrained path search
US10326830B1 (en) * 2016-09-02 2019-06-18 Amazon Technologies, Inc. Multipath tunneling to a service offered at several datacenters

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295296B1 (en) * 1998-09-08 2001-09-25 Cisco Technology, Inc. Use of a single data structure for label forwarding and imposition
CN1741533A (zh) * 2005-09-15 2006-03-01 杭州华为三康技术有限公司 优化建立pim-dm路由表项的方法
CN1992672A (zh) * 2005-12-27 2007-07-04 中兴通讯股份有限公司 一种防止由于地址老化时间不一致导致网络中断的方法
CN1964360A (zh) * 2006-11-29 2007-05-16 华为技术有限公司 Mac帧转发的方法及设备
US20080279110A1 (en) * 2007-05-10 2008-11-13 Alcatel Lucent Method and system for verifying connectivity of multi-segment pseudo-wires
WO2010111043A2 (en) * 2009-03-27 2010-09-30 Motorola, Inc. Device and method for reestablishing a wireless connection in a wireless network
CN101924670A (zh) * 2010-09-25 2010-12-22 杭州华三通信技术有限公司 标签交换路径检测的方法及设备
CN102148700A (zh) * 2010-12-31 2011-08-10 华为技术有限公司 二层组播转发链路故障定位方法和设备
CN102726000A (zh) * 2011-07-22 2012-10-10 华为技术有限公司 故障通告方法、检测装置、转发装置、系统及数据结构
CN102347905A (zh) * 2011-10-31 2012-02-08 杭州华三通信技术有限公司 一种网络设备及其转发信息更新方法
CN102368734A (zh) * 2011-11-03 2012-03-07 中兴通讯股份有限公司 以太环网mac地址转发表的处理方法及装置
CN104168157A (zh) * 2014-08-14 2014-11-26 中国联合网络通信集团有限公司 一种网络连通性检测的方法及装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768769A (zh) * 2018-05-17 2018-11-06 南方科技大学 控制面和数据面一致性的检测方法、检测系统及交换机
CN108768769B (zh) * 2018-05-17 2020-12-08 南方科技大学 控制面和数据面一致性的检测方法、检测系统及交换机
CN114500225A (zh) * 2018-06-29 2022-05-13 华为技术有限公司 一种网络中获取设备转发信息库的方法、设备和系统
US11736382B2 (en) 2018-06-29 2023-08-22 Huawei Technologies Co., Ltd. Method and system for obtaining forwarding information base of device on network, and device
CN111385120A (zh) * 2018-12-29 2020-07-07 华为技术有限公司 一种确定转发故障位置的方法和设备
CN111385120B (zh) * 2018-12-29 2021-10-26 华为技术有限公司 一种确定转发故障位置的方法和设备
US11902087B2 (en) 2018-12-29 2024-02-13 Huawei Technologies Co., Ltd. Forwarding fault location determining method and device
CN110635945A (zh) * 2019-09-10 2019-12-31 清华大学 一种支持时间触发机制的数据处理方法和sdn网络系统
CN110635945B (zh) * 2019-09-10 2020-12-11 清华大学 一种支持时间触发机制的数据处理方法和sdn网络系统
CN115361329A (zh) * 2022-06-23 2022-11-18 北京天维信通科技有限公司 基于ttl监测网络拓扑变化并触发告警的方法
CN115361329B (zh) * 2022-06-23 2023-08-08 北京天维信通科技股份有限公司 基于ttl监测网络拓扑变化并触发告警的方法
WO2024001190A1 (zh) * 2022-07-01 2024-01-04 浙江艾克斯精灵人工智能科技有限公司 消息发送方法、设备智能互联系统、相关设备及存储介质

Also Published As

Publication number Publication date
US10659359B2 (en) 2020-05-19
JP2019505142A (ja) 2019-02-21
EP3399700A1 (en) 2018-11-07
EP3399700A4 (en) 2019-01-02
EP3399700B1 (en) 2020-08-26
US20200304410A1 (en) 2020-09-24
US20180375770A1 (en) 2018-12-27
EP3800835A1 (en) 2021-04-07
US11088950B2 (en) 2021-08-10
WO2017152681A1 (zh) 2017-09-14
JP6544816B2 (ja) 2019-07-17
CN107171883B (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN107171883A (zh) 检测转发表的方法、装置和设备
CN107171882A (zh) 检测等价多路径路由功能的方法、设备和系统
CN105052083B (zh) 用于处理管理平面流量的方法和网络节点
EP2817928B1 (en) Controller placement for fast failover in the split architecture
CN105144627B (zh) 操作网络节点以负载均衡的技术
US9197518B2 (en) Quality-deteriorated part analyzing system, quality-deteriorated part analyzing device, quality-deteriorated part analyzing method, and quality-deteriorated part analyzing program
CN101193052B (zh) 在多协议标签交换中实现子网连接保护的方法和系统
RU2612599C1 (ru) Устройство управления, система связи, способ управления коммутаторами и программа
CN101159669A (zh) 一种业务流量切换方法及装置
CN105141434A (zh) 业务链的故障检测方法及装置
CN104253711B (zh) 一种SDN网络中Openflow的Group表的管理方法和设备
CN105743801A (zh) 一种堆叠系统的流量转发的方法及装置
US20170195203A1 (en) Method, apparatus, and system for implementing packet loss detection
CN107612754A (zh) 双向转发链路故障检测方法、装置及网络节点设备
WO2016153506A1 (en) Fast failover recovery in software defined networks
CN101783743B (zh) 一种业务保护方法及倒换节点
CN105515816B (zh) 检测层次信息的处理方法及装置
CN103840976A (zh) 通信方法、光模块和网络设备
CN102891787B (zh) 基于共享路径的环网隧道配置方法、业务切换方法及系统
US20160006601A1 (en) Controller, communication system, path switching method and program
CN100563140C (zh) 一种多播网络系统和检测多播网络链路缺陷的方法
CN107317691A (zh) 一种故障定位方法及设备
Osman et al. Hybrid SDN: Evaluation of the impact of an unreliable control channel
EP2693706A1 (en) Method and device for implementing multi-protection overlapped protection groups
CN102792636A (zh) 提供恢复生存性的方法、设备和通信网络

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