IP/MPLS网络隧道中的缺陷检测的制作方法

文档序号:20275175发布日期:2020-04-03 19:33阅读:145来源:国知局
IP/MPLS网络隧道中的缺陷检测的制作方法

相关申请的交叉引用

本专利文件要求享有2017年6月1日提交的美国专利申请no.15/611,748的优先权的权益。上述专利申请的全部内容作为公开的一部分通过引入并入本文。

本公开涉及数据网络。



背景技术:

电子网络为诸如计算机之类的电子设备、诸如存储设备、视频设备、音频设备及控制设备等的网络连接设备之间的高速数字通信提供了骨干网。设备之间网络连接的可靠性对于诸如上述信息系统的整体可靠性非常重要。有时,网络连接可能因硬件故障、软件故障或导致通信停止的其他事件而中断。当这种情况发生时,依赖网络连接的系统也可能失败。检测和修复网络故障的可靠及有效的方法有助于提高信息系统的可靠性。



技术实现要素:

公开了装置、方法、计算机可读介质和系统。在一个方面,第一网络装置可以包括在第一网络装置处的收发器,该收发器经由网络耦合到第二网络装置处的另一收发器。第一网络装置可以被配置为至少向第二网络装置发送消息,以引起与第二网络装置的异步会话的自举。第一网络装置可以经由第一网络连接周期性地向第二网络装置发送第一控制包,并且经由第二网络连接周期性地从第二网络装置接收第二控制包。第一网络装置还可以被配置为响应于在第一网络装置处从异步会话到需求会话的改变,经由第一网络连接向第二网络装置发送第三控制包,以致使第二网络装置停止向第一网络装置发送第二控制包。第一网络装置还可以在来自第二网络装置的第四控制包中,经由第二网络连接接收指示从第一网络装置到第二网络装置的需求会话已经失败的第一标志。第一网络装置可以由第一网络装置经由第三网络连接发送具有第二标志的第五控制包,以使第二网络装置停止发送具有第一标志的第四控制包。在发送第五包之后,第一网络装置可以通过第一网络连接向第二网络装置发送第六控制包以重启异步会话。

在另一方面,第二网络装置可以包括第二网络装置处的收发器,该收发器经由网络耦合到第一网络装置处的另一收发器。第二网络装置可以被配置为至少从第一网络装置接收消息以引起与第一网络装置的异步会话的自举。第二网络装置可以周期性地从第一网络装置接收第一控制包,并且第二网络装置可以周期性地向第一网络装置发送第二控制包。第二网络装置还可以被配置成:响应于在第一网络装置处从异步会话到需求会话的改变,而从第一网络装置接收第三控制包,以致使第二网络装置停止向第一网络装置发送第二控制包。第二网络装置还可以被配置为在第四控制包中向第一网络装置发送第一标志,该第一标志指示第一网络装置到第二网络装置之间的需求会话已经失败。第二网络装置还可以被配置为经由第三网络连接从第一网络装置接收具有第二标志的第五控制包,以使得第二网络装置停止发送具有第一标志的第四控制包。第二网络装置可以进一步被配置为从第一网络装置接收第六控制包以重启异步会话。

以下特征可以以任何组合包含在第一网络装置中。第二网络装置可以基于没有从第一网络装置接收到的预定数量的第一控制包而确定需求会话失败,并且其中第二网络装置周期性地发送第四控制包。异步会话和需求会话可以使用双向转发检测(bfd)协议来操作。第一标志可以是bfd协议的轮询标志。第二标志可以是bfd协议的最终标志。第一网络连接可以是多协议标签交换(mpls)标签交换路径(lsp)连接。第二网络连接可以是互联网协议(ip)网络连接。第三网络连接可以是ip网络连接。mplslsp连接可以使用mpls封装来工作。ip网络连接可以使用ip封装进行工作。该网络可以包括多个路由器。从第一网络装置到第二网络装置的网络路径可以穿过多个路由器。

附图说明

图1描绘了根据一些示例实施例的连接两个节点的网络的示例。

图2描绘了根据一些示例实施例的两个网络节点之间的数据流的示例。

图3描绘了根据一些示例实施例的封装的示例。

图4描绘了根据一些示例实施例的装置的示例。

在可能的情况下,相同的附图标记表示相同或相似的特征。

