CN104272678A - 数据平面中有效的控制分组复制 - Google Patents
数据平面中有效的控制分组复制 Download PDFInfo
- Publication number
- CN104272678A CN104272678A CN201380021469.7A CN201380021469A CN104272678A CN 104272678 A CN104272678 A CN 104272678A CN 201380021469 A CN201380021469 A CN 201380021469A CN 104272678 A CN104272678 A CN 104272678A
- Authority
- CN
- China
- Prior art keywords
- control packet
- subscriber terminals
- copy
- plane
- multiple subscriber
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/60—Router architectures
Abstract
一种用于在网络元件的转发平面中复制控制分组的方法,控制分组的目的地是多个订户终端站。转发平面接收来自控制平面的控制分组,并且检测与控制分组相关联的复制指示符。转发平面确定多个订户终端站,这是因为多个订户终端站的每个终端站与控制分组相关联。随后,转发平面复制用于多个订户终端站的每个终端站的控制分组,并且将复制的控制分组分布到多个订户终端站。
Description
技术领域
本发明的实施例涉及计算机连网领域;并且更具体地说,涉及在网络元件数据平面中复制控制分组。
背景技术
网络元件通常被分离成控制平面和数据平面(有时称为转发平面或媒体平面)。如果网络元件是路由器(或者在实现路由功能性),则控制平面一般确定要如何路由数据(例如,分组)(例如,用于数据的下一跳和用于该数据的外出端口),以及数据平面负责转发该数据。许多路由器配置成管理链接数十、成百上千或成千上万个主机的通信协议。这些路由器可需要将相同的控制分组发送到在其管理下的每个主机。这些分组经常以要求在软件中进行控制分组的数据平面句柄复制而无需任何硬件辅助的方式从控制平面传递到数据平面,由此阻挡诸如过程间通信(IPC)信道等在控制平面与数据平面之间的通信信道。在数据平面中控制分组的此软件复制不但占用通信信道,而且导致在数据平面内处理功率的不必要使用。
发明内容
一种用于在网络元件的转发平面中复制控制分组的方法,控制分组的目的地是多个订户终端站。转发平面接收来自控制平面的控制分组,并且检测与控制分组相关联的复制指示符。转发平面确定多个订户终端站,这是因为多个订户终端站的每个终端站与控制分组相关联。随后,转发平面复制用于多个订户终端站的每个终端站的控制分组,并且将复制的控制分组分布到多个订户终端站。
网络元件通过接入网络与多个订户终端站耦合。网络元件配置成复制用于多个订户终端站的控制分组,多个订户终端站要捆绑到多路捆绑接口。网络元件包括控制平面和转发平面。控制平面包括分组生成模块和通信模块。分组生成模块配置成生成控制分组和元数据集合。控制分组要在转发平面复制和分布。元数据集合与控制分组相关联生成,并且包括复制指示符和控制消息路由识别信息。通信模块配置成将控制分组和元数据集合分布到转发平面。转发平面与控制平面耦合,并且包括复制模块。复制模块接收来自控制平面的控制分组和元数据集合,并且检测复制指示符。响应检测到复制指示符,转发平面基于控制消息路由识别信息确定多个订户终端站标识符的列表,并且复制用于多个订户终端站标识符的每个标识符的控制分组。转发平面随后使用多个订户终端站标识符的列表,将复制的控制分组分布到多个订户终端站。
附图说明
通过参照下面的说明和用于示出本发明实施例的附图,可最好地理解本发明。在图中:
图1是根据本发明的一个实施例的网络元件的图;
图2根据一个实施例示出在转发平面中复制控制分组的示范网络元件;
图3是根据本发明的一个实施例示出用于在控制平面中管理控制消息的示范操作的流程图;以及
图4是根据本发明的一个实施例示出用于在转发平面中复制控制消息的示范操作的流程图。
具体实施方式
在下面的描述中,陈述了许多特定细节。然而,要理解的是,实践本发明的实施例可无需这些特定细节。在其它情况下,公知的结构和技术未详细显示以免混淆对此描述的理解。在下面的描述中,陈述了许多特定的细节以便提供本发明更详尽的理解,如逻辑实现、操作码、指定操作数的方式、资源分区/共享/重复实现、系统组件的类型和相互关系及逻辑分区/集成选择。然而,本领域的技术人员将理解,可无需此类特定细节而实践本发明。其它情况下,控制结构、门级电路和全软件指令序列未详细示出以免混淆本发明。通过包括的描述,本领域技术人员将能够在不进行过度实验的情况下实现适当的功能性。
说明书中对“一个实施例”、“一实施例”、“示例实施例”等的引用指所述实施例可包括特定特征、结构或特性,但每个实施例可不一定包括特定特征、结构或特性。另外,此类词语不一定指同一实施例。此外,在结合某个实施例描述某个特定特征、结构或特性时,认为结合无论是否明确描述的其它实施例来实现此类特征、结构或特性是在本领域技术人员的认知之内。
在下面的说明和权利要求中,可使用术语“耦合”和“连接”及其衍生词。应理解,这些术语无意做为彼此的同义词。“耦合”用于指示可相互直接物理或电接触或不直接物理或电接触的两个或更多个元素相互协作或交互。“连接”用于指示在相互耦合的两个或更多个元素之间通信的建立。
在本文中使用时,网络元件(例如,路由器、交换器、桥接器)是一件连网设备,包括硬件和软件,其在通信上与网络上的其它设备(例如,其它网络元件、计算机终端站)互连。一些网络元件是“多服务网络元件”,其为多个连网功能(例如,路由选择、桥接、交换、第2层聚合、会话边界控制、服务质量和/或订户管理)提供支持和/或为多个应用服务(例如,数据、话音和视频)提供支持。订户终端站(例如,服务器、工作站、膝上型计算机、上网本、掌上型计算机、移动电话、智能电话、多媒体电话、因特网协议话音(VOIP)电话、用户设备、终端、便携式媒体播放器、GPS单元、游戏系统、机顶盒(STB))访问通过因特网提供的内容/服务和/或在因特网上重叠(例如,隧穿)的虚拟专用网(VPN)上提供的内容/服务。内容和/或服务一般由属于参与对等服务的服务或内容提供商或终端站的一个或更多个终端站(例如,服务器终端站)提供,并且可例如包括公共网页(例如,免费内容、店面、搜索服务)、私人网页(例如,提供电子邮件服务的用户名/密码访问网页)和/或通过VPN的企业网络等。一般情况下,订户终端站耦合(例如,通过耦合到接入网络(以有线或无线方式)的客户场所设备)到边缘网络元件,所述边缘网络元件(例如通过一个或更多个核心网络元件)耦合到其它边缘网络元件(其耦合到其它终端站,例如,耦合到服务器终端站)。
网络元件通常被分离成控制平面和数据平面(有时称为转发平面或媒体平面)。如果网络元件是路由器(或者在实现路由功能性),则控制平面一般确定要如何路由数据(例如,分组)(例如,用于数据的下一跳和用于该数据的外出端口),以及数据平面负责转发该数据。例如,控制平面一般包括一个或更多个路由协议(例如,边界网关协议(BGP)、内部网关协议(IGP)(例如,开放式最短路径优先(OSPF)、路由信息协议(RIP)、中间系统到中间系统(IS-IS))、标签分布协议(LDP)、资源保留协议(RSVP)),这些协议与其它网络元件进行通信以交换路由,并基于一个或更多个路由选择度量选择那些路由。
路由和下一跳存储在控制平面上的一个或更多个路由选择结构(例如,路由选择信息库(RIB)、多播路由选择信息库(MRIB)、标签信息库(LIB)、一个或更多个下一跳数据库)中。控制平面通过基于路由选择结构的信息(例如,下一跳和路由信息)为数据平面编程。例如,控制平面将下一跳和路由信息编程到数据平面上的一个或更多个转发结构(例如,转发信息库(FIB)、多播转发信息库(FIB)、标签转发信息库(LFIB)和一个或更多个下一跳数据库)中。在转发业务时,数据平面使用这些转发和下一跳结构。
基于某些路由度量(度量能够对不同的路由选择协议不同),每个路由选择协议将路由条目下载到主RIB、MRIB或LIB。每个路由选择协议能够在本地RIB(例如,OSPF本地RIB)中存储路由条目,包括未下载到主RIB中的路由条目。管理主RIB的RIB模块从通过路由选择协议下载的路由中选择路由(基于度量集),并且将那些选定路由(有时称为活动路由条目)下载到数据平面。RIB模块也能够促使路由在路由选择协议之间再次分布。
对于第2层转发,网络元件能够存储用于基于在此数据中的第2层信息转发数据的一个或更多个桥接表。
一般情况下,网络元件包括一个或更多个线路卡的集合、一个或更多个控制卡的集合和可选的一个或更多个服务卡(有时称为资源卡)的集合。这些卡通过一个或更多个机制耦合在一起(例如,耦合线路卡的第一全网格和耦合所有卡的第二全网格)。线路卡的集合构成数据平面,而控制卡的集合提供控制平面并且通过线路卡与外部网络元件交换分组。服务卡的集合能够提供专业化处理(例如,第4层到第7层服务(例如,防火墙、IPsec、IDS、P2P)、VoIP会话边界控制器、移动无线网关(GGSN、演进分组系统(EPS)网关))。例如,服务卡可用于端接IPsec隧道,并且执行服务员鉴权(attendant authentication)和加密算法。
某些网络元件(例如,某些边缘网络元件)在内部表示使用订户电路的订户终端站(或有时是诸如住宅网关(例如,路由器、调制解调器)等客户端设备(CPE))。订户电路在网络元件内唯一地识别订户会话,并且一般在会话的寿命期内存在。因此,网络元件一般在订户连接到该网络元件时分配订户电路,并且对应地在该订户断开连接时解除分配该订户电路。每个订户会话表示使用诸如通过另一协议的点对点协议(PPPoX)(例如,其中,X是以太网或异步传送模式(ATM))、以太网、802.1Q虚拟LAN (VLAN)、因特网协议或ATM)的协议,在网络元件与订户终端站(或有时是诸如住宅网关或调制解调器等CPE)之间传递的分组的可区分流。订户会话能够使用多种机制(例如,手动配给动态主机配置协议(DHCP)、DHCP/无客户端因特网协议服务(CLIPS)或媒体接入控制(MAC)地址跟踪)启动。例如,点对点协议(PPP)通常用于DSL服务,并且要求安装允许订户输入用户名和密码的PPP客户端,这又可用于选择订户记录。在使用DHCP时(例如,用于电缆调制解调器服务),一般不提供用户名;但在此类情况下,提供在订户终端站(或CPE)中硬件的MAC地址。DHCP和CLIPS在网络元件上的使用捕捉MAC地址,并且使用这些地址区分订户和访问其订户记录。
在某些网络元件内,可配置多个“接口”。在本文中使用时,每个接口是逻辑实体,一般配置为上下文的一部分,上下文提供更高层协议和服务信息(例如,第3层寻址)并独立于物理端口和电路(例如,ATM PVC(永久性虚拟电路)、802.1Q VLAN电路、QinQ电路、DLCI电路)。除其它订户配置要求外,鉴权、授权和计费(AAA)服务器中的订户记录识别对应订户应在网络元件内捆绑到哪个上下文(例如,哪个虚拟路由器)。在本文中使用时,捆绑形成了在物理实体(例如,端口、信道)或逻辑实体(例如,诸如订户电路、逻辑电路(一个或更多个订户电路的集合)等电路)与上下文的接口(通过该接口为该上下文配置网络协议(例如,路由选择协议、桥接协议))之间的关联。在某一更高层协议接口已配置并与该物理实体相关联时,订户数据在物理实体上流动。此外,接口可配置为多路捆绑接口,意味着多个电路能够捆绑到该IF,或者为非多路捆绑接口,意味着单个电路捆绑到IF。
由B. Cain等人起草的因特网工程任务组(IETF)跟踪(track)请求注解(RFC) 3376,因特网群组管理协议(IGMP),版本3(2002年10月)描述了一些路由器还配置为多播路由器。在此类路由器中,控制平面可负责管理IGMP群组成员关系,而数据平面负责将数据和控制分组转发到其它路由器和主机。
在启用IGMP的接口(IF)上,IGMP控制过程在该IF发出定期一般查询(GQ)以确定哪些主机是哪些群组的成员。对于只捆绑到单个电路的IF,使用因特网协议(IP)原始套接字在该电路上定期发出GQ。然而,如果IF是多路捆绑IF,则使用IPC通信在捆绑到接口的所有电路上发出GQ。
例如,控制平面中的IGMP控制过程创建IGMP GQ分组,并且随后将IPC消息发送到数据平面中具有该IF的电路的每个线路卡(LC)。IPC消息将包括GQ分组和驻留在GQ分组需要发送到的该LC上的电路句柄列表。每个LC采用电路句柄列表并且在列表中每个电路上复制IGMP GQ分组。LC通过一次单播GQ到列表中每个电路句柄的多播下一跳来进行此操作。每次需要在启用IGMP的IF上发出GQ时,定期重复进行此过程。
使用此情形有多个缺点。首先,多播路由器能够包括许多多路捆绑IF,并且每个此类接口能够具有捆绑到它的几千个电路。IGMP控制过程不能将接口的所有电路打包在单个IPC消息中;因此,多个IPC消息要从控制平面发送到数据平面以便在多路捆绑IF的所有电路上发出GQ。其次,IGMP控制过程必须识别多路捆绑接口的哪些电路句柄属于哪些线路卡以便将那些电路列表打包到对每个LC特定的IPC消息中。这是计算密集型,并且随着电路句柄或多路捆绑IF的数量增大而变得昂贵。第三,在每个IPC消息的处理期间,在软件中进行复制而无需任何硬件辅助,由此在软件处理电路句柄列表并且在每个电路上逐一发送GQ时阻挡IPC接收线程。最后,由于复制在每个LC上在软件中进行,因此,在LC上不必使用处理器带宽,并且由于对于多路捆绑IF与非多路捆绑IF,在不同路径上将相同IGMP GQ消息从控制平面发送到数据平面,因此,代码维护变得更复杂。
图1是根据本发明的一个实施例的网络元件的图。图1所示网络元件100包括与线路卡106A-106D耦合的控制卡105。线路卡106A、106B、106C和106D分别与端口107A、107B、107C和107D耦合。每个端口107A-107D携带业务。业务能够是话音、数据等。每个线路卡106A-106D通过光纤107A-107D接收业务和传送业务。线路卡106A-106D与控制卡101耦合。网络元件100在端口107B上与接入网络185耦合,端口107B将网络元件100与多个订户终端站(SES) 190A–190D耦合。
虽然网络元件的示范体系结构已示出,但一备选实施例可使用其它体系结构。例如,图1示出将线路卡与控制卡互连的单个总线。备选实施例可使用备选技术(例如,全网格、多个点到点链路或上述的组合等)。
图2根据一个实施例示出在转发平面中复制控制分组的示范网络元件。在图2中,网络元件200与接入网络285耦合,而接入网络285又与多个其它网络元件耦合。在图2中,多个其它网络元件示为多个订户终端站(SES) 290A–290D。在图2中,多个SES的每个SES在捆绑到网络元件200的转发平面235内多路捆绑IF的电路上。转发平面235经诸如IPC信道等通信信道220与控制平面205耦合。控制平面205包括与通信模块206耦合的分组生成模块207。分组生成模块207可以是负责与在捆绑到多路捆绑接口的电路上的多个SES传递分组的任何模块。例如,分组生成模块207可以是负责管理IGMP群组成员和IGMP分组分布的IGMP控制过程。此外,通信模块206可以是用于将数据分组从控制平面205传递到数据平面235的任何适当模块。例如,通信模块206可以是设计成将消息传递到转发平面235内的对应IPC过程的IPC过程。
图2示出分组210的传送中的一系列阶段,分组由分组生成模块207生成并且传递到多个SES 290A–290D。在图2中,各种点通过带圆圈的数字指示。在分组生成模块207内,在点1生成分组210。此分组可以是需要复制并且发送到多个SES的任何分组,而多个SES捆绑到多路捆绑接口上的电路。例如,分组210可以是作为IGMP管理的一部分的GQ分组。在点2,将此分组发送到通信模块206进行排队以便传送到多个SES 290A–290D。在通信模块206内,复制模块208负责识别分组210要求处理以便在转发平面235进行复制,并且因此标记分组210以便在点3进行复制。分组210可以多种方式标记以便进行复制。例如,复制模块208可基于寻址到指定群组的分组210,生成分组211,指定的群组标记分组以便进行与特定多路捆绑IF有关的复制。此外,分组211可包括指示分组应在转发平面235内进行复制的特殊标志。用于指示分组211应在转发平面235中进行复制的另一策略是生成要与分组211关联发送到转发平面235的分组元数据,元数据包括由转发平面235中复制模块238使用的信息。例如,分组元数据可包括复制标志和多路捆绑IF标识符。在另一实施例中,元数据包括复制标志和群组地址,其中,群组地址与多路捆绑IF相关联。在点4,通信模块206将分组211和元数据(在利用元数据的那些情况下)分布到转发平面235。转发平面235检测指示需要在点5为分组211进行复制的标记,并且将分组和任何相关联的元数据传递到复制模块238。复制模块238使用分组211和可选的元数据确定应如何复制分组211。
在原分组210是用于IGMP的GQ的情况下,每个复制的分组210A-210D即使不是全部、同样并且只在与公共多路捆绑IF相关联的不同电路上发出,也大部分是在这些电路上发出的。因此,在点6,复制模块238识别适当的多路捆绑IF,并且为捆绑到多路捆绑IF的每个电路复制分组。在点7,转发平面235将多个复制的分组210A-210D分布到多个SES。
在一个实施例中,如后面图2中所示,转发平面235包括多个线路卡(LC)。在此类实施例中,可能是每个LC负责复制用于由该LC处理的多路捆绑IF的每个电路的分组211;换而言之,单个多路捆绑IF可包括在多个LC上的多个电路。因此,每个LC将识别在捆绑到用于该分组211的多路捆绑IF的LC上的那些电路,并且复制分组211以生成多个分组210A–210D以便以后分布到多个SES 290A–290D。
在一个实施例中,转发平面235包括控制平面消息路由(CMR)数据库240,而在另一实施例中,如后面所述,CMR数据库240在控制平面205内存在,并且只部分CMR数据库在转发平面235内存在。CMR数据库240用于保持对于给定群组地址是外出IF的电路的列表。在此类实施例中,在例如在分组生成模块207中运行的应用等应用在多路捆绑IF上被启用时,应用创建对应于该多路捆绑IF的CMR。CMR包括来源地址和群组地址,来源地址是多路捆绑IF的IP地址。来源地址和群组地址能够用作CMR识别信息以允许实施例区分用于不同CMR的电路列表。群组地址可通常是由应用根据其要求选择的任何IP地址,但通常该地址不应与其它多播数据群组地址重叠。电路捆绑到该多路捆绑IF时,应用检测另外的电路并且将电路标识符,即电路句柄添加为在CMR数据库240内对应CMR上的外出IF。类似地,在某个电路从多路捆绑取消捆绑时,从CMR数据库240删除该电路标识符。在多个LC服务于相同多路捆绑IF的情况下,每个LC可下载对应于该LC处理的电路的CMR列表,例如,LC可将CMR数据库240的子集加载到在该LC上的一个或更多个分组转发引擎(PFE)中。在更新CMR数据库240时,则通过每个LC更新对应的信息。在此类实施例中,无论何时应用要将需要复制的分组发送到对应多路捆绑IF上的所有电路,例如,在周期性计时器截止,指示需要发送控制分组时,则应用将分组发出到多路捆绑IF。应用将IF的来源地址和应用选择的群组地址例如作为相关联元数据与控制分组一起提供,并且可选择性地设置复制标志以指示控制分组需要在转发平面235中复制。在转发平面235接收控制分组时,复制模块235将通过群组地址或通过复制标志检测复制标记,并且使用来源地址和群组地址从CMR数据库240查找CMR,或者如果在LC中,则从是CMR数据库240的一部分的该LC中保持的CMR列表查找CMR。转发平面235因而能够根据需要为每个电路复制分组,并且将分组分布到对应SES上。在一个实施例中,复制模块238能够利用多播转发信息库(MFIB)复制分组,并且因此得到两阶段复制和硬件辅助的益处。在其它实施例中,转发平面235能够跳过用于每个复制的分组的反向路径转发(RPF)检查,由此减少需要为每个复制的分组进行的处理。
在一个示例中,在控制平面205的分组生成模块207中运行的应用是负责包括到SES 290A-290D的多个电路的多路捆绑IF的IGMP管理应用。IGMP管理应用创建对应于多路捆绑IF的CMR数据库。电路捆绑到多路捆绑IF时,IGMP管理应用添加对应于该电路的CMR条目,条目包括多路捆绑IF的来源IP地址和对应于IGMP管理应用的群组地址。此外,添加的条目将电路标识符,即电路句柄包括为用于该多路捆绑IF的外出IF(OIF)。IGMP管理应用将CMR数据库或其一部分发送到转发平面235中的多播基础设施守护进程(daemon),使得例如每个线路卡等转发平面235的每个部分具有对应于由该LC处理的电路的至少部分CMR数据库。IGMP管理应用使用计时器跟踪GQ消息应何时发出到由应用管理的多路捆绑IF的成员。多路捆绑IF上的GQ计时器截止时,IGMP管理应用创建GQ分组并且将它和标记GQ分组为在多路捆绑IF上要求复制的信息一起发送到转发平面。在转发平面235、转发平面235的每个部分,例如,在每个LC,接收GQ分组。如果未标记GQ分组进行复制,则将分组发出到对应电路句柄。如果标记了GQ分组进行复制,则对应的来源IP地址和群组地址用于通过在CMR数据库或其部分中执行查找,确定应为哪些OIF复制和发送分组。随后,能够经利用基于硬件的复制的硬件路径,在对应电路上复制并且发送GQ分组,而不进行RPF检查。在一个实施例中,CMR数据库的相关部分能够包括在多播转发信息库(MFIB)中,并且现有复制硬件能够有利地用于复制用于每个电路句柄的分组。
此类实施例具有许多优点。首先,一旦在转发平面235或其部分中包括CMR,便能够简单地通过将控制消息和作为识别CMR的元数据的正确来源IP地址和群组地址发送到正确的LC,发出将来的控制消息。分组生成模块207无需包括识别每个单独电路句柄的信息,这是因为此类信息将在CMR数据库中存在。其次,部分转发平面235可实现基于硬件的复制,对于在多路捆绑IF上的大量电路,这快得多并且可扩展。第三,分组生成模块205无需跟踪哪些电路驻留在转发平面235的特定部分上。第四,无论是发送到非多路捆绑IF还是多路捆绑IF,使用公共代码路径将控制消息从分组生成模块205发送到转发平面235。
图3是根据本发明的实施例示出用于在控制平面中管理控制消息的示范操作的流程图。在图3中,可选步骤以虚线标记示出。
流程图在可选步骤300和310中从添加条目到控制消息路由(CMR)数据库开始。在步骤300,控制平面接收第一订户终端站(SES)在加入CMR的指示。在一个实施例中,这是与SES相关联的电路在捆绑到与CMR相关联的多路捆绑IF的通知。在步骤310,控制平面将添加用于第一SES的标识符到用于CMR的外出接口(OIF)列表的消息发送到转发平面。在一个实施例中,这是添加例如电路句柄等电路标识符到用于该CMR的电路句柄列表的消息,并且CMR可通过多路捆绑IF的来源IP地址和对应于使用CMR的应用的群组地址识别。
在步骤320,控制平面中的模块生成控制分组,控制分组要发送到用于与该模块相关联的CMR的OIF列表中的每个SES。随后,在330中为控制分组标记应为用于CMR的OIF列表中每个SES复制控制分组的指示。在一个实施例中,这包括通过元数据标记控制分组,元数据包括用于CMR的群组地址和以后在转发平面中能够检测到的复制标志。另一实施例可通过将控制分组寻址到在转发平面中检测到的特殊群组地址来标记控制分组。在步骤340,将控制分组和用于控制分组的任何生成的元数据一起分布到转发平面。
在可选步骤350,控制平面接收第一SES在离开CMR的指示。例如,控制平面可接收电路在取消到多路捆绑IF的捆绑或者不再捆绑到多路捆绑IF的消息。控制平面的响应是在步骤360中发送从用于CMR的OIF列表删除用于第一SES的标识符的消息。
图4是根据本发明的实施例示出用于在转发平面中复制控制消息的示范操作的流程图。在图4中,可选步骤以虚线标记示出。
图4在400以接收来自控制平面的消息开始,消息带有告知转发平面将用于第一订户终端站(SES)的标识符添加到用于控制消息路由(CMR)的外出接口(OIF)列表的信息。在一个实施例中,标识符是用于SES捆绑到多路捆绑IF所处电路的电路标识符,并且OIF列表包括在与多路捆绑IF相关联的多播转发信息库(MFIB)中。响应于接收消息,在步骤410中,转发平面将用于第一SES的标识符添加到用于该CMR的OIF列表。在步骤420,转发平面接收控制分组。在步骤430,转发平面检测控制平面是否与复制指示符相关联。在一个实施例中,复制指示符可以是控制分组寻址到与复制分组的需要相关联的特殊群组地址,而另一实施例利用与控制分组相关联的元数据。元数据可包括复制标志和与转发平面检测到的特定CMR相关联的特殊群组地址。
在检测到复制指示符的情况下,流程在步骤440继续,并且确定哪些SES与控制分组相关联。在一个实施例中,通过从控制分组和对应元数据提取来源IP地址和群组地址来执行此操作。通过使用此信息,转发平面能够识别与用于该来源IP地址和群组地址的CMR相关联的OIF列表;如前面所述,此OIF列表可以是捆绑到特定多路捆绑IF的电路句柄列表,并且群组地址可与控制平面中特定分组生成模块相关联。例如,IGMP控制应用可在利用多路捆绑IF与多个SES进行通信的控制平面中运行。就IGMP控制应用而言,OIF列表能够存储在多播转发信息库(MFIB)中。由于转发平面基于复制标志而相信控制分组的来源,因此,在步骤450,转发平面能够绕过用于每个SES的反向路径转发(RPF)检查。通过使用用于该CMR的SES列表,在步骤460中,转发平面复制用于每个相关联SES的控制分组。在步骤470,转发平面将复制的分组分布到相关联SES。在未检测到复制指示符的情况下,在步骤480,转发平面继续将控制分组分布到相关联SES。
本发明的不同实施例可使用软件、固件和/或硬件的不同组合实现。因此,所述图中所示技术可使用一个或更多个电子装置(例如,终端站、网络元件)上存储和执行的代码和/或数据来实现。此类电子装置使用计算机可读介质存储和传递(在内部和/或通过网络与其它电子装置)代码和数据,计算机可读介质如非短暂性计算机可读存储介质(例如,磁盘、光盘、随机存取存储器、只读存储器、闪存装置、相变存储器)和短暂性计算机可读传送介质(例如,电气、光学、声学或其它形式传播信号 - 如载波、红外信号、数字信号)。另外,此类电子装置一般情况下包括耦合到诸如一个或更多个存储装置(非短暂性机器可读存储介质)、用户输入/输出装置(例如,键盘、触摸屏和/或显示器)和网络连接等一个或更多个其它组件的一个或更多个处理器的集合。处理器的集合与其它组件的耦合一般情况下是通过一个或更多个总线和桥接器(也称为总线控制器)。因此,给定电子装置的存储装置一般情况下存储代码和/或数据以便在该电子装置的一个或更多个处理器的集合上执行。
Claims (17)
1. 一种用于在网络元件的转发平面中复制控制分组的方法,所述控制分组的目的地是多个订户终端站,其中所述方法包括以下步骤:
接收来自控制平面的所述控制分组,其中所述控制平面生成了所述控制分组;
检测与所述控制分组相关联的复制指示符;
确定所述多个订户终端站,所述多个订户终端站的每个与所述控制分组相关联;
复制用于所述多个订户终端站的每个终端站的所述控制分组;以及
将所述复制的控制分组分布到所述多个订户终端站。
2. 如权利要求1所述的方法,还包括基于与所述控制分组相关联的所述复制指示符的存在,绕过用于每个复制的控制分组的反向路径转发检查的步骤。
3. 如权利要求1所述的方法,其中所述控制分组寻址到指定的群组地址,所述指定的群组地址指示基于所述指定的群组地址要求进行复制。
4. 如权利要求1所述的方法,还包括接收与所述控制分组相关联的分组元数据集合的步骤,以及其中所述分组元数据包括作为所述复制指示符的复制标志。
5. 如权利要求1所述的方法,其中所述控制分组是对因特网群组管理协议群组的一般查询。
6. 如权利要求1所述的方法,还包括以下步骤:
接收来自所述控制平面的消息,所述消息指示所述转发平面应将用于所述多个订户终端站之一的标识符添加到用于多路捆绑接口的外出接口列表;以及
响应接收所述消息,将用于所述多个预订终端站的所述一个终端站的所述标识符添加到用于所述多路捆绑接口的所述外出接口列表;
其中通过查找用于所述多路捆绑接口的所述外出接口的列表,执行确定所述多个订户终端站的所述步骤。
7. 一种要通过接入网络与多个订户终端站耦合的网络元件,配置成复制用于所述多个订户终端站的控制分组,其中所述多个订户终端站要捆绑到所述网络元件的多路捆绑接口,所述网络元件包括:
控制平面,包括:
分组生成模块,配置成:
生成所述控制分组,其中所述控制分组要在所述转发平面复制和分布,以及
生成与所述控制分组相关联,包括复制指示符和控制消息路由识别信息的元数据集合,以及
通信模块,配置成将所述控制分组和元数据集合分布到所述转发平面;以及
转发平面,与所述控制平面耦合,包括复制模块,其中所述复制模块配置成:
接收来自所述控制平面的所述控制分组和元数据集合,
检测所述复制指示符,
响应检测到所述复制指示符,基于所述控制消息路由识别信息,确定多个订户终端站标识符的列表,
复制用于所述多个订户终端站标识符的每个标识符的所述控制分组,以及
使用多个订户终端站标识符的所述列表,将所述复制的控制分组分布到所述多个订户终端站。
8. 如权利要求7所述的网络元件,其中所述转发平面还配置成基于与所述控制分组相关联的所述复制指示符的存在,绕过用于每个复制的控制分组的反向路径转发检查。
9. 如权利要求7所述的网络元件,其中所述控制消息路由识别信息包括与所述多路捆绑接口相关联的来源地址和与在所述分组生成模块中运行的应用相关联的群组地址。
10. 如权利要求7所述的网络元件,其中所述分组生成模块还配置成运行因特网群组管理协议群组管理应用。
11. 如权利要求7所述的网络元件,其中所述转发平面包括多个线路卡,每个线路卡服务于捆绑到所述多路捆绑接口的一个或更多个电路,其中每个线路卡配置成包括与所述控制消息路由识别信息相关联的电路标识符列表,其中所述电路标识符列表包括至少用于它处理的捆绑到所述多路捆绑接口的电路的标识符。
12. 一种包括用于转发平面的至少一个微处理器的指令的有形非短暂性机器可读存储介质,所述指令在由所述微处理器执行时,促使所述微处理器执行操作,包括:
接收来自控制平面的控制分组,其中所述控制平面生成了所述控制分组;
检测与所述控制分组相关联的复制指示符;
确定多个订户终端站,所述多个订户终端站的每个与所述控制分组相关联;
复制用于所述多个订户终端站的每个终端站的所述控制分组;以及
将所述复制的控制分组分布到所述多个订户终端站。
13. 如权利要求12所述的有形非短暂性机器可读存储介质,还包括促使所述微处理器执行操作的指令,所述操作包括基于与所述控制分组相关联的所述复制指示符的存在,绕过用于每个复制的控制分组的反向路径转发检查的步骤。
14. 如权利要求12所述的有形非短暂性机器可读存储介质,其中所述控制分组寻址到指定的群组地址,所述指定的群组地址指示基于所述指定的群组地址要求进行复制。
15. 如权利要求12所述的有形非短暂性机器可读存储介质,还包括促使所述微处理器执行操作的指令,所述操作包括接收与所述控制分组相关联的分组元数据集合,以及其中所述分组元数据包括作为所述复制指示符的复制标志。
16. 如权利要求12所述的有形非短暂性机器可读存储介质,其中所述控制分组是对因特网群组管理协议群组的一般查询。
17. 如权利要求12所述的有形非短暂性机器可读存储介质,还包括促使所述微处理器执行操作的指令,所述操作包括:
接收来自所述控制平面的消息,所述消息指示所述转发平面应将用于所述多个订户终端站之一的标识符添加到用于多路捆绑接口的外出接口列表;以及
响应接收所述消息,将用于所述多个预订终端站的所述一个终端站的所述标识符添加到用于所述多路捆绑接口的所述外出接口列表。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/453,752 | 2012-04-23 | ||
US13/453,752 US8804723B2 (en) | 2012-04-23 | 2012-04-23 | Efficient control packet replication in data plane |
PCT/IB2013/052861 WO2013160785A1 (en) | 2012-04-23 | 2013-04-10 | Efficient control packet replication in data plane |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104272678A true CN104272678A (zh) | 2015-01-07 |
Family
ID=48577165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380021469.7A Pending CN104272678A (zh) | 2012-04-23 | 2013-04-10 | 数据平面中有效的控制分组复制 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8804723B2 (zh) |
EP (1) | EP2842280A1 (zh) |
CN (1) | CN104272678A (zh) |
IN (1) | IN2014DN09524A (zh) |
WO (1) | WO2013160785A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707649A (zh) * | 2017-09-28 | 2018-02-16 | 新华三技术有限公司 | 转控分离中转发平面的备份方法和装置 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954288B (zh) | 2014-03-28 | 2019-06-14 | 华为技术有限公司 | 信息发送方法、装置及通信系统 |
US9832031B2 (en) * | 2014-10-24 | 2017-11-28 | Futurewei Technologies, Inc. | Bit index explicit replication forwarding using replication cache |
US9847936B2 (en) * | 2015-06-25 | 2017-12-19 | Intel Corporation | Apparatus and method for hardware-accelerated packet processing |
US20170126542A1 (en) * | 2015-10-28 | 2017-05-04 | Futurewei Technologies, Inc. | ICN Based Distributed Resource Directory for IoT Resource Discovery and Routing |
US10063407B1 (en) | 2016-02-08 | 2018-08-28 | Barefoot Networks, Inc. | Identifying and marking failed egress links in data plane |
US10313231B1 (en) | 2016-02-08 | 2019-06-04 | Barefoot Networks, Inc. | Resilient hashing for forwarding packets |
US10038624B1 (en) * | 2016-04-05 | 2018-07-31 | Barefoot Networks, Inc. | Flexible packet replication and filtering for multicast/broadcast |
US10168948B2 (en) * | 2017-02-20 | 2019-01-01 | International Business Machines Corporation | Replicating data in a data storage system |
US10237206B1 (en) | 2017-03-05 | 2019-03-19 | Barefoot Networks, Inc. | Equal cost multiple path group failover for multicast |
US10404619B1 (en) | 2017-03-05 | 2019-09-03 | Barefoot Networks, Inc. | Link aggregation group failover for multicast |
US11483762B2 (en) | 2019-02-22 | 2022-10-25 | Vmware, Inc. | Virtual service networks |
US11178016B2 (en) * | 2019-08-26 | 2021-11-16 | Vmware, Inc. | Performing slice based operations in a data plane circuit |
US11973655B2 (en) | 2021-03-05 | 2024-04-30 | VMware LLC | SDL cache for O-RAN |
US11836551B2 (en) | 2021-03-05 | 2023-12-05 | Vmware, Inc. | Active and standby RICs |
US11838176B1 (en) | 2022-12-19 | 2023-12-05 | Vmware, Inc. | Provisioning and deploying RAN applications in a RAN system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1107507A2 (en) * | 1999-12-10 | 2001-06-13 | Nortel Networks Limited | Method and device for forwarding link state advertisements using multicast addressing |
US20060146857A1 (en) * | 2004-12-30 | 2006-07-06 | Naik Chickayya G | Admission control mechanism for multicast receivers |
US20080259784A1 (en) * | 2007-04-18 | 2008-10-23 | Nortel Networks Limited | Failure notification in a network having serially connected nodes |
CN100461732C (zh) * | 2006-06-16 | 2009-02-11 | 华为技术有限公司 | 一种以太技术交换和转发的方法、系统和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0170500B1 (ko) * | 1995-11-18 | 1999-03-30 | 양승택 | 멀티프로세서 시스템 |
-
2012
- 2012-04-23 US US13/453,752 patent/US8804723B2/en active Active
-
2013
- 2013-04-10 CN CN201380021469.7A patent/CN104272678A/zh active Pending
- 2013-04-10 WO PCT/IB2013/052861 patent/WO2013160785A1/en active Application Filing
- 2013-04-10 EP EP13727358.7A patent/EP2842280A1/en not_active Withdrawn
- 2013-04-10 IN IN9524DEN2014 patent/IN2014DN09524A/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1107507A2 (en) * | 1999-12-10 | 2001-06-13 | Nortel Networks Limited | Method and device for forwarding link state advertisements using multicast addressing |
US20060146857A1 (en) * | 2004-12-30 | 2006-07-06 | Naik Chickayya G | Admission control mechanism for multicast receivers |
CN100461732C (zh) * | 2006-06-16 | 2009-02-11 | 华为技术有限公司 | 一种以太技术交换和转发的方法、系统和设备 |
US20080259784A1 (en) * | 2007-04-18 | 2008-10-23 | Nortel Networks Limited | Failure notification in a network having serially connected nodes |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707649A (zh) * | 2017-09-28 | 2018-02-16 | 新华三技术有限公司 | 转控分离中转发平面的备份方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US8804723B2 (en) | 2014-08-12 |
US20130279504A1 (en) | 2013-10-24 |
IN2014DN09524A (zh) | 2015-07-17 |
EP2842280A1 (en) | 2015-03-04 |
WO2013160785A1 (en) | 2013-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104272678A (zh) | 数据平面中有效的控制分组复制 | |
CN102422600B (zh) | 混合节点中提供的方法、相关网络以及相关网络单元 | |
CN102812676B (zh) | 用于订户因特网协议主机路由的可缩放分布式用户平面分区两级转发信息库查找 | |
CN100550841C (zh) | 自治系统边界路由器路由发布方法及自治系统边界路由器 | |
CN110324226A (zh) | 改进以太虚拟专用网网络中多宿主站点流量的混叠行为 | |
CN107040469A (zh) | 网络设备及方法 | |
CN105830406A (zh) | 用于支持软件定义网络中的灵活查找关键字的方法、设备和系统 | |
CN101243648B (zh) | 用于使能标签交换数据分组的路由选择的方法和装置 | |
CN103155518A (zh) | 多径传送控制协议代理 | |
CN110798403B (zh) | 通信方法、通信设备和通信系统 | |
CN103475581B (zh) | 一种网络标签分配方法、设备与系统 | |
CN101052022B (zh) | 一种虚拟专用网用户访问公网的系统和方法 | |
CN102368726B (zh) | 一种应用于l2vpn的转发方法及装置 | |
CN102932499A (zh) | Vpls网络中的mac地址学习方法及设备 | |
JP2019521619A (ja) | パケット転送 | |
CN103684959A (zh) | Vpn实现方法和pe设备 | |
CN100484080C (zh) | 一种虚拟私有网的路由引入方法、系统和运营商边缘设备 | |
CN101299723B (zh) | 标签交换路径隧道信息管理方法及装置 | |
WO2013139270A1 (zh) | 实现三层虚拟专用网络的方法、设备及系统 | |
CN100559772C (zh) | 混合型虚拟私有网络系统和骨干网边缘设备及其配置方法 | |
US9954761B2 (en) | Dynamic detection of VPN sites | |
WO2016150093A1 (zh) | 报文转发方法、装置及服务提供商网络边缘pe设备 | |
CN103986654A (zh) | 一种lsp生成方法和设备 | |
US7769007B2 (en) | Method of providing multicast services in virtual private LAN | |
CN102724126A (zh) | 一种E-tree业务报文转发方法、装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150107 |
|
WD01 | Invention patent application deemed withdrawn after publication |