一种多宿网络中的通信网络路径和状态信息的制作方法

文档序号:15281522发布日期:2018-08-28 23:35阅读:144来源:国知局

本发明涉及计算机网络,更具体地,涉及计算机网络内的路径选择和故障检测。



背景技术:

计算机网络是交换数据并共享资源的互联的计算装置的集合。计算装置可通过一条或多条链路互连。术语“链路”通常用于指网络上两个装置之间的连接,并可包括诸如铜线、同轴电缆、或许多不同光纤线中的任何一种的物理介质,或无线连接。通常,在人口密集地区,计算机网络包括以环形布置的链路。当形成为环时,网络称为“环形网络”。在人口密集地区,执行层二(l2)以太网通信协议的环形网络可以称为“城域以太网网络”。

在典型的配置中,城域以太网包括多个互连的城域终端单元(mtu),其向计算装置(称为客户用户装置)提供对于城域以太网的接入。计算装置耦合至mtu以获得对于城域以太网的接入,进而与耦合至城域以太网的其他计算装置互连。一个或多个层三(l3)提供商边缘(pe)路由器可以将城域以太网耦合至公共网络(诸如互联网)、或其他专用网络。经由pe路由器,计算装置可以利用城域以太网来接入公共网络或专用网络。城域以太网内的mtu作为层二(l2)装置运行并且由于mtu转发与网络装置关联的l2通信(例如,以太网包,也称为以太网帧),因此其通常获知各种网络装置的l2网络地址(例如,媒体访问控制(mac)地址)。一旦获知,mtu就将获知的mac地址信息存储在以太网内l2通信的更有效的交换机。当mtu接收到以获知的mac地址而指向网络装置的附加数据包时,mtu查询存储的mac地址信息并基于存储的信息将该数据包传递至网络装置。

操作、管理和维护(oam)通常指过程、活动、工具、标准和其他涉及操作、管理和维护(例如,故障诊断)计算机网络的技术。组合的oam技术可以构成oam协议。oam协议(诸如电气和电子工程师协会(ieee)802.1ag标准中描述的连接故障管理(cfm))可包括多种主动的和诊断的故障定位程序。例如,根据cfm运行的网络装置可以主动地以预定速率将连续性检验(cc)消息传输至在相同维护联合内的其他装置,并从该装置接收cc消息。维护联合是在配置为验证单个服务实例的完整性的网络内的装置的逻辑分组。例如,服务实例可表示提供商网络(特定客户可以接入该网络以询问发送给该客户的服务的状态)的一部分。cc消息向维护联合内的其他网络装置提供连接性验证。

网络的链路和/或装置可能由于多种原因中的任何一种而出故障。当网络的链路或装置出故障时,结果通常是对于特定客户的服务的降级或丢失,这是不期望的。因此,网络管理员希望限制故障的持续时间。一种减轻pe路由器的故障影响的传统方法是利用“多宿”架构,在该架构中,使用两个以上冗余的pe路由器将城域以太网与公共网络耦合。在运行中,耦合至两个以上冗余pe路由器的mtu选择一个pe路由器作为优选的pe路由器,并通过该优选的pe路由器将数据包传送至公共网络。然而,即使只有一个pe路由器是优选的pe路由器,连接至mtu的每个pe路由器也通常为处理送往和来自mtu的数据包而预留资源。当mtu是多宿的情况下,在连接优选的pe路由器和在城域以太网外部的网络装置的公共网络中可能存在网络错误。传统地,存储的mac地址信息必须在mtu将网络包在不包括网络错误的不同的网络路径上进行传递之前失效(ageout)。即,mtu继续在包括网络错误的网络路径上传递包,直到存储的mac地址信息被清除为止,这导致包丢失。为了使丢失的或丢弃的包的数量最小化,pe路由器可通过“摇摆”(flap)mtu和pe路由器之间的链路或断开(bringdown,降低)该链路而使pe路由器和mtu之间的链路不可用。pe路由器可以通过向mtu快速连续发布一系列消息(在指示路径可用以及指示路径不可用之间交替)来“摇摆”mtu和pe路由器之间的链路,以使mtu刷新(flush)存储的mac地址信息。利用这些技术中的任一种,在链路上传播的数据包可能丢失,客户发送或接收数据包可能受到不利的影响。此外,在同一链路上运行而不受网络错误影响的服务可能由于断开链路或链路摇摆而被中断。



技术实现要素:

总体而言,描述了能够在层二(l2)网络和层三(l3)网络之间通知网络事件的技术,其可以改善网络装置的运行并使网络错误导致的中断最小化。该技术可能在多宿城域以太网中尤其有用。例如,该技术可应用于以下情况:城域以太网的l2客户接入装置(例如,mtu)对于将城域以太网耦合至另一网络(诸如公共网络)的两个以上l3pe路由器是多宿的。在一个实例中,可以使用在mtu和pe路由器上执行的oam协议来应用该技术,其中,在每个mtu和pe路由器上执行的oam协议向其他mtu和pe路由器发送周期性消息,以检测网络错误并传达优选的路径。根据本文所述的技术,mtu和pe路由器可以使用扩展的oam协议,该协议不仅用于连续性检验和传统的网络维护,还用于透明地嵌入有关mtu获知的mac地址的触发刷新的信息。

作为另一实例,通过多个pe路由器耦合至l3网络的多宿mtu可以利用周期性oam消息,该消息不仅用于连接性检查和传统的网络维护,还用于向pe路由器通知mtu当前选择哪个pe路由器作为优选的pe路由器来提供至外部网络(诸如公共网络或专用网络)的连接。这样,响应于导致选择发生变化的网络事件,例如,将该改变通知耦合至mtu的非优选路径pe路由器,并且其作为响应自动释放网络资源。

在另一示例性操作中,将城域以太网耦合至l3网络的pe路由器可以使用路由协议(诸如边界网关协议(bgp)或标签分配协议(ldp))来检测l3网络内的网络错误。通过将该信息透明地嵌入另外用于连接性检查的oam协议的周期性消息中,pe路由器可以将网络状态传送至城域以太网的mtu。然后,mtu可基于接收到的网络状态信息作出路径选择决定。例如,mtu可以改变优选网络路径,从而,现在将同样耦合至mtu的第二pe路由器包含在优选网络路径中,而原来在优选网络路径中的第一pe路由器不再处于优选网络路径内。mtu可以经由周期性消息将改变的网络路径优先选择传送至每个pe路由器。