具体实施方式

通信或数据网络中的节点相互通信信息,例如internet数据、文件传输数据、视频数据、程序数据、用户信息,以及其他类型的数据。节点可以包括网络设备,诸如计算机、视频设备、物联网(iot)设备、网络路由器或其他网络设备。连接的节点可以与一个其他节点或一个以上的其他节点发送、接收和/或交换数据。可以经由一种或多种类型的网络连接在网络上发送数据。例如,由网络节点接收的数据可以利用与该节点发送的数据不同的网络连接。节点可以通过一个网络或多于一个网络连接以到达一个节点。

作为说明性示例,第一节点可以是用于数据入口的路由器,第二节点可以是用于数据出口的另一个路由器。数据可以从入口路由器通过网络传送到出口路由器。从第一节点到第二节点的通信可以经由第一网络连接诸如多协议标签交换(mpls)标签交换路径(lsp)连接。第二网络连接,诸如internet协议(ip)连接,可以提供从第二节点到第一节点的通信。在该示例中,为了保持节点之间的连接,可以从第一节点向第二节点以及从第二节点向第一节点周期性地发送控制包。在所公开主题的一个方面,从第一节点到第二节点的命令可以导致控制包从第二节点到第一节点的传输停止。通过不将控制包从第二节点发送到第一节点,很少的数据从第二节点发送到第一节点,从而降低了吞吐量,这是因为不再发送控制包。因为第二节点不再必须生成控制包并将其发送到第一节点,并且第一节点不再必须接收和处理来自第二节点的控制包,所以减少了在第一节点和第二节点处的处理。通过这种方式,网络吞吐量的降低和网络节点处理的减少增加了通过节点和整个网络的数据容量。控制包可以继续周期性地从第一节点发送到第二节点。

在另一方面,当从第一节点到第二节点的连接的问题导致在第二节点处丢失预定数量的控制包时,在第二节点处的诊断字段中设置标志(flag)。可以使用诸如ip连接之类的连接(其不同于诸如mplslsp连接之类的第一节点与第二节点之间的网络连接)来将包括与故障相对应的标志的诊断字段从第二节点发送至第一节点。第一节点可以通过进入会话“关闭”状态并设置要发送到第二节点的响应标志来响应设置标志。通常,从第一节点到第二节点的通信将利用诸如mplslsp连接之类的第一网络连接,但是因为没有接收到从第一节点到第二节点的至少预定数量的连续控制包,并且丢失的数据包经由诸如mplslsp连接之类的第一网络连接发送,所以响应标志可以使用诸如ip连接之类的第二网络连接从第一节点发送到第二节点。因为包括标志的诊断字段是经由第二网络连接接收的,所以第二网络连接可能更可靠。因此,与经由第一网络连接发送响应标志相比,第一节点更有可能经由第二网络连接(诸如ip连接)接收响应标志。

题为“双向转发检测(bfd)”的rfc5880和题为“mpls标签交换路径(lsp)的双向转发检测(bfd)”的rfc5884二者以其整体通过引入并入本文。

图1描绘了根据一些示例实施例的连接两个节点的网络的示例。节点110可以通过网络120发送数据,其由节点140经由网络连接130a接收。节点140可以通过网络120发送数据,其由节点110经由网络连接130b接收。

网络连接130a可以利用多协议标签交换(mpls)。mpls可以基于短路径标签而不是长网络地址将数据从一个网络节点指引到下一个网络节点,从而避免使用路由表。标签标识了节点之间而不是端点之间的路径。mpls可以封装各种网络协议的数据包。在mpls网络中,数据包可以被分配标签。可以基于标签的内容做出数据包转发决定,而无需检查数据包本身。这允许使用任何协议的跨越任何类型传输介质的端到端电路。mpls在可以被认为位于开放系统互连(osi)第2层(数据链路层)和第3层(网络层)的传统定义之间的一层上运行,并且可以称为2.5层协议。网络运营商可以出于各种目的而建立标签交换路径(lsp),以诸如创建基于网络的ip虚拟专用网络或通过网络沿指定路径路由流量。

