CN106797324A - 用于在误配置时支持分布式中继控制协议(drcp)操作的方法和系统 - Google Patents
用于在误配置时支持分布式中继控制协议(drcp)操作的方法和系统 Download PDFInfo
- Publication number
- CN106797324A CN106797324A CN201580046697.9A CN201580046697A CN106797324A CN 106797324 A CN106797324 A CN 106797324A CN 201580046697 A CN201580046697 A CN 201580046697A CN 106797324 A CN106797324 A CN 106797324A
- Authority
- CN
- China
- Prior art keywords
- port
- gateway
- network equipment
- drcpdu
- network
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- 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/02—Topology update or discovery
- H04L45/021—Ensuring consistency of routing table updates, e.g. by using epoch numbers
-
- 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/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- 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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Abstract
公开了在网络装置支持在链路聚合群组中的分布式弹性网络互连(DRNI)的方法。方法以接收分布式中继控制协议数据单元(DRCPDU)开始,其中,DRCPDU包括邻居网络装置的状态信息和配置信息,其中,配置信息包括其操作聚合密钥、网关摘要、端口摘要。方法继续的操作是确定接收到的配置信息是否与网络装置的配置信息不同以及如何不同,并且使要传送到邻居网络装置的下一DRCPDU相应地包括或不包括某些信息。
Description
技术领域
本发明的实施例一般涉及链路聚合,并且更具体地说,涉及用于实现用于链路聚合群组(LAG)的分布式弹性网络互连(DRNI)的方法和设备。
背景技术
如图1A所示的,链路聚合是用于在网络中的一对节点120、122之间聚合多个链路以实现在参与链路聚合群组(LAG) 101的每个链路上传送用户数据(例如,参阅电气和电子工程师协会(IEEE)标准802.1AX)的网络配置和过程。以此方式聚合多个网络连接能够增大吞吐量(超出单个连接能够保持的吞吐量),和/或能够在链路之一失效的情况下用于提供弹性。“分布式弹性网络互连”(DRNI) 102(参阅2013年2月1日题为“Draft Standard forLocal and Metropolitan Area Networks - Link Aggregation”的IEEE P802.1AX-REVTM/D1.0条款8,其通过引用全文结合于本文内)指定链路聚合的扩展,以便能够在甚至不止两个节点之间的网络接口上使用链路聚合,例如在四个节点K、L、M和O之间,如图1B中所示的。
如图1B所示的,在网络150与网络152之间形成LAG。更具体地说,在LAG虚拟节点或“门户”112、114之间形成LAG。第一LAG虚拟节点或门户112包括第一节点(K)和第二节点(L)。第二LAG虚拟节点或门户114包括第三节点(M)和第四节点(O)。这些节点也能够称为“门户系统”。注意,第一和第二LAG虚拟节点或门户112、114可在门户中包括单个节点或不止两个节点。LAG节点K和M作为对等节点连接,并且LAG节点L和O也作为对等节点连接。如在本申请中使用的,“LAG虚拟节点”指在上面讨论的IEEE文档中的DRNI门户(即,对其相应对等体显示为单个节点的两个或更多个节点)。另外,虚拟节点或门户112“包括”两个节点K和L的陈述表示虚拟节点或门户112由节点K、L仿真,这能够称为“仿真系统”。类似地,虚拟节点或门户114“包括”两个节点M和O的陈述表示虚拟节点或门户114由节点M、O仿真。注意,链路聚合群组161也在K-M与L-O链路之间形成。
参与LAG的多个节点对LAG中的其对等同伴显示为带有单个系统ID的相同虚拟节点或门户。系统ID用于识别每个节点(例如,节点K、节点L、节点M和节点O)。系统ID包括在LAG的单独同伴节点之间(例如,在K与M之间或者在L与O之间)发送的链路聚合控制协议数据单元(LACPDU)中。使用任何单独标识符或其任何组合,系统ID能够基于门户的构成节点的标识符生成。用于对应LAG虚拟节点或门户的共同且唯一的系统ID能够一致地生成。因此,如图1B中所示的,节点K和节点L属于相同网络150,并且它们是相同DRNI门户112的一部分(即,相同LAG虚拟节点),并且为仿真的LAG虚拟节点112使用共同的系统ID“K”。类似地,网络152的节点M和O被节点K和L视为带有系统ID“M”的单个LAG虚拟节点或门户114。
图1B也显示特定服务的DRNI链路分配(参见图1B中在K与M之间的粗链路)。分配的链路是在用于特定服务的在两个工作节点K与M之间的工作链路,而未分配的链路可供应为在两个保护节点L与O之间的保护链路。接口的服务分配可涉及虚拟局域网(VLAN),并且用于服务的标识符可以是VLAN标识符(VID),如服务VID(即,“S-VID”)(通常识别在网络到网络接口(NNI)上的服务)或客户VID(即,“C-VID”)(通常识别在用户到网络接口(UNI)上的服务)。(注意,骨干VID与S-VID具有相同以太类型,因此,它们不可区分。)在图1B的示例中,服务分配到上方链路(在上方节点K、M之间)。上方链路因此被选择为“工作”链路,并且下方链路(在节点L、O之间)是“备用”链路或“保护”链路。服务链路分配(即为在前向和后向两者中的帧传送使用相同物理链路)是高度期望的。
虽然图1B显示DRNI门户112和114(每个包含两个节点),但DRNI门户不受限于此。每个门户可包含一到三个节点。图1C示出在备选实施例中的DRNI。参照图1C,链路聚合群组131包含在一端的门户142(一个网络装置130)和在另一端的门户144(两个网络装置132和134)。也注意,图1C显示了特定服务的DRNI链路分配(参见在网络装置130与134之间的粗链路)。分配的链路是在用于特定服务的在两个工作节点(网络装置130和134)之间的工作链路,而未分配的链路可供应为在两个保护节点(网络装置130和132)之间的保护链路。网络节点在此配置中是单个节点,但它可包含用于连接在门户142与144之间工作和保护链路的聚合端口的不同集合。
服务提供商利用链路聚合群组的各种实施例(如在图1A-C和其它备选DRNI系统中所示的),以提供服务到末端用户。如何提供服务,特别是通过DRNI系统提供服务是挑战。
发明内容
本发明的实施例实现在一些对话ID误配置的情况下操作DRNI的门户。
公开了用于在网络装置支持在链路聚合群组中分布式弹性网络互连(DRNI)的方法。在一个实施例中,网络装置和邻居网络装置包括在链路聚合群组的第一门户中,其中,第一门户经链路聚合群组的链路与包括一个或更多个远程网络装置的第二门户耦合,并且其中,网络装置使用门户内链路(IPL),经门户内端口(IPP)通信地耦合到邻居网络装置。方法包括接收分布式中继控制协议数据单元(DRCPDU),其中,DRCPDU包括邻居网络装置的状态信息和配置信息,其中,配置信息包括其操作聚合密钥、网关摘要、端口摘要。方法继续的操作是确定至少一些接收到的配置信息不同于网络装置的配置信息;确定接收到的操作聚合密钥的部分是否与网络装置的操作聚合密钥的对应部分相同;在确定接收到的操作聚合密钥的部分与网络装置的操作聚合密钥的对应部分相同时,确定用于三个系统门户和网关算法的设置是否相同;在确定用于三个系统门户和网关算法的设置相同时,确定接收到的网关摘要是否与网络装置的网关摘要相同。方法随后继续的操作是在确定接收到的网关摘要与网络装置的网关摘要相同时,使在由网络装置传送到邻居网络装置的下一DRCPDU中不包括网关对话类型/长度/值(TLV)。
公开了支持在链路聚合群组中分布式弹性网络互连(DRNI)的网络装置。在一个实施例中,网络装置和邻居网络装置包括在链路聚合群组的第一门户中,其中,第一门户经链路聚合群组的链路与包括一个或更多个远程网络装置的第二门户耦合,并且其中,网络装置使用门户内链路(IPL),经门户内端口(IPP)通信地耦合到邻居网络装置。网络装置包括耦合到链路聚合群组的物理或聚合链路的端口和耦合到端口的网络处理器,网络处理器执行DRNI功能。DRNI功能操作以:接收分布式中继控制协议数据单元(DRCPUD),其中,DRCPDU包括邻居网络装置的状态信息和配置信息,其中,配置信息包括其操作聚合密钥、网关摘要和端口摘要;确定至少一些接收到的配置信息不同于网络装置的配置信息;确定接收到的操作聚合密钥的部分是否与网络装置的操作聚合密钥的对应部分相同;在确定接收到的操作聚合密钥的部分与网络装置的操作聚合密钥的对应部分相同时,确定用于三个系统门户和网关算法的设置是否相同;在确定用于三个系统门户和网关算法的设置相同时,确定接收到的网关摘要是否与网络装置的网关摘要相同;以及在确定接收到的网关摘要与网络装置的网关摘要相同时,使在由网络装置传送到邻居网络装置的下一DRCPDU中不包括网关对话类型/长度/值(TLV)。
公开了用于支持在链路聚合群组中分布式弹性网络互连(DRNI)的非暂时性机器可读存储媒体。存储媒体具有指令存储在其中,指令在由处理器执行时使处理器执行在网络装置支持在链路聚合群组中的DRNI的操作。在一个实施例中,网络装置和邻居网络装置包括在链路聚合群组的第一门户中,其中,第一门户经链路聚合群组的链路与包括一个或更多个远程网络装置的第二门户耦合,并且其中,网络装置使用门户内链路(IPL),经门户内端口(IPP)通信地耦合到邻居网络装置。操作包括接收分布式中继控制协议数据单元(DRCPDU),其中,DRCPDU包括邻居网络装置的状态信息和配置信息,其中,配置信息包括其操作聚合密钥、网关摘要、端口摘要。方法继续的操作是确定至少一些接收到的配置信息不同于网络装置的配置信息;确定接收到的操作聚合密钥的部分是否与网络装置的操作聚合密钥的对应部分相同;在确定接收到的操作聚合密钥的部分与网络装置的操作聚合密钥的对应部分相同时,确定用于三个系统门户和网关算法的设置是否相同;在确定用于三个系统门户和网关算法的设置相同时,确定接收到的网关摘要是否与网络装置的网关摘要相同。操作随后继续在确定接收到的网关摘要与网络装置的网关摘要相同时,使在由网络装置传送到邻居网络装置的下一DRCPDU中不包括网关对话类型/长度/值(TLV)。
附图说明
通过参照下面的描述和用于示出本发明实施例的附图,可最好地理解本发明。在图中:
图1A是在两个网络装置之间的链路聚合群组的一个实施例的图。
图1B是经链路聚合群组连接两个网络的两个门户的一个实施例的图。
图1C是经链路聚合群组连接两个网络的两个门户的另一实施例的图。
图2是链路聚合子层的一个实施例的图。
图3A是基本分布式中继系统的一个实施例的图。
图3B是从两个门户系统创建的仿真系统的一个实施例的图。
图4是分布式中继的两个DR功能的一个实施例的图。
图5是DRCPU数据结构的图。
图6A是分布式中继控制协议(DRCP)状态的图。
图6B是DRCP的一个实施例的图。
图6C是根据本发明的一个实施例的DRCPDU结构的拓扑状态字段。
图7是示出在状态机之间关系的流程图。
图8是示出用于接收机(receive machine)的状态机的流程图。
图9是示出用于周期性传送的状态机的流程图。
图10是示出门户系统机的流程图。
图11A-B是示出DRNI和聚合器机器操作的流程图。图11A示出DRNI网关过程,并且图11B示出DRNI端口更新过程。
图12A-B是示出DRNI IPP机器状态的流程图。图12A根据本发明的一个实施例,示出更新IPP网关对话的状态机,并且图12B根据本发明的一个实施例,示出更新IPP端口对话的状态机。
图13是实现DRNI的网络装置的一个实施例的图。
图14是根据本发明的一个实施例的DRCPDU数据结构的另一图。
图15是根据本发明的一个实施例,示出在状态机之间的关系的另一流程图。
图16是根据本发明的一个实施例,示出用于接收机的状态机的另一流程图。
图17是根据本发明的一个实施例,示出用于周期性传送的状态机的另一流程图。
图18是根据本发明的一个实施例,示出门户系统机的另一流程图。
图19是根据本发明的一个实施例,示出在丢失与其邻居节点的通信时DRCP节点的操作的流程图。
图20是根据本发明的一个实施例,示出在接收多个业务流时在与其邻居节点协调中DRCP节点的操作的流程图。
图21是根据本发明的一个实施例的门户拓扑的图。
图22是根据本发明的一个实施例的聚合器端口接收状态机的图。
图23是根据本发明的一个实施例的网关分发状态机的图。
图24是根据本发明的一个实施例的IPPN接收状态机的图。
图25是根据本发明的一个实施例的DRCPDU数据结构的另一图。
图26A根据本发明的一个实施例,示出用于聚合端口的对话掩码TLV。
图26B根据本发明的一个实施例,示出在聚合端口的对话掩码TLV内的对话掩码状态字段。
图27根据本发明的一个实施例,示出在通信失效条件时在与其邻居节点协调中DRCP节点的操作。
图28根据本发明的一个实施例,示出在通信失效时DRCP节点的操作。
图29A根据本发明的一个实施例的DRCPDU结构的另一拓扑状态字段。
图29B是根据本发明的一个实施例的DRCPDU结构的第三拓扑状态字段。
图30根据本发明的一个实施例,示出网络/IPL共享机。
图31根据本发明的一实施例,示出用于在节点处进行网络/IPL共享的方法。
图32根据本发明的一个实施例,示出通过包含DRCPDU结构的帧进行通信的方法。
图33根据本发明的一实施例,示出用于在DRNI链路聚合群组的节点中与邻居同步的方法。
图34根据本发明的一实施例,示出用于在分布式弹性网络互连(DRNI)中更新节点的操作状态的方法。
图35根据本发明的一实施例,示出用于在分布式弹性网络互连(DRNI)中的DRCP节点处为聚合器或网关配置对话ID集合的方法。
图36根据本发明的一实施例,示出用于在分布式弹性网络互连(DRNI)中的DRCP节点处为IPP配置对话ID集合的方法。
图37A根据本发明的一个实施例,示出网关对话向量TLV。
图37B根据本发明的一个实施例,示出端口对话向量TLV。
图38是根据本发明的一个实施例,示出用于接收机的状态机的第三流程图。
图39A-B是示出DRNI和聚合器机器操作的流程图的另一集合。图39A示出DRNI网关过程,并且图39B示出DRNI端口更新过程。
图40A-B是示出DRNI IPP机器状态的流程图的另一集合。图40A根据本发明的一个实施例,示出更新IPP网关对话的状态机,并且图40B根据本发明的一个实施例,示出更新IPP端口对话的状态机。
图41根据本发明的一实施例,示出用于在DRNI链路聚合群组的节点中与邻居同步的方法。
图42A-B根据本发明的一个实施例,示出确定接收到的DRCPDU是否与节点兼容的操作的流程图。
具体实施方式
在下面的描述中,陈述了许多特定细节。然而,要理解的是,实践本发明的实施例可无需这些特定细节。在其它实例中,公知的电路、结构和技术未详细显示以免模糊对此描述的理解。
然而,本领域的技术人员将领会到,可无需此类特定细节而实践本发明。其它实例中,控制结构、门级电路和全软件指令序列未详细示出以免模糊本发明。通过包括的描述,本领域技术人员将能够在不进行过度实验的情况下实现适当的功能性。
说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示所描述实施例可包括特定特征、结构或特性,但每个实施例可不一定包括特定特征、结构或特性。另外,此类词语不一定指同一实施例。此外,在结合实施例描述特定特征、结构或特性时,认为结合无论是否明确描述的其它实施例影响此类特征、结构或特性是在本领域技术人员的认知之内。
术语
本描述中可使用以下术语。
执行者(Actor):链路聚合控制协议(LACP)交换中的本地实体(即,节点或网络装置)。
聚合密钥:与每个聚合端口关联并与聚合系统的每个聚合器关联的参数,用于识别能够聚合在一起的那些聚合端口。聚合系统中共享相同聚合密钥值的聚合端口可能能够聚合在一起。
聚合端口:由聚合器支持的聚合系统中的服务接入点(SAP)。
聚合系统:(除其它外)包括用于聚合目的的一个或更多个聚合端口的任意群组的唯一可识别的实体。聚合链路的一个实例始终出现在两个聚合系统之间。物理装置可包括单个聚合系统或不止一个聚合系统。
聚合客户端:正好在链路聚合子层上方的分层实体,链路聚合子层为其提供内部子层服务(ISS)的实例。
对话:从一个末端(end)站传送到另一末端站的帧集合,其中所有帧形成有序序列,并且其中通信末端站要求在所交换的帧集合中保持排序。
对话ID:使用值(例如,在04095范围内)来识别对话的标识符。
数据终端设备(DTE):连接至局域网的任何数据源或目的地。
分布式中继(DR):通过借助于包括门户的每个聚合系统中的DR功能的门户分发功能实体,其将传出帧从网关分发到聚合器,并将传入帧从聚合器分发到网关。
分布式弹性网络互连(DRNI):扩展成包括门户和聚合系统中的每个或两个(或更多个)门户的链路聚合。
DR功能:驻留在单个门户系统内的分布式中继的部分。
网关:通常虚拟的将分布式中继连接到系统的连接(不是在系统之间的物理链路),由网关链路和两个网关端口组成。
网关对话ID:用于选择经过网关的帧的对话ID值。网关对话ID:用于选择经过网关的帧的对话ID值。
内部子层服务(ISS):在IEEE Std 802.1AC-2012中定义的MAC服务的扩增版本。
门户内链路(IPL):用于连接包括分布式中继的DR功能的链路。
链路聚合群组(LAG):对于链路聚合器客户端而言显得好像它们是单个链路的链路的群组。链路聚合群组能够连接两个聚合系统、聚合系统和门户或两个门户。一个或更多个对话可与作为链路聚合群组的部分的每个链路关联。
同伴:聚合链路控制协议交换中的远程实体(即,节点或网络装置)。
端口对话标识符(ID):用于选择经过聚合端口的帧的对话标识符值。
门户:DRNI的一端;包括一个或更多个聚合系统,每个聚合系统带有一起包括链路聚合群组的物理链路。门户的聚合系统进行协作以便仿真单个聚合系统(整个链路聚合群组附连到其)的存在。
门户系统号:唯一地识别在其门户内的门户系统的整数(例如,从1到3,包含1和3)。
选择算法:用于将帧指派到对话ID以及将对话ID指派到聚合端口和网关的算法。
服务ID:从帧的报头(VID、I-SID等)提取的值,其识别服务实例(该帧与其关联)。
服务实例:服务实例是服务接入点(SAP)集合,使得向一个SAP呈现的Data.Request原语能够产生在该集合中的一个或更多个其它SAP出现的Data.Indication原语。在操作员和客户的上下文中,由操作员赋予特定客户对此类集合的所有SAP的接入。
类型/长度/值(TLV):由有序类型、长度和值字段组成的信息元素的短且可变长度的编码,其中类型字段识别信息的类型,长度字段以八位组为单位,指示信息字段的长度,以及值字段包含信息本身。类型值在本地定义,并且在此标准中定义的协议内需要是唯一的。
在下面的描述和权利要求中,可使用术语“耦合”和“连接”连同其衍生词。应理解,这些术语不是意在做为彼此的同义词。“耦合”用于指示可以相互直接物理或电接触或可以不直接物理或电接触的两个或更多个元素相互协作或交互。“连接”用于指示在相互耦合的两个或更多个元素之间通信的建立。如在本文中使用的“集合”指任何正整数数量的项目(包括一个项目)。
电子装置(例如,末端站、网络装置)使用机器可读媒体存储和传送(在内部和/或通过网络与其它电子装置)代码(由软件指令组成,例如包括指令的计算机程序)和数据,如非暂时性有形机器可读媒体(例如,机器可读存储媒体,如磁盘、光盘、只读存储器、闪存存储器装置、相变存储器)和暂时性机器可读传送媒体(例如,电气、光、声或其它形式传播信号 - 如载波、红外信号)。另外,此类电子装置包括硬件,如耦合到一个或更多个其它组件的一个或更多个处理器的集合 - 例如,一个或更多个非暂时性机器可读存储媒体(存储代码和/或数据)和网络连接(使用传播信号传送代码和/或数据)及在一些情况下的用户输入/输出装置(例如,键盘、触摸屏和/或显示器)。处理器集合与其它组件的耦合通常通过电子装置内的一个或更多个互连(例如,总线,并且可能通过桥接器)。因此,给定电子装置的非暂时性机器可读媒体通常存储指令以便在该电子装置的一个或更多个处理器上执行。本发明的实施例的一个或更多个部分可使用软件、固件和/或硬件的不同组合来实现。
如本文中使用的,网络装置(例如,路由器、交换机、桥接器)是通信地与网络上的其它设备(例如,其它网络装置、末端站)互连的一件连网设备,包括硬件和软件。一些网络装置是“多服务网络装置”,其为多个连网功能(例如,路由选择、桥接、交换、第2层聚合、会话边界控制、服务质量和/或订户管理)提供支持和/或为多个应用服务(例如,数据、话音和视频)提供支持。订户末端站(例如,服务器、工作站、膝上型计算机、上网本、掌上型计算机、移动电话、智能电话、多媒体电话、因特网协议话音(VOIP)电话、用户设备、终端便、携式媒体播放器、GPS单元、游戏系统、机顶盒)访问通过因特网提供的内容/服务和/或在因特网上重叠(例如,隧穿)的虚拟专用网(VPN)上提供的内容/服务。内容和/或服务通常由属于参与对等(P2P)服务的服务或内容提供商或末端站的一个或更多个末端站(例如,服务器末端站)提供,并且可例如包括公共网页(例如,免费内容、店面(store front)、搜索服务)、私人网页(例如,提供电子邮件服务的用户名/密码访问网页)和/或通过VPN的企业网络等。通常,订户末端站耦合(例如,通过耦合到接入网络(以有线或无线方式)的客户驻地设备)到边缘网络装置,所述边缘网络装置耦合(例如通过一个或更多个核心网络装置)到其它边缘网络装置,其耦合到其它末端站(例如,服务器末端站)。
网络装置通常分隔成控制平面和数据平面(有时称为转发平面或媒体平面)。在网络装置是路由器(或者在实现路由功能性)的情况下,控制平面通常确定要如何路由数据(例如,分组)(例如,用于数据的下一跳和用于该数据的传出端口),以及数据平面负责转发该数据。例如,控制平面通常包括一个或更多个路由协议,这些协议与其它网络装置进行通信以交换路由,并基于一个或更多个路由选择度量选择那些路由,诸如边界网关协议(BGP)(RFC 4271)等外部网关协议、内部网关协议(IGP)[例如,开放式最短路径优先(OSPF)(RFC2328和5340)、中间系统到中间系统(IS-IS) (RFC 1142)、路由选择信息协议(RIP)(版本1RFC 1058、版本2 RFC 2453和下一代RFC 2080)]、标签分发协议(LDP) (RFC 5036)、资源预留协议(RSVP)(RFC 2205、2210、2211、2212及RSVP-业务工程(TE):用于LSP隧道的RSVP的扩展RFC 3209、通用多协议标签交换(GMPLS)信令RSVP-TE RFC 3473、RFC 3936、4495及4558))。另外,控制平面通常也包括已由各种标准机构标准化的ISO第二层控制协议,如快速生成树协议(RSTP)、多生成树协议(MSTP)和SPB(最短路径桥接)(例如,SPB已在IEEE Std802.1aq-2012中定义)。
路由和邻接存储在控制平面上的一个或更多个路由选择结构中(例如,路由信息库(RIB)、标签信息库(LIB)、一个或更多个邻接结构)。控制平面通过基于一个或更多个路由选择结构的信息(例如,邻接和路由信息)编程数据平面。例如,控制平面将邻接和路由信息编程到数据平面上的一个或更多个转发结构(例如,转发信息库(FIB)、标签转发信息库(LFIB)和一个或更多个邻接结构)中。在转发业务时,数据平面使用这些转发和邻接结构。
基于某个路由度量(度量能够对不同的路由选择协议不同),每个路由选择协议将路由条目下载到主RIB。每个路由选择协议能够在本地RIB(例如,OSPF本地RIB)中存储路由条目,包括未下载到主RIB中的路由条目。管理主RIB的RIB模块从通过路由选择协议下载的路由中选择路由(基于度量集合),并且将那些选定路由(有时称为活跃路由条目)下载到数据平面。RIB模块也能够使路由在路由选择协议之间再分发。对于第2层转发,网络装置能够存储用于基于在该数据中的第2层信息转发数据的一个或更多个桥接表。
通常,网络装置包括一个或更多个线路卡集合、一个或更多个控制卡集合和可选的一个或更多个服务卡(有时称为资源卡)集合。这些卡通过一个或更多个互连机制耦合在一起(例如,耦合线路卡的第一全网状和耦合所有卡的第二全网状)。线路卡集合构成数据平面,而控制卡集合提供控制平面并且通过线路卡与外部网络装置交换分组。服务卡集合能够提供专业化处理(例如,第4层到第7层服务(例如,防火墙、因特网协议安全性(IPsec)(RFC 4301和4309)、入侵检测系统(IDS)、对等(P2P))、IP话音(VoIP)会话边界控制器、移动无线网关(网关通用分组无线电服务(GPRS)支持节点(GGSN)、演进分组核心(EPC)网关))。例如,服务卡可用于终止(terminate)IPsec隧道,并且执行话务员鉴权(attendantauthentication)和加密算法。
如本文中使用的,节点基于IP分组中的一些IP报头信息转发IP分组;其中,IP报头信息包括源IP地址、目的地IP地址、源端口、目的地端口(其中,“源端口”和“目的地端口”在本文中指协议端口,与网络装置的物理端口相对)、传输协议(例如,用户数据报协议(UDP)(RFC 768、2460、2675、4113和5405))、传送控制协议(TCP)(RFC 793和1180)及差分服务(DSCP)值(RFC 2474、2475、2597、2983、3086、3140、3246、3247、3260、4594、5865、3289、3290和3317)。节点在网络装置中实施。物理节点直接在网络装置上实现,而虚拟节点是在网络装置上实现的软件并且可能是硬件抽象。因此,多个虚拟节点可在单个网络装置上实现。
网络接口可以是物理或虚拟的;并且接口地址是指派到网络接口的IP地址,而无论它是物理网络接口还是虚拟网络接口。物理网络接口是网络装置中的硬件,通过它进行网络连接(例如,以无线方式通过无线网络接口控制器(WINIC)或者通过将电缆插入到连接到网络接口控制器(NIC)的端口)。通常,网络装置具有多个物理网络接口。虚拟网络接口可与物理网络接口,与另一虚拟接口关联,或者自己独立成立(例如,环回接口、点对点协议接口)。网络接口(物理或虚拟)可以有编号(带有IP地址的网络接口)或无编号(无IP地址的网络接口)。环回接口(及其环回地址)是经常用于管理目的的(物理或虚拟)节点的特定类型的虚拟网络接口(和IP地址);其中,此类IP地址称为节点环回地址。指派到网络装置的一个或更多个网络接口的一个或更多个IP地址称为该网络装置的IP地址;在更高粒度级别,对于指派到在网络装置上实现的节点的一个或更多个网络接口,指派到其的IP地址能够称为该节点的IP地址。
一些网络装置提供用于实现VPN(虚拟专用网络)(例如,第2层VPN和/或第3层VPN)的支持。例如,耦合提供商的网络和客户网络的网络装置分别称为PE(提供商边缘)和CE(客户边缘)。在第2层VPN中,转发通常在VPN的任一端上的一个或更多个CE上执行,并且业务跨网络发送(例如,通过由其它网络装置耦合的一个或更多个PE)。第2层电路配置在CE与PE(例如,以太网端口、ATM永久性虚拟电路(PVC)、帧中继PVC)。在第3层VPN中,路由选择通常由PE执行。作为示例,支持多个上下文的边缘网络装置可部署为PE;并且上下文可配置有VPN协议,并且因此该上下文被称为VPN上下文。
一些网络装置提供对VPLS(虚拟专用LAN服务)(RFC 4761和4762)的支持。例如,在VPLS网络中,订户末端站通过耦合到CE(其通过由其它网络装置耦合的PE耦合),访问通过VPLS网络提供的内容/服务。VPLS网络能够用于实现三网融合应用(例如,数据应用(例如高速因特网接入)、视频应用(例如,诸如IPTV(因特网协议电视)等电视服务)、VoD(视频点播)服务)和话音应用(例如,VoIP(因特网协议话音)服务))、VPN服务等。VPLS是能够用于多点连接性的一种类型的第2层VPN。VPLS网络也允许在单独的地理位置与CE耦合的订户末端站跨宽域网(WAN)相互进行通信,好像它们在局域网(LAN)(称为模拟LAN)中相互直接附连一样。
在VPLS网络中,每个CE通常可能通过接入网络(有线和/或无线),经附连电路(例如,在CE与PE之间的虚拟链路或连接)附连到PE的桥接器模块。PE的桥接器模块通过模拟LAN接口附连到模拟LAN。每个桥接器模块通过保持映射MAC地址到伪线和附连电路的转发表而充当“虚拟交换实例”(VSI)。PE基于帧(从CE接收)中包括的MAC目的地地址字段,将那些帧转发到目的地(例如,其它CE、其它PE)。
链路聚合子层
图2是链路聚合子层200的一个实施例的图。聚合器客户端202通过聚合器250与聚合端口292、294、296集合进行通信。在一个实施例中,聚合器250向聚合器客户端202呈现标准IEEE Std802.1Q内部子层服务(ISS)接口。聚合器250绑定到包括聚合端口292、294、296的一个或更多个聚合端口。聚合器250将来自聚合器客户端202的帧传送分发到聚合端口292、294、296,收集从聚合端口292、294、296接收到的帧,并透明地将它们传递到聚合器客户端202。
聚合端口292、294、296到聚合器250的绑定由链路聚合控制210管理,链路聚合控制210负责确定哪些链路能够聚合,将它们聚合,将聚合端口绑定到适合的聚合器,并监视条件以确定何时需要聚合更改。此类确定和绑定能够通过由网络管理器(例如,通过聚合密钥)直接操纵链路聚合的状态变量在手动控制下进行。另外,自动确定、配置、绑定和监视可通过使用链路聚合控制协议(LACP) 214进行。LACP 214跨链路使用对等交换以确定(在正进行基础上)各个链路的聚合能力,并连续提供在给定一对聚合系统之间可实现的最大级别的聚合能力。
聚合系统能够包含服务于多个聚合器客户端的多个聚合器。给定聚合端口将在任何时间绑定到(至多)单个聚合器。单个聚合器一次服务于一个聚合器客户端。
对于在聚合器客户端之间的帧交换的某些序列(称为对话),保持帧排序。帧分发器234确保给定对话的所有帧被传递到单个聚合端口。对于给定对话,要求帧收集器224按从聚合端口接收帧的顺序将帧传递到聚合器客户端202。否则,帧收集器224以任何顺序自由选择从聚合端口292、294、296接收到的帧。由于没有在单个链路上使帧混乱的方式,因此,这确保为任何对话保持帧排序。对话能够在链路聚合群组内的聚合端口之间移动,以用于负载平衡并在链路失效的情况下保持可用性。
聚合端口292、294、296每个指派有媒体访问控制(MAC)地址,这些地址在链路聚合群组上并且对于任何桥接的局域网(LAN)(例如,符合IEEE 802.1Q桥接的LAN的网络)(链路聚合群组连接到其)是唯一的。这些MAC地址用作由链路聚合子层270本身内的实体发起的帧交换(即,LACP 214和标记协议交换)的源地址。
聚合器250(和如果部署的其它其它聚合器)指派有MAC地址,这些地址在链路聚合群组上并且对于桥接的LAN(例如,符合IEEE 802.1Q桥接的LAN的网络)(链路聚合群组连接到其)是唯一的。从聚合器客户端202的角度而言,此地址用作链路聚合群组的MAC地址,既用作用于传送的帧的源地址,又用作用于接收到的帧的目的地地址。聚合器250的MAC地址可以是关联链路聚合群组中聚合端口的MAC地址之一。
分布式弹性网络互连(DRNI)
链路聚合创建链路聚合群组,其是对于更高层好像是单个逻辑链路的一个或更多个物理链路的集合。链路聚合群组具有两个端,每个端在聚合系统中终止。DRNI扩展了链路聚合的概念,使得在链路聚合群组的任一端或两端,单个聚合系统由门户替代,每个门户由一个或更多个聚合系统组成。
通过使用分布式中继将两个或更多个系统互连来创建DRNI,每个系统运行链路聚合,以创建门户。门户中的每个聚合系统(即,每个门户系统)通过单个聚合器运行链路聚合。分布式中继使门户系统能够联合终止链路聚合群组。对于所有其它聚合系统(门户连接到其),链路聚合群组好像是在由门户系统创建的单独仿真聚合系统中终止。
意图是通过引入分布式中继以将两个或三个系统互连来创建DRNI,每个系统运行链路聚合,以创建门户。门户中的每个系统(即,每个门户系统)通过单个聚合器运行链路聚合。分布式中继意在使门户系统能够联合终止链路聚合群组。对于所有其它系统(门户连接到其),链路聚合群组将好像是在由门户系统创建的单独仿真系统中终止。上面提及的IEEE802.1AX-REV/D1.0未提供关于分布式中继如何起作用的足够信息。
分布式中继
通过使用分布式中继以将两个或三个系统互连来创建DRNI,每个系统运行链路聚合,以创建门户。门户中的每个系统(即,每个门户系统)通过单个聚合器运行链路聚合。分布式中继使门户系统能够联合终止链路聚合群组。对于所有其它系统(门户连接到其),链路聚合群组好像是在由门户系统创建的单独仿真系统中终止。
图3A将基本分布式中继系统示为用于描述分布式中继的起点。图3A中描绘并且在本文中讨论的网络链路对应于对网络协议可见并且在其控制下的物理或逻辑链路。在此图中,系统A和B各自通过执行“功能1”来表征,“功能1”是某种分组中继功能,例如路由器或桥接器。“功能1”也能够是文件服务器操作,在此情况下,每个系统上的外面两个“端口”将可能不存在。每个系统运行链路聚合子层的单个实例。在一个实施例中,期望的是将阴影端口关联到带有分布式中继的门户中。
图3A是示例,不是一般情况。通常,分布式中继支持:
a) 本申请提供只对于本文中下面所列配置必需的协议和过程。
b) 链路聚合功能,每个功能包含一个或更多个MAC。
c) 在分布式中继的门户系统之间的连接。
在此实例中引入分布式中继功能层的目的是使这两个门户系统对于与它们连接的系统好像是在图3B中示出的配置中。好像存在有第三仿真系统C,其通过已插入在功能1与链路聚合之间的链路连接到原门户系统。也就是说,门户系统A和B协力,在它们连接到的任何其它系统可辨别的程度内,表现得好像仿真系统C实际存在,如图3B中所示的。虽然图3B是示例,但它示出分布式中继的原理:
d) 仿真系统C中的分布式中继是用于N个门户系统的(N+1)-端口中继,其中N个网关端口连接到门户系统,并且单个仿真链路聚合子层与原门户系统关联。
e) 聚合端口(在本文中也称为MAC)已移动到仿真系统,并且因此对于所有其它系统好像是与包括分布式中继的真实门户系统有相同距离。
图4中示出由两个门户系统用于创建仿真系统C的实际构造。图4示出分布式中继的两个DR功能,每个系统A和B中一个DR功能。此示例示出分布式中继的剩余原理:
f) 在每个系统A和B中,将与系统C关联的端口移动到DR功能的链路聚合子层下方的位置。
g) 构建称为“网关”的虚拟链路及其终止虚拟MAC,以将每个DR功能连接到其功能1。
h) 在门户中的每对DR功能之间,构建有门户内链路(IPL),在其每端通过门户内端口(IPP)终止。(这能够以许多形式存在;参阅本文中下面的讨论)
i) 存在决定能够通过哪个网关将帧传递到仿真分布式中继中或从中传出的“网关算法”。
j) 类似地,“端口算法”决定能够通过哪个门户系统的聚合端口将帧传递到仿真分布式中继中或从中传出。
k) 如上提及的,能够有三个系统参与创建门户和仿真系统C。在该情况下,仿真系统C中的分布式中继具有另外的网关端口,一个网关端口到一个门户系统,并且具有IPL以将DR功能互连。
l) 如本文中下面指定的,DR功能一起工作以在网关、IPL和链路聚合子层之间移动帧。
分布式中继操作和过程
每个门户系统(图4)中的DR功能意在具有(经受操作性失效)三种端口:
A) 门户内端口,连接到属于相同门户的一个或更多个其它门户系统的每个的至多一个(在一些实施例中可能是复合的)IPL端口;
B) 带有到门户系统(DR功能驻留在其中)中的虚拟网关端口的虚拟链路的正好一个虚拟网关端口;以及
C) 到带有任意数量的聚合端口的链路聚合子层的正好一个聚合器端口(由通过前缀Agg识别的ISS实例支持的端口),意在以某种方式连接到其它系统,使得那些其它系统相信它们连接到单个仿真系统。
在图3B中,门户内链路和IPL端口不可见,并且仿真聚合系统C的分布式中继具有到其门户中的每个系统的一个网关。
仿真分布式中继的目的是将从聚合端口接收到的每一个帧(“上行帧”)传递到网关或者丢弃它,并将从网关接收到的每一个帧(“下行帧”)传递到聚合器端口或者丢弃它。包括分布式中继的DR功能有时必须跨一个或两个门户内链路发送帧,以便使其到正确的网关或聚合器端口。DR功能通过将每一个帧指派到两个对话ID(即,网关对话ID和端口对话ID)并根据这些对话ID配置网关、聚合端口和IPL,做出是丢弃帧还是将帧传递到其网关、聚合器端口或其IPL之一的选择。
提及的“网关算法”由两部分组成:用于将任何给定帧指派到网关对话ID的算法和将网关对话ID指派到网关(例如,使用Drni_Gateway_Conversation)。
如果门户系统是执行学习的VLAN桥接器,则帧到网关对话ID的映射将基于其VLANID,否则,学习过程在整个网络内中断。对于在这些情况中DRNI的实现,能够存在VLAN ID到对话ID的一对一映射。
类似地,上述“分布式中继”部分中的第j项的“端口算法”由将端口对话ID指派到聚合端口(例如,使用aAggConversationAdminPort[])和将任何给定帧指派到端口对话ID的算法组成。
本文中下面指定了方式以确保在给定门户上的所有DR功能使用相同的网关算法和相同的端口算法来将帧指派到其相应的对话ID,并保证在任何给定时刻将任何给定网关对话ID指派到至多一个网关和将任何给定端口对话ID指派到门户的至多一个聚合端口。
允许但不要求网关算法和端口算法使用将帧指派到对话ID的相同方式,使得网关对话ID等于端口对话ID。
在帧从网关进入DR功能时,始终对帧应用端口算法,以确定是将它发送到聚合器端口还是发送到特定IPP。在帧从聚合器端口进入时,始终对帧应用网关算法,以确定是将它发送到网关还是发送到特定IPP。必须应用两种算法,并比较其结果以便转发从IPL进入DR功能的帧,如表1中所示的。
A) [1] “任意”表示不使用来自端口算法的输出;网关算法确定将帧发送到哪个端口。
B) [2] 不同门户系统中的DR功能具有不兼容的配置,或者存在故障。丢弃帧以防止循环。
C) 表1假设三种配置之一:
• 通过单个IPL连接的两个门户系统;
• 通过两个IPL线性连接的三个门户系统;或者
• 通过三个IPL循环连接的三个门户系统。
D) 通过网关在两个方向中实施网关算法;也就是说,如果对从网关进入DR功能的帧应用的网关算法将不会把它发送回到网关,则丢弃该帧。这对于防止跨IPL转发从网关接收到的帧并通过另一个网关将它传递回网络是必需的。
E) 如果网关算法指示帧应经过网关,则它必须是上行帧,这是因为根据上述D)项,下行帧不能从任何其它DR功能进入门户。
F) 否则,如果网关算法指示帧来自它将被转发到的IPL,则它是下行帧,并且因此使用端口算法转发。(如果端口算法将它发送回到它到达的端口上,则存在某种故障或误配置,并且丢弃该帧)。
G) 否则,网关算法指示该帧并非来自它将被转发到的IPL,因此它必须是上行帧,并且该帧根据网关算法被引导。
注意 - 分布式中继的端口算法和分布式中继控制协议一起确定端口对话ID到各个聚合端口的映射,并且其控制中的变量确定帧分发器和帧收集器的操作。然而,这不会改变如上所述的数据和控制的路径,这是因为分布式中继通过聚合器向或从聚合端口传递所有数据。
在从网关和聚合器端口进入DR功能的帧上应用网关和端口算法,如表2和表3中分别示出的。
端口拓扑
最一般的门户拓扑是如图21中所示的通过三个门户内链路连接成环的三个门户系统。根据本发明其它实施例的其它支持的拓扑是它的子集,包括:
• 通过两个IPL连接成链的三个门户系统,
• 通过单个IPL连接的两个门户系统,
• 无活动IPL的门户系统。
术语归属、邻居和其它邻居用于从给定门户内端口的角度识别门户系统。归属是包含IPP的系统。邻居是连接到IPP的系统。其它邻居是连接到归属系统中的另它IPP(如果存在)的系统。参照图21,使用IPP B1作为示例,其归属系统是B,其最接近(immediate)的邻居是A(因为它经由IPL AB连接到IPP B1),并且它的其它邻居是C(因为它经由IPL BC连接到IPP B2)。注意,IPP A2的另它邻居也是C(因为它经由IPL AC连接到IPP A1),因此比较IPP B1和A2的其它邻居的ID证实了环或链中存在不多于三个系统。
门户内链路
门户内链路(IPL)是在两个不同系统中的DR功能之间的单个逻辑点到点链路。对于包括DRNI链路聚合群组的一端的每个其它系统,DR功能具有至多一个IPL。IPL和网络链路能够共享物理链路或链路聚合(链路聚合是链路集合的聚合体)。
IPL能够是物理的(例如,802.3以太网LAN)或逻辑的(例如,802.1Q骨干服务实例或IETF伪线)。门户内链路能够与其它门户内链路或网络链路共享物理链路。门户内链路能够是链路聚合群组,并且因此由多个物理链路组成。
如图4中所示的,在部署的网络中通常的情况将是两个系统将配置有连接它们的正常网络链路和IPL。如果每个门户要求其自己的单独物理IPL,特别是如果一对系统配置成支持多个门户,则它将降低DRNI的实用性。DRNI支持多种方法(系统能够通过所述方法将网络链路上的帧与特定IPL上的帧进行区分):
• 物理。单独的物理链路能够用于支持任何特定网络链路或IPL。
• 聚合。单独的聚合器端口能够用于支持IPL。
• 时间共享。网络链路和一个或更多个IPL能够使用相同的物理链路(或聚合器端口),但要在不同时间。这要求在要求IPL用于连接性时系统禁止使用网络链路,否则调整聚合链路的使用和网关的选择以在要求网络链路时消除对使用IPL的需要。此技术在本文中描述。
• 标签共享。网络链路和一个或更多个IPL能够通过使用不同服务ID来使用相同物理链路(或聚合器端口)。标签共享在本文中描述。
• 逻辑。如本文中所描述的,能够对网络链路和一个或更多个IPL上的帧进行封装。
实现DRNI的系统可支持使用单独物理链路用于IPL和网络链路,并且可支持任何其它方法。
在共享物理链路或聚合器端口的每个端,对于链路或聚合器端口被用于的每个功能(网络链路或特定IPL),存在一个虚拟端口。只要任何给定物理链路或聚合器端口的两端使用相同方法,任何上述方法便能够通过管理选择在两个系统之间同时使用。
网络/IPL按时间共享
网络/IPL按时间共享的目标是支持DRNI,而对于网络连接和IPL不要求单独的物理链路,并且不要求任何帧修改。在共享链路时,必需能够为每个帧确定该帧是意在穿过网络连接还是IPL。如果在任何给定时间,已知物理链路只用作网络链路或只用作IPL,则能够做出此确定而不修改帧(例如,无需转译VLAN ID或无需增加标签或封装)。在任何给定时间链路是用作网络链路还是IPL,这由用于为网络中的每个VLAN建立完全连接的无环活动拓扑的控制协议来确立。
如果链路未包括在VLAN的活动拓扑中(例如,已通过网络控制协议的操作将其阻止),则它可用于用作IPL。在此情况下,链路由DRNI使用,就好像它是专用(未共享)IPL。
如果链路包括在VLAN的活动拓扑中,则无IPL可用于该VLAN。在此情况下,DRNI不能在一个门户系统中的聚合端口与另一门户系统中的网关之间传递帧。因此,对于任何给定帧,DRNI被限制于具有在相同门户系统中的网关和聚合端口。
注1:共享链路能够不可用于在网关和特定聚合端口之间传送帧的事实不会限制在共享链路上交换DRCPDU的能力。
在满足对于任何给定帧,网关和聚合端口在相同门户系统中的限制时,有两种情形要考虑。简明的情况是,在端口对话ID跨DRNI已达成一致且对称,并且带有给定VLAN ID的所有帧映射到选择在相同门户系统中的聚合端口的端口对话ID时。则选择该门户系统为用于该VLAN ID的网关,并且任何数据帧无需穿过IPL。在任何其它情形中,确保网关和特定聚合端口在相同门户系统中的唯一方法是在不同于共享网络/IPL端口的任何端口上接收帧时,该门户系统被视为用于该帧的网关,并且在每个门户系统中,所有端口对话ID映射到附连到该系统的聚合端口。在此模式中,在网络端口(非IPP或聚合端口)上接收任何帧的门户系统负责将该帧转发到聚合端口(如果要求)。在IPP上接收帧的门户系统从不将该帧转发到聚合端口。在此情况下,网关选择不一定基于VID,因此,在门户系统是802.1Q桥接器时,在共享网络/IPL链路上的学习过程受损。由于学习问题局限于此端口,因此,可通过使在DRNI上学习的地址与其它门户系统同步而对其进行补救。
网络/IPL按标签共享
如果采用每服务帧分发,并且如果支持网络链路所要求的服务的数量加上支持一个或更多个IPL所要求的服务的数量小于使用的帧格式(例如,4094 S-VLAN ID)提供的服务的数量,则VID转译能够用于分离不同逻辑链路上的帧。
通过为aDrniEncapsulationMethod配置值2来选择该方法。如果已启用,如由通过网络/IPL共享机控制的变量Enabled_EncTag_Shared所指示的,则转译将由IPL传输到邻居门户系统并且与网关对话ID关联的每个帧,以使用在aDrniIPLEncapMap中配置的值,并且转译将通过网络链路传输,与IPL共享,并且与网关对话ID关联的每个帧,以使用在aDrniNetEncapMap中配置的值。
网络/IPL按封装共享
此方法实现通过使用封装技术(例如,802.1Q骨干服务实例、B-VLAN和IETF伪线等)与网络链路共享IPL。
通过为aDrniEncapsulationMethod配置表示封装方法的值来选择该方法,在IPL和网络链路共享相同物理链路时,封装方法用于将IPL帧(经过IPL的数据帧,即,非携带帧的DRCPDU)传输到邻居门户系统。此值由识别负责此封装的组织的三个八位组组织唯一标识符(OUI)和用于识别由该组织定义的封装方法的一个随后八位组组成。如果已启用,如由通过网络/IPL共享机控制的变量Enabled_EncTag_Shared所指示的,则通过由DrniEncapsulationMethod指定的方法来封装将在IPL上传送到邻居门户系统并且与网关对话ID关联的每个帧,以使用在DrniIPLEncapMap中配置的值,并且将由IPL接收的每个帧解封装并使用相同表格将其映射到网关对话ID。
DR功能状态机
DR功能状态机将实现在表1-3中指定的转发规则。这些转发规则可总结如下:
a) 对于通过聚合端口进入的帧,即上行帧,网关算法根据其网关对话ID决定是将它传送到网关链路还是传送到IPP。如果帧的网关对话ID与门户系统的操作网关对话ID匹配,则将帧转发到网关,否则将它转发到IPP。
b) 对于通过网关进入的帧,即下行帧,端口算法根据其端口对话ID决定是将它传送到聚合端口还是传送到IPP。如果帧的端口对话ID与门户系统的操作端口对话ID匹配,则将帧转发到聚合端口,否则将它转发到IPP。
c) 仅如果用于此网关对话ID的门户系统位于IPP之后才传送提供到该IPP的上行帧,否则将它丢弃。
d) 仅如果用于此端口对话ID的目标门户系统位于IPP之后才传送提供到该IPP的下行帧,否则将它丢弃。
分布式中继使用的一些链路聚合变量必须以特定方式形成,以便多个门户系统能够协作以创建单个仿真系统:
e) 将用于分布式中继的聚合器端口中每个聚合端口的端口ID中的端口优先级的两个最低有效位设置成DRF_Portal_System_Number的值。指派剩余位DR功能内唯一的值。
f)将用于分布式中继的聚合器端口中的每个聚合端口和关联聚合器的管理密钥的两个最高有效位设置成DRF_Portal_System_Number的值。剩余位能够如所描述的那样使用以反映聚合端口的物理特性。
服务接口
由于DR功能使用ISS的各种实例,因此,必需引入符号协定,以便读者能够清楚关于在任何给定时间提到哪个接口。因此,将前缀指派到每个服务原语,指示在调用哪个接口。前缀如下所述:
a) Agg:,用于在DR功能与链路聚合子层之间接口上发出的原语。
b) Gate:,用于在网关上发出的原语。
c) MacIppN:,用于在支持IPL n的MAC实体与DRCP控制解析器/复用器之间接口上发出的原语。
d) DRCPCtrlMuxN:,用于在DRCP控制解析器/复用器N与DRCP控制实体之间接口上发出的原语(其中,N识别与DRCP控制解析器/复用器关联的IPP)。
e) IppN:,用于在由DRCP控制解析器/复用器N支持的DR功能的接口上发出的原语(其中,N识别与DRCP控制解析器/复用器关联的IPP)。
每DR功能变量
以下讨论聚焦在根据本发明的一个实施例的多种每个DR功能变量上。
DA:目的地地址
SA:源地址
mac_service_data_unit
优先级:M_UNITDATA.indication原语的参数。
BEGIN:布尔变量,它在初始化或重新初始化系统时设置成“真”,并在(重新)初始化完成时设置成“假”。
Value:布尔
Drni_Portal_System_Gateway_Conversation:按网关对话ID索引的操作布尔向量,指示是否允许索引的网关对话ID经过该DR功能的网关(真=经过)。在一个实施例中,通过updatePortalSystemGatewayConversation函数来计算其值。在另一实施例中,通过将与门户中其它门户系统关联的所有索引的网关对话ID条目设置成“假”而从Drni_Gateway_Conversation构造此变量,并且在剩余索引的网关对话ID条目中,全都与其它门户系统不一致。
Value:按网关对话ID索引的布尔值的序列。
Drni_Portal_System_Port_Conversatin:按端口对话ID索引的操作布尔向量,指示是否允许通过此DR功能的聚合器分发索引的端口对话ID(真=通过)。在一个实施例中,通过updatePortalSystemPortConversation来计算其值。在另一实施例中,通过将与门户中其它门户系统关联的所有索引的端口对话ID条目设置成“假”而从Drni_Port_Conversation构造此变量,并且在剩余索引的网关对话ID条目中,全都与其它门户系统不一致。
Value:按端口对话ID索引的布尔值的序列。
消息
Agg:M_UNITDATA.indication
Gate:M_UNITDATA.indication
IppN:M_UNITDATA.indication
Agg:M_UNITDATA.request
Gate:M_UNITDATA.request
IppN:M_UNITDATA.request
用于通过指定参数将接收到的帧传递到客户端的服务原语。
如果使用网络/IPL按标签共享或网络/IPL按封装共享方法,则需要通过由网络/IPL共享机控制的函数的操作来操纵服务原语IppN:M_UNITDATA.indication和IppN:M_UNITDATA.request。
DR功能:聚合器端口接收状态机
DR功能:根据本发明的一个实施例,聚合器端口接收状态机可通过其关联参数,实现在图22中指定的功能。每个门户系统存在一个DR功能:聚合器端口接收状态机,并且存在与门户系统中的IPP一样多的PASS_TO_IPP_N状态,每个状态由索引n识别。图中的前缀“n.”用于识别与关联变量有关的特定IPP n。
DR功能:网关分发状态机
DR功能:根据本发明的一个实施例,网关分发状态机可通过其关联参数,实现在图23中指定的功能。每个门户系统存在一个DR功能:网关分发状态机,并且存在与门户系统中的IPP一样多的PASS_TO_IPP_N状态,每个状态由索引n识别。图中的前缀“n.”用于识别与关联变量有关的特定IPP n。
DR功能:IPP N接收状态机
DR功能:根据本发明的一个实施例,IPP N接收状态机可通过其关联参数,实现在图24中指定的功能。每个门户系统每个IPP存在一个DR功能:IPP N接收状态机,并且存在与门户系统中的IPP一样多的PASS_TO_IPP_M状态,每个状态由索引m识别。图中的前缀“n.”或“m.”用于识别与关联变量有关的特定IPP n或IPP m。
分布式中继控制协议
分布式中继控制协议(DRCP)的目的是要:
A) 在门户系统之间跨门户内链路建立通信;
B) 验证门户系统的一致配置;
C) 确定用于仿真系统的身份;
D) 在彼此之间分发门户系统以及其聚合端口的当前状态;
E) 计算经过每个IPL所要求的任何帧的结果路径,并如要求的那样与相邻门户系统交换信息以确保防止转发循环和重复帧输送。
F) 在门户系统之间交换信息以便支持在本说明书中未指定的分布式功能;
DRCP的操作结果是要保持控制分布式中继转发帧的变量。
DRCP交换信息以确保门户系统能够一起工作。第一类的此类信息包括必须兼容以便全部传递任何数据(上述A项)的管理对象和变量。在一个实施例中,它们包括:
G) aAggPortAlgorithm:所有门户系统必须使用相同的端口算法。
H) aDrniGatewayAlgorithm:所有门户系统可以使用相同的网关算法。
I) aDrniPortalId:所有门户系统必须具有用于aDrniPortalId的相同值,以确保认为它们均应当属于相同门户。
J) aDrniPortalTopology:所有门户系统必须具有用于aDrniPortalTopology的相同值,并且在连接成环的三个门户系统的门户的情况下,需要通过门户一致地配置相同的“循环中断链路”aDrniLoopBreakLink。
K) aDrniThreePortalSystem:所有门户系统必须具有用于
aDrniThreePortalSystem的相同值。
L) aDrniPortalSystemNumber:所有门户系统必须具有不同的aDrniPortalSystemNumber值,并且所有这些值必须在1..3范围内,以确保能够有意义地对信息做标记。
M) aAggActorAdminKey:将用于分布式中继的聚合器端口中每个聚合器的管理密钥的两个最高有效位设置成DRF_Portal_System_Number的值。剩余位反映关联聚合端口的物理特性,并且它们必须对门户中的所有门户系统相同。
第二类的管理对象(B项)控制每个对话ID经过哪个网关和哪些聚合端口。对于这些管理对象,如果在不同门户系统中不同地配置关于一个对话ID的信息,则仅该对话ID受影响。因此,门户能够正常操作,并且确保防止重复输送或转发循环的机制将阻止属于误配置对话ID的任何帧通过。为检测误配置以便阻止不是永久性的,DR功能能够通知网络管理员配置是否不同。由于这些配置相当大,因此,交换其内容的校验和,而不是配置本身。此方法以大概率而不是必然地检测差别。在一个实施例中,这些管理对象包括:
N) aDrniConvAdminGateway[]:用于动态地确定哪个对话ID流过哪个网关的列表。
O) aAggConversationAdminPort[]:用于动态地确定哪个对话ID流过哪个聚合端口的列表。
DRCP使用其关于哪些预期的门户系统经IPL连接或不连接的信息来确定仿真分布式中继的身份(在此部分中的上述C项)。
交换所有门户系统及其聚合端口的当前操作状态,以便每个DR功能能够确定将把每个帧输送到哪个门户系统的网关或聚合器端口(此部分中的上述D项)。每个DR功能计算向量,向量确切指定哪些端口对话ID和哪些网关对话ID能够经过每个网关、聚合端口或IPP。在每个IPP上,交换此信息(此部分中的上述E项)。如果对于任何给定对话ID,在两个DR功能的向量之间存在差别,则设置输出变量,以便DR功能将阻止带有该对话ID的帧。这防止任何帧的循环或重复输送。
建立门户和分布式中继
门户的创建没有自动指定方向。而是,DRCP将如由管理对象定义的网络管理员的意图与配置的系统的物理拓扑进行比较,并且如果连接的系统的配置兼容,则DRCP建立并且实现门户的操作。为跨门户建立分布式中继,网络管理员配置以下管理对象:
A) 网络中可以有许多系统,并且一些或所有选择的门户系统可参与其它门户。通过配置诸如aDrniPortalId和aDrniPortalSystemNumber等变量,完成确定哪些其它门户系统属于此门户系统的门户。
B) 如上文所描述的,能够将MAC服务的任何点到点实例指派为门户内链路。例如,在aDrniIntraPortalLinkList中配置指派到DR功能的使用的特定实例。
C) 在一个实施例中,在aDrniAggregator中配置将每个门户系统中的哪个聚合器指派到此DR功能。
D) 在一个实施例中,在两个管理对象aDrniGatewayAlgorithm和aAggPortAlgorithm中配置将由DR功能用于指派帧到网关对话ID和端口对话ID的方法。
E) 在一个实施例中,在几个管理对象aDrniConvAdminGateway[]和aAggConversationAdminPort[]中配置对话ID到网关和聚合端口的初始和备份指派以覆盖失效模式。
DRCPDU传送、寻址和协议标识
使用由LLC实体提供的服务,传送和接收分布式中继控制协议数据单元(DRCPDU),而LLC实体又使用在与IPP关联的MSAP提供的MAC服务的单个实例。每个DRCPDU作为单个MAC服务请求传送,并且作为单个MAC服务指示接收,其带有以下参数:
• 目的地地址
• 源地址
• MSDU(MAC服务数据单元)
• 优先级
每个请求和指示的MSDU包括提供EtherType协议标识并紧跟DRCPDU本身的多个八位组。
注1:出于此标准的目的,术语“LLC实体”包括使用如IEEE Std 802中指定的EtherType字段支持协议辨别的实体。
注2:DRCP帧的完整格式不仅取决于如此处指定的DRCPDU格式,而且取决于用于支持MAC服务的媒体接入方法相关过程。
目的地MAC地址
用于传送DRCPDU的每个MAC服务请求的目的地地址可以是通过IPP管理对象选择的群组地址。其默认值可以是最近的非TPMR(双端口媒体访问控制(MAC)中继)桥接器群组地址。
源MAC地址:用于传送DRCPDU的每个MAC服务请求的源地址可以是与IPP MSAP(MAC服务接入点)(在其处做出请求)关联的单独地址。
优先级:与每个MAC服务请求关联的优先级应是与IPP MASP关联的默认值。
在帧中封装DRCPDU
DRCPDU编码在M_UNITDATA.request或M_UNITDATA.indication的mac_service_data_unit参数中。如基础MAC服务要求的,mac_service_data_unit的前几个八位组是协议标识符,接着是DRCPDU,随后是填充八位组(如果有)。
在通过能够直接支持EtherType编码的媒体访问控制方法(例如,为IEEE 802.3MAC)提供用于传送和接收帧的ISS实例的情况下,协议标识符的长度为两个八位组。通过指定的EtherType识别所有DRCPDU。在通过不能直接支持EtherType编码的媒体接入方法(例如,为IEEE 802.11 MAC)提供ISS实例的情况下,根据用于子网接入协议的规则(IEEE Std802的第10条款)编码TPID,所述协议在LLC上封装以太网帧,并且包括SNAP报头(十六进制AA-AA-03),接着是SNAPPID(十六进制00-00-00),随后是协议的EtherType(十六进制xx-xx)。
DRCPDU结构和编码
八位组的传送和表示
所有DRCPDU包括整数个八位组。每个八位组中的位从0到7编号,其中0是低阶位。在连续八位组用于表示数值时,首先传送最高有效八位组,然后相继传送较低有效八位组。
在图中描绘DRCPDU的(元素的)编码时:
A) 从顶到底传送八位组。
B) 在八位组内,通过左边的位0和右边的位7显示位,并且从左到右传送这些位。
C) 在连续八位组用于表示二进制数时,最先传送的八位组具有最高有效值。
D) 在连续八位组用于用于表示MAC地址时,第一个八位组的最低有效位指派MAC地址的第一位的值,下一最高有效位指派MAC地址的第二位的值,并且依此类推到第八个位。类似地,第二个八位组的最低有效到最高有效位指派MAC地址的第九到到第十七个位的值,并且对于MAC地址的所有八位组依此类推。
在帧中封装DRCPDU
在一个实施例中,DRCPDU编码在M_UNITDATA.request或M_UNITDATA.indication的mac_service_data_unit参数中。如基础MAC服务要求的,mac_service_data_unit的前几个八位组是协议标识符,接着是DRCPDU,随后是填充八位组(如果有)。
在通过能够直接支持EtherType编码的媒体访问控制方法(例如,为IEEE 802.3MAC)提供用于传送和接收帧的ISS实例的情况下,协议标识符的长度为两个八位组,并且值是协议的EtherType(十六进制xx-xx)。
在通过不能直接支持EtherType编码的媒体接入方法(例如,为IEEE 802.11 MAC)提供ISS实例的情况下,根据用于子网接入协议的规则(IEEE Std 802的第10条款)编码TPID,所述协议在LLC上封装以太网帧,并且包括SNAP报头(十六进制AA-AA-03),随后是SNAPPID(十六进制00-00-00)和EtherType(十六进制xx-xx)。
DRCPDU结构
图5根据本发明示出DRCPDU结构的一个实施例。字段定义如下:
A) 子类型。子类型字段识别在被封装的特定慢协议。DRCPDU携带子类型值0x0X。注意,如果选择不是使用慢协议EtherType来识别DCRP操作,则A)不存在。
B) 版本号。这识别DRCP版本;符合一个实施例的实现携带值0x01。
C) TLV_type=门户信息。此字段指示在此TLV元组中携带的信息的性质。在一个实施例中,通过值0x01来识别DRNI信息。
D) Portal_Information_Length。此字段指示此TLV元组的长度(以八位组为单位),在一个实施例中,执行者信息使用18(0x12)的长度值。在备选实施例中,长度值为16。
E) Aggregator_Priority。(通过管理或管理策略)指派到附连到DR功能的聚合器的执行者系统ID的优先级,在一个实施例中,编码为来自aAggActorSystemPriority的无符号整数。
F) Aggregator_ID。在一个实施例中,附连到DR功能的聚合器的执行者系统ID的MAC地址组分。
G) Portal_Priority。(通过管理或管理策略)指派到门户ID的优先级,在一个实施例中,它编码为来自aDrniPortalPriority的无符号整数。
H) Portal_ID。在一个实施例中,来自aDrniPortalID的门户ID的MAC地址组分。
I) TLV_type=门户配置信息。此字段指示在此TLV元组中携带的信息的性质。在一个实施例中,通过值0x02来识别门户配置信息。
J) Portal_Configuration_Information_Length。此字段指示此TLV元组的长度(以八位组为单位),在一个实施例中,门户配置信息使用46(0x2E)的长度值。在备选实施例中,长度值为43。
K) Topology_State。用于IPP的此DR功能的拓扑有关变量,编码为单个八位组内的单独位,如下所述并且如图6C中所示的:
1) 在位0和1中编码Portal_System_Number。它是来自aDrniPortalSystemNumber的此DR功能的门户系统号。
2) 在位2和3中编码Portal_Topology。它是如在aDrniPortalTopology中配置的此DR功能的门户拓扑。
3) 在位4和5中编码Neighbor_Conf_Portal_System_Number。它是附连到此IPP的门户系统的配置的门户系统号。
4) 在位6中编码Loop_Break_Link。此标志指示将附连到此IPP的IPL配置为循环中断链路。“真”指示IPL在aDrniLoopBreakLink中配置,并编码为1;否则,将此标志编码为0。
5) 位7预留以供将来使用。它在传送时设置成0,并且在接收时被忽略。
K2) Topology_State。在备选实施例中,可在不同八位组中编码拓扑状态,如下所述并且如图29A中所示的。
1) 在位0和1中编码Portal_System_Number。在一个实施例中,来自aDrniPortalSystemNumber的此DR功能的门户系统号。
2) 在位2和3中编码Neighbor_Conf_Portal_System_Number。在一个实施例中,附连到此IPP的门户系统的配置的门户系统号。
3) 位4到6预留以供将来使用。在一个实施例中,它们在传送时设置成0,并且在接收时被忽略。
4) 在位7中编码Other_Non_Neighbor。“真”(编码为1)指示其它端口信息TLV与此门户系统的最接近的邻居不关联。在一个实施例中,“假”(编码为0)指示其它端口信息TLV是此门户系统上的其它IPP上的最接近的邻居。
K3) Topology_State。在第三实施例中,可在不同八位组中编码拓扑状态,如下所述并且如在图29B中所示的,其中,位0-3相同,并且在位4中编码3_System_Portal。此位指示这是否是作为由三个门户系统组成的门户的一部分的门户系统。对于三个门户系统的门户,它编码为1,否则,编码为0。它始终设置成等于aDrniThreePortalSystem。在位5中编码Common_Methods。在aDrniPortConversationControl设置成“真”时它编码为1,否则,编码为0。位6仍预留以供将来使用,并且位7仍是ONN位。
L) Oper_Aggregator_Key。附连到DR功能的聚合器的当前操作聚合器密钥值。
M) Port_Algorithm。在一个实施例中,来自AggPortAlgorithm的由此DR功能和聚合器使用的端口算法。
N) Gateway_Algorthm。在一个实施例中,来自aDrniGatewayAlgorithm的由此DR功能使用的网关算法。
O) Port_Digest。在一个实施例中,来自aAggConversationAdminPort[]的此DR功能的优先化端口对话ID到聚合端口指派的DRF_Home_Conversation_GatewayList_Digest。
P) Gateway_Digest。在一个实施例中,来自aDrniConvAdminGateway[]的此DR功能的优先化网关对话ID到网关指派的DRF_Home_conversation_GatewayList_Digest。
Q) TLV_type=DRCP状态。此字段指示在此TLV元组中携带的信息的性质。在一个实施例中,通过值0x03来识别DRCP状态。
R) DRCP_State_Length。此字段指示此TLV元组的长度(以八位组为单位),在一个实施例中,DRCP状态使用3的长度值(0x03)。
S) DRCP_State。用于IPP的此DR功能的DRCP变量,编码为单个八位组内的单独位,如下所述并且如图6B中所示的:
1) Home_Gateway。在一个实施例中,它在位0中编码。此标志指示此DR功能的网关的操作状态。“真”指示操作并且编码为1,而非操作编码为0。
2) 在一个实施例中,在位1中编码Neighbor_Gateway。此标志指示邻居的DR功能的网关的操作状态。“真”指示操作并且编码为1,而非操作编码为0。
3) 在一个实施例中,在位2中编码Other_Gateway。此标志指示可能的其它DR功能的网关的操作状态。“真”指示操作并且编码为1,而非操作编码为0。
4) 在一个实施例中,在位3中编码IPP_Activity。此标志指示在此IPP上邻居的DRCP活动。活动DRCP邻居编码为1,而无DRCP活动编码为0。
5) 在一个实施例中,在位4中编码DRCP_Timeout。此标志指示与此链路有关的超时控制值。短超时编码为1,而长超时编码为0。
6) 在一个实施例中,在位5中编码Gateway Sync。如果为“真”(编码为1),则此DR功能认为此IPP的邻居同伴系统使其网关IN_SYNC;即,列出哪个门户系统的网关(如果有)在传递每个网关对话ID的此门户系统的操作向量与此IPP的邻居的操作向量一致。如果为“假”(编码为0),则此IPP当前OUT_OF_SYNC;即,列出哪个门户系统的网关(如果有)在传递每个网关对话ID的此IPP的邻居的操作向量不一致。
7) 在位6中编码Port Sync。如果为“真”(编码为1),则此DR功能认为此IPP的邻居同伴系统使其聚合器端口IN_SYNC;即,列出哪个门户系统的聚合端口(如果有)在传递每个端口对话ID的此门户系统的操作向量与此IPP的邻居的操作向量一致。如果为“假”(编码为0),则此IPP当前OUT_OF_SYNC;即,列出哪个门户系统的聚合端口(如果有)在传递每个端口对话ID的此IPP的邻居的的操作向量不一致。
8) 在位7中编码“Expired”。如果为“真”(编码为1),则此标志指示DR功能的接收机处于“EXPIRED”或“DEFAULTED”状态;如果为“假”(编码为0),则此标志指示DR功能的接收机未处于“EXPIRED”也未处于“DEFAULTED”状态。
DRCP不使用Expired状态的接收到值;然而,在诊断协议问题时,知道它们的值能够是有用的。还要注意的是,在不同实施例中,字段的顺序和字段的长度可以不同,但是仍符合本发明的精神。
T) TLV_type=归属端口信息。此字段指示在此TLV元组中携带的信息的性质。在一个实施例中,通过整数值0x04来识别归属端口信息。
U) Home_Ports_Information_Length。此字段指示此TLV元组的长度(以八位组为单位),归属端口信息使用包括的此门户系统的聚合端口的数量的4倍的长度值。
V) Home_Admin_Aggregator_Key。来自aAggActorAdminKey的附连到此DR功能的聚合器的管理聚合器密钥值。
W) Home_Oper_Partner_Aggregator_Key。与此门户系统的聚合器LAG ID关联的操作同伴聚合器密钥。
X) Active Home Ports。活动聚合端口的列表按递增端口号顺序。此列表受LACP的操作控制(列出LACP对其宣告Actor_Oper_Port_State.Distributing=TRUE的此门户系统上的所有端口)。
Y) TLV_type=邻居端口信息。此字段指示在此TLV元组中携带的信息的性质。通过整数值0x05来识别邻居端口信息。
Z) Neighbor_Ports_Information_Length。此字段指示此TLV元组的长度(以八位组为单位),邻居端口信息使用包括的邻居聚合端口的数量的4倍的长度值。
Aa) Neighbor_Admin_Aggregator_Key。附连到邻居门户系统的聚合器的管理聚合器密钥值。
Ab) Neighbor_Oper_Partner_Aggregator_Key。与邻居门户系统的聚合器LAG ID关联的操作同伴聚合器密钥。
Ac) Active Neighbor Ports。活动聚合端口的列表按递增端口号顺序。此列表受LACP的操作控制(列出LACP对其宣告Actor_Oper_Port_State.Distributing=TRUE的最接近的邻居门户系统上的所有端口)。
Ad) TLV_type=其它端口信息。此字段指示在此TLV元组中携带的信息的性质。通过整数值0x06来识别其它端口信息。仅如果门户拓扑包含三个门户系统才使用此TLV。
Ae) Other_Ports_Information_Length。此字段指示此TLV元组的长度(以八位组为单位)。其它端口信息使用包括的其它门户系统的聚合端口的数量的4倍的长度值。
Af) Other_Admin_Aggregator_Key。附连到其它邻居门户系统的聚合器的管理聚合器密钥值。
Ag) Other_Oper_Partner_Aggregator_Key。与其它邻居门户系统的聚合器LAGID关联的操作同伴聚合器密钥。
Ah) Active Other Ports。活动聚合端口的列表按递增端口号顺序。此列表受LACP的操作控制(列出LACP对其宣告Actor_Oper_Port_State.Distributing=TRUE的可选其它门户系统上的所有端口)。
Ai) TLV_type=其它信息。此字段指示在此TLV元组中携带的信息的性质。在一个实施例中,通过整数值0x0x来识别其它信息。
Aj) TLV_type=终止符。此字段指示在此TLV元组中携带的信息的性质。在一个实施例中,通过整数值0x00来识别终止符(消息末端)信息。
Ak) Terminator_Length。此字段指示此TLV元组的长度(以八位组为单位)。在一个实施例中,终止符信息使用0(0x00)的长度值。
注意,使用为0的Terminator_Length是有意的。在TLV编码方案中,终止符编码的惯例是类型和长度均为0。
还要注意的是,保证版本1实现能够成功接收版本N PDU,尽管版本N PDU可包含版本1不能解译(并将忽略)的另外信息。确保向后兼容性的一个至关重要的因素是,不要求协议的任何将来版本重新定义为先前版本定义的信息的结构或语义;它可只增加新的信息元素到先前的集合。因此,在版本N PDU中,版本1实现能够预期在与版本1 PDU中完全相同的位置找到版本1信息,并且能够预期如为版本1定义的那样解译该信息。
注意,DRCPDU的大小随聚合端口数量的增加而增大。支持跨门户的门户系统扩展最多(1500-88)/4=353个聚合端口。需要由门户支持的最小聚合端口数量是2。
下表提供适用于DRCP的TLV的列表。
因此,实施例提供将DRCPDU封装到帧中,其中每个DRCPDU包括指示DRCP状态的字段,例如用于IPP的DRCP变量。该字段可以为一个八位组。该字段还可包括在八位组的不同位中编码的,陈述以下一项或更多项的信息:Home_Gateway;Neighbor_Gateway;Other_Gateway;IPP_Activity;DRCP_Timeout;Gateway Sync;Port Sync;Expired。
对话向量TLV
表5提供对话向量TLV的列表。这些TLV应仅在满足某些条件时才在DRCPDU中存在。具体而言,网关对话向量TLV将仅在GatewayConversationTransmit为“真”时才存在,并且端口对话向量TLV将仅在PortConversationTransmit为“真”时才存在。有关DRCPDU中对话向量TLV的存在的详细信息,参阅DRPDU传送机。
表5.对话向量TLV的类型字段值
TLV | 类型字段 |
网关对话向量TLV | 10 |
端口对话向量TLV | 11 |
网关对话向量TLV
网关对话向量TLV结构可如图37A中所示的,并且如以下字段定义中进一步所描述的。
a) TLV_type=网关对话向量。此字段指示在此TLV元组中携带的信息的性质。通过整数值10来识别网关对话向量。
b) Gateway_Conversation_Vector_Length。此字段指示此TLV元组的长度(以八位组为单位),网关对话向量使用512或1024的长度值。
c) Gateway_Conversation。此字段的内容取决于aDrniThreePortalSystem标志的值。如果aDrniThreePortalSystem == FALSE,则此字段提供操作Drni_Portal_System_Gateway_Conversation布尔向量。Drni_Portal_System_Gateway_Conversation编码为512八位组布尔向量,按网关对话ID索引。第一位指示是否允许网关对话ID 0经过此DR功能的网关,第二位指示是否允许网关对话ID 1经过此DR功能的网关,并依此类推,直至指示是否允许网关对话ID 4095经过此DR功能的网关的最后位。如果aDrniThreePortalSystem ==TRUE,则字段提供操作Drni_Gateway_Conversation向量,列出哪个门户系统的网关(如果有)传递每个网关对话ID。Drni_Gateway_Conversation编码为1024八位组向量,作为按网关对话ID索引的门户系统号的序列(0表示无)。第一两个位提供传递网关对话ID 0的门户系统的门户系统号,第二两个位提供传递网关对话ID 1的门户系统的门户系统号,并依此类推,直至提供传递网关对话ID 4095的门户系统的门户系统号的最后两个位。
端口对话向量TLV
端口对话向量TLV结构可如图37B中所示,并且如以下字段定义中进一步所描述的。
a) TLV_type=端口对话向量。此字段指示在此TLV元组中携带的信息的性质。通过整数值11来识别端口对话向量。
b) Port_Conversation_Vector_Length。此字段指示此TLV元组的长度(以八位组为单位),端口对话向量使用512或1024的长度值。
c) Port_Conversation。此字段的内容取决于aDrniThreePortalSystem标志的值。如果aDrniThreePortalSystem == FALSE,则此字段提供操作Drni_Portal_System_Port_Conversation布尔向量。Drni_Portal_System_Port_Conversation编码为512八位组布尔向量(按端口对话ID索引)。第一位指示是否允许端口对话ID 0经过此DR功能的聚合器,第二位指示是否允许端口对话ID 1经过此DR功能的聚合器,并依此类推,直至指示是否允许端口对话ID 4095经过此DR功能的聚合器的最后位。如果aDrniThreePortalSystem ==TRUE,则字段提供操作Drni_Port_Conversation (9.4.7)向量,其列出哪个门户系统的聚合器(如果有)在传递每个端口对话ID。它编码在1024八位组向量中,作为按端口对话ID索引的门户系统号的序列(0表示无)。第一两个位提供传递端口对话ID 0的门户系统的门户系统号,第二两个位提供传递端口对话ID 1的门户系统的门户系统号,并依此类推,直至提供传递端口对话ID 4095的门户系统的门户系统号的最后两个位。
图14根据本发明示出DRCPDU结构的另一实施例。虽然图14中的DRCPDU结构类似于图5的结构,但几个字段不同。例如,Home_Ports_Information_Length在图14中为2 + 4 *PN,而不是图5中的2 + 2 * PN。类似地,图14中DRCPDU结构的几个其它字段包含与图5中DRCPDU结构的那些字段长度不同的长度,并且两个DRCPDU结构也包含在其它实施例中不存在的字段。在每个示例DRCPDU结构中,字段具有针对字段的内容的描述性名称。一些不同字段包含类似信息,但是已进行了重新命名或重新组织。本领域技术人员将理解,与本文中描述的原理和结构一致的其它类似DRCPDU结构是可能的。
图25根据本发明示出DRCPDU结构的另一实施例。在图25中的DRCPDU结构类似于图5和14中的DRCPDU结构,但有几处差异。例如,端口信息长度(对于归属、邻居和其它端口)不同。另外,图25中的DRCPDU结构包含拓扑状态和用于聚合器密钥的几个字段,如上文讨论的Oper_Aggregator_Key、Home_Admin_Aggregator_Key、Home_Oper_Partner_Aggregator_Key、Neighbor_Admin_Aggregator_Key、Other_Admin_Aggregator_Key及Other_Oper_Partner_Aggregator_Key。
图32根据本发明的一个实施例,示出通过包括DRCPDU结构的帧进行通信的方法。方法3200可以在诸如图1B的节点K-O和图1C的网络装置132和134等作为DRNI的一部分的DRCP门户(称为本地门户)的DRCP节点(例如,网络装置)上实现。
在3202,门户的DRCP节点在帧中封装DRCPDU。DRCPDU包括结构,其包括(1)指示PDU是用于DRCP的类型字段(称为子类型)、(2)指示DRCPDU的版本号的版本字段及(3)TLV集合。TLV集合包括终止符TLV、门户信息TLV、门户配置TLV、DRCP状态TLV、归属端口信息TLV及邻居端口信息TLV。在一个实施例中,在门户包括不止两个节点时,PDU结构可以包括其它端口TLV。
在一个实施例中,TLV集合还包括以下至少之一:网络/IPL共享方法TLV、网络/IPL共享封装TLV、为IEEE 802.1预留的一个或更多个TLV及组织特定TLV,每个TLV都在本文中讨论。
TLV集合的每个TLV包括TLV类型字段。在一个实施例中,每个TLV的TLV类型字段包括上面示出的表4中指定的值。每个TLV包括可设置成本文上面讨论的值的字段。例如:
• 终止符TLV指示PDU结构的末端。在一个实施例中,它包括TLV类型字段和终止符长度字段,其中终止符长度字段指示如本文上面讨论的长度为0。
• 门户信息TLV指示DRCP节点所属门户的特性。在一个实施例中,在如本文上面讨论的以下字段中指示特性:(1)指示指派到节点的聚合器的优先级的聚合器优先级字段、(2)指示聚合器的ID的聚合器标识符(ID)字段、(3)指示指派到门户的优先级的门户优先级字段及(4)指示与网络装置关联的MAC地址组分的门户地址字段。
• 门户配置信息TLV指示DRCP节点所属门户的配置信息。在一个实施例中,在如本文上面讨论的以下字段中指示配置信息:(1)指示门户的拓扑状态的拓扑状态字段,如在图6C和29中所示的、(2)指示节点的操作聚合器密钥的操作聚合器密钥字段、(3)指示使用的门户算法的门户算法字段、(4)指示使用的网关算法的网关算法字段、(5)指示用于端口对话标识符(ID)到聚合端口指派的端口摘要的端口摘要字段及(6)指示用于网关对话ID到网关指派的网关摘要的网关摘要字段。
• DRCP状态TLV指示与IPP关联的变量。在一个实施例中,如本文上面讨论的一样,DRCP状态包括如在图6B中所示编码的值。
• 归属端口信息TLV指示与DRCP节点关联的节点的当前状态。在一个实施例中,在如本文上面讨论的以下字段中指示节点的当前状态:(1)指示附连的聚合器的管理聚合器密钥值的管理聚合器密钥字段、(2)指示与节点的聚合器LAG ID关联的操作同伴聚合器密钥的操作同伴聚合器密钥字段及(3)指示节点中的活动聚合端口的列表的活动聚合端口字段。
• 邻居端口信息TLV指示与DRNI关联的邻居节点的当前状态。在一个实施例中,在如本文上面讨论的以下字段中指示邻居节点的当前状态:(1)指示附连到邻居网络装置的聚合器的管理聚合器密钥值的管理聚合器密钥字段、(2)指示与邻居节点的聚合器LAG ID关联的操作同伴聚合器密钥的操作同伴聚合器密钥字段及(3)指示与IPP关联的最接近的邻居门户系统中的活动聚合端口的列表的活动聚合端口字段。
• 其它端口信息TLV指示在本地门户包括不止两个节点时与DRNI关联的其它邻居节点的当前状态。在一个实施例中,在如本文上面讨论的以下字段中指示其它邻居节点的当前状态:(1)指示附连到其它节点的聚合器的管理聚合器密钥值的管理聚合器密钥字段、(2)指示与其它邻居节点的聚合器LAG ID关联的操作同伴聚合器密钥的操作同伴聚合器密钥字段及(3)在IPP上的其它邻居节点中的活动聚合端口的列表。
• 网络/IPL共享方法TLV指示与节点关联的网络和IPL共享方法;并且
• 网络/IPL共享封装TLV指示与共享方法的封装有关的信息。
在3206,DRCP节点经IPP将帧发送给门户的其邻居节点,其中邻居节点使用封装的信息来控制帧的转发。
如本文上面讨论的,通过方法3200,节点与其邻居节点交换信息,并且因而建立和实现门户的DRCP操作。方法3200为节点提供了与其相邻节点交换信息的有效方法。
网络/IPL共享TLV
仅在使用的网络/IPL共享方法是网络/IPL按标签共享或网络/IPL按封装共享之一时才要求这些TLV,以便确保在门户系统之间的一致配置。网络/IPL按时间共享方法要求交换网络/IPL共享方法TLV,而不是网络/IPL共享封装TLV。
注意:在使用的网络/IPL共享方法是本文中讨论的物理或聚合方法时,不要求网络/IPL共享TLV。
下表提供可适用于网络/IPL共享方法的TLV的列表。
表5.网络/IPL共享TLV的类型字段值
TLV | 类型字段 |
网络/IPL共享方法TLV | 0x07 |
网络/IPL共享封装TLV | 0x08 |
网络/IPL共享方法TLV
网络/IPL共享方法TLV结构可如下表所示,并且如以下字段定义中进一步所描述的。
表6.网络/IPL共享方法TLV
TLV_type=网络/IPL共享方法TLV。此字段指示在此TLV元组中携带的信息的性质。通过整数值0x07来识别网络/IPL共享TLV。
Network/IPL_Sharing_Method_Length。此字段指示此TLV元组的长度(以八位组为单位)。网络/IPL共享TLV使用6 (0x06)的长度值。
DRF_Home_Network/IPL_Sharing_Method。此字段包含表示在IPL和网络链路共享相同物理链路时,用于将IPL帧传输到在此IPP上的邻居门户系统的网络/IPL共享方法的值。它由识别负责此封装的组织的三个八位组组织唯一标识符(OUI)和用于识别由该组织定义的封装方法的一个随后八位组组成。始终设置成等于aDrniEncapsulationMethod。值1指示使用网络/IPL按时间共享。值2指示使用的封装方法与网络帧使用的方法相同,并且使用网络/IPL按标签共享。下表提供IEEE OUI (01-80-C2)封装方法编码。
表7.IEEE封装方法
网络/IPL共享封装TLV
网络/IPL共享封装TLV结构可如下所示,并且如以下字段定义中进一步所描述的。
表8.网络/IPL共享封装TLV
TLV_type=网络/IPL共享封装TLV。此字段指示在此TLV元组中携带的信息的性质。通过整数值0x08来识别网络/IPL共享TLV。
Network/IPL_Sharing_Encapsulation_Length。此字段指示此TLV元组的长度(以八位组为单位)。网络/IPL共享TLV使用34 (0x22)的长度值。
DRF_Home_Network/IPL_IPLEncap_Digest。此字段包括从aDrniIPLEncapMap计算的用于在IPL上与邻居门户系统交换的MD5摘要的值。
DRF_Home_Network/IPL_NetEncap_Digest。此字段包含从aDrniNetEncapMap计算的用于在共享网络链路上交换的MD5摘要的值。
DrniEncapsulationMethod
ATTRIBUTE
APPROPRIATE SYNTAX
A SEQUENCE OF OCTETS,由组织唯一标识符(OUI)和一个随后八位组组成。
BEHAVIOR DEFINED AS
仅在支持网络/IPL按时间共享或网络/IPL按标签共享或网络/IPL按封装共享时,此管理对象才可适用。此对象识别表示在IPL和网络链路共享相同物理链路时,用于将IPL帧传输到邻居门户系统的封装方法的值。它由识别负责此封装的组织的三个八位组组织唯一标识符(OUI)和用于识别由该组织定义的封装方法的一个随后八位组组成。有关IEEE封装方法的表格提供IEEE OUI (01-80-C2)封装方法编码。0x01-80-C2-00的默认值指示IPL在使用单独的物理或聚合链路。值1指示使用网络/IPL按时间共享。值2指示使用的封装方法与网络帧使用的方法相同,并且使用网络/IPL按标签共享。
DrniIPLEncapMap
ATTRIBUTE
APPROPRIATE SYNTAX
A SEQUENCE OF INTEGER,按网关对话ID索引。
BEHAVIOR DEFINED AS
仅在支持网络/IPL按标签共享或网络/IPL按封装共享时,此管理对象才可适用。每个条目表示对于本文中指定的封装方法用于与该网关对话ID关联的IPL帧的标识符的值。
aDrniNetEncapMap
ATTRIBUTE
APPROPRIATE SYNTAX
A SEQUENCE OF INTEGER,按网关对话ID索引。
BEHAVIOR DEFINED AS
仅在支持网络/IPL按标签共享时,此管理对象才适用。每个条目表示在本文中指定的方法是本文中指定的网络/IPL按标签共享方法并且网络帧需要共享IPL帧使用的标签空间时,用于与该网关对话ID关联的网络帧的标识符的转译值。
aAggPortAlgorithm
ATTRIBUTE
APPROPRIATE SYNTAX
A SEQUENCE OF OCTETS,由三个八位组的组织唯一标识符(OUI)和一个随后八位组组成。
BEHAVIOR DEFINED AS
此对象识别由聚合器用于将帧指派到端口对话ID的算法。
aAggActorSystemID
ATTRIBUTE
APPROPRIATE SYNTAX:
MACAddress
BEHAVIOUR DEFINED AS:
用作包含此聚合器的系统的唯一标识符的6个八位组读取-写入MAC地址值。
注意:从条款6中所描述的链路聚合机制的角度而言,只考虑执行者的系统ID和系统优先级的单个组合,而在用于与其关联的聚合器和一个或更多个聚合端口的这些参数的值之间不进行区分(即,根据在单个系统内的聚合操作描述协议)。然而,为聚合器和聚合端口提供的管理对象均允许对这些参数进行管理。此操作的结果是从链路聚合的操作角度允许通过管理来配置单台设备以包含不止一个系统。这可以在配置具有有限聚合能力的设备中特别有用。
aAggActorSystemPriority
ATTRIBUTE
APPROPRIATE SYNTAX:
INTEGER
BEHAVIOUR DEFINED AS:
指示与执行者的系统ID关联的优先级值的2个八位组读取-写入值。
组织特定TLV
任何组织均能够定义TLV以在DRCP中使用。这些TLV被提供用于允许诸如IEEE 802.1、ITU-T、IETF等不同组织及各个软件和设备供应商定义向邻居门户系统广告信息的TLV。组织特定TLV结构将如下表所示,并且如以下字段定义中进一步所描述的。
TLV_type=组织特定TLV。此字段指示在此TLV元组中携带的信息的性质。通过整数值0x0F来识别组织特定TLV。
Network/IPL_Sharing_Encapsulation_Length。此字段指示此TLV元组的长度(以八位组为单位)。组织特定TLV使用LL的长度值。
OUI。此字段包含包含3字节长,可从IEEE获得的组织上唯一的标识符。
Subtype。此字段包含子类型值,使得,如果OUI的拥有者要求更多个组织特定TLV,则将不要求另外的OUI。
Value。此字段包含需要传递到邻居门户系统的信息。
DRCP状态机概述
协议的操作受多个状态机控制,每个状态机执行不同功能。这些状态机大部分在每个IPP基础上进行描述;来自每个聚合端口描述的任何偏差以文本突出显示。事件(如计时器的到期或接收到的DRCPDU)可造成状态转变,并且还引起采取措施;这些措施可包括需要传送包含重复信息或新信息的DRCPDU。周期性和事件驱动性传送受需要传送(NTT)变量的状态控制,NTT变量根据需要由状态机生成。
状态机如下所述:
A) 接收机(参见图8)。此状态机接收来自此IPP上邻居门户系统的DRCPDU,记录包含的信息,并根据DRCP_Timeout的设置使用短超时或长超时对它进行超时设定。它对来自邻居门户系统的传入信息进行评估,以确定在带有其它门户系统的门户中或作为单独门户,归属和邻居是否均同意在归属门户系统现在可安全使用的程度交换的协议信息;如果否,则它断言(assert)NTT以便将新鲜协议信息传送到邻居门户系统。如果来自邻居门户系统的协议信息超时,则接收机安装默认参数值以便供其它状态机使用。
B) 周期性传送机(PTS - 参见图9)。此状态机确定归属门户系统及其邻居将交换DRCPDU以便保持门户的周期。
C) 门户系统机(PS - 参见图10)。此状态机负责基于本地信息和在归属门户系统的IPP上接收到的DRCPDU,更新门户中的所有网关和聚合端口的操作状态。此状态机按门户系统的。
D) DRNI网关和聚合器机器(DGA - 参见图11)。这些状态机负责配置允许经过此DR功能的网关的网关对话ID和允许通过此DR功能的聚合器分发的端口对话ID。这些状态机是按门户系统的。
E) DRNI IPP机器(IPP - 参见图12)。这些状态机负责配置允许经过此DR功能的IPP的网关对话ID和端口对话ID。
F) 传送机(TX - 参见本文中下面的子部分“传送机”)。此状态机基于来自其它状态机的需求,并基于周期处理DRCPDU的传送。
图7根据本发明的一个实施例,示出在这些状态机之间的关系和在它们之间的信息的流动。箭头标记的邻居状态信息集合表示新邻居信息,它包含在传入DRCPDU中或由管理默认值提供,由接收机馈送到每个状态机。箭头标记的归属状态信息集合表示在状态机之间的更新的归属状态信息的流动。DRCPDU的传送是由于周期性机器确定需要传送周期性DRCPDU而发生,或者由于需要传递到邻居的归属的状态信息的更改而发生。通过断言NTT,将传送DRCPDU的需要发信号通知传送机。剩余箭头表示在状态机描述中允许状态机引起在另一状态机中发生事件的共享变量。
图15根据本发明的另一实施例,示出在这些状态机之间的关系和在它们之间的信息的流动。该备选实施例根据本文中描述并在图15的图中示出的原则和结构以类似方式操作。因此,除有注释之处外,本描述一般适用于两个实施例。
这些状态机利用如本文中下面详细描述的常量、变量、消息和函数集合。
分布式弹性网络互连的管理
分布式中继属性
aDrniPortalId
ATTRIBUTE
APPROPRIATE SYNTAX:与48位MAC地址的语法匹配的8个八位组的序列
BEHAVIOUR DEFINED AS:特定门户的读取-写入标识符。aDrniPortalId必须在给定门户系统可能经IPL附连到的至少所有可能门户系统之间是唯一的。也用作用于仿真系统的执行者的系统ID。
DrniDescription
ATTRIBUTE
APPROPRIATE SYNTAX:
A PrintableString,最大255个字符。
BEHAVIOUR DEFINED AS:
包含关于分布式中继的信息的人可读文本字符串。该字符串为只读。内容是供应商特定的。
aDrniName
ATTRIBUTE
APPROPRIATE SYNTAX:
A PrintableString,最大255个字符。
BEHAVIOUR DEFINED AS:
包含用于分布式中继的本地重要名称的人可读文本字符串。该字符串是读取-写入。
aDrniPortalAddr
ATTRIBUTE
APPROPRIATE SYNTAX:
与48位MAC地址的语法匹配的6个八位组的序列
BEHAVIOUR DEFINED AS:
特定门户的读取-写入标识符。aDrniPortalAddr必须在给定门户系统可能经IPL附连到的至少所有潜在门户系统之间是唯一的。也用作用于仿真系统的执行者的系统ID(6.3.2)。
aDrniPortalPriority
ATTRIBUTE
APPROPRIATE SYNTAX: INTEGER
BEHAVIOUR DEFINED AS:指示与门户的ID关联的优先级值的2个八位组读取-写入值。也用作用于仿真系统的执行者的系统优先级。
aDrniPortalTopology
ATTRIBUTE
APPROPRIATE SYNTAX:
INTEGER
BEHAVIOUR DEFINED AS:
指示门户的拓扑的读取-写入值。值3代表通过三个门户内链路连接成环的三个门户系统的门户,值2代表通过两个IPL连接成链的三个门户系统的门户,值1代表通过单个IPL连接的两个门户系统的门户,以及值0代表无活动IPL的单个门户系统的门户。默认值是1。
aDrniPortalSystemNumber
ATTRIBUTE
APPROPRIATE SYNTAX:门户系统号,它是在1到3并且包含1和3的范围内的整数。
BEHAVIOR DEFINED AS:门户内的此特定门户系统的读取-写入标识符。在带有相同aDrniPortalId的门户系统之间必须是唯一的。
aDrniIntraPortalLinkList
ATTRIBUTE
APPROPRIATE SYNTAX:与接口标识符的语法匹配的整数序列。
BEHAVIOR DEFINED AS:指派到此分布式中继的门户内链路的读取-写入列表。每个IPL的端口号配置成与附连的门户系统的门户系统号匹配。
aDrniLoopBreakLink
ATTRIBUTE
APPROPRIATE SYNTAX
与接口标识符的语法匹配的 INTEGER(整数)。
BEHAVIOR DEFINED AS
与aDrniIntraPortalLinkList的接口标识符之一匹配的读取-写入标识符。其值识别在连接成环的三个门户系统的门户的情况下在所有IPL均操作时需要中断数据循环的接口(“循环中断链路”)。仅在aDrniPortalTopology中的值是3时才使用此管理对象。
aDrniAggregator
ATTRIBUTE
APPROPRIATE SYNTAX:与接口标识符的语法匹配的整数。
BEHAVIOR DEFINED AS:指派到此分布式中继的聚合器端口的读取-写入接口标识符。
aDrniConvAdminGateway[]
ATTRIBUTE
APPROPRIATE SYNTAX:与门户系统号的语法匹配的整数序列的数组。
BEHAVIOR DEFINED AS:存在按网关对话ID索引的4096个aDrniConvAdminGateway[]变量aDrniConvAdminGateway[0]至aDrniConvAdminGateway[4095]。每个变量包含用于分布式中继的网关选择优先级列表的当前管理值。此选择优先级列表(用于每个网关对话ID的整数序列),是按照从最高到最低的对携带该对话的对应优选门户系统的网关的优先权顺序的门户系统号的列表。
注意:就网络管理员未能为门户的所有DR功能中的aDrniConvAdminGateway[]变量配置相同值而言,帧能够被误引导。分布式中继控制协议(DRCP,9.4)防止此类类型的误配置。
aDrniGatewayAlgorithm
ATTRIBUTE
APPROPRIATE SYNTAX:由组织唯一标识符(OUI)和一个或更多个随后八位组组成的ASEQUENCE OF OCTETS(八位组序列)。
BEHAVIOR DEFINED AS:此对象识别由DR功能用于将帧指派到网关对话ID的算法。
常量
以下讨论聚焦在根据本发明的一个实施例可适用的多种常量上。在此部分中指定的所有计时器具有±250ms的实现公差。
Fast_Periodic_Time:在使用短超时的周期性传送之间的秒数。
Value:整数;1
Slow_Periodic_Time:在使用长超时的周期性传送之间的秒数。
Value:整数;30
Short_Timeout_Time:使用短超时时在使接收到的LACPDU信息无效前的秒数(3 ×Fast_Periodic_Time)。
Value:整数;3
Long_Timeout_Time:使用长超时时在使接收到的LACPDU信息无效前的秒数(3 ×Slow_Periodic_Time)。
Value:整数;90
Aggregate_Wait_Time:延迟聚合以便允许多个链路同时聚合的秒数。
Value:整数;2
与分布式中继关联的变量
以下讨论聚焦在根据本发明的一个实施例,与分布式中继关联的多种变量上。
Drni_Aggregator_Priority:关联到此门户的聚合器的系统优先级。始终设置成等于aAggActorSystemPriority。在DRCPDU中传送。
Value:整数;由管理员或系统策略指派。
Drni_Aggregator_ID:与此门户关联的聚合器的系统标识符的MAC地址组分。始终设置成等于aAggActorSystemID,并且它在DRCPDU中传送。
Value:48个位
Drni_Gateway_Conversation:列出哪个门户系统的网关(如果有)在传递每个网关对话ID的操作向量。
Value:按网关对话ID索引的门户系统号的序列(0表示无)。
在初始化时以及无论何时管理对象或变量更改,从aDrniConvAdminGateway[]和Drni_Portal_System_State[]计算的值。
Drni_Port_Conversation:列出哪个门户系统(如果有)在传递每个端口对话ID的操作向量。
Value:按端口对话ID索引的门户系统号的序列(0表示无)。
在初始化时以及无论何时管理对象或变量更改,从aAggConversationAdminPort[]和Drni_Portal_System_State[]计算的值。
Drni_Portal_Priority:门户的系统优先级。始终设置成等于aDrniPortalPriority。在DRCPDU中传送。
Value:整数
由管理员或系统策略指派。
Drni_Three_System_Portal
指示这是否是作为由三个门户系统组成的门户的一部分的门户系统的布尔。始终设置成等于aDrniThreePortalSystem。在DRCPDU中传送。
Value:布尔
由管理员或系统策略指派。
Drni_PortalID(或在一些实施例中的Drni_Portal_Addr):门户的系统标识符的MAC地址组分。始终设置成等于aDrniPortalId。在DRCPDU中传送。
Value:48个位
由管理员或系统策略指派。
Drni_Portal_Topology:门户的配置的拓扑。始终设置成等于aDrniPortalTopology。在DRCPDU中传送。
Value:在[0...3]范围中的整数
由管理员或系统策略指派。
每DR功能变量
ChangeDRFPorts:此变量跟踪关联到此门户系统的网关和所有聚合端口的操作状态,并在它们其中任何一个更改时设置成“真”。如果发起用于Drni_Conversation_GatewayList[]或Drni_Conversation_PortList[]的新值,则此变量也能够设置成“真”。
Value:布尔
ChangePortal:此门户系统上任何IPP上的DRF_Neighbor_Oper_DRCP_State.IPP_Activity更改时,此变量设置成“真”。该变量也能够通过recordPortalConfValues函数设置成“真”。
Value:布尔
Drni_Common_Methods
指示网关和端口算法是否为门户内跨门户系统的帧分发使用相同方法的标志。始终设置成等于aDrniPortConversationControl。在DRCPDU中传送。
Value:布尔
Drni_Conversation_GatewayList[]:4096个列表的数组(按网关对话ID索引的)确定在此门户中的哪个网关携带哪个网关对话ID。数组中的每一项是此门户中用于携带索引的网关对话ID的网关的列表(按从最期望到最不期望的优先级顺序)。由管理员或系统策略指派。始终设置成等于aDrniConvAdminGateway[]。
Drni_Conversation_PortList[]:4096个列表的数组(按端口对话ID索引的)确定此门户中的哪个聚合端口携带哪个端口对话ID。数组中的每一项是此门户中用于携带索引的端口对话ID的聚合端口的列表(按从最期望到最不期望的优先级顺序)。由管理员或系统策略指派。始终设置成等于aAggConversationAdminPort[]。
Value:端口ID的序列
Drni_Portal_System_State[]:此门户中所有门户系统的状态(按门户系统号索引)。
Value:网关的布尔标志指示操作状态(“真”指示操作)、该门户系统中操作聚合端口的端口ID的列表(可能为空)及从中获得门户系统的状态的IPP的身份(如果有)。通过updatePortalState函数设置此变量。在DRCPDU中传送。
DRF_Home_Admin_Aggregator_Key:与此门户系统的聚合器关联的管理聚合器密钥值。在DRCPDU中传送。
Value:整数
在一个实施例中,通过管理员或系统策略指派DRF_Home_Admin_Aggregator_Key。为每个门户系统配置DRF_Home_Admin_Aggregator_Key,并且DRF_Home_Admin_Aggregator_Key对于每个门户系统必须不同。具体而言,在每个门户系统中,两个最高有效位必须不同。较低的14个位可以是任何值,不需要在每个门户系统中相同,并且具有默认值0。
由管理员或系统策略指派。
DRF_Home_Conversation_GatewayList_Digest:aDrniConvAdminGateway[]的摘要,在此DR功能中配置,用于与邻居门户系统的交换。摘要是从aDrniConvAdminGateway[]创建的16个八位组的MD5指纹[参阅IETF RFC 1321 (1992)]。为计算摘要,aDrniConvAdminGateway[]被认为包含4096个连续元素,其中每个元素包含按从最高到最低的优先权顺序编码为二进制数的门户系统号的列表,随后是网关对话ID。表格的第一元素包含指派到网关对话ID 0的门户系统号的优先化列表,第二元素包含指派到网关对话ID1的门户系统号的优先化列表,第三元素包含指派到网关对话ID 2的门户系统号的优先化列表,并依此类推,其中最后的元素包含指派到网关对话ID 4095的门户系统号的优先化列表。此变量供DRCPDU参考。
Value:MD5摘要
DRF_Home_Conversation_PortList_Digest:aAggConversationAdminPort[]的摘要,在此DR功能中配置,用于与邻居门户系统的交换。在DRCPDU中传送。
Value:MD5摘要
DRF_Home_Gateway_Algorithm:由此DR功能用于将帧指派到网关对话ID的网关算法。始终设置成等于aDrniGatewayAlgorithm。在DRCPDU中传送。
Value:4个八位组(3个八位组OUI识别负责设置此算法的组织,随后是识别此特定算法的2个八位组)。在另一实施例中,使用5个八位组。
DRF_Home_Port_Algorithm:由此DR功能用于将帧指派到端口对话ID的端口算法。始终设置成等于关联聚合器的aAggPortAlgorithm。在DRCPDU中传送。
Value:4个八位组(3个八位组OUI识别负责设置此算法的组织,随后是识别此特定算法的2个八位组)。在另一实施例中,使用5个八位组。
DRF_Home_Oper_Aggregator_Key:与此门户系统的聚合器关联的操作聚合器密钥值。通过updateKey函数计算其值。在DRCPDU中传送。
Value:整数
DRF_Home_Oper_Partner_Aggregator_Key:与此门户系统的聚合器LAG ID关联的操作同伴聚合器密钥。在DRCPDU中传送。
Value:整数
DRF_Home_State:此DR功能的操作状态。在DRCPDU中传送。
Value:此门户系统的网关的布尔标志指示操作状态(“真”指示操作)和此门户系统中的操作聚合端口的端口ID的列表(可能为空)。
DRF_Neighbor_Admin_Conversation_GatewayList_Digest:用于邻居门户系统的算法的值,通过管理员或系统策略指派,以便在邻居的信息未知时使用。其默认值是从aDrniConvAdminGateway[]计算的MD5摘要。
Value:MD5摘要
DRF_Neighbor_Admin_Conversation_PortList_Digest:用于邻居门户系统的算法的值,通过管理员或系统策略指派,以便在邻居的信息未知时使用。其默认值是从aAggConversationAdminPort[]计算的MD5摘要。
Value:MD5摘要
DRF_Neighbor_Admin_Gateway_Algorithm:用于邻居系统的网关算法的值,通过管理员或系统策略指派,以便在邻居的信息未知时使用。其默认值设置成等于aDrniGatewayAlgorithm。
Value:4个八位组(3个八位组OUI识别负责设置此算法的组织,随后是识别此特定算法的2个八位组)。在另一实施例中,使用5个八位组。
DRF_Neighbor_Admin_DRCP_State:用于邻居门户的DRCP状态参数的默认值,通过管理员或系统策略指派,以便在同伴的信息未知或到期时使用。如一个实施例所描述的,该值由以下变量集合组成:
• HomeGateway
• NeighborGateway
• OtherGateway
• IPPActivity
• Timeout
• GatewaySync
• PortSync
• Expired
Value:8个位
DRF_Neighbor_Admin_Port_Algorithm:用于邻居系统的端口算法的值,通过管理员或系统策略指派,以便在邻居的信息未知时使用。其默认值设置成等于aAggPortAlgorithm。
Value:4个八位组(3个八位组OUI识别负责设置此算法的组织,随后是识别此特定算法的2个八位组)。在另一实施例中,使用5个八位组。
DRF_Portal_System_Number:用于门户中此门户系统的唯一标识符。
Value:在一个实施例中,为在[1..3]范围内的整数。
从aDrniPortalSystemNumber复制。在DRCPDU中传送。
PSI(门户状态隔离):在门户系统与相同门户内的其它门户系统隔离时,此变量通过updateDRFHomeState函数设置成“真”。
Value:布尔
每IPP变量
以下讨论聚焦在根据本发明的一个实施例的每IPP的多种常量上。
Ipp_Gateway_Conversation_Direction:哪些网关对话ID在经过通过此IPP可到达的网关的操作列表。它通过DRCP的操作设置。
Value:按网关对话ID索引的布尔标志的向量;“真”=为此网关对话ID启用通过此IPP可到达的某个网关。
对于每个网关对话ID,如果且只有a)变量Drni_Gateway_Conversation和Drni_Portal_System_State[]指示用于此网关对话ID的目标门户系统位于此IPP之后,并且b)Drni_Gateway_Conversation和Ipp_Other_Gateway_Conversation就哪个门户系统应获得此网关对话ID达成一致时,则该值才为“真”。无论何时Ipp_Gateway_Conversation_Direction的任何影响(contributing)变量更改,便将Ipp_Gateway_Conversation_Direction初始化为“假”并对其重新计算。对于在此IPP上接收到的帧,“真”意味着帧是下行帧,它最终目的地是聚合器(或被丢弃);并且“假”意味着帧是上行帧,它最终目的地是网关(或被丢弃)。对于提供用于在此IPP上传送的帧,“真”指示帧能通过,并且“假”指示它不能通过。此变量不用于控制下行帧。
Ipp_Port_Conversation_Passes:允许通过此IPP传送哪些端口对话ID的操作列表。
Value:按端口对话ID索引的布尔标志的向量。
仅在提供下行帧以便在此IPP上传送时才检查此变量。对于每个网关对话ID,如果且只有a)变量Drni_Port_Conversation和Drni_Portal_System_State[]指示用于此端口对话ID的目标门户系统位于此IPP之后,并且b) Drni_Port_Conversation和Ipp_Other_Port_Conversation_Portal_System就哪个门户系统应获得此端口对话ID达成一致时,则该值才为“真”(ID通过)。无论何时Ipp_Port_Conversation_Passes的任何影响变量更改,便将Ipp_Port_Conversation_Passes初始化为“假”并对其重新计算。
ChangePortal:在此门户系统上的任何IPP上的DRF_Neighbor_Oper_DRCP_State.IppActivity更改时,将此变量设置成“真”。
Value:布尔
CC_Time_Shared:指示在此IPP上的邻居和归属门户系统一致地配置成使用网络/IPL按时间共享的布尔。
Value:布尔
CC_EncTag_Shared:指示如根据aDrniEncapsulationMethod选择的网络/IPL方法规定的一样,此IPP上的邻居和归属门户系统一致地配置成使用网络/IPL按标签共享或网络/IPL按封装共享的布尔。
Value:布尔
Differ_Conf_Portal:指示用于此IPP上最接近的邻居门户系统使用的门户聚合器的密钥的管理值的配置的14个最低有效位不同于预期值的布尔。
Value:布尔
Differ_Conf_Portal_System_Number
指示此IPP上最接近的邻居门户系统使用的配置的门户系统号不同于预期值的布尔。
Value:布尔
Differ_Gateway_Digest
指示此IPP上最接近的邻居门户系统使用的Gateway_Digest不同于预期值的布尔。
Value:布尔
Differ_Port_Digest
指示此IPP上最接近的邻居门户系统使用的Port_Digest不同于预期值的布尔。
Value:布尔
Differ_Portal:指示此IPP上接收到的DRCPDU与不同门户关联的布尔。
Value:布尔
DRF_Home_Conf_Neighbor_Portal_System_Number:此门户系统的用于附连到此IPP的邻居门户系统的门户系统号的配置值。始终设置成等于指派到此IPP的端口ID的优先级组分的两个最低有效位的值。在DRCPDU中传送。
Value:在[1...3]范围中的整数
DRF_Home_Loop_Break_Link:指示将附连到此IPP的IPL在aDrniLoopBreakLink中配置为循环中断链路的布尔。在DRCPDU中传送。
Value:布尔
DRF_Home_Network/IPL_IPLEncap_Digest:aDrniIPLEncapMap的摘要,在此IPP上配置,用于与IPL上的邻居门户系统的交换。在网络/IPL共享封装TLV中传送。以类似于指定用于DRF_Home_Conversation_GatewayList_Digest的方式计算摘要,其中改为使用由aDrniIPLEncapMap提供的用于封装方法的标识符,以代替由aDrniConvAdminGateway[]提供的门户系统号的列表。
Value:MD5摘要
DRF_Home_Network/IPL_NetEncap_Digest:aDrniNetEncapMap的摘要,在此IPP上配置,用于在共享网络链路上的交换。以类似于指定用于DRF_Home_Conversation_GatewayList_Digest的方式计算摘要,其中改为使用用于aDrniNetEncapMap提供的网络帧的标识符的转译值的标识符,以代替由aDrniConvAdminGateway[]提供的门户系统号的列表。在网络/IPL共享封装TLV中传送。
Value:MD5摘要
DRF_Home_Network/IPL_Sharing_Method:由此DR功能用于与网络数据共享此IPP的网络/IPL共享方法。始终设置成等于aDrniEncapsulationMethod。在aDrniEncapsulationMethod未设置成等于默认空值时,在网络/IPL共享方法TLV中传送。
Value:4个八位组(3个八位组OUI识别负责定义此方法的组织,随后是识别此特定方法的一个八位组)。
DRF_Home_Oper_DRCP_State:如在此IPP上报告的此门户系统的DRCP状态参数的操作值。如上文所描述的,这由以下变量集合组成:
• HomeGateway
• NeighborGateway
• OtherGateway
• IPPActivity
• Timeout
• GatewaySync
• PortSync
• Expired
Value:8个位
DRF_Neighbor_Admin_Aggregator_Key:在一个实施例中,它被定义为在此IPP上邻居门户系统的管理聚合器密钥值。在DRCPDU中传送。
Value:整数
DRF_Neighbor_Aggregator_Priority:在此IPP上最后接收到的邻居的聚合器的系统优先级。
Value:整数
DRF_Neighbor_AggregatorID:在此IPP上最后接收到的邻居门户系统的聚合器系统ID的MAC地址组分。
Value:48个位
DRF_Neighbor_Aggregator_Priority:在此IPP上最后接收到的邻居门户系统的聚合器的系统优先级。
Value:整数
DRF_Neighbor_Conversation_GatewayList_Digest:在此IPP上最后接收到的邻居门户系统的网关对话ID摘要。
Value:MD5摘要
DRF_Neighbor_Conversation_PortList_Digest:在此IPP上最后接收到的邻居门户系统的端口对话ID摘要
Value:MD5摘要
DRF_Neighbor_Gateway_Algorithm:由邻居门户系统用于指派帧到在此IPP上接收到的网关对话ID的算法的值。
Value:4个八位组(3个八位组OUI识别负责设置此算法的组织,随后是识别此特定算法的2个八位组)。在另一实施例中,使用5个八位组。
DRF_Neighbor_Loop_Break_Link:指示附连到此IPP的IPL由在此IPP上的邻居门户系统识别为循环中断链路的布尔。
Value:布尔
DRF_Neighbor_Network/IPL_IPLEncap_Digest:在此IPP上最后接收到的邻居门户系统的aDrniIPLEncapMap的摘要。
Value:MD5摘要
DRF_Neighbor_Network/IPL_NetEncap_Digest:最后接收到的aDrniNetEncapMap的摘要,用于在此IPP上的邻居门户系统的共享网络链路上的交换。
Value:MD5摘要
DRF_Neighbor_Network/IPL_Sharing_Method:在此IPP上最后接收到的邻居门户系统的使用的网络/IPL共享方法。
Value:4个八位组(3个八位组OUI识别负责定义此方法的组织,随后是识别此特定方法的一个八位组)。
DRF_Neighbor_Oper_Aggregator_Key:在此IPP上最后接收到的邻居门户系统的操作聚合器密钥值。
Value:整数
DRF_Neighbor_Oper_Partner_Aggregator_Key:该IPP上的邻居门户系统的操作同伴聚合器密钥值。在DRCPDU中传送。
Value:整数
DRF_Neighbor_Oper_DRCP_State:邻居的DRCP状态参数的当前值的此门户系统的角度(view)的操作值。归属DR功能将此变量设置成在DRCPDU中从邻居门户系统接收到的值。如本文上面所描述的,该值由以下变量集合组成:
• HomeGateway
• NeighborGateway
• OtherGateway
• IPPActivity
• Timeout
• GatewaySync
• PortSync
• Expired
Value:8个位
DRF_Neighbor_Conf_Portal_System_Number:用于在此IPP上最后接收到的此门户系统的邻居门户系统的配置门户系统号值。
Value:在[1...3]范围中的整数
DRF_Neighbor_Port_Algorithm:由邻居门户系统用于指派帧到在此IPP上接收到的端口对话ID的算法的值。
Value:4个八位组(3个八位组OUI识别负责设置此算法的组织,随后是识别此特定算法的2个八位组)。在另一实施例中,使用5个八位组。
DRF_Neighbor_Portal_System_Number:在此IPP上最后接收到的邻居门户系统的标识符。
Value:在[1...3]范围中的整数
DRF_Neighbor_Portal_Topology:在此IPP上最后接收到的邻居的门户拓扑的标识符。
Value:在[0...3]范围中的整数
DRF_Neighbor_State:在此IPP上最接近的邻居门户系统的操作状态。
Value:指示邻居门户系统的网关的操作状态的布尔标志(“真”指示操作)和在此IPP上操作聚合端口的端口ID的列表(可能为空)。
Drni_Neighbor_ONN
在拓扑状态字段内携带的在此IPP上最后接收到的邻居门户系统的ONN标志。
Value:整数
DRF_Other_Neighbor_Admin_Aggregator_Key:与此IPP关联的其它邻居门户系统的管理聚合器密钥值。在DRCPDU中传送。
Value:整数
DRF_Other_Neighbor_Oper_Partner_Aggregator_Key:与此IPP关联的其它邻居门户系统的操作同伴聚合器密钥值。在DRCPDU中传送。
Value:整数
DRF_Other_Neighbor_State:此IPP上的其它邻居门户系统的操作状态。
Value:指示其它邻居门户系统的网关的操作状态的布尔标志(“真”指示操作)、与用于其它邻居门户系统的网关向量数据库中最近条目关联的布尔网关向量及在此IPP上的其它邻居门户系统的操作聚合端口的端口ID的列表(可能为空)。
DRF_Rcv_Home_Gateway_Conversation_Mask
如由此IPP上邻居门户系统报告的此门户系统的网关向量的操作值。通过recordNeighborState函数更新其值。
Value:按网关对话ID索引的布尔值的序列。
DRF_Rcv_Home_Gateway_Sequence
如由此IPP上邻居门户系统报告的此门户系统的网关序号的操作值。通过recordNeighborState函数更新其值。
Value:整数
DRF_Rcv_Neighbor_Gateway_Conversation_Mask
如由此IPP本身上邻居门户系统报告的邻居门户系统的网关向量的操作值。通过recordNeighborState函数更新其值。
Value:按网关对话ID索引的布尔值的序列。
DRF_Rcv_Neighbor_Gateway_Sequence
如由此IPP本身上邻居门户系统报告的邻居门户系统的网关序号的操作值。通过recordNeighborState函数更新其值。
Value:整数
DRF_Rcv_Other_Gateway_Conversation_Mask
如由此IPP上邻居门户系统报告的其它门户系统的网关向量的操作值。通过recordNeighborState函数更新其值。
Value:按网关对话ID索引的布尔值的序列。
DRF_Rcv_Other_Gateway_Sequence
如由此IPP上邻居门户系统报告的其它门户系统的网关序号的操作值。通过recordNeighborState函数更新其值。
Value:整数
Drni_Neighbor_Common_Methods
在拓扑状态字段内携带的在此IPP上最后接收到的邻居门户系统的Common_Methods标志。
Value:布尔
Drni_Neighbor_Gateway_Conversation
在接收到的网关对话向量TLV (9.4.3.3.1)内携带的此IPP上最后接收到的邻居门户系统的操作Gateway_Conversation向量。
Value:如果aDrniThreePortalSystem == 1,则为按网关对话ID索引的门户系统号的序列的1024个八位组向量(0表示无),或者如果aDrniThreePortalSystem == 0,则为按网关对话ID索引的布尔值序列的512个八位组向量。
Drni_Neighbor_Port_Conversation
在接收到的端口对话向量TLV (9.4.3.3.2)内携带的此IPP上最后接收到的邻居门户系统的操作Port_Conversation向量。
Value:如果aDrniThreePortalSystem == 1,则为按端口对话ID索引的门户系统号的序列的1024个八位组向量(0表示无),或者如果aDrniThreePortalSystem == 0,则为按端口对话ID索引的布尔值序列的512个八位组向量。
Drni_Neighbor_ONN
在拓扑状态字段内携带的在此IPP上最后接收到的邻居门户系统的ONN标志。
Value:布尔
Drni_Neighbor_Portal_Addr:在此IPP上最后接收到的邻居门户系统的门户的系统ID的MAC地址组分。
Value:48个位
Drni_Neighbor_Portal_Priority:在此IPP上最后接收到的邻居门户系统的系统优先级。
Value:整数
Drni_Neighbor_PortalID:在此IPP上最后接收到的邻居门户系统的门户系统ID的MAC地址组分。
Value:48个位
Drni_Neighbor_State[]:在此IPP上最后接收到的由邻居门户系统使用的Drni_Portal_System_State[]的操作值。
Value:对于每个门户系统,指示当前门户系统的网关的操作状态的布尔标志(“真”指示操作)和如在此IPP上邻居门户系统报告的此门户系统上操作聚合端口的端口ID的列表(可能为空)。
Drni_Neighbor_Three_System_Portal
指示在此IPP上的邻居门户系统是否是作为由三个门户系统组成的门户的一部分的门户系统的最后接收到的布尔标志。
Value:布尔
Enabled_Time_Shared:指示一致地配置在此IPP上的邻居和归属门户系统并且启用本文中指定的网络/IPL按时间共享方法的布尔。
Value:布尔
Enabled_EncTag_Shared:指示如根据aDrniEncapsulationMethod选择的网络/IPL方法的规定的一样,此IPP上的邻居和归属门户系统一致地配置成使用网络/IPL按标签共享或网络/IPL按封装共享的标签操纵方法的布尔。
Value:布尔
Ipp_Other_Gateway_Conversation:列出如此IPP上的最接近的邻居所报告的哪个门户系统的网关(如果有)在传递每个网关对话ID的操作向量。
Value:按网关对话ID索引的门户系统号的序列(0表示无)。在初始化时以及无论何时管理对象更改或GatewayConversationUpdate为“假”,便从aDrniConvAdminGateway[]和DRF_Neighbor_State[]计算的值。
Ipp_Other_Port_Conversation_Portal_System:列出如此IPP上的最接近的邻居所报告的哪个门户系统(如果有)在传递每个端口对话ID的操作向量。
Value:按端口对话ID索引的门户系统号的序列(0表示无)。在初始化时以及无论何时管理对象更改或PortConversationUpdate为“假”,便从aAggConversationAdminPort[]和DRF_Neighbor_State[]计算的值。
IPP_port_enabled:指示链路已建立,并且IPP可操作的变量。
Value:布尔
如果IPP可操作(MAC_Operational == TRUE),则为“真”。
否则为“假”。
注意:基础MAC借以生成IPP_port_enabled变量的值的方式是实现相关的。
Ipp_Portal_System_State[]:在DRCPDU中从此IPP最后接收到的通过此IPP可到达的门户系统的状态的列表。通过updatePortalSystem函数更新此变量。
Value:对于每个门户系统,指示通过此IPP可到达的当前门户系统的网关的操作状态的布尔标志(“真”指示操作)和在该门户系统中操作聚合端口的端口ID的列表(可能为空)。
在此列表中,紧密相邻的门户系统的状态是列表中的第一状态。此列表能够具有最多两个门户系统的状态。
Missing_Rcv_Gateway_Con_Vector
此变量指示Differ_Gateway_Digest设置成“真”,并且没有Drni_Neighbor_Gateway_Conversation能从最后接收到的DRCPDU提取。
Value:布尔
Missing_Rcv_Port_Con_Vector
此变量指示Differ_Port_Digest设置成“真”,并且没有Drni_Neighbor_Port_Conversation能从最后接收到的DRCPDU提取。
Value:布尔
NTTDRCPDU:“真”指示存在应在此IPP上传送的新协议信息,或者需要向邻居门户系统提醒旧信息。否则,使用“假”。
ONN
Other Non Neighbor flag。此值通过updatePortalState函数更新,并且只在由三个门户系统组成的门户上可适用。在DRCPDU中传送。
Value:布尔
“真”指示其它端口信息TLV与此门户系统的最接近的邻居不关联。“假”(编码为0)指示其它端口信息TLV是此门户系统上的其它IPP上的最接近的邻居。
DRCP_current_while_timer
此计时器用于检测接收到的协议信息是否已到期。如果DRF_Home_Oper_DRCP_State.DRCP_Timeout设置成短超时,则从值Short_Timeout_Time开始计时器。否则,从值Long_Timeout_Time开始。
DRCP_periodic_timer (time_value)
此计时器用于生成周期性传送。如周期性传送状态机中指定的,它使用值Slow_Periodic_Time或Fast_Periodic_Time开始。
常量
在此子条款中指定的所有计时器具有±250ms的实现公差。
Drni_Fast_Periodic_Time
使用短超时的周期性传送之间的秒数。
Value:整数
1
Drni_Slow_Periodic_Time
使用长超时的周期性传送之间的秒数。
Value:整数
30
Drni_Short_Timeout_Time
使用短超时时在使接收到的DRCPDU信息无效前的秒数(3×Fast_Periodic_Time)。
Value:整数
3
Drni_Long_Timeout_Time
使用长超时时在使接收到的DRCPDU信息无效前的秒数(3×Slow_Periodic_Time)。
Value:整数
90
用于管理状态机的操作的变量
以下讨论聚焦在根据本发明的一个实施例,用于管理状态机的操作的多种变量上。
BEGIN:此变量指示DRCP协议实体的初始化(或重新初始化)。它在初始化或重新初始化系统时设置成“真”,并在(重新)初始化完成时设置成“假”。
Value:布尔
DRCP_Enabled
此变量指示关联IPP在操作DRCP。如果链路不是点到点链路,则DRCP_Enabled的值将为“假”。否则,DRCP_Enabled的值将为“真”。
Value:布尔
HomeGatewayVectorTransmit
此变量向DRCPDU传送机(9.4.19)指示,它需要在归属网关向量TLV的Home_Gateway_Vector字段中传送DRF_Home_Gateway_Conversation_Mask。在此门户系统上有每IPP一个HomeGatewayVectorTransmit变量。
Value:布尔
GatewayConversationTransmit
此变量向DRCPDU传送机指示,它需要传送网关对话向量TLV。它在发起用于Drni_Conversation_GatewayList[]的新值时设置成等于“真”,并且如recordPortalConfValues函数指定的,设置成“真”或“假”。在此门户系统上有每IPP一个GatewayConversationTransmit变量。
Value:布尔
GatewayConversationUpdate:此变量指示需要更新每网关对话ID分发。
Value:布尔
IppAllGatewayUpdate:此变量是用于此门户系统上所有IPP的IppGatewayUpdate变量的逻辑“或”。
Value:布尔
IppGatewayUpdate:此变量指示需要更新关联IPP上的每网关对话ID分发。在此门户系统上有每IPP一个IppGatewayUpdate变量。
Value:布尔
IppAllPortUpdate:此变量是用于此门户系统中所有IPP的IppPortUpdate变量的逻辑“或”。
Value:布尔
IppAllUpdate
此变量是用于此门户系统中所有IPP的IppPortUpdate和IppGatewayUpdate变量的逻辑“或”。
Value:布尔
IppGatewayUpdate
此变量指示需要更新关联IPP上的每网关对话ID分发。在此门户系统上有每IPP一个IppGatewayUpdate变量。
Value:布尔
IppPortUpdate:此变量指示需要更新关联IPP上的每端口对话ID分发。在此门户系统上有每IPP一个IppPortUpdate变量。
Value:布尔
OtherGatewayVectorTransmit
此变量向DRCPDU传送机指示,它需要在其它网关向量TLV的Other_Gateway_Vector字段中传送DRF_Home_Gateway_Conversation_Mask。在此门户系统上有每IPP一个OtherGatewayVectorTransmit变量。
Value:布尔
PortConversationTransmit
此变量向DRCPDU传送机指示,它需要传送端口对话向量TLV。它在发起用于aAggConversationAdminLink[]的新值时设置成等于“真”,并且如recordPortalConfValues函数指定的,设置成“真”或“假”。在此门户系统上有每IPP一个PortConversationTransmit变量。
Value:布尔
PortConversationUpdate:此变量指示需要更新每端口对话ID分发。
Value:布尔
函数
以下讨论聚焦在根据本发明的一个实施例的多种函数上。
extractGatewayConversationID
此函数通过对在DR功能的端口之一接收ISS原语时在DR功能的中继实体上调用的服务原语的参数的值应用网关算法来提取网关对话ID值。ISS原语和DR功能的中继实体端口上的服务原语上的参数值的关系通过在那些端口上的关联支持功能及其配置提供。
注意:对于在提供商桥接器上的客户网络端口或提供商网络端口上支持的DRNI的情况(IEEE Std 802.1Q中的第15条款),这些支持功能能够像IEEE Std 802.1Q-2011的6.9中指定的EISS支持功能一样简单;或者更复杂地说,对于在骨干边缘桥接器上分别在提供商实例端口或客户骨干端口上支持的DRNI的情况(IEEE Std 802.1Q中的第16条款),像IEEE Std 802.1Q-2011中的6.10或6.11中指定的EISS支持功能,或者对于在提供商边缘桥接器上分别在客户边缘端口或远程接入端口上支持的DRNI的情况,像在IEEE Std 802.1Q-2013中的15.4或15.6中指定的C-标签服务接口支持功能或远程客户服务接口支持功能。
Value:在0到4095范围中的整数
extractPortConversationID
extractPortConversationID
此函数通过对在其它DR功能的端口之一接收ISS原语时在聚合器上调用的服务原语的参数的值应用端口算法来提取端口对话ID值。在聚合器上的ISS原语上和在DR功能的端口上的对应服务原语上的参数值的关系通过在聚合器和DR功能端口上的关联支持功能及其配置提供。查看上面的“注意”。
Value:在0到4095范围中的整数
InitializeDRNIGatewayConversation
此函数将Drni_Portal_System_Gateway_Conversation设置成按网关对话ID索引的0的序列。
InitializeDRNIPortConversation
此函数将Drni_Portal_System_Port_Conversation设置成按端口对话ID索引的0的序列。
InitializeIPPGatewayConversation
此函数将Ipp_Gateway_Conversation_Direction设置成按网关对话ID索引的0的序列。
InitializeIPPPortConversation
此函数将Ipp_Port_Conversation_Passes设置成按端口对话ID索引的0的序列。
recordDefaultDRCPDU
此函数将由管理员提供的用于IPP上的邻居门户系统的默认参数值设置成当前邻居门户系统的操作参数值,如下所述:
另外,对于IPP上的邻居门户系统 :
将DRF_Neighbor_State设置成空(将用于邻居门户系统的网关的布尔标志设置成“假”,并将此IPP上的邻居门户系统上的操作聚合端口的列表清空),并且如果aDrniPortalTopology配置成包含三个门户系统,则将DRF_Other_Neighbor_State也设置成空(将用于其它邻居门户系统的网关的布尔标志设置成“假”,并将此IPP上的其它邻居门户系统上的操作聚合端口的列表清空)。无门户系统状态信息可用于在此IPP上的任何门户系统;
• 将此IPP上的DRF_Neighbor_Admin_Aggregator_Key设置成0;
• 将此IPP上的DRF_Other_Neighbor_Admin_Aggregator_Key设置成0;
• 将此IPP上的DRF_Neighbor_Oper_Partner_Aggregator_Key设置成0;
• 将此IPP上的DRF_Other_Neighbor_Oper_Partner_Aggregator_Key设置成0;
• 将此IPP上的Drni_Neighbor_Gateway_Conversation设置
成All_Neighbor_Conversation(如果Drni_Three_System_Portal == 1),它是门户系统号向量,其中所有其4096个元素设置成DRF_Home_Conf_Neighbor_Portal_System_Number,或者;
成1(如果Drni_Three_System_Portal == 0),它是布尔向量,其中所有其4096个元素设置成1。
将此IPP上的Drni_Neighbor_Port_Conversation设置成All_Neighbor_Conversation(如果Drni_Three_System_Portal == 1),或者;
成1(如果Drni_Three_System_Portal == 0);并且;
• 将变量ChangePortal设置成“真”。
最后,它将CC_Time_Shared和CC_EncTag_Shared设置成“假”。
recordNeighborState
此函数将DRF_Neighbor_Oper_DRCP_State.IPP_Activity设置成“真”,并且将用于在IPP上在接收到的DRCPDU中携带的Drni_Portal_System_State[]和DRF_Home_Oper_DRCP_State的参数值记录为与此IPP关联,分别用于Drni_Neighbor_State[]和DRF_Neighbor_Oper_DRCP_State的当前参数值。具体而言,从接收到的DRCPDU中提取在Drni_Neighbor_State[]中用于每个门户系统的操作布尔网关向量,如下所述:
对于DRF_Rcv_Neighbor_Gateway_Conversation_Mask,如果在接收到的DRCPDU中携带的DRF_Home_Oper_DRCP_State中的Home_Gateway为0;
将DRF_Rcv_Neighbor_Gateway_Conversation_Mask设置成空;
否则,如果在接收到的归属网关向量TLV中存在Home_Gateway_Vector字段;
DRF_Rcv_Neighbor_Gateway_Conversation_Mask = Home_Gateway_Vector;
将在接收到的归属网关向量TLV中的元组(Home_Gateway_Sequence,Home_Gateway_Vector)存储为用于此IPP上邻居门户系统的网关向量数据库中的条目,其以递增序号顺序,按接收到的Home_Gateway_Sequence索引,并且;
如果其它IPP上的OtherGatewayVectorTransmit存在并且操作,则将其设置成“真”;
否则,如果在接收到的归属网关向量TLV中不存在Home_Gateway_Vector字段;
如果其它IPP上的OtherGatewayVectorTransmit存在并且操作,则将其设置成“假”,并且;
对于在用于在此IPP上邻居门户系统的网关向量数据库中的查询,将Other_Gateway_Sequence用作索引,并且;
如果将元组(Home_Gateway_Sequence,Neighbor_Gateway_Vector)存储为数据库中的第一条目,则;
DRF_Rcv_Neighbor_Gateway_Conversation_Mask = Neighbor_Gateway_Vector;
否则
DRF_Rcv_Neighbor_Gateway_Conversation_Mask = 1,其中1是布尔向量,其中向量的所有4096个元素设置成1。
注意:如果设置了网关位,但无有效网关向量可用,则为避免循环,接受者必须假定邻居门户系统尚未阻止对所有对话的其关联网关。
对于DRF_Rcv_Home_Gateway_Conversation_Mask,如果在接收到的DRCPDU中携带的DRF_Home_Oper_DRCP_State中的Neighbor_Gateway位为0;
将DRF_Rcv_Home_Gateway_Conversation_Mask设置成空;
否则;
对于在此门户系统的网关向量数据库中的查询,将在接收到的邻居网关向量TLV中携带的Neighbor_Gateway_Sequence用作索引,并且;
如果将元组(Neighbor_Gateway_Sequence,Home_Gateway_Vector)存储在数据库中,则;
DRF_Rcv_Home_Gateway_Conversation_Mask = Home_Gateway_Vector;
另外,如果它是数据库中的第一条目,则;
将在此IPP上的HomeGatewayVectorTransmit设置成“假”;
否则;
将在此IPP上的HomeGatewayVectorTransmit设置成“真”,并且如果Neighbor_Gateway_Sequence值大于当前使用的Home_Gateway_Sequence,则在此门户系统的网关向量数据库中创建带有元组值(Neighbor_Gateway_Sequence + 1,Home_Gateway_Vector)的新条目;
否则
DRF_Rcv_Home_Gateway_Conversation_Mask = 1,其中1是布尔向量,其中向量的所有4096个元素设置成1,并且;
将HomeGatewayVectorTransmit设置成“真”。
对于DRF_Rcv_Other_Gateway_Conversation_Mask,如果在接收到的DRCPDU中携带的DRF_Home_Oper_DRCP_State中的Other_Gateway位为0;
将DRF_Rcv_Other_Gateway_Conversation_Mask设置成空;
否则,如果在接收到的其它网关向量TLV中存在Other_Gateway_Vector字段;
DRF_Rcv_Other_Gateway_Conversation_Mask = Other_Gateway_Vector;并且
如果在此IPP上,Drni_Neighbor_ONN == FALSE;
将在接收到的其它网关向量TLV中的元组(Other_Gateway_Sequence,Other_Gateway_Vector)存储为用于此IPP上其它邻居门户系统的网关向量数据库中的条目,其以递增序号顺序,按接收到的Other_Gateway_Sequence索引;
否则,如果在接收到的其它网关向量TLV中不存在Other_Gateway_Vector字段;
对于用于在此IPP上其它邻居门户系统的网关向量数据库中的查询,将Other_Gateway_Sequence用作索引,并且;
如果将元组(Other_Gateway_Sequence,Other_Gateway_Vector)存储在数据库中,则;
DRF_Rcv_Other_Gateway_Conversation_Mask = Other_Gateway_Vector;
另外,如果它是数据库中的第一条目,则;
将在此IPP上的OtherGatewayVectorTransmit设置成“假”;
否则;
将在此IPP上的OtherGatewayVectorTransmit设置成“真”;
否则
DRF_Rcv_Other_Gateway_Conversation_Mask = 1,其中1是布尔向量,其中向量的所有4096个元素设置成1,并且;
将在此IPP上的OtherGatewayVectorTransmit设置成“真”。
它也记录下面的变量,如下所述:
在IPP上接收到的DRCPDU中携带的用于DRF_Home_Oper_DRCP_State中的Home_Gateway、来自用于邻居门户系统中网关向量数据库中最近条目的网关向量及归属端口信息TLV中的Active_Home_Ports的参数值用作用于此IPP上DRF_Neighbor_State的当前值,并与通过DRF_Neighbor_Portal_System_Number识别的门户系统关联;
在IPP上接收到的DRCPDU中携带的用于DRF_Home_Oper_DRCP_State中的Other_Gateway、来自用于其它邻居门户系统中网关向量数据库中最近条目的网关向量及其它端口信息TLV中的Other_Neighbor_Ports的参考值用作用于此IPP上DRF_Other_Neighbor_State的当前值,并且与通过指派到在接收到的DRCPDU中其它端口信息TLV内携带的DRF_Other_Neighbor_Admin_Aggregator_Key的两个最高有效位的值识别的门户系统关联。如果在接收到的DRCPUD中未携带其它端口信息TLV,并且门户拓扑包含三个门户系统,则将DRF_Other_Neighbor_State设置成空(将Other_Gateway设置成“假”,将Other_Gateway_Vector设置成空,并且将此IPP上其它邻居门户系统上的操作聚合端口的列表清空),并且在此IPP上无门户系统状态信息可用于IPP上的远距离邻居门户系统;
DRF_Neighbor_Admin_Aggregator_Key = DRF_Home_Admin_Aggregator_Key;
DRF_Neighbor_Oper_Partner_Aggregator_Key
= DRF_Home_Oper_Partner_Aggregator_Key;
DRF_Other_Neighbor_Admin_Aggregator_Key
= DRF_Other_Neighbor_Admin_Aggregator_Key,并且;
DRF_Other_Neighbor_Oper_Partner_Aggregator_Key
= DRF_Other_Neighbor_Oper_Partner_Aggregator_Key。
在接收到的DRCPDU不包含其它端口信息TLV时,将DRF_Other_Neighbor_Admin_Aggregator_Key和DRF_Other_Neighbor_Oper_Partner_Aggregator_Key均设置成空。
另外,如果支持网络/IPL按时间共享(9.3.2.1),则该函数将用于在接收到的网络/IPL共享方法TLV (9.4.3.4.1)中携带的DRF_Home_Network/IPL_Sharing_Method的参数值记录为用于DRF_Neighbor_Network/IPL_Sharing_Method的当前参数值,并且如果它与系统的DRF_Home_Network/IPL_Sharing_Method相同,则它将CC_Time_Shared设置成“真”,否则它将CC_Time_Shared设置成“假”。
此外,如果支持网络/IPL按标签共享或网络/IPL按封装共享,则该函数将在来自IPP的接收到的网络/IPL共享TLV中携带的邻居门户系统的网络/IPL共享有关参数值记录为用于此IPP上的最接近的邻居门户系统的当前操作参数值,如下所述:
DRF_Neighbor_Network/IPL_Sharing_Method
= DRF_Home_Network/IPL_Sharing_Method,在接收到的网络/IPL共享方法TLV中携带;
DRF_Neighbor_Network/IPL_IPLEncap_Digest
= DRF_Home_Network/IPL_IPLEncap_Digest,在接收到的网络/IPL共享封装TLV中携带;并且
DRF_Neighbor_Network/IPL_NetEncap_Digest
= DRF_Home_Network/IPL_NetEncap_Digest,在接收到的网络/IPL共享封装TLV中携带。
随后,它将邻居门户系统的新更新的值与此门户系统的期望值进行比较,并且如果
DRF_Neighbor_Network/IPL_Sharing_Method == DRF_Home_Network/IPL_Sharing_Method,并且
DRF_Neighbor_Network/IPL_IPLEncap_Digest == DRF_Home_Network/IPL_IPLEncap_Digest,并且
DRF_Neighbor_Network/IPL_NetEncap_Digest == DRF_Home_Network/IPL_NetEncap_Digest,则
它将CC_EncTag_Shared设置成“真”;
否则,如果其中一个或更多个比较显示这些值不同,则它将CC_EncTag_Shared设置成“假”。
随后,它将如由此门户系统的Drni_Portal_System_State[]报告的用于每个门户系统的网关操作状态和网关向量与如由Drni_Neighbor_State[]报告的用于相同门户系统的网关操作状态和网关向量进行比较,并且
如果它们中的任何一个不同;
它将GatewayConversationUpdate设置成“真”;
它将DRF_Home_Oper_DRCP_State.Gateway_Sync设置成“假”,并且;
如果Missing_Rcv_Gateway_Con_Vector == TRUE;
设置此IPP上的Drni_Neighbor_Gateway_Conversation;
成All_Neighbor_Conversation(如果Drni_Three_System_Portal == 1),它是门户系统号向量,其中所有其4096个元素设置成DRF_Home_Conf_Neighbor_Portal_System_Number,或者;
成1(如果Drni_Three_System_Portal == 0),它是布尔向量,其中所有其4096个元素设置成1。
否则;
Drni_Neighbor_Gateway_Conversation保持不变;
否则,如果它们相同,并且DRF_Home_Oper_DRCP_State.Gateway_Sync为“假”;
它将GatewayConversationUpdate设置成“真”,并且;
将DRF_Home_Oper_DRCP_State.Gateway_Sync设置成“真”;
否则,如果它们相同,并且Differ_Gateway_Digest == TRUE;
它将GatewayConversationUpdate设置成“真”;
否则;
GatewayConversationUpdate保持不变,并且;
将DRF_Home_Oper_DRCP_State.Gateway_Sync设置成“真”。
它也将如由此门户系统的Drni_Portal_System_State[]报告的用于每个门户系统的操作聚合端口的端口ID的列表与如由Drni_Neighbor_State[]报告的用于相同门户系统的操作聚合端口的端口ID的列表进行比较,并且
如果它们中的任何一个不同;
它将PortConversationUpdate设置成“真”,并且将DRF_Home_Oper_DRCP_State.Port_Sync设置成“假”,并且
如果Missing_Rcv_Port_Con_Vector == TRUE;
设置在此IPP上的Drni_Neighbor_Port_Conversation
成All_Neighbor_Conversation(如果Drni_Three_System_Portal == 1),或者;
成1(如果Drni_Three_System_Portal == 0);
否则;
Drni_Neighbor_Port_Conversation保持不变;
否则,如果它们相同,并且Differ_Port_Digest == TRUE
它将PortConversationUpdate设置成“真”;
否则,如果它们相同,并且DRF_Home_Oper_DRCP_State.Port_Sync为“假”;
它将PortConversationUpdate设置成“真”,并且;
将DRF_Home_Oper_DRCP_State.Port_Sync设置成“真”;
否则;
PortConversationUpdate保持不变,并且
将DRF_Home_Oper_DRCP_State.Port_Sync设置成“真”。
recordPortalConfValues
此函数将在来自IPP的接收到的DRCPDU的门户配置信息TLV中携带的邻居门户系统的配置的参数值记录为用于在此IPP上的最接近的邻居门户系统的当前操作参数值,如下所述:
DRF_Neighbor_Portal_System_Number = DRF_Portal_System_Number;
DRF_Neighbor_Conf_Portal_System_Number
= DRF_Home_Conf_Neighbor_Portal_System_Number;
Drni_Neighbor_Three_System_Portal = Drni_Three_System_Portal;
Drni_Neighbor_Common_Methods = Drni_Common_Methods;
Drni_Neighbor_ONN = ONN;
DRF_Neighbor_Oper_Aggregator_Key = DRF_Home_Oper_Aggregator_Key;
DRF_Neighbor_Port_Algorithm = DRF_Home_Port_Algorithm;
DRF_Neighbor_Conversation_PortList_Digest = DRF_Home_Conversation_PortList_Digest;
DRF_Neighbor_Gateway_Algorithm = DRF_Home_Gateway_Algorithm;并且
DRF_Neighbor_Conversation_GatewayList_Digest
= DRF_Home_Conversation_GatewayList_Digest。
随后,它将邻居门户系统的新更新的值与此门户系统的期望值进行比较,并且如果比较
DRF_Neighbor_Portal_System_Number与
DRF_Home_Conf_Neighbor_Portal_System_Number,或者
DRF_Neighbor_Conf_Portal_System_Number与 DRF_Portal_System_Number,或者Drni_Neighbor_Three_System_Portal与Drni_Three_System_Portal,或者
Drni_Neighbor_Common_Methods与Drni_Common_Methods,或者
DRF_Neighbor_Oper_Aggregator_Key的14个最低有效位与DRF_Home_Oper_Aggregator_Key的14个最低有效位,或者
DRF_Neighbor_Port_Algorithm与DRF_Home_Port_Algorithm,或者
DRF_Neighbor_Conversation_PortList_Digest与 DRF_Home_Conversation_PortList_Digest,或者
DRF_Neighbor_Gateway_Algorithm与DRF_Home_Gateway_Algorithm,或者
DRF_Neighbor_Conversation_GatewayList_Digest与 DRF_Home_Conversation_GatewayList_Digest显示一个或更多个比较对不同,
将具有不同值的变量的关联对存储在aIPPDebugDifferPortalReason中;并且
调用reportToManagement函数以向管理系统报告关联差别;
如果只是前面两个对的任何对不同;
将变量Differ_Conf_Portal_System_Number设置成“真”;
否则;
将变量Differ_Conf_Portal_System_Number设置成“假”。
另外,如果DRF_Neighbor_Oper_Aggregator_Key的14个最低有效位 == DRF_Home_Oper_Aggregator_Key的最低有效位;
将变量Differ_Conf_Portal设置成“假”,以及;
如果DRF_Neighbor_Oper_Aggregator_Key与DRF_Home_Oper_Aggregator_Key不同;
将ChangePortal设置成“真”;
否则;
将变量Differ_Conf_Portal设置成“真”。
此外,如果将变量Differ_Conf_Portal设置成“假”,并且Drni_Neighbor_Three_System_Portal与Drni_Three_System_Portal或
DRF_Neighbor_Gateway_Algorithm与DRF_Home_Gateway_Algorithm的一个或更多个比较不同;
设置此IPP上的Drni_Neighbor_Gateway_Conversation;
成All_Neighbor_Conversation(如果Drni_Three_System_Portal == 1),它是门户系统号向量,其中所有其4096个元素设置成DRF_Home_Conf_Neighbor_Portal_System_Number,或者;
成1(如果Drni_Three_System_Portal == 0),它是布尔向量,其中所有其4096个元素设置成1;
将变量Differ_Gateway_Digest设置成“真”;并且
如果DRF_Neighbor_Conversation_GatewayList_Digest == DRF_Home_Conversation_GatewayList_Digest;
将变量Differ_Gateway_Digest设置成“假”;
将变量GatewayConversationTransmit设置成“假”,并且;
将变量Missing_Rcv_Gateway_Con_Vector设置成“假”;
否则,如果比较显示摘要不同;
将变量Differ_Gateway_Digest设置成“真”;
将变量GatewayConversationTransmit设置成“真”;
将该对变量存储在aIPPDebugDifferPortalReason中;并且
如果在接收到的DRCPDU中存在网关对话向量TLV,并且该TLV的长度字段对应于门户系统的期望值(在aDrniThreePortalSystem为“真 时为1024个八位组,否则为512个八位组);
将在网关对话向量TLV中携带的门户系统的Drni_Gateway_Conversation记录为用于在此IPP上的最接近的邻居门户系统的当前操作参数值,如下所述:
Drni_Neighbor_Gateway_Conversation = Gateway_Conversation,并且;
将变量Missing_Rcv_Gateway_Con_Vector设置成“假”;
否则,如果在接收到的DRCPDU中不存在网关对话向量TLV,Drni_Neighbor_Common_Methods == Drni_Common_Methods ==TRUE,并且在接收到的DRCPDU中存在端口对话向量TLV,以及端口对话向量TLV的长度字段对应于门户系统的期望值(在aDrniThreePortalSystem为“真 时为1024个八位组,否则为512个八位组);
Drni_Neighbor_Gateway_Conversation = Drni_Neighbor_Port_Conversation,并且;
将变量Missing_Rcv_Gateway_Con_Vector设置成“假”;
否则;
变量Drni_Neighbor_Gateway_Conversation保持不变,并且;
将变量Missing_Rcv_Gateway_Con_Vector设置成“真”。
最后,如果将变量Differ_Conf_Portal设置成“假”,并且
Drni_Neighbor_Three_System_Portal与Drni_Three_System_Portal或
DRF_Neighbor_Port_Algorithm与DRF_Home_Port_Algorithm的一个或更多个比较不同;
设置在此IPP上的Drni_Neighbor_Port_Conversation
成All_Neighbor_Conversation(如果Drni_Three_System_Portal == 1),它是门户系统号向量,其中所有其4096个元素设置成DRF_Home_Conf_Neighbor_Portal_System_Number,或者;
成1(如果Drni_Three_System_Portal == 0),它是布尔向量,其中所有其4096个元素设置成1。
将变量Differ_Gateway_Digest设置成“真”;并且
如果DRF_Neighbor_Conversation_PortList_Digest
== DRF_Home_Conversation_PortList_Digest;
将变量Differ_Port_Digest设置成“假”,并且;
将变量PortConversationTransmit设置成“假”;
将变量Missing_Rcv_Port_Con_Vector设置成“假”;
否则,如果比较显示摘要不同;
将变量Differ_Port_Digest设置成“真”;
将变量PortConversationTransmit设置成“真”;
将该对变量存储在aIPPDebugDifferPortalReason中;
调用reportToManagement函数以向管理系统报告差别;以及
如果在接收到的DRCPDU中存在端口对话向量TLV;
将在端口对话向量TLV中携带的门户系统的Drni_Port_Conversation记录为用于在此IPP上的最接近的邻居门户系统的当前操作参数值,如下所述:
Drni_Neighbor_Port_Conversation = Drni_Port_Conversation,以及;
将变量Missing_Rcv_Port_Con_Vector设置成“假”;
如果在接收到的DRCPDU中不存在端口对话向量TLV,Drni_Neighbor_Common_Methods== Drni_Common_Methods == TRUE,并且在接收到的DRCPDU中存在网关对话向量TLV(9.4.3.3.1);
Drni_Neighbor_Port_Conversation = Drni_Neighbor_Gateway_Conversation,并且;
将变量Missing_Rcv_Port_Con_Vector设置成“假”;
否则;
变量Drni_Neighbor_Port_Conversation保持不变,并且;
将变量Missing_Rcv_Port_Con_Vector设置成“真”;
在上述所有操作中,在从接收到的1024个八位组对话向量TLV中的对话向量字段中提取Drni_Neighbor_Gateway_Conversation或Drni_Neighbor_Port_Conversation时,如果Differ_Conf_Portal_System_Number == TRUE,则将Drni_Neighbor_Gateway_Conversation或Drni_Neighbor_Port_Conversation设置成All_Neighbor_Conversation。
recordPortalValues
此函数将在来自IPP的接收到的DRCPDU中携带的用于Drni_Aggregator_Priority、Drni_Aggregator_ID、Drni_Portal_Priority及Drni_PortalID的参数值记录为用于在此IPP上的最接近的邻居门户系统的当前操作参数值,如下所述:
DRF_Neighbor_Aggregator_Priority = Drni_Aggregator_Priority;
DRF_Neighbor_Aggregator_ID = Drni_Aggregator_ID;
Drni_Neighbor_Portal_Priority = Drni_Portal_Priority,并且
Drni_Neighbor_Portal_Addr = Drni_Portal_Addr。
随后,它将邻居门户系统的新更新的值与此门户系统的期望值进行比较,并且如果
DRF_Neighbor_Aggregator_Priority == Drni_Aggregator_Priority,并且
DRF_Neighbor_Aggregator_ID == Drni_Aggregator_ID,并且
Drni_Neighbor_Portal_Priority == Drni_Portal_Priority,并且
Drni_Neighbor_Portal_Addr == Drni_Portal_Addr,则
将变量Differ_Portal设置成“假”;
否则,如果一个或更多个比较显示这些值不同,则
将变量Differ_Portal设置成“真”,并且具有这些不同值的变量的关联集合在aDrniIPPDebugDifferPortalReason中可用,并且通过调用reportToManagement函数报告给测量系统。
reportToManagement
此函数由于接收误配置的DRCPDU而提醒管理系统在此门户中门户系统配置错误的潜在存在,并向它发送来自误配置的接收到的DRCPDU的冲突信息。
aIPPDebugDifferPortalReason
ATTRIBUTE
APPROPRIATE SYNTAX:
A PrintableString,最大255个字符。
BEHAVIOUR DEFINED AS:
指示负责将在此IPP上的变量Differ_Portal或Differ_Conf_Portal (9.4.8)设置成“真”的变量的最近集合的人可读文本字符串。此值为只读。
aDrniThreePortalSystem
ATTRIBUTE
APPROPRIATE SYNTAX:
BOOLEAN
BEHAVIOUR DEFINED AS:
指示此门户系统是否是由三个门户系统组成的门户的一部分的读取-写入布尔值。值1代表三个门户系统的门户,值0代表两个门户系统的门户。默认值是0。
aDrniPortConversationControl
ATTRIBUTE
APPROPRIATE SYNTAX:
BOOLEAN
BEHAVIOUR DEFINED AS:
控制updateDRFHomeState的操作的读取-写入布尔值。在设置成“真”时,将归属网关向量设置成等于Drni_Portal_System_Port_Conversation。仅在网关算法和门户算法使用相同分布方法时,才可能将此对象设置成“真”。默认值是“假”,指示归属网关向量由网络控制协议控制。
aAggConversationAdminLink[]
ATTRIBUTE
APPROPRIATE SYNTAX:与链路号ID的语法匹配的整数的序列的数组。
BEHAVIOUR DEFINED AS:
存在按端口对话ID索引的4096个aAggConversationAdminLink[] 变量aAggConversationAdminLink[0]至aAggConversationAdminLink[4095]。每个变量包含用于参考的端口对话ID的链路选择优先级列表的管理值。此选择优先级列表是按照从最高到最低的对携带该端口对话ID的对应链路的优先权顺序的用于每个端口对话ID的链路号ID的序列。16位0值用于指示未指派链路携带关联端口对话ID。
setDefaultPortalSystemParameters
此函数将此门户系统的变量设置成管理集合值,如下所述:
• Drni_Aggregator_Priority = aAggActorSystemPriority;
• Drni_Aggregator_ID = aAggActorSystemID;
• Drni_Portal_Priority = aDrniPortalPriority;
• Drni_Portal_Addr = aDrniPortalAddr;
• DRF_Portal_System_Number = aDrniPortalSystemNumber;
• DRF_Home_Admin_Aggregator_Key = aAggActorAdminKey;
• DRF_Home_Port_Algorithm = aAggPortAlgorithm;
• DRF_Home_Gateway_Algorithm = aDrniGatewayAlgorithm;
• DRF_Home_Conversation_PortList_Digest = 在aDrniConvAdminGateway[]上的MD5摘要;
• DRF_Home_Conversation_GatewayList_Digest = 在aAggConversationAdminPort[]上的MD5摘要,以及;
• DRF_Home_Oper_DRCP_State = DRF_Neighbor_Admin_DRCP_State。
另外,它设置Drni_Portal_System_State[],就好像门户中的所有网关均被报告为“假”并且在任何门户系统上无聚合端口被报告为操作。
setGatewayConversation
此函数将Drni_Gateway_Conversation设置成从aDrniConvAdminGateway[]和当前Drni_Portal_System_State[]计算的值,如下所述:
对于每个索引的网关对话ID,在只包括如Drni_Portal_System_State[]变量的网关布尔标志提供的操作网关时,通过在由aDrniConvAdminGateway[]提供的门户系统号的列表中选择最高优先级门户系统号,识别门户系统号。
setIPPGatewayConversation
此函数设置Ipp_Other_Gateway_Conversation,如下所述:
如果Differ_Gateway_Digest == TRUE,并且Drni_Three_System_Portal == 1;
Ipp_Other_Gateway_Conversation = Drni_Neighbor_Gateway_Conversation;
否则,如果Differ_Gateway_Digest == TRUE,并且Drni_Three_System_Portal == 0;
从Drni_Neighbor_Gateway_Conversation中提取Ipp_Other_Gateway_Conversation,如下所述:
对于Drni_Neighbor_Gateway_Conversation布尔向量中的每个索引的网关对话ID,将值0位替换为DRF_Portal_System_Number,并且将值1位替换为DRF_Home_Conf_Neighbor_Portal_System_Number;
否则,如果Differ_Gateway_Digest == FALSE;
此函数将Ipp_Other_Gateway_Conversation设置成从aDrniConvAdminGateway[]和Drni_Neighbor_State[]计算的值,如下所述:
对于每个索引的网关对话ID,在只包括如Drni_Neighbor_State[]变量的网关布尔标志提供的操作网关时,通过在由aDrniConvAdminGateway[]提供的门户系统号的列表中选择最高优先级门户系统号,识别门户系统号。
setIPPGatewayUpdate
此函数将在此门户系统上的每个IPP上的IppGatewayUpdate设置成“真”。
setIPPPortConversation
此函数设置Ipp_Other_Port_Conversation_Portal_System,如下所述:
如果Differ_Port_Digest == TRUE,并且Drni_Three_System_Portal == 1;
Ipp_Other_Port_Conversation_Portal_System = Drni_Neighbor_Port_Conversation;
否则,如果Differ_Port_Digest == TRUE,并且Drni_Three_System_Portal == 0;
从Drni_Neighbor_Port_Conversation中提取Ipp_Other_Port_Conversation_Portal_System,如下所述:
对于Drni_Neighbor_Port_Conversation布尔向量中的每个索引的端口对话ID,将值0位替换为DRF_Portal_System_Number,并且将值1位替换为DRF_Home_Conf_Neighbor_Portal_System_Number;
否则,如果Differ_Port_Digest == FALSE;
此函数将Ipp_Other_Port_Conversation_Portal_System设置成从aAggConversationAdminPort[]和Drni_Neighbor_State[]计算的值,如下所述:
对于每个索引的端口对话ID,在只包括如Drni_Neighbor_State[]变量的关联列表提供的操作聚合端口时,通过在由aAggConversationAdminPort[]提供的门户系统号的列表中选择最高优先级门户系统号,识别门户系统号。
setIPPPortUpdate
此函数将在此门户系统上的每个IPP上的IppPortUpdate设置成“真”。
setPortConversation
此函数将Drni_Gateway_Conversation设置成从aDrniConvAdminGateway[]和当前Drni_Portal_System_State[]计算的值,如下所述:
对于每个索引的端口对话ID,在只包括如Drni_Portal_System_State[]变量的关联列表提供的操作聚合端口时,通过在由aAggConversationAdminPort[]提供的端口ID的列表中提取最高优先级端口ID (6.3.4)的优先级组分的最低有效的两个位,识别门户系统号。
updateDRFHomeState
此函数基于本地端口的操作状态,更新DRF_Home_State,如下所述:
基于用于识别本地网关的操作状态[“真”指示可操作(即,本地DR功能能够通过其网关端口和其一个或更多个其它端口IPP或聚合器至少之一中继业务)]并且通过网络控制协议的操作,启用通过本地网关的连接性)的机制,它将网关设置成“真”或“假”。另外,按网关对话ID索引的操作布尔网关向量用于指示哪些单独网关对话ID由网络控制协议启用,以经过归属网关(“假”=阻止)。
上述布尔网关向量由网络控制协议设置的操作尊重了有关分发独立性和故障隔离的要求,使得用于满足网络要求的帧分发算法能够不同于用于指派帧到链路聚合群组的聚合端口的算法,并且聚合端口上的故障不影响附连的网络操作。另一方面,网络算法和端口算法能够使用相同方式指派帧到对话ID,以便网关对话ID等于端口对话ID以允许匹配网关和携带给定对话的链路,以便最小化在IPL上的业务。在此情况下,布尔网关向量不受网络控制协议控制,而是转而设置成Drni_Portal_System_Port_Conversation。另外,如果归属网关向量不为空,并且本地网关可操作(即,本地DR功能能够通过其网关端口及其聚合器端口中继业务),则此函数将归属网关位设置成“真”。操作的配置文件(profile)由aDrniPortConversationControl管理对象配置。
在用于此门户系统的网关向量数据库,将当前操作布尔网关向量及其关联网关序号存储为(归属网关序列,归属网关向量)元组。如果存在归属网关序列的任何更改,则将用于此门户系统的网关向量数据库(归属网关序列,归属网关向量)中当前第一条目的归属网关序号增加1,并且在当前条目的顶部上为新归属网关向量创建新的第一条目元组(归属网关序列+1,归属网关向量),以及将HomeGatewayVectorTransmit设置成“真”。在Home_Gateway位设置成“假”时,新归属网关向量设置成空(将所有其元素设置成0的4096布尔向量)。
注意:序号的使用允许DRCPDU的接收器对新向量进行测试而无需进行向量值的详尽比较。
通过只包含附连的聚合器将它们报告为具有Actor_Oper_Port_State.Distributing==TRUE [排除关联聚合端口在EXPIRED状态中不可操作(port_enabled=FALSE)或不在LAG中的情况的条件)的那些聚合端口ID,创建操作聚合端口的列表,并且如果在此门户系统上的所有IPP上DRF_Neighbor_Oper_DRCP_State.IPP_Activity==FALSE,则将PSI设置成“真”,否则将PSI设置成“假”。
另外,如果PSI==TRUE并且Gateway==FALSE,则将在此门户系统上的所有聚合端口上的Actor_Oper_Port_State.Sync设置成“假”。
该函数也设置:
如果网关的操作状态或Drni_Conversation_GatewayList[]的配置列表已更改,则将GatewayConversationUpdate设置成“真”,并且如果如关联Actor_Oper_Port_State.Distributing变量或用于Drni_Conversation_PortList[]的配置列表的更改报告的,操作聚合端口的列表已存在任何更改,则将PortConversationUpdate设置成“真”,否则;
GatewayConversationUpdate和PortConversationUpdate保持不变。
updateIPPGatewayConversationDirection
此函数计算用于Ipp_Gateway_Conversation_Direction的值,如下所述:
对于每个网关对话ID,如果且只有满足以下条件时,该值才为“真”:
a) 变量Drni_Gateway_Conversation和Ipp_Portal_System_State[]指示用于此网关对话ID的目标门户系统位于此IPP之后,以及
b) Drni_Gateway_Conversation和Ipp_Other_Gateway_Conversation就哪个门户系统应获得此网关对话ID达成一致。
另外,如果Drni_Gateway_Conversation和Ipp_Other_Gateway_Conversation对于任何网关对话ID不一致,则:
它将DRF_Home_Oper_DRCP_State.Gateway_Sync设置成“假”,并且;
将NTTDRCPDU设置成“真”。
否则:
DRF_Home_Oper_DRCP_State.Gateway_Sync和NTTDRCPDU保持不变。
无论何时Ipp_Gateway_Conversation_Direction的任何影响变量更改,便将Ipp_Gateway_Conversation_Direction初始化为“假”并对其重新计算。
updateIPPPortConversationPasses
此函数计算用于Ipp_Port_Conversation_Passes的值,如下所述:
对于每个端口对话ID,如果且只有满足以下条件时,该值才为“真”(ID通过):
a) 变量Drni_Port_Conversation和Ipp_Portal_System_State[]指示用于此端口对话ID的目标门户系统位于此IPP之后,以及
b) Drni_Port_Conversation和Ipp_Other_Port_Conversation_Portal_System就哪个门户系统应获得此端口对话ID达成一致。
另外,如果Drni_Port_Conversation和Ipp_Other_Port_Conversation_Portal_System对于任何端口对话ID不一致,则:
它将DRF_Home_Oper_DRCP_State.Port_Sync设置成“假”,并且;
将NTTDRCPDU设置成“真”。
否则:
DRF_Home_Oper_DRCP_State.Port_Sync和NTTDRCPDU保持不变。
无论何时Ipp_Port_Conversation_Passe的任何影响变量更改,便将Ipp_Gateway_Conversation_Direction初始化为“假”并对其重新计算。
updateKey
此函数更新操作聚合器密钥DRF_Home_Oper_Aggregator_Key,如下所述:
如果enable_long_pdu_xmit == TRUE,则:
通过将DRF_Home_Oper_Aggregator_Key的两个最高有效位替换成值01,将DRF_Home_Oper_Aggregator_Key设置成DRF_Home_Admin_Aggregator_Key的值;否则,将DRF_Home_Oper_Aggregator_Key设置成包括每个IPP上的DRF_Home_Admin_Aggregator_Key、DRF_Neighbor_Admin_Aggregator_Key和DRF_Other_Neighbor_Admin_Aggregator_Key的值的集合的最低数值非零值。
updateNTT
如果DRF_Home_Oper_DRCP_State.GatewaySync或DRF_Home_Oper_DRCP_State.PortSync或DRF_Neighbor_Oper_DRCP_State.GatewaySync或DRF_Neighbor_Oper_DRCP_State.PortSync中的任一项为“假”,则该函数将NTT设置成“真”。
updatePortalState
关于与此函数关联的所有操作,只有IPP上的Drni_Neighbor_ONN为“假”时,才考虑由相同IPP上的DRF_Other_Neighbor_State提供的信息。
此函数更新Drni_Portal_System_State[],如下所述:将按门户系统号索引的用于此门户系统的信息DRF_Home_State包括在Drni_Portal_System_State[]中。对于门户中的每个其它门户系统,如果任何其它门户系统的状态信息可从此门户系统中的两个IPP可用,则:
对于该门户系统,在由具有其它门户系统作为邻居门户系统的IPP上的DRF_Neighbor_State提供的按门户系统号索引的门户系统状态信息将只包括在Drni_Portal_System_State[]中。
否则,如果门户系统的状态信息只可从此门户系统上的单个IPP可用,则:
按关联门户系统号索引的该门户系统的状态信息将包括在Drni_Portal_System_State[]中,而不管该信息是由该IPP上的DRF_Neighbor_State还是DRF_Other_Neighbor_State提供。如果用于门户系统的信息只可从此IPP上的DRF_Other_Neighbor_State可用,则在此IPP上将ONN设置成“真”。
包括在其门户系统状态信息不可从任何IPP可用的门户拓扑中的每个门户系统将其关联门户系统状态信息Drni_Portal_System_State[]设置成空(将网关设置成“假”,并将门户系统上的操作聚合端口的列表清空)。对于其DRF_Neighbor_State为空的邻居门店系统,将Drni_Neighbor_State[]设置成等于Drni_Portal_System_State[]。
此函数也更新在此门户系统上每个IPP的Ipp_Portal_System_State[],如下所述:
如果任何其它门户系统的状态信息可从两个IPP可用,则:
如果归属门户系统没有将任何IPL配置为循环中断链路,则对于门户系统上的每个IPP,由该IPP上的DRF_Neighbor_State提供的门户系统状态信息将只包括在按关联门户系统号索引的关联Ipp_Portal_System_State[]中,否则:
按关联门户系统号索引的IPP上的DRF_Neighbor_State将作为第一状态包括在对应Ipp_Portal_System_State[]中,并且只有当相同IPP上的Drni_Neighbor_ONN为“假”时,按关联门户系统号索引的在此IPP上接收到的DRCPDU上报告的与另一门户系统关联的任何其它另外状态将作为第二状态包括在Ipp_Portal_System_State[]中。
[类似于Drni_Portal_System_State[],其门户系统状态信息不可从任何IPP可用的门户拓扑中的每个门户系统将其关联门户系统状态信息Ipp_Portal_System_State[]设置成空(将网关设置成“假”,并将门户系统上的操作聚合端口的列表清空)。]
updatePortalSystemGatewayConversation
此函数设置Drni_Portal_System_Gateway_Conversation,如下所述:
如果Differ_Gateway_Digest == TRUE,并且Drni_Three_System_Portal == 0;
Drni_Portal_System_Gateway_Conversation = Drni_Neighbor_Gateway_Conversation;
否则;
此函数将Drni_Portal_System_Gateway_Conversation设置成以下两个布尔向量之间的逻辑“与”操作的结果:通过将与门户中的其它门户系统关联的所有索引的网关对话ID条目设置成“假”而从Drni_Gateway_Conversation构造的布尔向量;和通过将与门户中的其它门户系统关联的所有索引的网关对话ID条目设置成“假”而从所有IPP Ipp_Other_Gateway_Conversation构造的布尔向量。
updatePortalSystemPortConversation
此函数设置Drni_Portal_System_Port_Conversation,如下所述:
如果Differ_Port_Digest == TRUE,并且Drni_Three_System_Portal == 0;
Drni_Portal_System_Port_Conversation = Drni_Neighbor_Port_Conversation;
否则;
此函数将Drni_Portal_System_Port_Conversation设置成以下两个布尔向量之间的逻辑“与”操作的结果:通过将与门户中的其它门户系统关联的所有索引的端口对话ID条目设置成“假”而从Drni_Port_Conversation构造的布尔向量;和通过将与门户中的其它门户系统关联的所有索引的端口对话ID条目设置成“假”而从Ipp_Other_Port_Conversation_Portal_System构造的布尔向量。
计时器
以下讨论聚焦在根据本发明的一个实施例可适用的多种计时器上。
current_while_timer:此计时器用于检测接收到的协议信息是否已到期。如果Actor_Oper_State.LACP_Timeout设置成短超时,则通过值Short_Timeout_Time开始计时器。否则,通过值Long_Timeout_Time开始。
periodic_timer (time_value):此计时器用于生成周期性传送。如周期性传送状态机中指定的,它使用值Slow_Periodic_Time或Fast_Periodic_Time开始。
wait_while_timer:此计时器在执行聚合更改前提供滞后,以便允许将加入关联链路聚合群组的所有链路进行此操作。它使用值Long_Timeout_Time开始。
消息
在一个实施例中,只利用一个消息:
IppM:M_UNITDATA.indication(DRCPDU):此消息作为接收DRCPDU的结果由DRCP控制解析器生成。
DRCPCtrlMuxN:M_UNITDATA.indication(DRCPDU)
此消息作为接收DRCPDU的结果由DRCP控制解析器/复用器生成。
注意,对于两个不同实施例,这两个消息是类似消息。
状态机操作
返回到总体状态机过程的操作,图7的流程图定义了在一个实施例中依赖上文所描述的函数、变量和消息的操作集合。该过程能够响应接收DRCPDU而发起。首先,将此DRCPDU传递到接收单元(框702)。箭头标记的邻居状态信息集合表示新邻居信息,它包含在传入DRCPDU中或由管理默认值提供,由DRCPDU接收机馈送到每个状态机。箭头标记的归属状态信息集合表示在状态机之间的更新的归属状态信息的流动。DRCPDU的传送是由于周期性的机器确定需要传送周期性DRCPDU而发生,或者由由于需要传递到邻居的归属的状态信息的更改而发生。通过断言NTTDRCPDU,将传送DRCPDU的需要发信号通知传送机。剩余箭头表示在状态机描述中允许状态机引起事件在另一状态机中发生的共享变量。
接收机生成NTTDRCPDU,执行更改端口操作、网关对话更新和端口对话更新。
周期性机器704接收邻居状态信息,并且返回归属状态信息。周期性机器(框704)生成NTTDRCPDU。
门户系统机(框706)负责基于本地信息和在归属门户系统的IPP上接收到的DRCPDU,更新门户中的所有网关和聚合端口的操作状态。此状态机按门户系统的。
DRNI网关和聚合器机器(708)负责配置允许经过此DR功能的网关的网关对话ID和允许通过此DR功能的聚合器分发的端口对话ID。这些状态机是按门户系统的。
DRNI IPP机器(710)负责配置允许经过此DR功能的IPP的网关对话ID和端口对话ID。
传送机(712)基于来自其它状态机的需求,并且基于周期处理DRCPDU的传送。
DRCPDU接收机
接收机可通过如本文上面讨论的其关联参数,实现在图8中指定的功能。在启用该功能性并且执行recordDefaultDRCPDU()时,并且在DRF_Neighbor_Oper_DRCP_State.IPP_Activitiy为“假”的情况下,能够初始化该过程(框802)。随后,进入到期状态(框804),并且在接收DRCPDU时,状态机进入PORTAL_CHECK状态(框808)。recordPortalValues函数检查DRCPDU是否与此门户关联。如果不关联,则将向管理系统报告事件,并且此门户的任何状态机不对DRCPDU进行进一步处理。如果recordPortalValues识别接收到的DRCPDU,则它将进入要通过recordPortalConfValues函数检查的COMPATIBILITY CHECK状态(框809)。这将与此门户关联的在管理上配置的值与接收到的信息进行比较,并且如果它们不同,则系统将进入REPORT_TO_MANAGEMENT状态(框810),并且误配置的DRCPDU将报告给管理系统。在接收新DRCPDU(或者禁用IPP)时,接收机退出REPORT_TO_MANAGEMENT状态。
如果接收到的DRCPDU根据用于此门户的预期值配置,则接收机将进入CURRENT状态(框812)。
因此,实施例可包括以下步骤:接收DRCPDU;检查收到 的DRCPDU是否与该门户关联;将与门户关联的配置的值与接收到的DRCPDU的值进行比较;以及如果比较的值不同,则发送报告。
在一个实施例中,在接收DRCPDU时,状态机进入PORTAL_CHECK状态。recordPortalValues函数检查DRCPDU是否与此门户关联。如果不关联,则状态机将进入REPORT_TO_MANAGEMENT状态,并且接收到的DRCPDU将报告给管理系统。在REPORT_TO_MANAGEMENT状态中时,如果接收到新的DRCPDU,则系统将退出到PORTAL_CHECK状态,或者如果DRCP_current_while_timer到期,则系统将退出到EXPIRED状态。如果recordPortalValues将接收到的DRCPDU识别为与此门户关联,则它将进入要通过recordPortalConfValues函数检查的COMPATIBILITY_CHECK状态。这将与此门户关联的在管理上配置的值与接收到的信息进行比较,并且如果它们不同,则系统将进入REPORT_TO_MANAGEMENT状态,并且误配置的DRCPDU将报告给管理系统。如果门户系统在比短超时的两倍还长的期间内继续接收与管理上配置的期望值不匹配的DRCPDU,则状态机将转变为DEFAULTED状态,并且用于此IPP上一个或更多个门户系统的当前操作参数将被改写成管理上配置的值,并且门户系统更新将被触发。
如果接收到的DRCPDU根据用于此门户的预期值配置,则DRCPDU接收机进入CURRENT状态。
recordNeighborState函数记录在邻居的门户状态操作变量中DRCPDU中包含的邻居的门户状态信息,并且更新其自己的归属门户状态变量。如果它们不同,则设置触发器通知邻居,但也设置本地事件变量触发在本地门户系统机(PS - 参见图10)、DRNI网关和聚合器机器(DGA - 参见图11)和DRNI IPP机器(IPP - 参见图12)上的更新。
在执行recordPortalValues、recordPortalConfValues和recordNeighborState函数的过程中,符合此规范的接收机可不验证在接收到的DRCPDU中的版本号、TLV_type或预留字段。无论在这些字段中接收到的值如何,均采取相同的动作。接收机可验证Portal_Information_Length、Portal_Configuration_Information_Length、DRCP_State_Length、或Terminator_Length字段。本文上面讨论了这些行为连同对将来协议增强的约束。
上文表述的规则允许版本1装置与协议的将来版本兼容。
updateNTT函数用于确定是否要求进一步协议传送;如果邻居角度的归属的操作门户状态变量不是最新的,则将NTTDRCPDU设置成“真”。随后,开始current_while计时器。取决于执行者的超时操作值,用于开始该计时器的值是Short_Timeout_Time或Long_Timeout_Time。
如果在current_while计时器到期前未接收到DRCPDU,则状态机转变为EXPIRED状态。将DRF_Neighbor_Oper_DRCP_State.IPP_Activity设置成“假”,将邻居的超时变量的当前操作值设置成短超时,并通过Short_Timeout_Time的值开始current_while计时器。这是瞬态;超时设置允许归属门户系统快速传送DRCPDU以便试图与邻居重新建立通信。
如果在current_while计时器再次到期前未接收到任何DRCPDU,则状态机转变为DEFAULTED状态。recordDefaultDRCPDU函数将用于邻居门户系统的当前操作参数改写成管理上配置的值,并且触发门户系统更新,并且该状况报告给管理系统。
如果IPP变得不可操作,则状态机进入INITIALIZE状态。将DRF_Neighbor_Oper_DRCP_State.IPP_Activity设置成“假”,并且recordDefaultDRCPDU函数使同伴参数的管理值用作当前操作值。这些动作迫使PS机器从门户分离邻居门户系统并重新计算网关和端口对话ID过滤器。
根据本发明的一个实施例,接收机也可通过其关联参数,实现在图16中指定的功能。根据本发明的另一实施例,接收机也可通过其关联参数,实现在图38中指定的功能。与图8相比,在图16或图38中的接收机遵循几个不同的流路径。在图16和图38中备选接收机的术语和函数类似于图8的那些术语和函数。本领域技术人员将理解,与所示接收机的原理和结构一致的其它实现是可能的。
图33根据本发明的一实施例,示出用于在DRNI链路聚合群组的节点中与邻居同步的方法。方法3300可以在诸如图1B的节点K-O和图1C的网络装置132和134等作为DRNI的一部分的DRCP门户(称为本地门户)的DRCP节点(例如,网络装置)上实现。注意,可选步骤示为如在图33中示出的虚线框。
在标号3302,初始化节点以便在使用IPL耦合到邻居节点的IPP上操作DRCP。节点和邻居节点包括在门户中,在一个实施例中,该门户可包含另外的邻居节点。节点使用IPL,经IPP耦合到邻居节点。在一个实施例中,初始化包括将用于IPP上的邻居节点的默认参数值设置成由门户的管理员提供的邻居节点的当前操作参数。这些参数包括诸如DRF_Neighbor_Port_Algorithm(将设置成DRF_Neighbor_Admin_Port_Algorithm)等邻居端口算法、诸如DRF_Neighbor_Gateway_Algorithm(将设置成DRF_Neighbor_Admin_Gateway_Algorithm)等邻居端口网关算法及与recordDefaultDRCPDU的功能有关的上文讨论的其它参数。在一个实施例中,初始化还包括通过将DRF_Neigbhor_Oper_DRCP_State.IPP_Activity设置成“假”而将邻居节点的IPP活动设置成不活动。
在标号3304,节点确定在IPP处启用DRCP。检查包括确定指示IPP在操作DRCP的变量(例如,IPP_port_enabled)。在一个实施例中,确定是通过检查用于IPP的两个变量。一个变量是指示IPP在操作DRCP(例如,通过上文所论述的DRCP_enabled)的变量,而另一个变量是指示已建立IPL并且IPP可操作(例如,通过上文讨论的IPP_port_enabled)的变量。
在标号3306,节点进入到期状态。在一个实施例中,在到期状态,节点执行以下步骤:它将节点的DRCP状态参数设置成到期(例如,将上文讨论的DRF_Home_Oper_DRCP_State.Expired设置成“真”),它也通过将DRF_Neigbhor_Oper_DRCP_State.IPP_Activity设置成“假”来将邻居节点的IPP活动设置成不活动。如果未接收到DRCPDU,则它将计时器设置成到期。在一个实施例中,通过设置DRF_Neighbor_Oper_DRCP_State.DRCP_Timeout=ShortTimeout来执行计时器设置,并开始DRCP_current_while_timer(短超时)。
一旦计时器到期,流程便进行到标号3352,其中节点进入到默认状态。在一个实施例中,在默认状态,节点通过诸如上文讨论的recordDefaultDRCPDU的函数将IPP上的邻居节点的默认参数值设置成由门户的管理员提供的邻居节点的当前操作参数。此外,默认状态包括通过诸如上文讨论的reportToManagement的函数将状态报告给管理。
在标号3307,节点在标号3307处接收DRCPDU。DRCPDU包含如图5所示的PDU结构,其中PDU结构具有诸如在表4中列出的TLV的TLV。PDU结构包含归属端口信息TLV和DRCP状态TLV。在一个实施例中,在由DRCP控制解析器/复用器作为接收DRCPDU的结果生成的消息(例如,DRCPCtrolMuxN:M_UNITDATA.indication(DRCPDU))中指示DRCPDU的接收。
随后,在标号3308,节点确定接收到的DRCPDU与门户关联。在一个实施例中,确定包括检查指示接收DRCPDU是否与门户关联的变量(例如,如上文讨论的Differ_Portal)。在一个实施例中,确定包括执行将在接收到的DRCPDU中携带的门户参数值记录为用于IPP上的邻居节点的对应的当前操作参数值的函数(例如,recordPortalValues)。在一个实施例中,如上文在定义recordPortalValues中讨论的,门户参数值包括聚合器优先级(例如,Drni_Aggregator_Prioirty)、聚合器ID(例如,Drni_Aggregator_ID)、邻居门户优先级(Drni_Portal_Priority)及门户地址(例如,Drni_Portal_Addr)。
如果接收到的DRCPDU与门户不关联,则节点可选择性地通过诸如上文讨论的reportToManagement的函数将状态报告给管理。如果稍后节点接收到另一DRCPDU,则流程返回到标号3308以再次确定关联。类似地,在节点在标号3352处于默认状态并且它接收到DRCPDU时,流程进行到标号3308以确定关联。
在确定接收到的DRCPDU与门户关联之后,流程进行到标号3310,其中节点确定接收到的DRCPDU与节点兼容。确定包括确定与门户关联的管理上配置的值与从DRCPDU接收到的值一致。在一个实施例中,检查包括执行将在接收到的DRCPDU中携带的邻居节点的配置的参数值记录为IPP上的邻居节点的对应的当前操作参数值的函数(例如,recordPortalConfValues)。注意,诸如recordPortalConfValue等函数中的配置的参数值不同于诸如recordPortalValue等门户参数值,并且不同之处在上文在定义recordPortalConfValues和recordPortalValues方面进行了讨论。
如果接收到的DRCPDU与节点不兼容,则节点可选择性地通过诸如上文讨论的reportToManagement的函数将状态报告给管理。如果稍后节点接收到另一DRCPDU,则流程返回到标号3308以再次确定关联。在执行诸如reportToManagement等函数时,如果未接收到DRCPDU,则节点将另一个计时器设置成到期,并开始该计时器。一旦计时器到期,流程便返回到标号3306。
在确定接收到的DRCPDU与节点兼容后,在标号3312,节点将包含在接收到的DRCPDU中的邻居节点的状态信息记录为邻居节点的状态操作变量。在一个实施例中,函数(例如,recordNeighborState)将在接收到的DRCPDU中携带的诸如门户系统状态(例如,Drni_Portal_System_State)和归属节点操作DRCP状态(例如,DRF_Home_Oper_DRCP_State)等参数值记录为诸如Drni_Neigbhor_State和DRF_Neighbor_Oper_DRCP_State等对应的邻居节点的操作变量。
可选的是,在记录的邻居节点的状态操作变量不同于节点的状态操作变量时,在标号3314,节点设置一个或更多个触发器以通知邻居节点。在一个实施例中,如上文讨论的,函数(例如,updateNTT)用于确定是否要求进一步的协议传送。
本文中讨论的方法提供了供DRCP节点处理在从邻居DRCP节点接收到的DRCPDU中嵌入的信息的有效方法。信息按阶段处理,并且在记录邻居节点的状态信息前确定接收到的DRCPDU与DRCP节点的门户关联并且与节点兼容。另外,插入计时器以防止节点陷于等待状态。
图41根据本发明的一实施例,示出用于在DRNI链路聚合群组的节点中与邻居同步的另一方法。方法4100类似于方法3300,并且相同或类似的标号和术语指示具有相同或类似功能性的元素或组件。
方法4100中的不同之处包括在标号4108和4110,在接收到的DRCPDU与门户不关联或者接收到的DRCPDU与节点不兼容时,丢弃接收到的DRCPDU。
图42A-B根据本发明的一个实施例,示出确定接收到的DRCPDU是否与节点兼容的操作的流程图。图42B是图42A的继续。在一个实施例中,在图42A-B中示出的方法是在图41的参考4110内操作的实施例。
在标号4202,节点确定节点的配置的值和从邻居节点的接收到的值的任何对是否不同。配置的值包括在节点的配置信息中。在一个实施例中,配置信息包括操作聚合密钱、网关算法三系统门户设置、网关摘要、端口算法、端口摘要。如果无差别,则接收到的DRCPDU与节点兼容,并且确定完成,并且在一个实施例中,过程转到在标号4112内的操作。如果有任何差别,则流程可选地转到标号4204,其中,节点向管理报告。
随后,节点在标号4206确定在操作聚合密钥(例如,Oper_Aggregator_Key,其中用于节点和邻居节点的密钥分别称为DRF_Home_Oper_Aggregator_Key和DRF_Home_Oper_Aggregator_Key)中该对14个最低有效位的配置和接收到的值是否相同。注意,用于确定的14个最低有效位只是示例,并且可利用操作聚合密钥的其它位位置。如果操作聚合密钥不同,则在标号4220丢弃接收到的DRCPDU。
节点随后在标号4208确定用于三个系统门户(例如,Drni_Three_System_Portal和Drni_Neighbor_Three_System_Portal)和网关算法(DRF_Home_Gateway_Algorithm和DRF_Neighbor_Gateway_Algorithm)的两对配置和接收到的值是否相同。确定是确认三系统门户设置和网关算法在两个相邻节点之间是一致的。注意,对于允许不止三个门户系统的门户,设置是用于该系统门户设置。如果不同,则流程转到标号4224,其中节点将用于邻居节点的操作网关对话向量(例如,称为Gateway_Conversation_Vector)的变量设置成指示所有网关对话映射到邻居节点的向量,并且不从接收到的DRCPDU中包含的邻居节点状态信息计算邻居的向量。之后,流程从4224转到4112。另一方面,如果值相同,则流程转到标号4210。
在标号4210,节点确定用于网关摘要(例如,称为Gateway_Digest)的该对配置和接收到的值是否相同。如果它们不相同,则节点在标号4226向传送操作(例如,通过传送机执行)指示在要传送的下一DRCPDU中包括网关对话TLV(例如,Gateway_Conversation_Vector_TLV)。否则,在4212,节点在要传送的下一DRCPDU中不包括网关对话TLV。
在标号4228,节点确定网关对话TLV是否包括在接收到的DRCPDU中。如果是,则流程转到标号4232,其中节点将用于邻居节点的操作网关对话向量的变量设置成在接收到的DRCPDU中存在的端口对话TLV中携带的网关对话向量。之后,流程从4232转到4112。如果网关对话TLV未包括在接收到的DRCPDU中,则流程转到标号4230。
在标号4230,节点确定端口对话TLV是否包括在接收到的DRCPDU中,并且网关和端口分发是否相同。如果它们不同,则流程转到标号4224。如果它们相同,则流程转到标号4234,其中节点将用于邻居节点的操作网关对话向量的变量设置成在接收到的DRCPDU中存在的端口对话TLV中携带的端口对话向量。之后,流程从4232转到4112。
图42B在4212后继续。在标号4301,节点确定用于端口算法的该对配置和接收到的值(DRF_Home_Port_Algorithm和DRF_Neighbor_Port_Algorithm)是否相同。如果不相同,则流程转到标号4322,其中节点将用于邻居节点的操作端口对话向量的变量设置成指示所有网关对话映射到邻居节点的向量,并且不从接收到的DRCPDU中包含的邻居节点状态信息计算邻居节点的向量。
在标号4302,节点确定用于端口摘要(例如,Port_Digest)的该对配置和接收到的值是否相同。如果相同,则流程转到标号4304,其中节点在要传送的下一DRCPDU中不包括端口对话TLV。之后,流程从4304转到4112。如果不同,则流程转到标号4306。
在标号4306,节点向传送操作指示在要传送的下一DRCPDU中包括端口对话TLV。随后,流程转到标号4308,其中节点确定端口对话TLV是否包括在接收到的DRCPDU中。如果是,则流程转到标号4310,其中节点将用于邻居节点的操作端口对话向量的变量设置成在接收到的DRCPDU中存在的端口对话TLV中携带的端口对话向量。之后,流程从4310转到4112。如果未包括端口对话TLV,则流程转到标号4312。
在标号4312,节点确定端口对话TLV是否包括在接收到的DRCPDU中。如果是,则流程转到标号4314,其中节点将用于邻居节点的操作端口对话向量的变量设置成在接收到的DRCPDU中存在的网关对话TLV中携带的端口对话向量。之后,流程从4314转到4112。如果端口对话TLV未包括在接收到的DRCPDU中,则流程转到标号4316,其中节点将用于邻居节点的操作端口对话向量的变量设置成指示所有端口对话映射到邻居节点的向量,并且不从接收到的DRCPDU中包含的邻居节点状态信息计算邻居节点的向量。
DRCP周期性传送机
DRCP周期性传送机可通过上文讨论的其关联参数,实现在图9中指定的功能。
DRCP周期性传送机建立归属和邻居门户系统在IPP上交换周期性DRCPDU以便保持门户的期望,并确立应进行那些周期性传送的频繁程度。如果任一参与方想要进行周期性传送,则周期性传送将进行。传送以由邻居门户系统确定的速率进行;此速率与邻居门户系统将使接收到的信息超时的速度有关。
该状态机具有四个状态。它们如下所述:
NO_PERIODIC(框902)。在此状态中时,禁用周期性传送,并且执行stop periodic_timer函数。FAST_PERIODIC(框904)。在此状态中时,以快传送速率启用周期性传送。响应无条件转变(UCT),从NO_Periodic状态(框902)进入此状态。Fast_Periodic状态能够转变为周期性传送(框910)和slow_periodic状态(框905)。在确定长超时时,能够从FAST_PERIODIC 904进入SLOW_PERIODIC状态906。在此状态中时,以慢传送速率启用周期性传送。如果周期性计时器到期,则状态转变为PERIODIC_TX(框910)。PERIODIC_TX。这是在periodic_timer到期时进入的瞬变状态,它断言NTT,并且随后取决于邻居的DRCP_Timeout设置,退出到FAST_PERIODIC或SLOW_PERIODIC。
如果启用周期性传送,则通过DRF_Neighbor_Oper_DRCP_State.Timeout变量的值确定它们的进行的速率。如果此值设置成短超时,则值fast_periodic_time用于确定在周期性传送之间的时间间隔。否则,slow_periodic_time用于确定时间间隔。
因此,实施例提供用于包括以下步骤的过程:在禁用传送的非周期性状态中初始化;转变为快速周期性状态;开始用于快速周期性时间的计时器;分别响应长超时或具有快速周期性超时设置的邻居,转变为慢周期性状态或周期性传送状态;响应在邻居处的短超时设置或计时器到期,从慢周期性超时转变为周期性传送状态;以及分别响应邻居超时设置更改成短超时或长超时设置,从周期性传送状态转变为快速周期性或短周期性状态。
DRCP周期性传送机也可通过其关联参数,实现在图17中指定的功能。图17包含不同的术语(例如,DRCP_periodic_timer和NTTDRCPDU,而不是分别是如在图9中的periodic_timer和NTT),但流程在其它方面是相同的。在图17中备选传送机的术语和函数类似于图9的那些术语和函数。本领域技术人员将理解,与所示传送机的原理和结构一致的其它实现是可能的。
门户系统机
门户系统机可通过如上文讨论的其关联参数,实现在图10中指定的功能。此过程能够初始化到门户系统初始化状态(框1002)。执行setDefaultPortalSystemParameters和updateKey函数。在ChangePortal或ChangeDRFPorts为“真”的情况下,过程转变为门户系统更新状态(框1004)。在门户系统更新状态中,将ChangePortal设置成“假”,将changeDRFPorts设置成“假”,更新DRF homestate以及执行updatekey。在changeportal或changeDRFPorts更新为“真”时,触发下一更新。
因此,实施例提供包括以下步骤的过程:初始化到门户初始化状态,其中创建默认门户系统参数并更新密钥;响应ChangePortal或ChangeDRFPorts变量为布尔“真”,转变为门户系统更新状态;在门户系统更新状态中将ChangePortal变量设置成“假”并将changeDRFPorts变量设置成“假”;执行updateDRFHomeState并更新密钥;以及在检测到ChangePortal或ChangeDRFPorts变量为“真”时,重新进入门户系统更新状态。
在初始化时,将门户系统的变量设置成如由其管理设置配置的用于此门户的其默认值。具体而言,将门户中的所有网关、聚合端口和IPP的默认操作状态设置成“假”。另外,基于那些默认值,将要由关联聚合器使用的操作密钥计算为指派到此门户系统的管理密钥值。
门户系统的网关的操作状态或如关联聚合器报告的任何附连聚合端口的分发状态的任何本地更改或如RX状态机报告的邻居门户系统的操作状态中的任何更改触发到PORTAL_SYSTEM_UPDATE状态的转变。这使函数updateDRFHomeState基于关于网关的操作状态和门户系统的聚合器上所有聚合端口的更新的本地信息,重新评估提供门户系统的自己的状态的变量(DRF_Home_State)。将门户系统的网关的操作状态的任何更改反映到用于在端口的状态机和IPP中触发状态转变的GatewayConversationUpdate。类似地,将与此门户系统的聚合器端口关联的聚合端口的操作状态中的任何更改反映到用于在相同状态机中触发状态转变的PortConversationUpdate。最后,updateKey函数通过选择包括门户中的所有活动门户系统的管理密钥的值的集合的最低数值非零值,更新要由门户系统的聚合器使用的操作密钥。
无论何时DR功能的任何端口的操作状态更改,状态机便返回到PORTAL_SYSTEM_UPDATE状态。
门户系统机也可通过其关联参数,实现在图18中指定的功能。除在图18中系统使用UpdatePortalState函数执行更新门户状态外,图18类似于图10。在图18中备选门户系统机的术语和函数类似于图10的那些术语和函数。本领域技术人员将理解,与所示门户系统机的原理和结构一致的其它实现是可能的。
图34根据本发明的一实施例,示出用于在分布式弹性网络互连(DRNI)中更新节点的操作状态的方法。方法3400可以在诸如图1B的节点K-O和图1C的网络装置132和134等作为DRNI的一部分的DRCP门户(称为本地门户)的DRCP节点(例如,网络装置)上实现。注意,可选步骤示为如在图34中示出的虚线框。
在标号3402,节点初始化以便进行链路聚合。初始化包括如根据管理设置配置的,设置用于它所属的门户的节点的变量。在一个实施例中,通过执行函数(例如,图10中的setDefaultPortalSystemParameters),执行初始化。此函数将节点的变量设置成如上文讨论的setDefaultPortalSystemParameters的定义中所列举的管理集合值,它包括节点的聚合器的系统优先级(例如,Drni_Aggregator_Priority)、节点的聚合器的系统标识符(例如,Drni_Aggregator_ID)、门户的系统优先级(例如,Drni_Portal_Priority)、用于门户中节点的标识符(例如,DRF_Portal_System_Number)、与聚合器关联的管理聚合器密钥值(例如,DRF_Home_Admin_Aggregator_Key)、由节点的DR功能用于将帧指派到端口对话ID的端口算法(例如,DRF_Home_Port_Algorithm)、由节点的DR功能用于将帧指派到网关对话ID的网关算法(例如,DRF_Home_Gateway_Algorithm)等等。
在标号3404,节点确定与门户关联的操作状态已更改。在邻居网络装置的IPP活动的值的网络装置角度的操作值为活动时,操作状态的更改可通过设置成“真”的布尔变量来指示。在一个实施例中,诸如上文讨论的ChangePortal等变量是此类布尔变量。操作状态的更改也可通过在节点的网关的操作状态更改时设置成“真”的布尔变量来指示。操作状态的更改也可通过在与第一门户关联的节点的聚合端口的操作状态之一更改时设置成“真”的布尔变量来指示。在一个实施例中,诸如上文讨论的ChangeDRFPorts等变量是用于网关和聚合端口的操作状态的更改的此类布尔变量。
在标号3406,节点可设置指示无与门户关联的操作状态更改的一个或更多个变量。在一个实施例中,如图10中所示的,这通过将诸如ChangePortal和ChangeDRFPorts等变量设置成“假”来执行。设置允许ChangePortal和ChangeDRFPorts的操作状态触发更新的进一步更改,以便节点可检测更改。
在标号3408,响应操作状态更改,节点更新用于链路聚合的节点的操作状态集合,其中操作状态集合包括用于节点的网关的操作状态。在一个实施例中,通过执行诸如上文讨论的updateDRFHomeState等函数来执行更新。在一个实施例中,更新也通过只包括那些可操作的聚合端口标识符(ID)来创建操作聚合端口的列表(例如,附连的聚合器将它们报告为具有Actor_Oper_Port_State.Distributing==TRUE(排除其中关联聚合端口不可操作或处于到期状态或不在链路聚合群组中的情况的条件))。
方法提供基于DRCP节点所属门户的更改,使DRCP节点的操作状态与邻居DRCP节点同步的有效方法。
DRNI网关和聚合器机器
DRNI网关和聚合器机器可通过上文讨论的其关联参数,实现在图11中指定的功能。在一个门户系统上有两个DRNI网关和聚合器机器。每个DRNI网关和聚合器机器与一种对话ID类型关联:一个用于网关对话ID以及一个用于端口对话ID。图11A是在DRNI网关初始化状态中初始化(框1102)的DRNI网关过程。在此状态中,执行InitializeDRNIGatewayConversation函数,将GatewayCoversationUpdate设置成“假”,并且在进行GatewayCoversationUpdate的情况下,过程转变为DRNI网关更新状态(框1104)。在DRNI网关更新状态中(框1104),过程将GatewayConversationUpdate设置成“假”,执行updatePortaState、setGatewayConversaion操作和setIPPGatewayUpdate,并且执行updatePortalSystemGatewayConversation。在每次进行GatewayConversationUpdate时,触发DRNI网关更新。
该过程的实施例包括以下步骤:初始化为DRNI网关初始化状态;将DRNI网关对话和GatewayCoversationUpdate初始化为“假”;在检测到网关对话更新变量为“真”时,转变为DRNI网关更新状态;设置updatePortalState;设置IPP网关更新触发器;将网关对话更新变量设置成“假”;设置网关对话;更新门户系统网关对话;以及在网关对话更新变量设置成“真”时,重新进入DRNI网关更新状态。
图11B是DRNI端口更新过程。在此过程中,DRNI端口更新过程在DRNI端口初始化状态中开始(框1112)。执行initializeDRNIPortConversation函数,将PortCoversationUpdate设置成“假”,并且过程响应PortConversationUpdate的进行而继续,这将状态转变为DRNIPortUpdate(框1114)。在DRNI端口更新状态中,过程将PortConversationUpdate设置成“假”,并且执行updatePortalState、setPortConversation、setIPPPortUpdate操作和updatePortalSystemPortConversation操作。在PortConversationUpdate的值更改时,重新触发DRNI端口更新。
该过程的实施例包括以下步骤:初始化为DRNI端口初始化状态;将DRNI端口对话和PortCoversationUpdate初始化为“假”;在检测到端口对话更新变量为“真”时,转变为DRNI端口更新状态;设置IPP端口更新触发器;将端口对话更新变量设置成“假”;设置端口对话;更新门户系统端口对话;以及响应检测到端口对话更新变量为“真”,重新进入DRNI端口更新状态。
图39A-B是示出DRNI和聚合器机器操作的流程图的另一集合。图39A示出DRNI网关过程,并且图39B示出DRNI端口更新过程。图39A-B类似于图11A-B,并且相同或类似的标号和术语指示具有相同或类似功能性的元素或实体。
图39A类似于图11A,带有另外的标号3906,其中在确定并非所有IPP需要更新网关对话ID分发(表述为!IppAllGatewayUpdate)时,节点设置门户系统网关对话(例如,通过updatePortalSystemGatewayConversation),并且在接收网关对话更新时,返回到标号3904。
图39B类似于图11B,带有另外的标号3916,其中在确定并非所有IPP需要更新端口对话ID分发(表述为!IppAllPortUpdate)时,节点设置门户系统端口对话(例如,通过updatePortalSystemPortConversation),并且在接收端口对话更新时,返回到标号3914。
这些状态机负责基于达成的优先级规则和DRCP的操作,配置允许经过此DR功能的网关和聚合器的网关对话ID和端口对话ID。
在来自PS状态机(图10)或DRX状态机(图8)的触发器宣告网关的操作状态已更改,状态机进入DRNI_GATEWAY_UPDATE状态。这使触发参数(GatewayConversationUpdate)重置成“假”。随后,函数updatePortalState将通过组合更新后的DRF_Home_State与来自如在门户系统的IPP上接收到的DRCPDU报告并由DRX状态机(图8)记录的其它门户系统上端口的操作状态的信息,更新提供所有门户系统的状态的变量(Drni_Portal_System_State[]),并将门户系统上每个IPP上的IppGatewayUpdate设置成“真”以触发IPP状态机(图12)上的进一步更新。随后,调用setGatewayConversation函数以基于达成的选择优先级和如此门户系统已知的网关操作状态(基于本地网关的操作状态和由从那些邻居门户系统接收到的最新DRCPDU携带的邻居门户系统的宣告的其自己的网关的操作状态),识别负责每个网关对话ID的门户系统。最后,将基于在允许经过门户系统的网关的此门户系统角度的网关对话ID上与在允许经过此门户系统的网关的所有邻居角度的网关对话ID上的之间的协定,计算网关对话ID索引的布尔向量[如通过其DRCPDU宣告的并由此门户系统的DRX状态机(图8)记录的]。这确保除非在所有门户系统之间达成一致,否则不允许网关对话ID经过此门户系统的网关。
状态机初始化为丢弃所有网关对话ID,并且无论何时设置触发器GatewayConversationUpdate,便转变为DRNI_GATEWAY_UPDATE状态。
通过类似状态机操作设置端口对话ID索引的布尔向量,唯一的差别在于优先级选择规则是基于达成的端口对话ID和端口算法,而不是达成的网关对话ID和网关算法。
图35根据本发明的实施例,示出用于在分布式弹性网络互连(DRNI)中在网络装置处为聚合器或网关配置对话ID集合的方法。方法3500可以在诸如图1B的节点K-O和图1C的网络装置132和134等作为DRNI的一部分的DRCP门户(称为本地门户)的DRCP节点(例如,网络装置)上实现。注意,可选步骤示为如在图35中示出的虚线框。
在标号3502,节点初始化对话ID集合,并且初始化包括将与对话ID集合关联的布尔向量的条目设置成0序列。对话ID是网关对话ID或端口对话ID。布尔向量包括指示通过节点的网关或聚合器处理对话ID集合的值,它通过初始化设置成0(无处理)。注意,DRCP节点包含单个网关和单个聚合器。
初始化可通过诸如上文讨论的InitializeDRNIGatewayConversation和InitializeDRNIPortConversation的函数来执行。布尔向量可以是分别用于网关对话ID和端口对话ID的Drni_Portal_System_Gateway_Conversation或Drni_Portal_System_Port_Conversation。在一个实施例中,对话ID的指示符是该条目的布尔值(例如,“真”表示经过网关或通过聚合器分发)。初始化使得所有值为0,因此不传递。
在标号3504,节点确定对话ID集合的分发需要更新。在一个实施例中,做出该确定包括检查布尔变量(例如,诸如上文讨论的分别用于网关对话ID和端口对话ID的GatewayConversationUpdate和PortConversationUpdate等变量)。
在标号3506,节点设置按对话ID索引的操作向量的值,其中操作向量列出门户的哪个节点处理对话ID集合中的每个对话ID。在一个实施例中,操作向量是分别用于网关对话ID和端口对话ID的Drni_Gateway_Converstaion和Drni_Port_Conversation。对于网关对话ID,操作向量列出门户的哪个节点传递每个网关对话ID。对于端口对话ID,操作向量列出门户的哪个节点传递每个端口对话ID。
在标号3508,节点设置按对话ID索引的布尔向量的值,其中布尔向量列出网络装置的单个网关或单个聚合器是否与每个对话ID关联。操作布尔向量可以是分别用于网关对话ID和端口对话ID的Drni_Portal_System_Gateway_Conversation或Drni_Portal_System_Port_Conversation。对于网关对话ID,布尔向量中的每个条目指示是否允许网关对话ID经过节点的单个网关。对于端口对话ID,布尔向量中的每个条目指示是否允许通过节点的单个聚合器分发端口对话ID。
随后,可选地在标号3510,节点更新门户的所有节点的操作状态。在一个实施例中,通过诸如上文讨论的updatePortalState等函数来执行更新。
同样可选地在标号3512,节点设置指示对话ID集合的分发需要更新的变量。在一个实施例中,变量是分别用于网关对话ID和端口对话ID的setIPPGatewayUpdate和setIPPPortupdate(如上文讨论的)。
因此,本发明的实施例提供了配置对话ID,以便关联对话可在包含DRNI的链路聚合群组中适当传送的有效方法。
DRNI IPP机器
DRNI IPP机器可通过如上文讨论的其关联参数,实现在图12A-B中指定的功能。图12A根据本发明的一个实施例,示出更新IPP网关对话的状态机。该过程在框1202开始,在其中初始化IPP网关。在此实施例中,通过两个初始化函数来实现IPP网关初始化。通过IPPGatewayUpdate=FALSE,网络装置将IPP网关更新触发器设置成“假”。通过InitializeIPPPortConversation()函数,网络装置将对话传递(例如,Ipp_Gateway_Conversation_Direction)设置成再次按网关对话ID索引的0的序列。
在初始化之后,状态机转到框1204,在其中更新IPP网关。通过变量更改触发传送。变量IppGatewayUpdate指示每IPP网关对话ID分发需要更新。在一个实施例中,IppGatewayUpdate是布尔值,并且一旦布尔值变成“真”,状态机便转到框1204。在框1204,它通过函数setGatewayConversation设置网关对话。如上文讨论的一样,该函数将DRNI网关对话值设置成从用于分布式中继的网关选择优先级列表的当前管理值(通过诸如aDrniConvAdminGateway[]等变量)和当前的DRNI端口系统状态(在一个实施例中,通过读取Drni_Portal_System_State[])计算的值。而且,在框1204中,网络装置通过函数setIPPGatewayConversation()设置IPP网关对话。另外,网络装置通过函数updateIPPGatewayConversationDirection()更新IPP网关对话方向,并且最后,网络装置将IppGatewayUpdate重置为“假”。无论何时需要网关对话更新,框1204便重复其本身。
因此,该过程的实施例包括以下步骤:初始化为IPP网关初始化状态;将IPP网关更新触发器初始化为“假”;初始化IPP网关对话;在检测到Ipp网关更新变量为“真”时,转变为IPP网关更新状态;设置网关对话;设置IPP网关对话;更新IPP网关对话方向;将Ipp网关更新变量设置成“假”;以及响应检测到网关对话更新变量为“真”,重新进入IPP网关更新状态。
图12B根据本发明的一个实施例,示出更新IPP端口对话的状态机。用于更新IPP端口的过程与用于更新网关对话的过程类似,因此图12B中的过程与图12A类似,其中为IPP端口对话更新利用用于IPP对话的函数和变量。
此过程的实施例包括以下步骤:初始化为IPP端口初始化状态;将IPP端口更新触发器初始化为“假”;初始化IPP端口对话;响应检测到IPP端口更新变量为“真”,转变为IPP端口更新状态;设置端口对话;设置IPP对话;更新IPP端口对话传递;将IppPortUpdate变量设置成“假”;以及响应检测到PortConversationUpdate为“真”,重新进入IPP端口更新状态。
在一个实施例中,这些状态机负责基于达成的优先级规则和DRCP的操作,配置允许经过此邻居门户系统的IPP的网关对话ID和端口对话ID。
在来自DRX状态机(图8)的触发器宣告将IppGatewayUpdate设置成“真”,状态机进入IPP_GATEWAY_UPDATE状态。这引起调用setGatewayConversation函数。这将基于达成的选择优先级和如此门户系统已知的网关操作状态(基于本地网关的操作状态和由从那些邻居接收到的最新DRCPDU携带的邻居宣告的其自己的网关的操作状态),识别负责每个网关对话ID的门户系统。在图40A-B中示出的备选实施例中,未分别为网关和端口调用setGatewayConversation和setPortConversation函数。
在任一情况下,基于在达成的选择优先级和如在此IPP上的邻居门户系统宣告的网关操作状态(基于邻居门户系统的网关操作状态和在此IPP上由从邻居门户系统接收到的最新DRCPDU携带的邻居门户系统宣告的在其角度的在门户中在其它网关上的操作状态),setIPPGatewayConversation函数将识别负责每个网关对话ID的门户系统。随后,将基于在允许经过门户系统的IPP此门户系统角度的网关对话ID与在允许经过相同IPP的IPP邻居门户系统角度的网关对话ID之间的协定,计算网关对话ID索引的布尔向量[如通过其DRCPDU宣告并由此门户系统的DRX状态机(图8)记录的]。这确保除非在此门户系统与其邻居门户系统之间达成一致,否则不允许网关对话ID经过此IPP。最后,将IppGatewayUpdate重置为“假”。
状态机初始化为丢弃所有网关对话ID,并且无论何时设置触发器GatewayConversationUpdate,便转变为IPP_GATEWAY_UPDATE状态。
通过类似状态机操作设置端口对话ID索引的布尔向量,唯一的差别在于优先级选择规则是基于达成的端口对话ID和端口算法,而不是达成的网关对话ID和网关算法。
图36根据本发明的实施例,示出用于在分布式弹性网络互连(DRNI)中的DRCP节点处为IPP配置对话ID集合的方法。方法3600可以在诸如图1B的节点K-O和图1C的网络装置132和134等作为DRNI的一部分的DRCP门户(称为本地门户)的DRCP节点(例如,网络装置)上实现。
在标号3602,节点初始化对话ID集合,并且初始化包括将与对话ID集合关联的布尔向量的条目设置成0的序列。对话ID是网关对话ID或端口对话ID。布尔向量包括指示通过节点的IPP,处理对话ID集合的值。
初始化可通过诸如上文讨论的InitializeIPPGatewayConversation和InitializeIPPPortConversation的函数来执行。布尔向量可以是分别用于网关对话ID和端口对话ID的pp_Gateway_Conversation_Direction或Ipp_Port_Conversation_Passes。在一个实施例中,用于对话ID的值是条目的布尔值。例如,用于网关对话ID的“真”值指示某一网关通过此IPP可到达。初始化使得所有值为0,因此不传递。
在标号3604,节点确定对话ID集合的分发需要更新。在一个实施例中,做出确定包括检查布尔变量。在一个实施例中,布尔变量是分别用于网关对话ID和端口对话ID的IppGatewayUpdate和IppPortUpdate。在另一实施例中,布尔变量是分别用于网关对话ID和端口对话ID的GatewayConversationUpdate和PortConversationUpdate。
在标号3606,节点设置按对话ID索引的第一操作向量的值,其中操作向量列出门户的哪个节点处理如节点指派的每个对话ID。在一个实施例中,节点通过诸如setGatewayConversation和setPortConversation等函数来设置这些值,以便分别设置诸如Drni_Gateway_Conversation和Drni_Port_Conversation等第一操作向量。对于网关对话ID,Drni_Gateway_Conversation列出哪个节点的网关(如果有)传递每个网关对话ID。对于端口对话ID,Drni_Port_Conversation列出哪个节点传递每个端口对话ID。
在标号3608,节点设置按对话ID索引的第二操作向量的值,其中操作向量列出门户的哪个节点处理如邻居节点指派的每个对话ID。在一个实施例中,节点通过诸如setIPPGatewayConversation和setIPPPortConversation等函数来设置这些值,以便分别设置诸如Ipp_Other_Gateway_Conversation和Ipp_Other_Port_Conversation_Portal_System等第二操作向量。如上文中讨论的,对于网关对话ID,Ipp_Other_Gateway_Conversation列出如在此IPP上由邻居节点指派的哪个节点(即,门户系统)(如果有)在传递每个网关对话ID,其中在门户包含多于两个节点时,邻居节点是最接近的邻居节点。类似地,对于端口对话ID,Ipp_Other_Port_Conversation_Portal_System列出如在此IPP上由最接近的邻居节点指派的哪个节点在传递每个端口对话ID。
在标号3610,节点设置按对话ID索引的布尔向量的值,其中布尔向量列出节点的IPP是否与每个对话ID关联。在一个实施例中,如上文讨论的,布尔向量是用于网关对话ID的Ipp_Gateway_Conversation_Direction和用于端口对话ID的Ipp_Port_Conversation_Passes。
因此,类似于方法3500,本发明的实施例在此处提供了配置对话ID,以便关联对话可在包含DRNI的链路聚合群组中适当传送的有效方法。
DRCPDU传送机
根据本发明一个实施例,在传送机(未示出)创建DRCPDU以进行传送时,它可通过用于此IPP的对应操作值来填充以下字段:
聚合器ID和优先级。
• 门户ID和优先级。
• 门户系统号。
• 拓扑状态。
• 操作聚合器密钥。
• 端口算法。
• 网关算法。
• 端口摘要。
• 网关摘要。
• 如果GatewayConversationTransmit为“真”,并且如果;
Drni_Three_System_Portal == 0;
准备网关对话向量TLV(其中TLV长度设置成512个八位字节,并且其
Gateway_Conversation字段设置成Drni_Portal_System_Gateway_Conversation)以便进行DRCPDU传送;
否则,如果Drni_Three_System_Portal == 1;
准备网关对话向量TLV(其中其TLV长度设置成1024个八位字节,并且其Gateway_Conversation字段设置成Drni_Gateway_Conversation)以便进行DRCPDU传送;
如果PortConversationTransmit为真,并且如果;
Drni_Three_System_Portal == 0;
准备端口对话向量TLV(其中其TLV长度设置成512个八位字节,并且其Port_Conversation字段设置成Drni_Portal_System_Port_Conversation)以便进行DRCPDU传送;
否则,如果Drni_Three_System_Portal == 1;
准备端口对话向量TLV(其中其TLV长度设置成1024个八位字节,并且其Port_Conversation字段设置成Drni_Port_Conversation)以便进行DRCPDU传送;
如果GatewayConversationTransmit和PortConversationTransmit均为“真”,并且如果;
Drni_Common_Methods为“真”,则;
网关对话向量TLV或端口对话向量TLV便足以准备进行DRCPDU传送,这是因为每个对话向量TLV可适用于网关和端口分发;
否则,如果Drni_Common_Methods为“假”,并且Drni_Three_System_Portal == 1;
将准备一个包括网关对话向量TLV,并且另一个包括端口对话向量TLV的两个单独DRCPDU以便进行使所有其它TLV相同的传送。
对话向量TLV如果存在,则应被插入在对话向量指示符TLV与DRCP状态TLV之间。
• DRCP状态。
• 归属门户系统和任何其它门户系统(其形成门户的能力已得到验证)的操作聚合端口、管理聚合器密钥和操作同伴聚合器密钥。
• 用于在Drni_Portal_System_State[]中每个门户系统的操作网关序号,并且如果HomeGatewayVectorTransmit和/或OtherGatewayVectorTransmit设置成“真”,并且对话向量TLV的潜在存在不会产生具有长度大于支持该IPP的接入方法所允许的最大值的DRCPDU,则分别为关联归属网关向量和/或其它网关向量。
另外,如果系统配置成使用通过在aDrniEncapsulationMethod中配置非空值而指定的网络/IPL共享方法之一,则另外的网络/IPL共享TLV将需要附连到主DRCPDU,携带如指定的适当操作值。
当周期性机器处在NO_PERIODIC状态中时,传送机应:
• 不传送任何DRCPDU,以及
• 将NTTDRCPDU的值设置成“假”。
当DRCP_Enabled变量为“真”并且NTTDRCPDU变量为“真”时,传送机可确保以在任何Fast_Periodic_Time间隔中可传送不超过特定数量的LACPDU的限制为依据,传送正确格式化的DRCPDU[即,发出DRCPCtrlMuxN:M_UNITDATA.Request(DRCPDU)服务原语]。特定数量可取决于实现而改变(例如,10个或20个)。如果在此限制生效时将NTTDRCPDU设置成“真”,则传送可能被延迟,直至诸如限制不再生效的时间。在传送机已传送包含如上文指定的所有要求字段的DRCPDU时,可将NTTDRCPDU变量设置成“假”。
如果由于以上限制而延迟了DRCPDU的传送,则在DRCPDU中发送的信息对应于在传送时而不是在首次将NTTDRCPDU设置成“真”时用于IPP的操作值。换而言之,与将消息排成队列以便进行传送相对,DRCPDU传送模型是基于出现传送机会时当前的状态信息的传送。
在DRCP_Enabled变量为“假”时,传送机可不传送任何DRCPDU,并且可将NTTDRCPDU的值设置成“假”。
网络/IPL共享机
网络/IPL共享机可通过其关联参数,实现在图30中指定的功能。对于支持的网络/IPL共享方法,门户系统中的每IPP存在一个网络/IPL共享机。仅在实现网络/IPL共享方法、网络/IPL按时间共享、网络/IPL按标签共享或网络/IPL按封装共享时才要求此机器。
只有在相同端口上接收到的DRCPDU报告通过邻居门户系统的相同网络/IPL共享配置时,对应于下文讨论的图31的方法3100的网络/IPL共享机才实现传送和操纵在共享网络/IPL链路上发送的帧,由此导致多个IPL和网络链路共享相同的物理链路或链路聚合。
该状态机具有三个状态。它们如下所述:
NO_MANIPULATED_FRAMES_SENT。在此状态中时,仅物理或聚合链路能够支持IPL。
TIME_SHARED_METHOD。在此状态中时,启用上文指定的网络/IPL按时间共享方法。
MANIPULATED_FRAMES_SENT。在此状态中时,启用如aDrniEncapsulationMethod选择的网络/IPL共享方法所规定的网络/IPL按标签共享或网络/IPL按封装共享的标签操纵方法。
在NO_MANIPULATED_FRAMES_SENT中初始化系统,并且在专用物理链路上发送IPL帧。如果归属门户系统配置用于网络/IPL按时间共享操作模式(在aDrniEncapsulationMethod中值1指示的),则如果DRX状态机(DRX-图8)将CC_Time_Shared设置成“真”(指示在此IPP上的邻居门户系统也已配置用于网络/IPL按时间共享操作模式),系统将转变为TIME_SHARED_METHOD。系统保持在TIME_SHARED_METHOD状态中,直至接收到的DRCPDU将CC_Time_Shared设置成“假”,这触发状态转变为NO_MANIPULATED_FRAMES_SENT状态,并且IPL帧在专用物理链路上发送。
类似地,如果归属门户系统配置用于网络/IPL按标签共享或网络/IPL按封装共享操作模式(如在aDrniEncapsulationMethod中的值指示的),则如果DRX状态机(DRX-图8)将CC_EncTag_Shared设置成“真”(指示在此IPP上的邻居门户系统也分别配置用于网络/IPL按标签共享或网络/IPL按封装共享操作模式),系统将转变为MANIPULATED_FRAMES_SENT。系统保持在MANIPULATED_FRAMES_SENT状态中,直至接收到的DRCPDU将CC_EncTag_Shared设置成“假”,这触发状态转变为NO_MANIPULATED_FRAMES_SENT状态,并且在专用物理链路上发送IPL帧。
图31根据本发明的实施例,示出用于在节点处进行网络/IPL共享的方法。方法3100可以在诸如图1B的节点K-O和图1C的网络装置132和134等作为DRNI的一部分的DRCP门户(称为本地门户)的DRCP节点(也称为门户的门户系统,例如,网络装置)上实现。注意,可选步骤示为如在图31中示出的虚线框。
在标号3102,DRCP节点(本地门户系统)是在正常操作状态中,并且IPL帧通过专用物理链路或聚合链路向邻居DRCP节点(邻居门户系统)传送。在标号3104,确定是否与邻居节点一致地配置该节点。例如,这可使用至少记录在来自邻居节点的用于网络/IPL共享的TLV中携带的参数值的诸如recordNeighborState等参数记录函数来执行,例如,表6中的字段DRF_Home_Network/IPL_sharing_method。随后,可比较记录的参数值和节点使用的当前对应参数值。在在节点中实现网络/IPL共享的情况下,并且在在这些节点中一致地配置参数值的情况下,该方法继续进行到标号3106,其中使用网络/IPL共享将帧从节点传送到邻居节点。
可选地,节点继续使用一致的网络/IPL共享方法,直至在标号3108,它在邻居节点处检测到网络/IPL共享的更改。例如,CC_Time_Shared或CC_Enctag_Shared指示归属/邻居节点使用一致的共享方法。在这两个节点不使用一致的共享方法时,流程返回到标号3102,其中使用专用链路或链路聚合。
本发明的实施例提供了支持链路聚合群组中的网络和端口间链路共享,以便端口间链路可与其它端口间链路或网络链路共享物理链路的有效方法。
在DRCP与LACP状态之间的协调:第一实施例集合
在如图1B-1C中所示的DRNI门户系统中,DRCP和LACP状态应一致以便系统正确工作。在图1C中,一致性更易于保持。参照图1C,在网络装置130与网络装置134之间的链路是工作链路(链路172),并且在网络装置130与网络装置132之间的链路是用于服务的保护链路(链路174)。在网络装置134与132之间的IPL链路(未示出)使其DRCP状态处于同步。从网络装置130(带有单个节点的门户142)的角度而言,它连接到单个系统(门户144),并且没有关于网络装置132或134的信息单独明确传递到网络装置130。
在网络装置132与134之间的IPL链路出故障时,网络装置134(当前为工作节点)和132(当前为保护节点)均尝试接管作为传送业务的节点;从其各自角度而言,未在正确操作的是相邻节点。作为保护节点的网络装置132将更新其LAG标识符(ID)以避免出现其中链路130-132和130-134(分别为链路172和174)携带重复业务的情况。在门户142,哪个链路将保持处于链路聚合群组中(即,工作链路)的确定是基于网络装置130所做的决定,网络装置130应用正常链路聚合操作以做出选择。具体而言,网络装置130将链路130-132搁置以检查链路130-134是否仍在链路聚合群组中(即,携带业务的工作链路)。如果链路130-134不在链路聚合群组中,则它在链路130-132上启用业务。在网络装置134与132之间的IPL链路再次正常运转时,更新DRCP状态并且保持阻止链路130-132,以及LACP状态在整个过程中使链路130-134保持为工作链路(因此无业务中断)。
对于DRCP系统(其中每个门户包含不止一个网络装置),保持在DRCP和LACP状态之间的一致性花费更多努力。需要在门户和节点之间交换另外的信息以使门户同步。具体而言,可引入至少两个操作密钥(每个操作同伴门户系统一个)以协调同步。一个操作密钥是操作同伴聚合器密钥。操作同伴聚合器密钥与节点的聚合链路聚合群组标识符(LAG ID)关联(节点是同伴节点)。操作同伴聚合器密钥在DRCPDU中传送。在一个实施例中,操作同伴聚合器密钥存储在称为DRF_Home_Oper_Partner_Aggregator_Key的变量中,该变量被定义为与上文讨论的网络装置(门户的节点)的LAG ID关联的操作同伴聚合器密钥。另一个操作密钥是用于同伴门户中每个同伴门户系统的操作密钥。操作邻居的门户密钥也与节点的LAGID关联(节点是邻居节点)。操作邻居(最接近的邻居或远程邻居)门户密钥在DRCPDU中传送。在一个实施例中,操作邻居聚合器密钥存储在称为DRF_Neigbhor_Oper_Partner_Aggregator_Key(在第三门户系统的情况下称为DRF_Other_Neigbhor_Oper_Partner_Aggregator_Key)的变量中,该变量被定义为在其关联门户内端口(IPP)上最后接收到的邻居节点(或者在第三门户系统的情况下的其它邻居)的操作同伴聚合器密钥值。
对于要交换的聚合器密钥,DRCPDU可添加新字段以保留同伴操作密钥,此类字段用于在DRCPDU中携带一个节点的DRF_Home_Oper_Partner_Aggregator_Key。也可更新记录在从IPP接收到的DRCPDU中携带的邻居节点的配置的参数值的函数。诸如上文讨论的recordNeighborState等此类函数可用于将接收到的操作同伴聚合器密钥设置成最后已知的操作邻居聚合器密钥(例如,将DRF_Neigbhor_Oper_Partner_Aggregator_Key设置成等于接收到的DRF_Home_Oper_Partner_Aggregator_Key)。注意,在门户包含不止两个节点时,有多个DRF_Neigbhor_Oper_Partner_Aggregator_Key或潜在地DRF_Other_Neigbhor_Oper_Partner_Aggregator_Key被保存(每个邻居节点一个)。
参照图1B,链路K-M是工作链路,并且链路L-O是保护链路。在节点K与L之间以及在M现O之间均存在IPL链路,以便使其DRCP状态处于同步。
在网络节点M与N之间的IPL链路出故障时,用于服务的两个节点M(当前为工作节点)和O(当前为保护节点)均尝试接管作为传送业务的节点;从其各自角度而言,未在操作的是相邻节点。作为保护节点的节点O将更新其LAG标识符(ID)以避免出现其中链路K-M和L-O均携带重复业务的情况。在门户112,节点K和L需要独立地做出关于是丢弃还是允许链路K-M和L-O上的业务的决定。在一个实施例中,可以通过在邻居节点之间交换DRCPDU来做出该决定。另外,可对每个节点应用的选择逻辑进行修改以便将交换的信息考虑在内。可更新节点K和L,以仅在其操作同伴聚合器密钥是包括其操作同伴聚合器密钥及其操作邻居门户密钥(一个或更多个)的值集合的最低值时才允许业务分别经过其关联链路K-M和L-O。为使选择起作用,作为保护节点的节点O可在它更新其LAG ID时,更新其操作密钥值(在一个实施例中,使用诸如上文讨论的updateKey函数等更新函数来更新操作密钥值)。
图19根据本发明的一个实施例,示出在丢失与其邻居节点的通信时DRCP节点的操作。该方法可在耦合到一个或更多个相邻节点的任何DRCP节点实现。在1902,DRCP节点确定它不再与其一个或更多个相邻节点进行通信。通信的丢失可以是由于IPP禁用或发生故障,或者相邻节点禁用或发生故障而导致。在1904,DRCP节点随后确定它是当前不携带业务的节点。注意,DRCP节点可充当用于服务的门户的工作或保护节点。如果DRCP节点是工作节点,则不要求进一步动作,它将继续携带活动业务。如果DRCP节点是保护节点,则方法继续进行至1906,其中DRCP节点更新其操作密钥并且携带活动业务。将更新的操作密钥设置成包括每个IPP上的以下密钥的值的集合的最低数值非零值:此节点的密钥(例如,此节点的Admin_Aggregator_Key);相邻节点的密钥(例如,相邻节点的Admin_Aggregator_Key);及其它相邻节点的密钥(例如,其它相邻节点的Admin_Aggregator_Key)(在门户包含3个门户系统时)。将更新的操作密钥发送到其同伴节点。
根据实施例,因而提供了一种由包括多个网络装置的门户中的网络装置(即,耦合到至少一个邻居网络装置的网络装置)执行的方法。该方法包括确定网络装置丢失了与一个或更多个邻居网络装置的通信。随后,网络装置确定它未通过链路聚合群组携带到同伴网络装置的业务,即,它在充当保护节点。在确定网络装置是保护节点后,网络装置更新其操作密钥,并开始通过链路聚合群组携带业务。
图20根据本发明的一个实施例,示出在接收多个业务流时在与其邻居节点协调的DRCP节点的操作。该方法可在耦合到一个或更多个相邻节点的任何DRCP节点实现。在2002,DRCP节点确定它接收来自其同伴的业务。同伴可以是包含多个节点或单个节点的门户。DRCP节点可以是门户的单个节点,在此情况下,DRCP节点应用正常链路聚合操作以便如果它接收来自其同伴的多个业务时做出选择允许传递哪个业务的选择(例如,在确定链路和对应的聚合端口仍在链路聚合群组中后允许传递当前工作链路上的业务,而在确定工作链路不再是在链路聚合群组中后启用在当前保护链路上的业务)。另一方面,在2004,DRCP节点确定它耦合到至少一个邻居节点。在DRCP节点耦合到至少一个邻居节点时,仅在接收到的同伴操作密钥是门户的所有相邻节点的同伴操作密钥的最低值时,DRCP节点才允许传递来自其同伴节点的业务。在一个实施例中,这将是确定节点的DRF_Home_Oper_Partner_Aggregator_Key低于门户的所有DRF_Neighbor_Oper_Partner_Aggregator_Keys。
根据实施例,因而提供了一种由网络装置执行的方法。该方法包括确定网络装置通过链路聚合群组接收来自同伴网络装置的业务。该方法还包括确定网络装置耦合到至少一个邻居网络装置,网络装置和该至少一个邻居网络装置是门户的一部分。该方法还包括:接收同伴网络装置的操作密钥;以及基于门户的网络装置的操作密钥和同伴网络装置的操作密钥的比较,确定是否允许来自同伴网络装置的业务。这可通过确定同伴网络装置的操作密钥低于门户的网络装置的操作密钥来执行。
图27根据本发明的一个实施例,示出在通信失效条件下在与其邻居节点协调的DRCP节点的操作。方法2800可以在诸如图1B的节点K-O和图1C的网络装置132和134等作为DRNI的一部分的DRCP门户(称为本地门户)的DRCP节点(例如,网络装置)上实现,其中节点耦合到一个或更多个相邻节点。在2702,DRCP节点确定它接收来自其同们的业务。同伴可以是包含多个节点或单个节点的门户。DRCP节点可以是门户的单个节点,在此情况下,DRCP节点应用正常链路聚合操作以便如果它接收来自其同伴的多个业务做出选择允许传递哪个业务的选择(例如,在确定链路和对应的聚合端口仍在链路聚合群组中后允许传递当前工作链路上的业务,而在确定工作链路不再是在链路聚合群组中后启用在当前保护链路上的业务)。另一方面,在2704,DRCP节点确定它耦合到至少一个邻居节点。
在2706,DRCP节点确定接收到的操作密钥是否已更新。在一个实施例中,更新是由于失效/发生故障的IPL引起的。如果接收到的Partner_Oper_Key的两个最高有效位等于值2或3,并且聚合端口的Partner_Oper_Port_Priority的两个最低有效位等于值2或3,则DRCP节点能够确定同伴系统在经历失效/发生故障的IPL。
在2708,DRCP节点确定它是否与相同门户的其一个或更多个相邻节点隔离。DRCP节点可以因失效/发生故障的IPL而与其一个或更多个相邻节点隔离。在该情况下,DRCP节点确定在本地和远程门户的IPL均失效。
在2710,DRCP节点确定它是否在较高优先级的门户系统内,并且如果是,则它起作用以便防止重复业务。在一个实施例中,DRCP节点确定它是否具有比其同伴门户更高优先级的门户系统标识符(例如,在图1B,门户112可以是比门户114更高优先级的门户,在此情况下,它执行2710),并且如果它具有更高门户系统标识符,则它放弃接收到的业务。
根据实施例,因而提供了一种由网络装置执行的方法。该方法包括确定网络装置通过链路聚合群组接收来自同伴网络装置的业务。该方法还包括确定网络装置耦合到至少一个邻居网络装置,网络装置和该至少一个邻居网络装置是耦合到至少一个邻居节点的门户的一部分。该方法还包括网络装置确定接收到的操作密钥是否已更新,并且它确定它是否与相同门户的其一个或更多个相邻节点隔离。该方法还包括如果它具有比其同伴门户更高的门户系统标识符,则网络装置放弃接收到的业务。本发明的实施例因而提供了用于协调相邻节点和同伴节点的状态,以便无重复业务中断在实现DRCP的链路聚合群组中的业务接收的有效方法。
在DRCP与LACP状态之间的协调:第二实施例集合
为在DRCP与LACP状态之间进行协调,备选方式是更新一些现有函数/变量,并且如果本地和同伴DRCP节点均能够传递其IPL状态,则以不同方式操作。
图26A根据本发明的一个实施例,示出用于聚合端口的对话掩码TLV。注意,对话掩码TLV与美国专利申请No.14/135,556的图4A中所示的对话掩码TLV相同,该美国专利申请通过引用整体结合于本文中(如本文所陈述的)。图26B根据本发明的一个实施例,示出在聚合端口的对话掩码TLV内的对话掩码状态字段。图26B与美国专利申请No.14/135,556的图4B不同之处在于,在标号2611的一个字段PSI(门户状态隔离)代替预留位。此标志只可适用于门户系统,并且用于指示门户系统是否与门户()内的其它门户系统隔离。如果在此门户系统上的所有IPP上的DRF_Neighbor_Oper_DRCP_State.IPP_Activity==FALSE,则为“真”(编码为1)。否则,其值为“假”(编码为0)。
另外,可通过以下另外的操作来更新在美国专利申请号No.14/135,556中公开的ReceivedConversationMaskTLV函数:它也将用于在接收到的端口对话掩码中携带的PSI的参数值记录为用于Partner_PSI的当前操作参数值。
另外,可通过以下另外的操作来更新在美国专利申请号No.14/135,556中公开的upddateConversationMaskTLV函数:如果此函数通过DRCP门户系统实现,其中其DRF_Portal_System_Number值设置成不同于1的值,其门户系统标识符设置成在数值上低于同伴的系统标识符的值,并且PSI==Partner_PSI==TRUE,则将Comp_Oper_Conversation_Mask设置成空。
例如,参考图1B,在K/L和M/O的IPL均失效时,所有节点都将传送业务;活动节点K和M传送业务,因为它们是活动节点,并且保护节点L和M也传送业务,因为它们与活动节点隔离并且现在认为自己是活动节点。在门户112和114均支持PSI时,PSI和接收到的同伴PSI将为“真”。假设门户112是较高优先级门户(例如,门户112的系统标识符低于门户114的系统标识符,并且因此其优先级较高),则节点L确定其门户系统号(假设为2,因为它是双节点门户,并且工作节点K具有门户系统号1)不是最低的,它将更新其操作对话掩码为空,并且它不传送或接收业务。
图28根据本发明的一个实施例,示出在通信失效时DRCP节点的操作。方法2800可以在诸如图1B的节点K-O和图1C的网络装置132和134等作为DRNI的一部分的DRCP门户(称为本地门户)的DRCP节点(例如,网络装置)上实现。在2802,DRCP节点确定它不再与其一个或更多个相邻节点进行通信。通信的丢失可以是由于IPP禁用或发生故障,或者相邻节点禁用或发生故障而导致。在一个实施例中,通信的丢失可以在设置成“真”的PSI位中指示(其在上文讨论的LACPDU中通过TLV发送)。
在2804,节点确定其同伴节点不再与同伴的相邻节点进行通信。同伴节点可经其LACPDU发送其PSI状态,并且PSI将由同伴的recordReceivedConversationMaskTLV函数记录。当同伴节点不再与其相邻节点进行通信时,将接收到的PSI状态设置成“真”,在此情况下,PSI==Partner_PSI==TRUE。
在2806,节点确定其门户是比其同伴节点的门户更高优先级的门户。在一个实施例中,可基于节点和同伴节点的门户的系统标识符来确定门户是更高优先级门户。
在2808,节点确定它不是其门户的最高优先级节点。节点在其门户内的优先级可通过其门户系统号来确定,在一个实施例中,门户系统号介于1-3之间(对于多达3个节点的门户)。在一个实施例中,如果其门户系统号不是1,则节点确定它不是其门户的最高优先级节点。
在2810,节点停止传送和接收链路聚合群组的业务。在一个实施例中,节点设置其Comp_Oper_Conversation_Mask,这是由更新对话掩码函数(例如,updateConversationMask)计算的节点的操作对话掩码的操作值。
根据实施例,因而提供了一种由包括多个网络装置的门户中的网络装置(即,耦合到至少一个邻居网络装置的网络装置)执行的方法。方法包括确定其同伴节点不再与同伴的相邻节点进行通信。随后,网络装置确定其门户是比其同伴节点的门户更高优先级的门户。随后,网络装置确定它不是其门户的最高优先级节点,并且在确定时,其停止传送和接收业务。本发明的实施例因而提供了用于协调相邻节点和同伴节点的状态,以便无重复业务中断在包含DRCP的链路聚合群组中的业务接收的有效方法。
网络装置的实施例
图13是执行本文中描述的DRNI功能性的网络装置的一个实施例的图。网络装置1380能够是实现如上文关于图2所描述的链路聚合子层1370的路由器或类似装置,并且支持上文描述的链路聚合功能。网络装置1380能够包括网络处理器1300、端口集合1340、存储装置1350及类似网络装置组件。网络装置的组件通过示例而非限制的而提供。网络装置1380能够使用任意数量或类型的处理器并且以任何配置实现聚合功能和链路聚合子层1370。在其它实施例中,聚合功能和链路聚合子层及有关组件跨网络处理器集合、线卡集合及其构成通用和专用处理器或在网络装置体系结构中实现的类似组件分布。
端口1340能够经诸如以太网、光纤或类似介质的物理介质连接网络装置和任意数量的其它网络装置。网络装置1380中能够存在任意数量和种类的端口。端口1340的任意组合或子集能够作为链路聚合群组或DRNI门户进行组织和管理,其中网络装置充当聚合系统。因此,端口能够是用于一个或更多个链路聚合群组的聚合端口。
网络装置1380内的存储装置1350集合能够是任何类型的存储器装置、高速缓存、寄存器或用作工作存储器和/或持久性存储的类似存储装置。任意数量和种类的存储装置1350能够用于存储网络装置的数据,包括编程的数据和要由网络装置1380处理的接收到的数据业务。在一个实施例中,上文描述的对话服务映射摘要、对话掩码和类似数据结构的DRNI数据结构或类似组织能够存储在此类数据结构中。存储在存储装置1350中的其它数据结构能够包括上文描述的那些数据结构。在其它实施例中,这些数据结构能够被视为是独立的,并且能够跨网络装置1380内的任意数量的单独存储装置1350分布。
网络处理器1300集合能够实现如上文描述的聚合和DRNI功能及链路聚合子层1370。聚合功能能够包括一个或更多个聚合器客户端1372和链路聚合子层1370,链路聚合子层1370能够包括控制解析器/复用器1302、聚合控制器1306、帧收集器1325、帧分发器1320及DRNI 1313。
如上文进一步描述的聚合控制器1306能够实现链路聚合控制和链路聚合控制协议功能。这些功能管理链路聚合群组、DRNI门户和类似方面的配置和分配。控制解析器和复用器1302识别和转发来自在聚合端口上接收到的其它数据业务的LACPDU,并将LACPDU发送到聚合控制器1306和链路聚合子层1370内的其它数据业务。
如上文进一步描述的链路聚合子层1370根据分发算法管理帧的收集和分发。在链路聚合子层1370内,帧收集器1325接收帧,并根据跨链路聚合群组与同伴系统共享的分发算法组织它们。帧分发器1320准备并选择传出帧以便根据分发算法,通过聚合端口集合进行传送。客户端接口从一个或更多个聚合器端口1372接收帧并将帧传送到聚合器端口1372。将传入帧从帧收集器1325传递到一个或更多个聚合器客户端1372,并将传出帧从帧分发器1320传递到一个或更多个聚合器客户端1372。上文描述的DRNI功能1311由网络处理器1311执行。
虽然本发明已根据几个示例实施例描述,但本领域的技术人员将认识到本发明不限于所描述的实施例,通过在随附权利要求的精神和范围内的修改和变化,能够实践本发明。描述因此要视为是说明性的而不是限制。
Claims (20)
1.一种在网络装置支持在链路聚合群组中的分布式弹性网络互连(DRNI)的方法,其中所述网络装置和邻居网络装置包括在所述链路聚合群组的第一门户中,其中所述第一门户经所述链路聚合群组的链路与包括一个或更多个远程网络装置的第二门户耦合,并且其中所述网络装置使用门户内链路(IPL),经门户内端口(IPP)通信地耦合到所述邻居网络装置,所述方法包括:
接收(4107)分布式中继控制协议数据单元(DRCPDU),其中所述DRCPDU包括邻居网络装置的状态信息和配置信息,其中所述配置信息包括其操作聚合密钥、网关摘要和端口摘要;
确定(4202)至少一些所述接收到的配置信息不同于所述网络装置的所述配置信息;
确定(4206)所述接收到的操作聚合密钥的部分是否与所述网络装置的操作聚合密钥的对应部分相同;
在确定所述接收到的操作聚合密钥的所述部分与所述网络装置的操作聚合密钥的对应部分相同时,确定(4208)用于三个系统门户和网关算法的设置是否相同;
在确定用于三个系统门户和网关算法的设置相同时,确定(4210)所述接收到的网关摘要是否与所述网络装置的网关摘要相同;以及
在确定所述接收到的网关摘要与所述网络装置的所述网关摘要相同时,使(4212)在由所述网络装置传送到所述邻居网络装置的下一DRCPDU中不包括网关对话类型/长度/值(TLV)。
2.如权利要求1所述的方法,其中所述确定所述接收到的操作聚合密钥的所述部分是否与所述网络装置的所述操作聚合密钥的所述对应部分相同包括比较所述接收到的操作聚合密钥和所述网络装置的所述操作聚合密钥中的14个最低有效位。
3.如权利要求1所述的方法,还包括:
在确定所述接收到的网关摘要与所述网络装置的所述网关摘要不同时,向所述网络装置的传送操作指示(4226)在由所述网络装置传送到所述邻居网络装置的所述下一DRCPDU中包括网关对话TLV。
4.如权利要求3所述的方法,还包括:
确定(4228)网关对话TLV是否包括在所述接收到的DRCPDU中;以及
在确定所述网关对话TLV包括在所述接收到的DRCPDU中时,将用于邻居网络装置的操作网关对话向量的变量设置(4232)成在所述网关对话TLV中携带的网关对话向量。
5.如权利要求1所述的方法,还包括:
确定(4301)接收到的端口算法是否与所述网络装置的配置的端口算法相同;
在确定所述接收到的端口算法与所述网络装置的所述配置的端口算法相同时,确定(4302)所述接收到的端口摘要是否与所述网络装置的端口摘要相同;
在确定所述接收到的端口摘要与所述网络装置的端口摘要相同时,使(4304)在由所述网络装置传送到所述邻居网络装置的所述下一DRCPDU中不包括端口对话TLV;以及
将在所述接收到的DRCPDU中包含的所述邻居网络装置的状态信息记录(4112)为所述邻居网络装置的状态操作变量。
6.如权利要求5所述的方法,还包括:
在确定所述接收到的端口摘要与所述网络装置的所述端口摘要不同时,向所述网络装置的传送操作指示(4306)在由所述网络装置传送到所述邻居网络装置的所述下一DRCPDU中包括端口对话TLV。
7.如权利要求6所述的方法,还包括:
确定(4308)端口对话TLV是否包括在所述接收到的DRCPDU中;以及
在确定所述端口对话TLV包括在所述接收到的DRCPDU中时,将用于邻居网络装置的操作端口对话向量的变量设置(4310)成在所述端口对话TLV中携带的网关对话向量。
8.一种支持在链路聚合群组中的分布式弹性网络互连(DRNI)的网络装置,其中所述网络装置和邻居网络装置包括在所述链路聚合群组的第一门户中,其中所述第一门户经所述链路聚合群组的链路与包括一个或更多个远程网络装置的第二门户耦合,并且其中所述网络装置使用门户内链路(IPL),经门户内端口(IPP)通信地耦合到所述邻居网络装置,所述网络装置包括:
耦合到所述链路聚合群组的所述物理或聚合链路的端口(1340);以及
耦合到所述端口的网络处理器(1300),所述网络处理器执行DRNI功能(1313),所述DRNI功能操作以:接收分布式中继控制协议数据单元(DRCPUD),其中所述DRCPDU包括邻居网络装置的状态信息和配置信息,其中所述配置信息包括其操作聚合密钥、网关摘要和端口摘要;确定至少一些所述接收到的配置信息不同于所述网络装置的所述配置信息;确定所述接收到的操作聚合密钥的部分是否与所述网络装置的操作聚合密钥的对应部分相同;在确定所述接收到的操作聚合密钥的所述部分与所述网络装置的操作聚合密钥的对应部分相同时,确定用于三个系统门户和网关算法的设置是否相同;在确定用于三个系统门户和网关算法的设置相同时,确定所述接收到的网关摘要是否与所述网络装置的网关摘要相同;以及在确定所述接收到的网关摘要与所述网络装置的所述网关摘要相同时,使在由所述网络装置传送到所述邻居网络装置的下一DRCPDU中不包括网关对话类型/长度/值(TLV)。
9.如权利要求8所述的网络装置,其中所述DRNI功能还操作以:在确定所述接收到的网关摘要与所述网络装置的所述网关摘要不同时,向所述网络装置的传送操作指示在由所述网络装置传送到所述邻居网络装置的所述下一DRCPDU中包括网关对话TLV。
10.如权利要求9所述的网络装置,其中所述DRNI功能还操作以:确定网关对话TLV是否包括在所述接收到的DRCPDU中,并且在确定所述网关对话TLV包括在所述接收到的DRCPDU中时,将用于邻居网络装置的操作网关对话向量的变量设置成在所述网关对话TLV中携带的网关对话向量。
11.如权利要求8所述的网络装置,其中所述DRNI功能还操作以:确定接收到的端口算法是否与所述网络装置的配置的端口算法相同;在确定所述接收到的端口算法与所述网络装置的所述配置的端口算法相同时,确定所述接收到的端口摘要是否与所述网络装置的端口摘要相同;在确定所述接收到的端口摘要与所述网络装置的端口摘要相同时,使在由所述网络装置传送到所述邻居网络装置的下一DRCPDU中不包括端口对话TLV;以及将在所述接收到的DRCPDU中包含的所述邻居网络装置的状态信息记录为所述邻居网络装置的状态操作变量。
12.如权利要求11所述的网络装置,其中所述DRNI功能还操作以:在确定所述接收到的端口摘要与所述网络装置的所述端口摘要不同时,向所述网络装置的传送操作指示在由所述网络装置传送到所述邻居网络装置的所述下一DRCPDU中包括端口对话TLV。
13.如权利要求12所述的网络装置,其中所述DRNI功能还操作以:确定端口对话TLV是否包括在所述接收到的DRCPDU中,并且在确定所述端口对话TLV包括在所述接收到的DRCPDU中时,将用于邻居网络装置的操作端口对话向量的变量设置成在所述端口对话TLV中携带的网关对话向量。
14.一种非暂时性机器可读存储介质,具有指令存储在其中,所述指令在由处理器执行时,使所述处理器执行在网络装置支持在链路聚合群组中的分布式弹性网络互连(DRNI)的操作,其中所述网络装置和邻居网络装置包括在所述链路聚合群组的第一门户中,其中所述第一门户经所述链路聚合群组的链路与包括一个或更多个远程网络装置的第二门户耦合,并且其中所述网络装置使用门户内链路(IPL),经门户内端口(IPP)通信地耦合到所述邻居网络装置,所述操作包括:
接收(4107)分布式中继控制协议数据单元(DRCPDU),其中所述DRCPDU包括邻居网络装置的状态信息和配置信息,其中所述配置信息包括其操作聚合密钥、网关摘要和端口摘要;
确定(4202)至少一些所述接收到的配置信息不同于所述网络装置的配置信息;
确定(4206)所述接收到的操作聚合密钥的部分是否与所述网络装置的操作聚合密钥的对应部分相同;
在确定所述接收到的操作聚合密钥的所述部分与所述网络装置的操作聚合密钥的对应部分相同时,确定(4208)用于三个系统门户和网关算法的设置是否相同;
在确定用于三个系统门户和网关算法的设置相同时,确定(4210)所述接收到的网关摘要是否与所述网络装置的网关摘要相同;以及
在确定所述接收到的网关摘要与所述网络装置的所述网关摘要相同时,使(4212)在由所述网络装置传送到所述邻居网络装置的下一DRCPDU中不包括网关对话类型/长度/值(TLV)。
15.如权利要求14所述的非暂时性机器可读存储介质,其中所述确定所述接收到的操作聚合密钥的所述部分是否与所述网络装置的所述操作聚合密钥的所述对应部分相同包括比较所述接收到的操作聚合密钥和所述网络装置的所述操作聚合密钥中的14个最低有效位。
16.如权利要求14所述的非暂时性机器可读存储介质,所述操作还包括:
在确定所述接收到的网关摘要与所述网络装置的所述网关摘要不同时,向所述网络装置的传送操作指示(4226)在由所述网络装置传送到所述邻居网络装置的所述下一DRCPDU中包括网关对话TLV。
17.如权利要求16所述的非暂时性机器可读存储介质,所述操作还包括:
确定(4228)网关对话TLV是否包括在所述接收到的DRCPDU中;以及
在确定所述网关对话TLV包括在所述接收到的DRCPDU中时,将用于邻居网络装置的操作网关对话向量的变量设置(4232)成在所述网关对话TLV中携带的网关对话向量。
18.如权利要求14所述的非暂时性机器可读存储介质,所述操作还包括:
确定(4301)接收到的端口算法是否与所述网络装置的配置的端口算法相同;
在确定所述接收到的端口算法与所述网络装置的所述配置的端口算法相同时,确定(4302)所述接收到的端口摘要是否与所述网络装置的端口摘要相同;
在确定所述接收到的端口摘要与所述网络装置的端口摘要相同时,使(4304)在由所述网络装置传送到所述邻居网络装置的下一DRCPDU中不包括端口对话TLV;以及
将在所述接收到的DRCPDU中包含的所述邻居网络装置的状态信息记录(4112)为所述邻居网络装置的状态操作变量。
19.如权利要求18所述的非暂时性机器可读存储介质,所述操作还包括:
在确定所述接收到的端口摘要与所述网络装置的所述端口摘要不同时,向所述网络装置的传送操作指示(4306)在由所述网络装置传送到所述邻居网络装置的所述下一DRCPDU中包括端口对话TLV。
20.如权利要求19所述的非暂时性机器可读存储介质,所述操作还包括:
确定(4308)端口对话TLV是否包括在所述接收到的DRCPDU中;以及
在确定所述端口对话TLV包括在所述接收到的DRCPDU中时,将用于邻居网络装置的操作端口对话向量的变量设置(4310)成在所述端口对话TLV中携带的网关对话向量。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462043970P | 2014-08-29 | 2014-08-29 | |
US62/043970 | 2014-08-29 | ||
US14/838353 | 2015-08-27 | ||
US14/838,353 US9813290B2 (en) | 2014-08-29 | 2015-08-27 | Method and system for supporting distributed relay control protocol (DRCP) operations upon misconfiguration |
PCT/IB2015/056545 WO2016030864A1 (en) | 2014-08-29 | 2015-08-28 | A method and system for supporting distributed relay control protocol (drcp) operations upon misconfiguration |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106797324A true CN106797324A (zh) | 2017-05-31 |
Family
ID=54106409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580046697.9A Pending CN106797324A (zh) | 2014-08-29 | 2015-08-28 | 用于在误配置时支持分布式中继控制协议(drcp)操作的方法和系统 |
Country Status (8)
Country | Link |
---|---|
US (2) | US9813290B2 (zh) |
EP (1) | EP3186929A1 (zh) |
JP (2) | JP2017526297A (zh) |
CN (1) | CN106797324A (zh) |
AU (2) | AU2015308092A1 (zh) |
MA (1) | MA40436A (zh) |
MX (1) | MX2017002121A (zh) |
WO (1) | WO2016030864A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109644094A (zh) * | 2017-08-04 | 2019-04-16 | Oppo广东移动通信有限公司 | 信息处理方法、通信设备和计算机存储介质 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9497132B2 (en) | 2013-04-23 | 2016-11-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system of implementing conversation-sensitive collection for a link aggregation group |
US9553798B2 (en) | 2013-04-23 | 2017-01-24 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system of updating conversation allocation in link aggregation |
US9461880B2 (en) | 2013-04-23 | 2016-10-04 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for network and intra-portal link (IPL) sharing in distributed relay control protocol (DRCP) |
US9654418B2 (en) | 2013-11-05 | 2017-05-16 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system of supporting operator commands in link aggregation group |
GB2524750B (en) * | 2014-03-31 | 2021-04-21 | Metaswitch Networks Ltd | Spanning tree protocol |
US9813290B2 (en) | 2014-08-29 | 2017-11-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for supporting distributed relay control protocol (DRCP) operations upon misconfiguration |
JP2016103784A (ja) * | 2014-11-28 | 2016-06-02 | 富士通株式会社 | 監視装置、監視プログラムおよび監視方法 |
US10257019B2 (en) * | 2015-12-04 | 2019-04-09 | Arista Networks, Inc. | Link aggregation split-brain detection and recovery |
US9628374B1 (en) * | 2016-01-19 | 2017-04-18 | International Business Machines Corporation | Ethernet link aggregation with shared physical ports |
US10454766B2 (en) * | 2016-04-21 | 2019-10-22 | Super Micro Computer, Inc. | Automatic configuration of a network switch in a multi-chassis link aggregation group |
US10505655B2 (en) * | 2016-07-07 | 2019-12-10 | Infinera Corp. | FlexE GMPLS signaling extensions |
US10154006B2 (en) | 2016-07-22 | 2018-12-11 | Rockwell Automation Technologies, Inc. | Systems, methods and apparatus for supporting multiple network addressing modes |
US10218699B2 (en) * | 2016-07-22 | 2019-02-26 | Rockwell Automation Technologies, Inc. | Systems and methods for adding a non-inherent component to a device key of a networked device |
US10108238B2 (en) | 2016-07-22 | 2018-10-23 | Rockwell Automation Technologies, Inc. | Intelligent power tap for providing power and communicating in industrial automation applications |
US10126799B2 (en) | 2016-07-22 | 2018-11-13 | Rockwell Automation Technologies, Inc. | Intelligent power tap with zone control and safety zone control |
US10108216B2 (en) | 2016-07-22 | 2018-10-23 | Rockwell Automation Technologies, Inc. | Power tap with adjustable configuration |
US10440620B2 (en) | 2016-07-22 | 2019-10-08 | Rockwell Automation Technologies, Inc. | Systems and methods for bidirectional network geography delivery |
CN107872331B (zh) * | 2016-09-23 | 2020-03-10 | 华为技术有限公司 | 一种端口设置方法、装置及系统 |
JP6887436B2 (ja) * | 2016-09-30 | 2021-06-16 | 株式会社Nttドコモ | ゲートウェイ選択方法および通信システム |
WO2018058639A1 (zh) * | 2016-09-30 | 2018-04-05 | 华为技术有限公司 | 伪线负载分担的方法和设备 |
US10069949B2 (en) * | 2016-10-14 | 2018-09-04 | Honeywell International Inc. | System and method for enabling detection of messages having previously transited network devices in support of loop detection |
US12058015B2 (en) | 2016-10-21 | 2024-08-06 | Forward Networks, Inc. | Systems and methods for an interactive network analysis platform |
US10659352B2 (en) | 2017-05-31 | 2020-05-19 | Juniper Networks, Inc. | Signaling private context forwarding tables for a private forwarding layer |
US10476817B2 (en) * | 2017-05-31 | 2019-11-12 | Juniper Networks, Inc. | Transport LSP setup using selected fabric path between virtual nodes |
US10810086B2 (en) | 2017-10-19 | 2020-10-20 | Honeywell International Inc. | System and method for emulation of enhanced application module redundancy (EAM-R) |
US11140200B1 (en) | 2017-12-29 | 2021-10-05 | Juniper Networks, Inc. | Distributing a network policy using connectivity fault management |
CN108322338B (zh) * | 2018-01-23 | 2021-02-26 | 新华三技术有限公司 | 一种广播抑制方法和vtep设备 |
CN108737189B (zh) * | 2018-05-25 | 2021-11-05 | 新华三技术有限公司 | Dr设备角色更新方法及装置 |
CN110708275B (zh) | 2018-12-18 | 2020-11-06 | 新华三技术有限公司 | 一种协议报文的处理方法和装置 |
US11086731B2 (en) * | 2019-01-11 | 2021-08-10 | California Eastern Laboratories, Inc. | Gateway backup system and method |
US11233730B2 (en) * | 2019-07-09 | 2022-01-25 | Nvidia Corporation | Network routing using aggregated links |
CN112398731B (zh) * | 2019-08-15 | 2022-05-13 | 华为技术有限公司 | 一种处理报文的方法和第一网络设备 |
US11516136B2 (en) * | 2020-06-04 | 2022-11-29 | Juniper Networks, Inc. | Distributed node processing of network traffic |
US20220038443A1 (en) * | 2020-08-03 | 2022-02-03 | KELVIN r. FRANKLIN | Methods and systems of a packet orchestration to provide data encryption at the ip layer, utilizing a data link layer encryption scheme |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252459A (zh) * | 2008-03-24 | 2008-08-27 | 中兴通讯股份有限公司 | 一种设置链路端口的协议状态的方法及其监控方法 |
EP2701342A1 (en) * | 2011-04-21 | 2014-02-26 | ZTE Corporation | Method and system for implementing elastic network interface and interconnection |
US20140112191A1 (en) * | 2012-03-02 | 2014-04-24 | Telefonaktiebolagel L M Ericsson (publ) | Technique for Ensuring Congruency in Link Aggregation |
CN103780407A (zh) * | 2012-10-18 | 2014-05-07 | 中兴通讯股份有限公司 | 分布式弹性网络互连(drni)中网关动态切换方法和装置 |
CN103873336A (zh) * | 2012-12-14 | 2014-06-18 | 中兴通讯股份有限公司 | 分布式弹性网络互连的业务承载方法及装置 |
Family Cites Families (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6430183B1 (en) | 1997-09-18 | 2002-08-06 | International Business Machines Corporation | Data transmission system based upon orthogonal data stream mapping |
US6445715B1 (en) | 1998-08-27 | 2002-09-03 | Cisco Technology, Inc. | Dynamic trunk protocol |
US6553568B1 (en) | 1999-09-29 | 2003-04-22 | 3Com Corporation | Methods and systems for service level agreement enforcement on a data-over cable system |
US6687751B1 (en) | 2000-01-28 | 2004-02-03 | 3Com Corporation | Multi-point link aggregation spoofing |
US20020040389A1 (en) | 2000-10-03 | 2002-04-04 | Wirespring Technologies, Inc. | System and method for remotely-managed content distribution network |
US7787447B1 (en) | 2000-12-28 | 2010-08-31 | Nortel Networks Limited | Voice optimization in a network having voice over the internet protocol communication devices |
US6910149B2 (en) | 2001-09-24 | 2005-06-21 | Intel Corporation | Multi-device link aggregation |
US7613201B1 (en) | 2003-04-18 | 2009-11-03 | Rmi Corporation | Stacked network switch using resilient packet ring communication protocol |
US7941177B2 (en) | 2004-09-15 | 2011-05-10 | Samsung Electronics Co., Ltd | Wireless terminal apparatus for automatically changing WLAN standard and method thereof |
WO2006044820A2 (en) | 2004-10-14 | 2006-04-27 | Aventail Corporation | Rule-based routing to resources through a network |
KR100664312B1 (ko) | 2005-01-20 | 2007-01-04 | 삼성전자주식회사 | 홈 네트워크 환경에서 홈 디바이스 인증 방법 및 장치 |
US7639614B2 (en) | 2005-04-12 | 2009-12-29 | Fujitsu Limited | Distribution-tuning mechanism for link aggregation group management |
US7649846B2 (en) | 2005-04-12 | 2010-01-19 | Fujitsu Limited | Purge mechanism in link aggregation group management |
US8451713B2 (en) | 2005-04-12 | 2013-05-28 | Fujitsu Limited | Special marker message for link aggregation marker protocol |
KR100827126B1 (ko) | 2005-11-07 | 2008-05-06 | 삼성전자주식회사 | 통신 시스템에서 멀티미디어 포탈 컨텐츠 제공 방법 및시스템 |
US8054830B2 (en) | 2005-12-07 | 2011-11-08 | Alcatel Lucent | Managing the distribution of control protocol information in a network node |
US8151339B2 (en) | 2005-12-23 | 2012-04-03 | Avaya, Inc. | Method and apparatus for implementing filter rules in a network element |
US8792497B2 (en) | 2006-06-05 | 2014-07-29 | Tellabs Operations, Inc. | Method and apparatus for performing link aggregation |
JP4676403B2 (ja) | 2006-08-30 | 2011-04-27 | 株式会社日立製作所 | 通信装置及び通信システム |
US7782856B1 (en) | 2006-10-12 | 2010-08-24 | World Wide Packets, Inc. | Forwarding data packets having tags conforming to different formats |
US20080155112A1 (en) | 2006-12-22 | 2008-06-26 | Nokia Corporation | System and method for updating information feeds |
CN100512194C (zh) | 2006-12-25 | 2009-07-08 | 华为技术有限公司 | 链路聚合方法、装置、mac帧收发方法和系统 |
JP2010519833A (ja) | 2007-02-27 | 2010-06-03 | アゼリア ネットワークス | 経路距離係数によるメッシュ状ネットワークにおける無線周波数管理のための方法およびシステム |
US20080291919A1 (en) | 2007-05-25 | 2008-11-27 | Futurewei Technologies, Inc. | Traffic Distribution and Bandwidth Management for Link Aggregation |
US7869432B1 (en) | 2007-06-29 | 2011-01-11 | Force 10 Networks, Inc | Peer-to-peer link aggregation across a service provider network |
US20090073873A1 (en) | 2007-09-17 | 2009-03-19 | Integrated Device Technology, Inc. | Multiple path switch and switching algorithms |
US8081620B2 (en) | 2007-11-26 | 2011-12-20 | Alcatel Lucent | System and method for supporting link aggregation and other layer-2 protocols primarily over unidirectional links |
US8243594B1 (en) | 2007-12-10 | 2012-08-14 | Force10 Networks, Inc. | Coordinated control of multiple parallel links or link aggregations |
US8264951B2 (en) | 2007-12-19 | 2012-09-11 | Alcatel Lucent | Resilient PPP/ML-PPP services over multi-chassis APS protected routers |
JP5176604B2 (ja) | 2008-03-05 | 2013-04-03 | 富士通株式会社 | 通信装置および通信方法 |
US9747340B2 (en) | 2008-06-19 | 2017-08-29 | Microsoft Technology Licensing, Llc | Method and system of using a local hosted cache and cryptographic hash functions to reduce network traffic |
JP5168166B2 (ja) | 2009-01-21 | 2013-03-21 | 富士通株式会社 | 通信装置および通信制御方法 |
CN101610564B (zh) | 2009-04-29 | 2015-04-01 | 中兴通讯股份有限公司 | 一种下行控制信息的发送和检测方法 |
JP4883160B2 (ja) | 2009-09-30 | 2012-02-22 | 富士通株式会社 | 通信装置およびフレーム送信方法 |
WO2011083668A1 (ja) | 2010-01-05 | 2011-07-14 | 日本電気株式会社 | ネットワークシステム、コントローラ、ネットワーク制御方法 |
US20110194404A1 (en) | 2010-02-11 | 2011-08-11 | Nokia Siemens Networks Ethernet Solutions Ltd. | System and method for fast protection of dual-homed virtual private lan service (vpls) spokes |
JP5504952B2 (ja) | 2010-02-17 | 2014-05-28 | ソニー株式会社 | 通信装置及び通信方法、並びにコンピューター・プログラム |
JP5513342B2 (ja) | 2010-02-26 | 2014-06-04 | アラクサラネットワークス株式会社 | パケット中継装置 |
US8873551B2 (en) | 2010-07-30 | 2014-10-28 | Cisco Technology, Inc. | Multi-destination forwarding in network clouds which include emulated switches |
US8488608B2 (en) | 2010-08-04 | 2013-07-16 | Alcatel Lucent | System and method for traffic distribution in a multi-chassis link aggregation |
CN105099906B (zh) | 2010-09-26 | 2018-11-09 | 新华三技术有限公司 | 降低链路聚合端口报文丢失的方法及硬件控制单元 |
CN101984606A (zh) | 2010-11-15 | 2011-03-09 | 中兴通讯股份有限公司 | 基于lacp的设备级冗余保护方法及系统 |
US9219650B2 (en) | 2011-03-07 | 2015-12-22 | Hitachi, Ltd. | Network management apparatus, network management method, and network management system |
US8839023B2 (en) | 2011-03-10 | 2014-09-16 | Cisco Technology, Inc. | Transmitting network information using link or port aggregation protocols |
US8649379B2 (en) | 2011-03-15 | 2014-02-11 | Force10 Networks, Inc. | Method and apparatus for configuring a link aggregation group on a stacked switch |
US8761005B2 (en) | 2011-04-26 | 2014-06-24 | Dell Products L.P. | Multi-chassis link aggregation on network devices |
JP5765623B2 (ja) | 2011-07-19 | 2015-08-19 | 日立金属株式会社 | ネットワークシステム |
EP2820804A1 (en) | 2012-03-02 | 2015-01-07 | Telefonaktiebolaget L M Ericsson (Publ) | Technique for bundling in link aggregation |
US9270579B2 (en) | 2012-04-27 | 2016-02-23 | Cisco Technology, Inc. | Synchronization of traffic multiplexing in link aggregation |
US9374298B2 (en) | 2012-05-08 | 2016-06-21 | Cisco Technology, Inc. | Grace state and pacing in link aggregation |
US9602348B2 (en) | 2012-05-15 | 2017-03-21 | Telefonaktiebolaget Lm Ericsson | Methods and apparatus for detecting and handling split brain issues in a link aggregation group |
US8804531B2 (en) | 2012-05-21 | 2014-08-12 | Cisco Technology, Inc. | Methods and apparatus for load balancing across member ports for traffic egressing out of a port channel |
US9143439B2 (en) | 2012-07-23 | 2015-09-22 | Cisco Technology, Inc. | System and method for cluster link aggregation control in a network environment |
US20140089492A1 (en) | 2012-09-27 | 2014-03-27 | Richard B. Nelson | Data collection and control by network devices in communication networks |
CN103780500B (zh) | 2012-10-19 | 2019-06-11 | 中兴通讯股份有限公司 | 聚合组中流量双向同路的方法、装置以及系统 |
CN103780419B (zh) | 2012-10-24 | 2018-12-21 | 中兴通讯股份有限公司 | 一种分布式链路聚合组业务切换方法和装置 |
US9313116B2 (en) | 2013-02-13 | 2016-04-12 | ViaviSolutions Inc. | Enhanced retry method |
US9104643B2 (en) | 2013-03-15 | 2015-08-11 | International Business Machines Corporation | OpenFlow controller master-slave initialization protocol |
US9461880B2 (en) | 2013-04-23 | 2016-10-04 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for network and intra-portal link (IPL) sharing in distributed relay control protocol (DRCP) |
US9497132B2 (en) | 2013-04-23 | 2016-11-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system of implementing conversation-sensitive collection for a link aggregation group |
US9553798B2 (en) | 2013-04-23 | 2017-01-24 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system of updating conversation allocation in link aggregation |
US9654418B2 (en) | 2013-11-05 | 2017-05-16 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system of supporting operator commands in link aggregation group |
US9813290B2 (en) | 2014-08-29 | 2017-11-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for supporting distributed relay control protocol (DRCP) operations upon misconfiguration |
-
2015
- 2015-08-27 US US14/838,353 patent/US9813290B2/en not_active Expired - Fee Related
- 2015-08-28 MX MX2017002121A patent/MX2017002121A/es unknown
- 2015-08-28 AU AU2015308092A patent/AU2015308092A1/en not_active Abandoned
- 2015-08-28 CN CN201580046697.9A patent/CN106797324A/zh active Pending
- 2015-08-28 MA MA040436A patent/MA40436A/fr unknown
- 2015-08-28 WO PCT/IB2015/056545 patent/WO2016030864A1/en active Application Filing
- 2015-08-28 JP JP2017511729A patent/JP2017526297A/ja not_active Ceased
- 2015-08-28 EP EP15763417.1A patent/EP3186929A1/en not_active Withdrawn
-
2017
- 2017-10-23 US US15/790,870 patent/US20180302279A1/en not_active Abandoned
-
2018
- 2018-09-26 JP JP2018180721A patent/JP2019036976A/ja active Pending
- 2018-10-02 AU AU2018241052A patent/AU2018241052A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252459A (zh) * | 2008-03-24 | 2008-08-27 | 中兴通讯股份有限公司 | 一种设置链路端口的协议状态的方法及其监控方法 |
EP2701342A1 (en) * | 2011-04-21 | 2014-02-26 | ZTE Corporation | Method and system for implementing elastic network interface and interconnection |
US20140112191A1 (en) * | 2012-03-02 | 2014-04-24 | Telefonaktiebolagel L M Ericsson (publ) | Technique for Ensuring Congruency in Link Aggregation |
CN103780407A (zh) * | 2012-10-18 | 2014-05-07 | 中兴通讯股份有限公司 | 分布式弹性网络互连(drni)中网关动态切换方法和装置 |
CN103873336A (zh) * | 2012-12-14 | 2014-06-18 | 中兴通讯股份有限公司 | 分布式弹性网络互连的业务承载方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109644094A (zh) * | 2017-08-04 | 2019-04-16 | Oppo广东移动通信有限公司 | 信息处理方法、通信设备和计算机存储介质 |
CN109644094B (zh) * | 2017-08-04 | 2020-07-31 | Oppo广东移动通信有限公司 | 信息处理方法、通信设备和计算机存储介质 |
US10959214B2 (en) | 2017-08-04 | 2021-03-23 | Guangdong Oppo Mobile Telecommunications Corp. Ltd. | Information processing method, communication device, and computer storage medium for ensuring correct generation of a check bit |
Also Published As
Publication number | Publication date |
---|---|
JP2019036976A (ja) | 2019-03-07 |
EP3186929A1 (en) | 2017-07-05 |
AU2015308092A1 (en) | 2017-03-02 |
US20160065407A1 (en) | 2016-03-03 |
US9813290B2 (en) | 2017-11-07 |
JP2017526297A (ja) | 2017-09-07 |
US20180302279A1 (en) | 2018-10-18 |
MA40436A (fr) | 2016-03-03 |
AU2018241052A1 (en) | 2018-10-25 |
WO2016030864A1 (en) | 2016-03-03 |
MX2017002121A (es) | 2017-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106797324A (zh) | 用于在误配置时支持分布式中继控制协议(drcp)操作的方法和系统 | |
CN105308913B (zh) | 用于支持分布式中继控制协议(drcp)的分组数据单元(pdu)结构 | |
CN105706393B (zh) | 在链路聚合组中支持操作者命令的方法和系统 | |
CN112422398B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170531 |