在另一示例性操作中,pe路由器使用oam协议的周期性消息指导mtu刷新在通向pe路由器的链路上获知的一个或多个mac地址。例如,响应于检测到公共网络中的网络错误,或响应于获知pe路由器不再处于优选网络路径内,pe路由器可以命令mtu刷新mac地址。这样,pe路由器可避免摇摆链路,还可以防止在相同链路上运行(而不受网络错误的影响)的服务的相关流量的损失。在以上实例中,该周期性消息可以是连续性检验(cc)消息,并且可以包括附加的网络信息作为cc消息的类型一长度-值(tlv)。

在一个实例中,一种方法包括:在第一网络装置上执行操作、管理以及维护(oam)协议以监控第一层二(l2)网络,其中,第一网络装置在第一l2网络中运行。该方法进一步包括确定经由第三网络装置通向第二网络装置的网络路径是优选网络路径,其中,第二网络装置在第二l2网络中运行,其中,第二l2网络不同于第一l2网络,以及其中,第一l2网络和第二l2网络通过层三(l3)网络耦合,并且使用在第一网络装置上执行的oam协议向第三网络装置发布消息,其中,该消息通知第三网络装置该第三网络装置在优选网络路径内,以及其中,第三网络装置将l3网络与第一l2网络耦合。

在另一实例中,一种网络装置,包括:多个物理网络接口,用于发送和接收包;以及控制单元,被配置为确定通向第二网络装置的优选网络路径。控制单元包括管理端点(mep)模块,该模块被配置为执行操作、管理以及维护(oam)协议,以监控第一层二(l2)网络,使用oam协议生成消息,并经由多个物理网络接口之一将消息发送至第三网络装置,其中,该消息向第三网络装置指示第三网络装置在通向第二网络装置的优选网络路径内,其中,网络装置在第一l2网络中运行,其中,第二网络装置在第二l2网络中运行,其中,第一l2网络和第二l2网络是不同的l2网络,其中,层三(l3)网络耦合第一l2网络和第二l2网络,并且其中,第三网络装置将第一l2网络耦合至l3网络。

在另一实例中,一种系统,包括:第一网络装置和第二网络装置。第一网络装置包括第一多个物理网络接口,以及第一控制单元。第一控制单元包括第一管理端点(mep)模块,以及媒体访问控制(mac)地址存储库,该存储库被配置为存储在耦合至多个物理网络接口的多条链路上获知的mac地址。第二网络装置包括第二多个物理网络接口,以及第二控制单元。第二控制单元包括第二mep模块以及路由引擎,其中,路由引擎被配置为执行一个或多个路由协议。第一控制单元被配置为确定通向第三网络装置的优选网络路径。第一mep模块被配置为执行操作、管理以及维护(oam)协议,以监控第一层二(l2)网络,使用oam协议生成消息,并经由多个物理网络接口之一将消息发送至第二网络装置,其中,该消息向第二网络装置指示第二网络装置在通向第三网络装置的优选网络路径内。第三网络装置在第二l2网络中运行,其中,第二l2网络不同于第一l2网络,其中,利用层三(l3)网络耦合第一l2网络和第二l2网络。第二mep模块被配置为执行oam协议以监控第一l2网络,并分析从第一网络装置接收的第一消息,以确定第二网络装置是否在通向第三网络装置的优选路径内。第二控制单元被配置为,基于第二网络装置是否在优选网络路径内,向第二网络装置分配可用资源。

在另一实例中,用指令对计算机可读存储介质进行编码,这些指令用于使得一个或多个可编程处理器执行以下操作:使用操作、管理以及维护(oam)协议确定经由第三网络装置从第一网络装置至第二网络装置的网络路径是优选网络路径,其中,第一网络装置在第一l2网络内运行,其中,第三网络装置在第二l2网络内运行,其中,第二l2网络不同于第一l2网络,以及其中,经由层三(l3)网络耦合l2网络,以及向第二网络装置发布指示第三网络装置在优选网络路径内的消息。

具体实施方式

该系统包括经由链路19a和19b以及提供商边缘(“pe”)路由器14a和14b耦合至网络的示例性多宿城域以太网(“me”)网络12a。网络经由pe路由器14c进一步耦合至第二me网络12b。pe路由器14a-14c(统称“pe路由器14”)有助于连接至me网络12a和12b(统称“me网络12”)的各种网络装置(诸如客户装置(“cd”)18a和18b(统称“cd18”))之间的内容访问。每个cd18均可以是个人计算机、膝上型计算机、移动电话、网络电话、电视机顶盒、视频游戏系统、销售点装置、个人数字助理,中间网络装置、网络请求人、或能够与me网络12接口和通信的其他类型的装置。此外,每个cd18均可以是网关、路由器、交换机或用于将客户网络耦合至me网络12的其他装置。

网络可以是中间层三(l3)网络,其使用一个或多个基于包的协议(诸如互联网协议/传输控制协议(ip/tcp))能够实现网络装置之间的内容传输。在这方面,网络可以支持经由通常被成为“包”的离散数据单元的数据传输。因此,网络可以称为“基于包”或“包交换”网络。me网络12可以支持经由层二(l2)帧(例如,以太网帧)的数据传输。因此,每个me网络12均可称为以太网或者更普遍地称为l2网络。虽然在本公开中描述为传输、传送、或支持包(例如,网络10)和帧(例如,me网络12),但是网络和me网络12均可以传输根据任何其他协议定义的任何其他离散数据单元(诸如由异步传输模式(atm)协议定义的单元,或由用户数据报协议(udp)定义的数据报)数据。

网络可以表示一个或多个服务提供商拥有并运营的公共网络,以使多个边缘网络(诸如me网络12)互连。因此,网络在本文中可以称为服务提供商(sp)网络,或可替换地,称为“核心网络”,这是由于网络用作互连边缘网络(诸如me网络12)的核心。网络10内的路由和包转发可以根据l3网络路由协议(诸如边界网关协议(bgp),或有时被称为层2.5协议的标签分配协议(ldp))进行操作。me网络12可以使用l2网络协议(诸如以太网)运行。有关随后带有数字的“层”的参考可以指开放系统互连(osi)参考模型的特定层。