双向转发检测(bfd)是一种以下网络协议,其可以检测通过链路连接的两个节点之间的故障。即使在不支持故障检测的物理介质(诸如以太网、虚拟电路、隧道和mpls标签交换路径(lsp))上,bfd也可以提供低开销的故障检测。bfd通过特定链路在两个端点之间建立会话。如果在两个节点之间建立了超过一个链路,则可以建立多个bfd会话来监控每条链路。

网络连接130a可以利用mplslsp网络和bfd协议。网络连接130b可以利用互联网协议(ip)网络和bfd协议。

节点110可以是路由器、计算机或其他网络设备。节点140可以是路由器、计算机或其他网络设备,并且可以是与节点110相同类型的设备或不同的网络设备。网络120可以包括沿着从节点110到节点140的路径的一个或多个节点。

所公开的主题可以结合到执行分段路由的路由器中。分段路由提供了对两个相连节点之间通过一系列路由器的路由的控制。分段路由可以包括对应于沿着两个节点之间的路由的路由器的1到10个标签。

图2描述了根据一些示例实施例的两个网络节点之间的数据流的示例。图2的描述也参考图1。图2描述了在节点110和节点140之间发送的消息。除非下文另有说明,否则从节点110发送到节点140的消息使用bfd经由mplslsp网络连接130a发送,并且从节点140发送到节点110的消息使用bfd经由ip网络连接130b发送。

在210,节点110可以向节点140发送消息211,以致使与节点140的异步bfd会话的自举(bootstrapping)。在异步会话(也称为异步模式)中,节点110可以向节点140发送bfd控制包,并且节点140可以向节点110发送bfd控制包。该消息可以使用bfd协议经由mplslsp网络连接发送。节点110可以被称为入口节点,而节点140可以被称为出口节点。例如,消息211可以是致使bfd会话的自举的lspping消息。该消息可以包括识别出由来自节点110的lspping发起的会话的鉴别符。

在215,当从节点110接收到包括鉴别器的消息211时,节点140可以经由网络连接130a开始与节点110的异步bfd会话。节点140可以开始经由ip网络连接向节点110周期性地发送包括控制包216的bfd控制包。控制包可以包括一个或多个鉴别符,包括在节点140生成的鉴别符,并且可以包括从节点110接收的鉴别符。

在220,当在节点110处从节点140接收到控制包216时,异步bfd会话“启动”(即,会话建立)。一旦建立,节点110可以从bfd异步模式切换到bfd需求模式。可以在被发送到节点140的控制包中发送需求模式已经在节点110进入的指示。网络连接130a可以以异步模式或需求模式操作,而网络连接130b可以以异步模式或需求模式操作。当处于需求模式(也称为需求会话)时,一个节点可以致使另一个节点停止对周期性控制包的传输。事件或命令可能导致处于需求模式的节点再次发送控制包或控制包序列。事件或命令的示例包括未能接收一个或多个控制包,如下所述。节点处于哪种模式(异步模式的需求模式)可以是bfd会话的特征。例如,节点110可以将节点140从异步模式切换到需求模式。当处于需求模式时,节点140可以停止向节点110传输周期性控制包。一旦进入了需求,节点140停止向节点110发送周期性控制包,并且节点110不期望接收任何周期性控制包。随着时间的推移,节点110向节点140发送周期性bfd控制包221。关于节点140,节点110可以继续处于异步模式。可以发送bfd控制包221,其中控制包之间的时间是预定的时间量,这取决于节点110和140之间的网络连接所支持的应用。数据包之间的时间可以是3.3毫秒、10毫秒、50毫秒、100毫秒或其他时间量。

在225,一旦在221接收到第一控制包,如上所述,节点140就可以停止向节点110发送控制包。节点110可以继续向节点140发送周期性控制包,并且节点140可以期望周期性地接收控制包。

在227,在由于问题或故障而没有接收到预定数量的控制包之后,节点140可以确定通信故障已经发生。例如,在节点140处没有从节点110接收到预定数量的连续数据包之后,节点140可以确定故障已经发生。例如,当任何其他数量的连续控制包中的3个数据包、4个数据包丢失时,可以确定故障。在另一个例子中,当在一段时间内丢失预定总数的数据包时,可以确定故障。例如,当3个数据包、4个数据包或任何其他数量的数据包在1秒的滑动时间窗口内丢失时,节点140可以确定通信故障已经发生。可以使用滑动窗口的任何其他持续时间来代替1秒。在另一个例子中,预定数量的连续丢失数据包和在一个时间窗口中丢失数据包总数的组合可以指示故障已经发生。

