专利名称:一种实现快速以太环网的方法及交换设备的制作方法
技术领域:
本发明涉及以太网协议技术领域,尤其涉及一种实现快速以太环网的方法和交 换设备。
背景技术:
快速以太环网协议,如以太网自动保护交换(EAPS)协议,规定在以太环网上有 一个主节点和若干个传输节点,其中主节点检测环路故障,负责数据的保护和切换。在现有的EAPS协议中,主节点和传输节点的角色由用户静态配置,配置比较麻 烦。并且,用户配置环上某个节点交换机为主节点后,该节点就一直是主节点,直到用 户修改节点角色为止,这样就给攻击者提供了攻击主节点的机会。
发明内容
本发明提出了一种实现快速以太环网的方法,能够使以太环网中的各个节点自 动选举出主节点,无需用户配置。本发明还提出一种交换设备,应用于包括多个交换设备的以太环网,能够自动 选举出该以太环网中的主节点,无需用户配置。本发明的技术方案是这样实现的一种实现快速以太环网的方法,应用于包括多个节点的以太网,所述方法包 括所述以太网中的各个节点分别执行以下步骤A、通过与相邻节点互相发送通信检测报文,判断与相邻节点之间的链路是否正 常,如果正常,则执行步骤B;B、周期性地发送选举报文,所述选举报文携带该节点的EID,所述EID由该节 点的MAC地址和随机生成的RND组成;接收来自其他节点的选举报文,从接收的选举 报文中获取该其他节点的EID,比较该节点的EID与其他节点的EID,按照预先设定的选 举规则并根据比较结果判断自身是否为传输节点,如果是,则将自身身份转换为传输节 点,停止发送选举报文;否则,继续发送选举报文;C、当节点接收到自身发送的选举报文时,将自身身份转换为主节点,将所述以 太网配置成以太环网。一种交换设备,应用于包括多个交换设备的以太网,包括通信检测单元,用于通过与相邻交换设备互相发送通信检测报文,判断所述交 换设备与相邻交换设备之间的链路是否正常,如果正常,则通知选举单元选举主节点;所述选举单元,用于当接到通信检测单元的通知后,周期性地发送选举报文, 所述选举报文携带该交换设备的EID,所述EID由该交换设备的MAC地址和随机生成的 RND组成;接收来自其他交换设备的选举报文,从接收的选举报文中获取该其他交换设 备的EID,比较该交换设备的EID与其他交换设备的EID,按照预先设定的选举规则并根据比较结果判断所述交换设备是否为传输节点,如果是,则将所述交换设备的身份转 换为传输节点,停止发送选举报文;还用于当接收到所述交换设备自身发送的选举报文 时,将所述交换设备的身份转换为主节点,将所述以太网配置成以太环网。可见,本发明提出的实现快速以太环网的技术方案中,由以太网中的各个节点 检测与相邻节点之间的链路是否正常;在链路正常时,相互发送通信检测报文,根据该 通信检测报文中携带的选举号以及预先设定的选举规则选举出主节点,因此无需用户配 置。
图1为本发明提出的方法中各个节点的实现流程图;图2为本发明定义的CID的结构示意图;图3为本发明定义的通信检测报文的结构示意图;图4为本发明实施例中邻居节点互发通信检测报文的举例示意图;图5为本发明定义的EID的结构示意图;图6为本发明实施例中邻居节点之间互发选举报文的举例示意7为本发明实施例中非邻居节点之间互发选举报文的举例示意图;图8为本发明实施例中环路故障时主节点消失的举例示意图;图9为本发明实施例中环路故障恢复后选出新的主节点的举例示意图;图10为本发明提出的交换设备的结构示意图。
具体实施例方式本发明提出一种实现快速以太环网的方法,该方法在网络初始状态下,由以太 网中的各个节点检测与相邻节点之间的链路是否正常,在检测到链路正常后,相互发送 通信检测报文,根据该通信检测报文中携带的选举号以及预先设定的选举规则选举出主 节点,形成以太环网。进一步地,当发生链路故障并恢复之后,从故障链路两端的两个节点中选举出 新的主节点,原先的主节点转换为传输节点,并刷新各个传输节点的转发表,建立新的 以太环网。在本发明中,以太网中的各个节点(即交换设备)具备相同的功能,如图1为本发明提出的方法中各个节点的实现流程图,包括步骤101:通过与相邻节点互相发送通信检测报文,判断与相邻节点之间的链 路是否正常,如果正常,则执行步骤102;步骤102 周期性地发送选举报文,所述选举报文携带该节点的选举号(EID), 所述EID由该节点的媒体接入控制(MAC)地址和随机生成的随机数(RND)组成;接收 来自其他节点的选举报文,从接收的选举报文中获取该其他节点的EID,比较该节点的 EID与其他节点的EID,按照预先设定的选举规则并根据比较结果判断自身是否为传输节 点,如果是,则将自身身份转换为传输节点,停止发送选举报文;否则,继续发送选举 报文;步骤103:当节点接收到自身发送的选举报文时,将自身身份转换为主节点,将所述以太网配置成以太环网。上述步骤101中,判断与相邻节点之间链路是否正常的方式为发送通信检测报文,其中,在未探测到相邻节点的通信检测号(CID)时,所述 通信检测报文携带该节点的CID;在探测到相邻节点的CID时,所述通信检测报文携带 该节点的CID和相邻节点的CID ;所述CID由节点的MAC地址和端口的PID组成;当节点收到来自相邻节点的通信检测报文时,判断该通信检测报文中携带的相 邻节点的CID与所述节点的CID是否相同,如果相同,则判定与该相邻节点之间的链路 正常。上述方法进一步包括当发生链路故障时,故障链路两端的两个传输节点分别 向主节点发送环路故障报文,向环上其他节点发送故障刷新报文,并将自身身份转换为 待选举节点;所述主节点收到环路故障报文后,将自身身份转换为传输节点;所述环上其他节点收到故障刷新报文后,刷新自身的转发表;所述两个待选举节点重新生成EID,并周期性地发送携带所述EID的选举报文; 当接收到其他节点的EID时,比较该节点的本地与其他节点的EID,按照预先设定的选 举规则并根据比较结果判断自身是否为传输节点,如果是,则将自身身份转换为传输节 点,停止发送选举报文。当所述链路故障恢复时,如果所述链路两端的其中一个待选举节点收到自身发 出的选举报文,则将自身身份转换为主节点,将所述以太网配置成新的以太环网。上述过程中,在初始状态下,设置以太网中的各个节点为待选举节点;之后, 待选举节点将转换为传输节点或主节点;当链路发生故障及恢复后,各个节点的身份又 会发生转换。各个节点在不同状态下的配置不同,其中,待选举节点的配置为将收到 的选举报文、故障刷新报文和恢复刷新报文上报至控制平面,并周期性发送选举报文。 主节点的配置与待选举节点的配置相同。传输节点的配置为不将收到的选举报文上报 至控制平面,但转发收到的选举报文;将收到的故障刷新报文和恢复刷新报文上报至控 制平面并转发;并且不发送选举报文。有了上述配置,上述过程中,节点将自身身份 转换为传输节点、主节点和待选举节点的方式分别为节点将自身的配置修改为传输节 点、主节点和待选举节点的配置。以下举具体的实施例详细介绍。首先,本发明定义了几种协议报文,包括通信检测报文,选举报文和转发表刷 新报文,其中转发表刷新报文包括故障刷新报文和恢复刷新报文。以下分别介绍(1)通信检测报文首先,本发明定义了通信检测号,称为CID,如图2为本发明定义的CID的结构 示意图,CID长度为64位,由节点的6字节的层二 MAC (简称L2-MAC)地址和16位的
端口号(简称PID)组成。本发明定义的通信检测报文包括本地CID (简称CIDJ和对端CID (简称CIDr), 如图3为本发明定义的通信检测报文的结构示意图。各节点向邻居节点发送通信检测报 文,用于检测与邻居节点之间的通信是否正常。网络中的各节点(包括主节点和传输节 点)通过FDB表的配置将收到的通信检测报文上报至控制平面。
如图4为本发明实施例中邻居节点互发通信检测报文的举例示意图。在图4中, 交换机Sl和S2是环上相邻的两台交换机,Sl的端口 Pl和S2的端口 P2连接。当Sl和 S2之间的线路信号正常时,Sl和S2互发通信检测报文。Sl发送的第一个通信检测报 文中,由于尚未探测到相邻节点,该报文中本地CID为Sl的L2-MAC地址和端口 Pl的 PID的组合,对端CID为0(当然,对端CID为0只是一种实施方式,也可以是其他预先 设定的值,只需要能够表示出Sl尚未探测到S2即可);S2发送的第一个通信检测报文 中,本地CID为S2的L2-MAC地址和端口 P2的PID的组合,对端CID为0。Sl接收到S2的通信检测报文后,由该报文获知S2的CID(也就是探测到邻居 节点S2),并在后续发送的通信检测报文中将对端CID填写为S2的CID。S2的处理同 Si。Sl接收到S2发送的通信检测报文后,发现该通信检测报文中的对端CID与Sl 的CID相同,则Sl判定Sl和S2之间链路正常。S2的处理同Si。(2)选举报文检测出与邻居节点之间的链路正常后,节点需要互发选举报文,用于选举整个 环路中的主节点。选举报文中包含8字节的选举号,选举号简称EID。通信正常后,若 节点的EID为0,则节点生成一个2字节的随机数(RND),由该随机数和该节点6字节的 L2-MAC地址组成EID,如图5所示。选举报文的目的MAC地址与现有技术中已有的Hello报文和环路故障报文的目 的MAC地址相同,在初始状态下,网络中的各节点的身份是待选举节点,各节点通过转 发数据库(FDB)表配置将收到的选举报文上报至控制平面,并通过访问控制列表(ACL) 的配置将收到的转发表刷新报文(转发表刷新报文将在后续介绍)上报至控制平面。一个节点收到其他节点的选举报文后,比较本地的EID(简称EIDJ和对端的 EID(简称EIDr),如果EE\<EIDr,则该节点将自身身份转换为传输节点,此时,传输 节点通过FDB表的配置不将收到的选举报文上报至控制平面,但转发收到的选举报文, 并且传输节点自身不发送选举报文。由于前述配置,传输节点在后续收到其他节点发送 的选举报文时,不再上报至控制平面,而是直接透传,并且传输节点自身也不再发送选 举报文,这样也就相当于传输节点已经退出了主节点的选举。另外,传输节点还通过 ACL的配置将收到的转发表刷新报文上报至控制平面并转发。若两个端口都无故障,传 输节点还需要转到临时阻塞状态,这与现有的处理方式类似。如果一个节点没有收到自身发出的选举报文,但发现自己的EID暂时最大,则 仍然保持将收到的选举报文上报至控制平面的FDB配置,并继续周期性发送选举报文。 若两个端口都无故障,则设置最后恢复的端口的数据VLAN为阻塞模式;节点也需要转 到临时阻塞状态,待临时阻塞定时器超时后,设置两个端口的数据VLAN为转发模式。 最后,如果环路完整,该节点最后将收到自己发出的选举报文,则该节点就是选举出来 的主节点。此时,主节点仍保持初始的FDB配置和ACL的配置(保持作为初始的待选 举节点时的配置与选举成为主节点后的配置相同),即,通过FDB表的配置将收到的选 举报文上报至控制平面,并通过ACL的配置将收到的转发表刷新报文上报至控制平面。 之后,主节点发送Hello报文并暂时转到预完整状态;当由预完整状态转到完整状态时, 主节点需要向环路发送恢复刷新报文,同时将自身的EID清零;传输节点收到恢复刷新报文后,需要刷新转发表,并将自身的EID清零。上述内容中,介绍了节点的初始配置(即待选举节点的配置)、传输节点的配置 和主节点的配置,其中待选举节点的配置与主节点的配置相同。这里,采用下表1对上 述配置进行归纳。
权利要求
1.一种实现快速以太环网的方法,应用于包括多个节点的以太网,其特征在于,所 述方法包括所述以太网中的各个节点分别执行以下步骤A、通过与相邻节点互相发送通信检测报文,判断与相邻节点之间的链路是否正常, 如果正常,则执行步骤B;B、周期性地发送选举报文,所述选举报文携带该节点的选举号EID,所述EID由该 节点的媒体接入控制MAC地址和随机生成的随机数RND组成;接收来自其他节点的选 举报文,从接收的选举报文中获取该其他节点的EID,比较该节点的EID与其他节点的 EID,按照预先设定的选举规则并根据比较结果判断自身是否为传输节点,如果是,则将 自身身份转换为传输节点,停止发送选举报文;否则,继续发送选举报文;C、当节点接收到自身发送的选举报文时,将自身身份转换为主节点,将所述以太网 配置成以太环网。
2.根据权利要求1所述的方法,其特征在于,所述步骤A中节点通过与相邻节点互相 发送通信检测报文,判断与相邻节点之间的链路是否正常的方式为节点发送通信检测报文,其中,在未探测到相邻节点的通信检测号CID时,所述通 信检测报文携带该节点的CID;在探测到相邻节点的CID时,所述通信检测报文携带该 节点的CID和相邻节点的CID ;所述CID由节点的MAC地址和端口的端口号PID组成; 当节点收到来自相邻节点的通信检测报文时,判断该通信检测报文中携带的相邻节 点的CID与所述节点的CID是否相同,如果相同,则判定与该相邻节点之间的链路正常。
3.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括当两个传输节点之间发生链路故障时,所述故障链路两端的两个传输节点分别向主 节点发送环路故障报文,向环上其他节点发送故障刷新报文,并将自身身份转换为待选 举节点;所述主节点收到环路故障报文后,将自身身份转换为传输节点; 所述环上其他节点收到故障刷新报文后,刷新自身的转发表; 所述两个待选举节点重新生成EID,并周期性地发送携带所述EID的选举报文;当 接收到其他节点的EID时,比较该节点的EID与其他节点的EID,按照预先设定的选举规 则并根据比较结果判断自身是否为传输节点,如果是,则将自身身份转换为传输节点, 停止发送选举报文。
4.根据权利要求3所述的方法,其特征在于,所述方法进一步包括当所述链路故障恢复时,如果所述链路两端的其中一个待选举节点收到自身发出的 选举报文,则将自身身份转换为主节点,将所述以太网配置成新的以太环网。
5.根据权利要求1或4所述的方法,其特征在于,所述主节点将以太网配置成以太环 网的方式为主节点向所述以太网中发送恢复刷新报文,同时将自身的EID清零;当传输节点收 到所述恢复刷新报文时,刷新自身的转发表,并将自身的EID清零。
6.根据权利要求4所述的方法,其特征在于,在初始状态下,设置所述以太网中的各 个节点为待选举节点,所述待选举节点的配置为将收到的选举报文、故障刷新报文和恢复刷新报文上报至控制平面,并周期性发送选举报文;所述主节点的配置与所述待选 举节点的配置相同;所述传输节点的配置为不将收到的选举报文上报至控制平面,但转发收到的选举 报文;将收到的故障刷新报文和恢复刷新报文上报至控制平面并转发;并且不发送选举 报文。所述节点将自身身份转换为传输节点、主节点和待选举节点的方式分别为节点将 自身的配置修改为所述传输节点、主节点和待选举节点的配置。
7.—种交换设备,应用于包括多个交换设备的以太网,其特征在于,所述交换设备 包括通信检测单元,用于通过与相邻交换设备互相发送通信检测报文,判断所述交换设 备与相邻交换设备之间的链路是否正常,如果正常,则通知选举单元选举主节点;所述选举单元,用于当接到通信检测单元的通知后,周期性地发送选举报文,所述 选举报文携带该交换设备的选举号EID,所述EID由该交换设备的媒体接入控制MAC地 址和随机生成的随机数RND组成;接收来自其他交换设备的选举报文,从接收的选举报 文中获取该其他交换设备的EID,比较该交换设备的EID与其他交换设备的EID,按照预 先设定的选举规则并根据比较结果判断所述交换设备是否为传输节点,如果是,则将所 述交换设备的身份转换为传输节点,停止发送选举报文;还用于当接收到所述交换设备 自身发送的选举报文时,将所述交换设备的身份转换为主节点,将所述以太网配置成以 太环网。
8.根据权利要求7所述的交换设备,其特征在于,所述通信检测单元判断交换设备与 相邻交换设备之间的链路是否正常的方式为发送通信检测报文,其中,在未探测到相邻交换设备的通信检测号CID时,所述通 信检测报文携带该交换设备的CID ;在探测到相邻交换设备的CID时,所述通信检测报 文携带该交换设备的CID和相邻交换设备的CID ;所述CID由交换设备的MAC地址和端 口的端口号PID组成;当收到来自相邻交换设备的通信检测报文时,判断该通信检测报文中携带的相邻交 换设备的CID与所述交换设备的CID是否相同,如果相同,则判定所述交换设备与该相 邻交换设备之间的链路正常。
9.根据权利要求7或8所述的交换设备,其特征在于,所述交换设备进一步包括 故障处理单元,当两个传输节点之间发生链路故障时,如果所述交换设备位于故障链路的一端,则故障处理单元向主节点发送环路故障报文,向环上其他节点发送故障刷 新报文,并将所述交换设备的身份转换为待选举节点,重新生成EID,周期性地发送携 带所述EID的选举报文;当接收到其他交换设备的EID时,比较该交换设备的EID与其 他交换设备的EID,按照预先设定的选举规则并根据比较结果判断所述交换设备是否为 传输节点,如果是,则将所述交换设备的身份转换为传输节点,停止发送选举报文; 如果所述交换设备为主节点,则故障处理单元将所述交换设备的身份转换为传输节点如果所述交换设备为传输节点,则故障处理单元收到故障刷新报文后,刷新所述交 换设备的转发表。
10.根据权利要求7、8或9所述的交换设备,其特征在于,所述交换设备进一步包括故障恢复处理单元,当链路故障恢复时,如果所述交换设备位于故障链路的一端, 则所述故障恢复处理单元接收到所述交换设备自身发送的选举报文时,将所述交换设备 的身份转换为主节点,将所述以太网配置成新的以太环网。
全文摘要
本发明提出一种实现快速以太环网的方法和交换设备,其中方法包括以太网中的各个节点分别执行以下步骤判断与相邻节点之间的链路是否正常,如果正常,则周期性地发送携带选举号(EID)的选举报文,所述EID由该节点的媒体接入控制(MAC)地址和随机生成的随机数(RND)组成;接收来自其他节点的选举报文,比较该节点的EID与其他节点的EID,按照预先设定的选举规则并根据比较结果判断自身是否为传输节点,如果是,则转换为传输节点,停止发送选举报文,否则继续发送选举报文;当节点接收到自身发送的选举报文时,转换为主节点,将所述以太网配置成以太环网。本发明能够使以太环网中的各个节点自动选举出主节点,无需用户配置。
文档编号H04L12/42GK102014001SQ20101058499
公开日2011年4月13日 申请日期2010年12月8日 优先权日2010年12月8日
发明者何三波 申请人:迈普通信技术股份有限公司