网络可以包括多个驻留于服务提供商网络的边缘的pe路由器。虽然在本文中关于特定的网络装置(即,路由器)进行了讨论,但是每个pe路由器14均可以表示与网络(诸如me网络12之一)接口以路由指向或源自于网络10和me网络12的网络流量的任何l3网络装置。例如,在某些情况下,每个pe路由器14均可以表示一个或多个路由器、网关、防火墙、入侵检测/预防(idp)装置、或有助于网络内以及在网络与me网络12之间的数据传输的任何其他类型的l3网络设备。

实例中,me网络12a包括城域终端单元(mtu)16a-16f(统称“mtu16”),me网络12b包括mtu17a-17d(统称“mtu17”)。与pe路由器14相似,虽然在本文中关于特定的网络装置(例如,交换机)对mtu16、17进行了讨论,但是每个均可以表示与网络(诸如me网络12)接口以交换或转发指向或源自于网络的网络流量的任何l2网络装置。例如,在某些情况下,每个mtu16、17均可以表示一个或多个交换机、集线器、防火墙、idp装置、或有助于me网络12内以及在me网络12与pe路由器14之间的数据传输的任何其他类型的l2网络设备。

为了便于对网络10和me网络12的互连进行维护,一个或多个pe路由器14和一个或多个mtu16、17可以实施操作、管理和维护(oam)技术,诸如ieee802.1ag标准中描述的连接性故障管理(cfm)。cfm通常能够对送往和来自特定网络用户(例如,me网络12)的数据单元(例如,帧或包)通过网络装置和网络所经过的路径进行发现和验证。通常,cfm涉及l2服务(诸如虚拟专用lan服务(vpls))和l2网络(诸如以太网,或称为局域网(lan))内的故障管理。虽然本文关于l2网络和服务以及cfm进行了描述,但可以利用该技术以便于同时执行维护的会话和网络的运行管理以及关于osi参考模型的其他层提供的服务。

cfm通常提供一组协议,通过该协议来执行故障管理。该cfm协议组中的一条协议(称为“连续性检验协议”)涉及信息的周期传输,以确定、验证或检查两个端点之间的连续性。可以在lan/man标准委员会的日期为2007年12月17日的名为“ieeestandardforlocalandmetropolitanareanetworks-virtualbridgedlocalareanetworks-amendment5:connectivityfaultmanagement”的电气和电子工程师协会(ieee)草案标准中找到关于802.1ag标准和cfm协议组(包括连续性检验协议)的更多信息,其全部内容结合于此作为参考。

根据cfm,客户网络14的一个或多个管理员或用户可以配置每个mtu16和pe路由器14a、14b内的维护关联端点(mep)。每个mtu16和pe路由器14a、14b可以配置有一个或多个mep,一个mep用于多个服务实例中的每个服务实例。每个mep均可以表示活动地管理的cfm实体,其生成和接收连续性检验(cc)消息协议数据单元(pdu)和跟踪任何响应。在配置mep时,管理员可以使mep与特定服务实例相关联,以验证单个服务实例的完整性。每个服务实例可以对应于特定的客户和/或特定的虚拟局域网(vlan)。

每个mep可以周期性地发送连续性检验(cc)消息,其宣布传输的mep的服务实例。在一个实例中,cc消息是层二帧(例如,以太网帧),更具体地,是以太网oam帧。mep可以将该消息多点传送至包括含相同服务实例内的每个mep。因此,mep获知其期望与之交换(例如,发送和接收)cc消息的一个或多个mep。然后,mep可以根据每个mep的配置继续进行cc消息的交换。mep可以执行连续性检验协议,以根据所配置的或在某些情况下(例如,在初始配置之后没有任何管理员或其他用户监督的情况下)设置的时间段自动交换这些cc消息。

根据本公开的技术,me网络12a(其具有配置了一个或多个mep的mtu16)可以具有通过多个pe路由器14至网络10的冗余的物理连接,该技术被称为“多宿”。如中示出的实例所示,me网络12a通过mtu16a、16b和pe路由器14a、14b对于网络10是多宿的。在多宿中,mtu16选择pe路由器14a、14b之一,使其处于作为通向网络10的优选网络路径内。pe路由器14a、14b中在优选网络路径内的路由器经由mtu16a、16b中处于优选网络路径内的mtu而在me网络12a和网络10之间来回地发送流量。pe路由器14a、14b中不处于优选路径内的另一个路由器是备份数据转发器,其可以在妨碍路由器14a、14b中的另一个发送流量的网络故障的情况下,用于向me网络12a发送流量以及发送来自me网络12a的流量。

mtu16可以按照多种方式选择优选的网络路径,多种方式包括,例如,随机地或基于管理员输入的配置参数响应于诸如网络错误的网络状况。例如,如果mtu16a选择包括pe路由器14a的网络路径作为到达网络10的优选网络路径,则根据本文所描述的技术,mtu16a可以向pe路由器14a通知pe路由器14a在优选网络路径内。在一个实施例中,mtu16a的相应mep生成扩展为包括附加的类型-长度-值(tlv)的cc消息并将该信息发送至pe路由器14a,作为执行连续性检验协议的一部分。该附加的tlv向pe路由器14a通知pe路由器14a在到达多宿l3网络的优选网络路径内。由于pe路由器14a在优选网络路径内,所以pe路由器14b不在优选网络路径内。在一个实施例中,mtu16a的相应的mep生成cc消息并将其发送至pe路由器14b,但该消息不包括向pe路由器14a通知pe路由器14a在优选网络路径内的tlv。

在另一实例中,mtu16a的相应的mep生成cc信息,该cc消息扩展为包括附加的tlv,其通过(例如)将tlv中的值字段的值设置为0或1来向每个接收pe路由器通知pe路由器是否在优选网络路径内。值0可以向pe路由器表明pe路由器不在优选路径内,值1可以向pe路由器表明pe路由器在优选的路径内。这样,向每个pe路由器14a和14b通知每个路由器是否在优选网络路径内,并且每个路由器可以相应地调节其可用资源的分配。通过扩展cc消息以包括附加的tlv,除传统的连续性检验之外,l2装置还可以利用cc消息而与l3装置(其提供对于l3网络的连接)进行透明通信,其中,l3装置在通向l3网络的优选路径上。