在228处,在227确定通信或网络故障已经发生之后,可以设置标志。“轮询”标志可以在请求消息中从节点140发送到节点110。因为发生了故障,所以可以设置诊断字段中的诊断代码(也称为远程缺陷指示(rdi))来指示故障。诊断消息229和“轮询”标志可以通过ip网络连接130b在控制包中从节点140发送到节点110。节点140可以继续传输具有“轮询”标志设置和上述诊断字段值的bfd控制包,直到它从节点110接收到具有最终标志设置的bfd控制包或者故障条件被清除为止。例如,当节点140再次经由连接130a从节点110接收到控制包时,故障条件可以被清除。

在230,在接收到具有诊断字段设置中的rdi和“轮询”标志的消息229时,节点110可以将会话状态设置为“关闭”。轮询标志可以指示经由网络连接130a从节点110到节点140的bfd会话已经失败。如上所述,连接130a中的故障可以由诊断字段中的rdi指示。

在240,节点110切换回异步bfd会话。节点110可以将到节点140的bfd控制包传输速率设置为控制包之间的预定时间(诸如一秒),或者预定数据包速率(诸如每秒一个数据包)。节点110可以发送具有另一标志设置的bfd控制包,以致使节点140退出“轮询”和/或重置“轮询”标志。节点110可以通过发送包括“最终”标志的设置的响应消息214来响应“轮询”标志,以确认接收到rdi。例如,节点110可以在被发送到节点140的控制包消息241中设置“最终”标志,以使节点140停止发送具有“轮询”标志设置的数据包。从节点110发送到节点140的先前控制包和消息是使用mplslsp网络连接发送的,但是控制包消息241可以经由ip网络连接从节点110发送到节点140,这是因为如上面参考图1所述,该ip网络连接可能更可靠。经由ip网络连接发送控制包消息241可以比经由mplslsp网络连接更可靠,因为是具有故障的mplslsp网络连接,其导致了丢失的控制包,以及在上面关于227和228所描述的节点140处的“轮询”标志的设置。

在245处,一旦从节点110接收到包括“最终”标记的消息,节点140就停止向节点110发送具有“轮询”标记的控制包。“最终”标志可以使节点140重置“轮询”标志。

在250处,节点110可以周期性地发送bfd控制包以致使从节点140到节点110的异步bfd会话的重启。在一些实施例中,不需要再次执行211和216处的初始鉴别符交换,并且针对失败会话的会话鉴别符可以在重新启动的会话中重用。

图3描述了根据一些示例实施例的封装的示例。图3的描述也参考图1和2。在310,描述了互联网协议(ip)封装的示例,并且在320处,描述了多协议标签交换(mpls)封装的示例。

经由网络连接130b传递的控制包和数据可以是ip封装的。在一些示例性实施例中,ip封装可以包括报头,诸如ip报头或用户数据报协议(udp)报头。udp报头可以包括源端口标识符、目的地端口标识符、数据包长度、用于纠错的校验和、以及其他信息。ip报头可以包含源地址、目的地地址、报头校验和、协议版本和其他信息。从节点140到节点110的控制包和/或数据包的ip封装包括将该ip报头添加到预定长度的数据包中。例如,可以将ip报头314添加到bfd控制包316中。封装的数据包经由网络连接130b从节点140发送到节点110。

经由网络连接130a传递的控制包和数据可以是多协议标签交换(mpls)封装的。在一些示例性实施例中,mpls封装可以包括将一个或多个mpls标签元素附加到一个ip封装的控制包。每个mpls标签元素可以包括标签、流量类别、堆栈底部标志、生存时间字段和其他信息。标签可以对应于沿着从入口路由器(诸如节点110)到出口路由器(诸如节点140)的路径的路由器。可以附加多个mpls元素,其中每个标签元素对应于沿着从节点110到节点140的路径的不同路由器。例如,mpls封装的包可以包括一个或多个mpls元素,诸如附加到具有ip/udp报头330和bfd控制包332的ip包的mpls元素324、326和328。封装的包可以经由网络连接130a从节点110发送到节点140。