例如,pe路由器14a和14b使用网络协议(诸如边界网关协议(bgp)、以及标签分配协议(ldp))经由网络10与pe路由器14c进行通信。如果pe路由器14a使用(例如)基于多协议标签交换(mpls)的程序检测到关于网络10中的连接性问题,或如果pe路由器14a经由网络协议(例如,bgp或ldp)接收到网络问题的通知,则pe路由器14a可以使用作为包括mtu16a的服务实例的一部分的mep操作所生成的cc消息的tlv,来向mtu16a通知连接性问题。即,层三装置(例如,pe路由器14a)使用l2协议(例如,cfm协议)向层二网络(例如,me网络12a)中运行的层二装置(例如,mtu16a)通知在l3网络(例如,网络10)中的错误。一旦接收到cc消息通知,mtu16a就可以改变用于通过pe路由器14a转发的某些或所有流量的优选网络路径。如果mtu16a改变其优选的路径,则mtu16a可以经由上述cc消息向pe路由器14a和14b通知改变的优选路径。

由于mtu16a在me网络12a内以及利用pe路由器14a、14b交换包,因此mtu16a在将mtu16a连接至pe路由器14a、14b的链路19a、19b上获知远程mac地址(例如,cd18b的mac地址)。例如,如果初始的优选网络路径包括链路19a和pe路由器14a,而pe路由器14a检测到网络10中的错误,则在与受网络10中的错误影响的特定服务实例关联的pe路由器14a上执行的mep生成cc消息并将其发送至mtu16a,根据本文所描述的技术,该cc消息扩展为包括用于向mtu16a通知网络错误并指示mtu16a要刷新在链路19a上获知的所有mac地址的tlv。然后,mtu16a可以选择例如包括链路19b和pe路由器14b的新的优选网络路径。一旦选择新的优选网络路径,mtu16a就重新获知链路19b上的远程mac地址。这样,层三网络中的层三装置与层二装置(在层二装置上执行的一个或多个服务实例受到层三网络中的网络错误的影响)进行通信,并使得层二装置更新对于受影响的服务实例的网络路径信息,而不影响在层二装置和层三装置之间的相同物理链路上交换包的其他服务实例。

实施本公开所描述的技术的示例性mtu20的框图。为了说明,以下可以在的示例性me网络12a的背景下描述mtu20,并且其可以表示任何一个mtu

16、17。mtu20包括经由入站链路23a-23n(统称“入站链路23”)接收控制包和数据包并经由出站链路24a-24n(统称“出站链路24”)发送控制包和数据包的网络接口卡22a-22n(统称“ifc22”)。在本文中字母“n”用于表示任意数量的装置。ifc22通常经由多个接口端口(未示出)耦合至链路23、24。

控制单元21可以包括执行存储至计算机可读存储介质(中未示出)中的软件指令(例如那些用来定义软件或计算机程序的软件指令)的一个或多个处理器(中未示出)。计算机可读存储介质的实例包括存储装置(例如,磁盘驱动器、或光驱)、或存储器(例如,闪存、随机存取存储器或ram)或存储指令以使得可编程处理器执行本文所描述的技术的任何其它类型的易失性存储器或非易失性存储器。可选地,或此外,控制单元21可以包括专用硬件,例如一个或多个集成电路、一个或多个特定用途集成电路(asic)、一个或多个特殊用途处理器(assp)、一个或多个现场可编程门阵列(fpga),或者一个或多个专用硬件的上述实例的任何组合,以执行本文所描述的技术。

控制单元21为mep模块26、转发引擎28和管理员界面(“admininterface”)30提供操作环境。控制单元21还提供用于mac地址的存储库(“macdata”)32、转发信息库(“fib”)34、以及配置数据(“configdata”)36。mep模块26提供允许mtu20(例如根据802.1ag标准)作为管理端点运行的功能。更普遍地,mep模块26是在控制单元21内执行的一个或多个oam协议的实例。

通常,转发引擎28检查经由一条入站链路23和ifc22接收的包,以(例如)基于包括目的地地址的包的报头信息来确定包的目的地。转发引擎28基于包的报头信息在fib34内执行查询,以确定将包传送至的一个ifc22和出站链路24。由于mtu20发送和接收包,因此控制单元21获知入站链路23上的mac地址,并将mac地址存储在mac数据32中。mac数据32、fib34以及配置数据36可以按照单独的数据结构或一起按照一个数据结构而存储,并可以按照一个或多个表、数据库、链表、基树(radixtree)、或其它合适的数据结构的形式而存储。

根据本公开的技术,操作者与管理员界面30进行交互以指导mep模块26执行cfm操作,以发现和管理网络内的故障,向服务实例内的其它网络装置发布cc消息,并向其他网络装置通知包括优选路径信息的网络路径信息。例如,管理员可以输入命令以查看和修改配置数据36,以指定的时间间隔(例如,每秒一次或每分钟一次)自动地生成如802.1ag标准中所定义的cc消息。mtu20的当前配置包含在配置数据36内。

mep模块26能够以其在一个或多个服务实例中作为mep角色来管理用于mtu20的mep功能。mep模块26检验接收到的cc消息并根据配置数据36(即,以可配置的时间间隔)生成cc消息,并将cc消息发送至与特定服务实例关联的特定一个mtu和pe路由器。例如,mep模块26可以检验接收到的cc消息并确定接收到的cc消息包括与来自pe路由器14a的网络状态通知对应的tlv。网络状态tlv指示用于包的网络路径内存在的特定网络状态,该包与用于和接收到的cc消息中标识的特定服务实例对应的服务实例相关联。网络状态tlv可以指示网络段未进行转发,网络段处于待机状态,或存在远程网络段故障。例如,mtu20可以从pe路由器14a接收cc消息,该消息包括表明pe路由器14b与pe路由器14c之间的链路未转发的网络状态tlv。响应于从pe路由器接收到的表明核心网络(例如,中的网络10)中的网络错误的cc消息,mtu20可以改变优选网络路径以绕过网络错误来传送包。

无论任意地响应于获知特定的网络状态还是由于某些其他原因,如果mtu20改变优选网络路径,则mep模块26生成并发送cc消息,该信息扩展为包括向接收pe路由器通知接收pe路由器是否在更新的优选网络路径内的tlv。如果pe路由器在初始的优选网络路径中,但不在更新的优选网络路径内,则pe路由器可以通过(例如)释放先前为处理沿着初始网络路径传送的包(其现在沿着更新的优选网络路径传送)所预留的资源。

在另一实例中,mtu20可以从pe路由器(例如,pe路由器14a)接收cc消息,其指令mtu20刷新存储在mac数据32中的一组mac地址。在该实例中,mep模块26检查从pe路由器接收的cc消息并确定该cc消息包括了指示mtu20要从mac数据32刷新的一个或多个mac地址的tlv。例如,mep模块26确定tlv包括值字段,该值字段被设置为对应于特定虚拟局域网(vlan)标识符、特定i-sid(服务实例vlanid)、特定mac地址的值、或被设置为向mtu20指示mtu20要刷新所有获知的mac地址的值。在确定cc消息tlv中指定了哪些mac地址之后,控制单元21从mac数据32刷新指定的mac地址。

是示出了可以实施本公开的技术的示例性pe路由器40的框图。为了说明,以下可以在的示例性网络10和me网络12的背景下描述pe路由器40,并且其可以表示任何一个pe路由器14。pe路由器40包括经由入站链路47a-47n(统称“入站链路47”)接收控制包和数据包并经由出站链路48a-48n(统称“出站链路48”)发送控制包和数据包的网络接口卡46a-46n(统称“ifc46”)。通常,ifc46经由多个接口端口耦合至链路47、48。

控制单元41可以包括执行存储至计算机可读存储介质(中未示出)中的软件指令(例如那些用来定义软件或计算机程序的软件指令)的一个或多个处理器(中未示出)。计算机可读存储介质的实例包括存储装置(例如,磁盘驱动器、或光驱)、或存储器(例如,闪存、随机存取存储器或ram)或存储指令以使得可编程处理器执行本文所描述的技术的任何其它类型的易失性存储器或非易失性存储器。可选地,或此外,控制单元41可以包括专用硬件,例如一个或多个集成电路、一个或多个特定用途集成电路(asic)、一个或多个特殊用途处理器(assp)、一个或多个现场可编程门阵列(fpga),或者一个或多个专用硬件的上述实例的任何组合,以执行本文所描述的技术。

控制单元41在逻辑上可以分为管理平面42、路由平面43和转发平面44。在该实例中,转发平面44可以包括硬件和/或软件的任何组合,其执行pe路由器40的转发功能(诸如包验证、路径查询、传送)。在某些实例中,将转发平面44完全或部分地分配至ifc46,从而对输入包并行地执行转发功能。fib52的转发信息将网络目的地与特定的下一跳和相应的接口端口相关联。转发平面44还包括根据fib52来处理包的转发引擎50。总体而言,当pe路由器40经由一个ifc46(例如,ifc46a)接收包时,ifc46a将包括了ifc46a在哪个端口上接收包的指示的包传送至转发引擎50。转发引擎50(例如)基于包括目的地的ip地址的包的报头信息来检查包以确定包的目的地。在一个实例中,转发引擎50检查存储在fib52中的转发信息并基于包的报头信息执行查询。

管理平面42包括管理员界面(“admininterface”)54和mep模块56。mep模块56表示根据802.1ag标准的管理端点的示例性实例,或更普遍地,表示在控制单元41内执行的oam协议的实例。即,mep模块56生成cc消息并检查从其他网络装置内执行的mep(例如,从mtu16a)接收的cc消息。

根据本公开的技术,操作者与管理员界面54进行交互以指导mep模块56执行cfm操作,以发现和管理网络内的故障,向服务实例内的其他网络装置发布cc消息,并向其他网络装置通知包括优选路径信息的网络路径消息。例如,管理员可以输入命令以查看和修改配置数据62,以指定的时间(例如,每5秒一次或每分钟一次)自动生成cc消息。pe路由器14a的当前配置包含在配置数据62内。

mep模块56能够以其在一个或多个服务实例中作为mep角色来管理用于pe路由器40的mep功能。mep模块56检查接收到的cc消息,并根据配置数据62(即,以可配置的时间间隔)生成cc消息并将cc消息发送至与特定服务实例关联的特定一个mtu和pe路由器。例如,路由引擎58可以获知指示层三网络内潜在的网络错误的网络状态,使得mep模块56生成扩展有指示了网络状态的附加tlv的cc消息,并将该信息发送至与受网络状态影响的特定服务实例关联的特定一个mtu和pe路由器。响应于获知的网络状态,mep模块56可以进一步被配置为生成和发送cc消息,该cc消息扩展有附加tlv,该tlv指导接收层二装置(例如,mtu16a)从存储在mtu16a内的一组获知的mac地址中刷新在tlv中所指定的一组mac地址。mep模块56可以生成扩展为包括指示网络状态的tlv和指导mtu以刷新指定的mac地址组的tlv的单个cc消息,或者mep模块可以生成并发送两个单独的cc消息,一个扩展为包括网络错误tlv,第二个扩展为包括mac刷新tlv。mep模块56可以从mtu(例如,mtu16a)接收cc消息,该cc消息扩展为包括指示pe路由器40在优选网络路径内的tlv。一旦确定接收的cc消息包括优选路径tlv,就将pe路由器40配置为预留对于处理与cc消息中标识的服务实例关联的包所需的资源。在预留所需的资源之后,mep模块56可以接收对应于相同服务实例的cc消息,但其不包括优选路径tlv。当pe路由器40继续接收指示pe路由器40在优选网络路径内的cc消息时,pe路由器40被配置为继续分配先前预留的网络资源以处理与服务实例关联的包。一旦接收到没有优选路径tlv的cc消息,pe路由器40就被配置为(例如)通过释放先前预留的资源来调整其如何分配资源,以处理与其它服务实例关联的其他包。

路由平面43包括路由引擎58和路由信息库(“rib”)64。路由引擎58可以包括硬件和软件的任何适当组合,其执行pe路由器14a的路由功能,诸如计算包路由和执行路由协议60以维护路由表。路由引擎58维护rib64中的路由信息,其描述网络的拓扑,具体地,通过网络的路由。例如,rib64可以包括描述网络内的各种路由的路由数据,和指示用于每条路由的网络内的适当邻近装置的相应的下一跳数据。