图4描绘了根据一些示例实施例的设备500的示例。图4的描述也参考图1-3。所公开的网络节点/路由器诸如网络节点110和140的操作和管理可以包括诸如500之类的装置。在网络节点中,装置500可以执行关于图1-3描述的一个或多个操作。装置500还可以执行其他状态和控制功能,并且包括到其他设备的接口。装置500可以执行bfd协议、消息生成和接收、控制包生成和接收以及控制包和/或数据包的ip和/或mpls封装。图4在500处是与各种实施例一致的计算系统的框图,诸如网络节点、路由器和/或上述其他网络设备。

计算系统500可以包括连接到互连515的一个或多个中央处理单元(“处理器”)505、存储器510、输入/输出设备525(例如键盘和定点设备、显示设备)、存储设备520(例如磁盘驱动器)和网络适配器530(例如网络接口)。互连515被示为通过适当的桥、适配器或控制器连接的任何一个或多个单独的物理总线、点对点连接或两者的抽象。因此,互连515可以包括例如系统总线、外围组件互连(pci)总线或pci-express总线、hypertransport或工业标准架构(isa)总线、小型计算机系统接口(scsi)总线、通用串行总线(usb)、iic(i2c)总线或电气和电子工程师协会标准1394总线,也称为“火线”。

存储器510和存储设备520是计算机可读存储介质,其可以存储实现所述技术的至少一部分的指令。此外,可以经由诸如通信链路上的信号之类的数据传输介质来存储或发送数据结构和消息结构。可以使用各种通信链路,诸如internet、局域网、广域网或点对点拨号连接。因此,计算机可读介质可以包括计算机可读存储介质(例如,“非暂时性”介质)和计算机可读传输介质。

存储在存储器510中的指令可以实现为软件和/或固件,以对处理器505进行编程以执行上述动作。在一些实施例中,最初可以通过经由计算系统500(例如,经由网络适配器530或光学设备540)从远程系统下载软件或固件来将其提供给处理系统500。

这里介绍的技术可以通过例如用软件和/或固件编程的可编程电路(例如,一个或多个微处理器),或者完全在专用硬连线(不可编程)电路中,或者以这些形式的组合来实现。专用硬连线电路可以是例如一个或多个asic、pld、fpga等形式。

以上描述和附图是说明性的,不应被解释为限制性的。描述了许多具体细节以提供对本公开的透彻理解。然而,在一些情况下,为了避免模糊描述,没有描述众所周知的细节。此外,在不脱离实施例的范围的情况下,可以进行各种修改。因此,除了所附权利要求之外,实施例不受限制。

本说明书中对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本公开的至少一个实施例中。短语“在一个实施例中”在说明书中不同地方的出现不一定都指同一个实施例,也不一定是与其他实施例相互排斥的单独或可替代实施例。此外,描述了一些实施例可以展示而其他实施例不能展示的各种特征。类似地,描述了各种要求,这些要求可能是一些实施例的要求,但不是其他实施例的要求。

在本说明书中使用的术语在本领域、在本公开的上下文中以及在使用每个术语的特定上下文中通常具有它们的普通含义。在下文或说明书的其他地方讨论了用于描述本公开的术语,以向从业者提供关于本公开的描述的附加指导。为方便起见,某些术语可能会突出显示,例如使用斜体和/或引号。突出显示的使用对术语的范围和含义没有影响;无论是否突出显示,在相同上下文中,术语的范围和含义都相同。应当理解,可以以一种以上的方式说同一件事。人们将认识到“存储器”是“存储”的一种形式,并且这些术语有时可以互换使用。

因此,替代语言和同义词可以用于本文所讨论的任何一个或多个术语,对于术语是否在本文中被阐述或讨论也没有任何特殊意义。提供了一些术语的同义词。一个或多个同义词的叙述不排除使用其他同义词。本说明书中任何地方的示例的使用,包括本文讨论的任何术语的示例,仅是说明性的,并不旨在进一步限制本公开或任何示例性术语的范围和含义。同样,本公开不限于本说明书中给出的各种实施例。

在无意进一步限制本公开的范围的情况下,下面给出了根据本公开实施例的仪器、装置、方法及其相关结果的示例。注意,为了方便读者,可以在示例中使用标题或副标题,这绝不应该限制本公开的范围。除非另有定义,否则本文中使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常所理解的相同含义。如有冲突,以本文件(包括定义)为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1