路由平面43为执行路由协议60提供操作环境。路由协议60通常建立与其他路由装置的对等通信会话,以交换存储在rib64中的路由信息,从而获知网络的拓扑结构,更具体地,获知通向网络内的其他网络装置(例如,cd18b)的路由。路由协议60可以包括外部路由协议(诸如外部bgp(ebgp)),以与自治系统(autonomoussystem)或其他路由域的路由器交换路由信息。此外,或可选地,路由协议60可以包括内部路由协议(诸如内部bgp(ibgp)、路由信息协议(rip)、内部网关路由协议(igrp)、开放式最短路径优先(ospf)、或中间系统到中间系统(is-is)),以获知到相同路由域或作为pe路由器40的自治系统内的目的地的路由。

路由引擎58进一步生成将目的地信息(诸如ip地址前缀)与特定转发下一跳和ifc46的相应的接口端口相关联的转发信息,并向转发平面44提供转发信息。基于储存在rib64中的信息和存储在配置数据62中的配置信息来确定转发信息。配置数据62的配置信息包括诸如维护域信息、维护关联信息和cc消息生成间隔的信息。转发信息储存在fib52中。可以按照一个或多个表、数据库、链表、基树、或其他合适的数据结构形式存储rib64、配置数据62以及fib52。

本公开的示例性连续性检验(cc)消息协议数据单元(pdu)70。cc消息pdu70包括公共连接性故障管理(cfm)报头72、序列号字段74、维护关联端点标识符(“maepid”)76、维护关联id(“maid”)78、基于标准的信息80、类型-长度-值(“tlv”)字段82以及tlv尾字段84。公共cfm报头72包括指定维护域等级、版本的字段,指定pdu其余部分的格式和意义的操作码,包括cc消息间隔、第一tlv偏移以及tlv尾的标记。基于标准的信息80包括cc消息pdu的第59至第74个八位字节,其由国际电信联盟-电信(itu-t)授权的y系列:globalinformationinfrastructure,internetprotocolaspectsandnext-generationnetworks,oamfunctionsandmechanismsforethernetbasednetworks,y.1731,2008年2月定义,其全部内容结合于此作为参考。tlv字段82是cc消息pdu70的可选元素。关于a和b进一步描述tlv字段82。

a和b是可以包含在cc消息pdu(例如,的cc消息pdu70)内的tlv的示例性格式。a的tlv90是由具有包含在802.1ag标准中的类型的tlv的802.1ag标准定义的格式的实例。tlv90包括类型字段92、长度字段94以及值字段96。类型字段92是tlv必需元素,其标识tlv的类型,并可以是一个八位字节字段。例如,如果将类型字段92设置为值1,则tlv被标识为发送端idtlv。作为另一实例,如果将类型字段92设置为值0,则tlv被标识为tlv尾。当将类型字段92设置为值0时,在tlv中不存在长度字段94和值字段96。如果将类型字段92设置为非0值,则存在长度字段94并且按照八位字节指示值字段96的大小。值字段96是包括存储长度字段94中所指定的信息所需的八位字节的数量的可选元素。如果将长度字段94设置为值0,则不存在值字段96。

根据该公开,cc消息协议可以扩展为包括一个或多个优选网络路径tlv、连接状态tlv以及mac刷新tlv。对于这些新tlv中的每个,对应于类型字段92的值可以定义为将tlv标识为优选网络路径tlv、连接状态tlv、或mac刷新tlv。根据本公开,作为mep运行的mtu16、17和pe路由器14被配置为生成并发送或接收以及处理符合cc消息pdu70和tlv90所示的格式的cc消息,以向mac内的其他网络装置通知优选网络路径信息、连接状态信息,和/或指示mac刷新。

作为一个实例,诸如pe14a的多宿pe被配置为,一旦从mtu接收到具有优选网络路径tlv的cc消息,就检查接收的cc消息并确定pe14a是否在优选网络路径内。在一个实施例中,pe路由器14可以基于接收的cc消息的优选网络路径tlv的值字段96来确定pe路由器14a是否在优选网络路径内。在另一实施例中,pe路由器14可以简单地基于cc消息中的优选网络路径tlv的存在与否来确定其是否在优选网络路径上。

在一个实例中,如果mtu16a将包括pe路由器14a的网络路径标识为优选网络路径,则mtu16a的mep模块26生成包括cc消息pdu(例如,cc消息pdu70)的cc消息,其包括tlv90,其中类型字段92被设置为将tlv标识为优选网络路径tlv的值。例如,因为只需要一个八位字节以包括优选网络路径信息,所以将tlv标识为优选网络路径tlv的类型字段92可以是值9,长度字段94可以设置为值1,并且将值字段96设置为值1,其中,值1向pe路由器14a指示pe路由器14a包含在优选网络路径中。继续该实例,mtu16a的mep模块26可以生成第二cc消息以发送至pe路由器14b。第二cc消息包括tlv,其具有设置为标识tlv为优选网络路径的值(例如,9)的类型字段92,设置为值1的长度字段94,以及设置为值0的值字段96,其中,值0向pe路由器14b指示pe路由器14b未包含在优选网络路径中。

在另一实例中,mtu16a标识优选网络路径包括pe路由器14a但不包括pe路由器14b。在该实例中,mep模块26生成包括优选网络路径tlv的cc消息,以发送至pe路由器14a。优选网络路径tlv包括:类型字段92,其被设置为标识tlv为优选路径tlv的值;以及长度字段94,其被设置为值0,但不包括值字段96。在该实例中,mep模块26生成不包括优选网络路径tlv的cc消息以发送至pe路由器14b。在接收到包括优选网络路径tlv的cc消息之后,pe路由器14a预留处理与cc消息中指定的服务实例相关联的包所需的资源。相反,pe路由器14b在接收到不包括优选网络路径tlv的cc消息之后,释放任何先前预留的资源。

在其它方面,作为mep运行的pe路由器14可以生成具有连接状态tlv和/或mac刷新tlv的cc消息。对应于连接状态tlv的示例性tlv90包括:类型字段92,被设置为标识tlv为连接状态tlv的值(例如,值10);长度字段94,按照八位字节被设置为值字段96的内容的长度(例如,值1);以及值字段96,被设置为指示核心段(例如,网络10)的连接状态的值。例如,设置为值1的值字段96指示核心段正在转发包。作为另一实例,设置为值2的值字段96指示核心段未转发包。作为另一实例,设置为值4的值字段96指示核心段处于待机状态。作为再一实例,设置为值8的值字段96指示存在远程以太网段故障。对应于mac刷新tlv的示例性tlv90包括:类型字段92,被设置为标识tlv为mac刷新tlv的值(例如,值11);长度字段94,按照八位字节被设置为值字段96的长度;以及值字段96,被设置为指示要刷新哪些mac地址的各种值。例如,值字段96被设置为值0,其指示接收网络装置以刷新在接收cc消息的链路上获知的所有mac地址。也可以将值字段96设置为对应于特定vlanid或i-sid(服务实例vlanid)的值。当将值字段96设置为特定vlanid或i-sid的值时,接收cc消息的网络装置(例如,mtu16a)刷新与vlanid或i-sid相关联的mac地址。也可以将值字段96设置为特定mac地址的值,以指示要刷新特定的mac地址。

在某些方面,优选网络路径tlv、连接状态tlv、或mac刷新tlv可以定义为组织指定tlv。参照b,tlv100是组织指定tlv100的实例。组织指定tlv100包括与上述关于tlv90的那些字段相似的类型字段102、长度字段104以及值字段110。对于组织指定tlv,将类型字段102设置为值31。组织指定tlv100还包括组织唯一标识符(“oui”)字段106和子类型字段108。按照八位字节,将长度字段104设置为oui字段106、子类型字段108以及值字段110的总长度。oui字段106包括由ieee分配给每个组织的唯一标识符。子类型字段108标识在oui字段106中标识的组织所定义的tlv的类型。每个组织可以标识一个或多个tlv子类型。oui字段106和子类型字段108的组合唯一地标识tlv的类型。

mtu16、17以及pe路由器14可以生成关于b中描述为组织指定tlv(例如,tlv100)的优选网络路径、连接状态以及mac刷新tlv。当生成优选网络路径、连接状态、mac刷新tlv作为组织指定tlv时,将子类型字段108设置为oui字段106中标识的组织所确定的值,其将组织指定tlv标识为优选网络路径tlv、连接状态tlv、或mac刷新tlv,例如,分别为值1、2、或3之一。以与上述关于tlv90相似的方式,可以将每种类型的tlv的值字段110的值设置为指示包含在优选网络路径中、连接状态、或要刷新哪些mac地址的值。

根据本公开所描述的技术,网络中传送优选路径信息的装置的示例性操作的流程图。为清楚起见,关于所示的mtu16a和pe路由器14a和14b描述。mtu16a确定优选网络路径(120)。mtu16a可以按照多种方式确定优选网络路径,例如,多种方式包括随机地或基于管理员输入的配置参数响应于诸如网络错误或网络拥塞的网络条件。在mtu16a确定优选网络路径之后,mtu16a的mep模块26生成(例如)包括cc消息pdu70的cc消息(122)。mep模块26可以被配置为周期性生成cc消息,或管理员可以手动使mep模块26生成cc消息。在一个实例中,如果将mep模块26配置为周期性生成cc消息,则在mtu16a确定优选网络路径包括优选网络路径tlv之后,生成第一cc消息。如果管理员使mep模块26生成cc消息,则在mtu16a确定优选网络路径包括优选网络路径tlv之后,使第一cc消息生成。可以根据a和b所示的示例性tlv生成优选网络路径tlv。在一个实例中,mtu16a确定pe路由器14a在优选网络路径内,而pe路由器14b不在优选网络路径内(120)。在该实例中,mep模块26生成指示pe路由器14a在优选网络路径内的cc消息(122)。然后,mtu16a经由一个ifc22和出站链路24将生成的cc消息发送至pe路由器14a(124)。pe路由器14a经由一个ifc46和入站链路47接收cc消息(126),并用mep模块56分析接收到的cc消息(128)。mep模块56可以被配置为基于cc消息中优选网络路径tlv存在与否,或基于关于a和b描述的包含在cc消息中的优选网络路径tlv的值,来确定pe路由器14a是否在优选网络路径内。

如果mep模块56确定pe路由器14a不在优选网络路径内(130的“否”分支),则pe路由器14a可以释放各种装置资源,诸如先前为处理与cc消息的服务实例相关联的包所预留的网络带宽(132)。例如,响应于mep模块56做出的pe路由器14a不在优选的路径网络内的决定,mep模块56可以与控制单元40上执行的协议(诸如资源预留协议)进行交互,以命令该协议实现资源的释放。如果mep模块56确定pe路由器14a在优选网络路径内(130的“是”分支),则pe路由器14a可以调拨先前可用的装置资源用于处理与cc消息的服务实例相关联的包(134)。

在mtu16a确定pe路由器14b不在优选网络路径内的情况下(120),mep模块26生成指示pe路由器14b不在优选网络路径内的cc消息(122)。然后,mtu16a经由一个ifc22和出站链路24将生成的cc消息发送至pe路由器14b(124)。pe路由器14b经由一个ifc46和入站链路47接收cc消息(126),并用mep模块56分析接收到的cc消息(128)。一旦确定pe路由器14b不在优选网络路径内,pe路由器14b就可以重新分配资源。作为一个实例,pe路由器14b可以选择不预留用于处理与cc消息的服务实例相关联的包的空闲装置资源。作为另一个实例,pe路由器14b可以释放各种装置资源,诸如先前为处理与cc消息的服务实例相关联的包所预留的网络带宽(132)。根据本公开所描述的技术,层三(l3)网络中运行的l3装置将l3网络的网络状态传送至层二(l2)网络中运行的l2装置的示例性操作的流程图。为清楚起见,关于所示的网络10、pe路由器14a以及mtu16a来描述。pe路由器14a使用l3协议(例如,诸如bgp或ldp的路由协议)接收关于网络10的l3连接状态消息(140),并且作为响应,pe的路由器14a的mep模块56生成l2消息,例如,包括连接状态tlv的cc消息帧(142)。pe路由器14a使用关于a和b所描述的cc消息tlv,将网络10的连接状态传送至mtu16a。例如,可以将pe路由器14a的mep模块56配置为根据利用mep模块56生成的每个cc消息或连接状态中的任何改变而生成连接状态tlv。然后,pe路由器14a将cc消息发送至mtu16a(144),mtu16a接收cc消息(146)。mtu16a的mep模块26分析接收到的cc消息(148),以确定网络10的连接状态,例如,网络错误或连接性恢复。mep模块26基于在接收的cc消息中所包含的连接状态tlv的值来确定连接状态。例如,如果连接状态tlv的值是2,则mep模块确定核心网络(例如,网络10)未转发流量。作为另一个实例,如果连接状态tlv的值是4,则mep模块26确定网络10处于待机状态。基于cc消息的分析(148),mtu16a可以确定是否需要改变先前确定的优选网络路径(150)。例如,如果连接状态tlv指示网络10未进行转发,则mtu16a可以确定需要改变优选网络路径,以绕开网络10的未进行转发的部分而进行路由(150的“是”分支)。在另一个实例中,连接状态tlv指示网络10正在进行转发。如果pe路由器14a已在优选网络路径,则mtu16a可以确定不需要改变优选网络路径(150的“否”分支)。如果(例如)指示网络错误(例如,远程以太网段故障或网络10未进行转发)的连接状态tlv由当前不在优选网络路径内的pe路由器14生成,则mtu16a还可以确定不需要改变优选网络路径(150的“否”分支)。mtu16a通过对生成并为pe路由器14a、14b而设置的cc消息进行修改来改变优选网络路径(152)。例如,如果pe路由器14a原先在优选网络路径中,但基于对从pe路由器14a接收到的cc消息进行的分析(148),其不再处于选优网络路径内,则mtu16a的mep模块26停止生成具有指示pe路由器14a在优选网络路径内的优选网络路径tlv的cc消息,并停止将该消息发送至pe路由器14a,相反,生成指示pe路由器14a不再处于优选网络路径内的cc消息并将该消息发送至pe路由器14a。如果pe路由器14b在新的优选路径内,则mep模块26停止生成指示pe路由器14b不在优选网络路径内的cc消息并停止将该消息发送至pe路由器14b,相反,生成指示pe路由器14b在优选网络路径内的cc消息并将该消息发送至pe路由器14b。关于a和b描述了向pe路由器14a、14b指示每个pe路由器14a、14b是否在优选网络路径内的cc消息和tlv格式。根据本公开所描述的技术,传送网络10中特定网络状态和mac刷新的pe路由器14和mtu16、17的示例性操作的流程图。为清楚起见,关于所示的网络10、pe路由器14a以及mtu16a描述所示的方法。pe路由器14a经由路由协议(诸如bgp或ldp)接收指示网络10中的错误的连接状态消息(160)。可能由网络10的一部分未转发包(例如,因为链路故障或因为网络10的一部分处于待机状态、或由于远程以太网段故障)而导致网络错误。pe路由器14a生成包括指示网络错误的连接状态tlv的cc消息(162),并将cc消息发送至mtu16a(164)。mtu16a接收cc消息(166),分析接收的cc消息(168),并确定接收的cc消息包括指示网络10中的错误的连接状态tlv。基于网络错误,mtu16a确定需要改变优选网络路径,mtu16a的mep模块26生成指示如先前所描述的优选网络路径中的变化的cc消息并将该消息发送至pe路由器14a、14b(170)。

在生成并发送指示网络错误的cc消息之后,pe路由器14a生成另一cc消息,以指示mtu16a应从获知的mac地址中刷新的一组mac地址(172)。如果网络10中的错误限于特定的mac地址、vlanid或i-sid,则mep模块56生成指示特定的mac地址的mac刷新tlv,或与vlanid或i-sid相关联的要刷新的一组mac地址。如果网络10中的错误影响连接至链路的所有网络装置,则mep模块56可以生成指示要刷新在链路上获知的所有mac地址的mac刷新tlv。在生成mac刷新cc消息之后,pe路由器14a将mac刷新cc消息发送至mtu16a(174)。mtu16a接收cc消息(176)并分析接收到的cc消息(178)。mtu16a的mep模块26基于mac刷新tlv的值来确定需要从mac数据32中刷新的mac地址,并从mac数据32中刷新相应的mac地址(180)。至中示出的方法可以组合实施或单独实施。此外,多个步骤可以组合为单个步骤。例如,pe路由器14a可以生成并向mtu16a发送包括连接状态tlv和mac刷新tlv的单个cc消息。mtu16a的mep模块26能够处理连接状态tlv和mac刷新tlv,并基于单个cc消息改变优选网络路径。虽然关于pe路由器14a、14b和mtu16a进行了讨论,但是根据本公开的技术来配置的任何pe或mtu可以实施至所示的方法。

这样,可以使用周期性l2帧(例如,以太网oam帧)将连接状态信息、优选网络路径信息以及mac刷新信息在l2装置和l3装置之间进行通信。本公开的技术可以降低其他不受网络错误影响、但与受网络错误影响的包在相同链路上运行的服务的网络包的任何丢失。此外,本公开的技术可以更有效地利用可用网络资源。本公开描述的技术(至少部分地)可以在硬件、软件、固件或其任意组合中实现。例如,所述技术的各个方面可以在一个或多个处理器内实现,处理器包括一个或多个微处理器、数字信号处理器(dsp)、特定用途集成电路(asic)、现场可编程门阵列(fpga)、或其他任何等同的集成电路或分立式逻辑电路以及这种部件的任意组合。术语“处理器”或“处理电路”通常可以指任何一种前述逻辑电路,单独或与其他逻辑电路相结合,或任何其他等同电路。包括硬件的控制单元还可以执行一种或多种本公开的技术。这些硬件、软件和固件可以在相同装置内实施,或在分离装置内实施,以支持本公开所述的各种操作和功能。另外,任何所述单元、模块或组件可以共同实施,或作为分立元件但能共同操作的逻辑装置单独地实施。作为模块或单元的不同特征的描述旨在强调不同的功能方面,而并不一定意味着这种模块或单元一定由独立的硬件或软件模块来实施。相反,与一个或多个模块或单元相关的功能可以由独立的硬件或软件部件来实现,或集成在通用的或独立的软件或硬件部件内。本公开所述的技术还可以在包含指令的计算机可读介质(诸如计算机可读存储介质)中实施或编码。例如,当执行指令时,在计算机可读介质中嵌入或编码的指令可以使可编程处理器或其他处理器执行本方法。计算机可读存储介质可以包括随机存取存储器(ram)、只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪存、硬盘、cd-rom、软盘、磁带、磁性介质、光学介质、或其他计算机可读介质。应该理解,术语“计算机可读存储介质”指的是物理存储介质,而不是信号、载波、或其他瞬时介质。

已经描述了本发明的各种实施例。这些和其它实施例都在所附权利要求的范围内。

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