一种自动配置EAPS传输节点的方法
技术领域
本发明涉及以太网环网技术,尤其涉及以太网环网中传输节点配置的方法。
背景技术
以太网自动保护倒换(Ethernet Automatic Protocol Switching,简称EAPS)技术在RFC3619中有详细定义,其EAPS环由主节点和传输节点构成,如图1所示;环网控制工作主要由主节点(Master)完成,主节点是环网状态轮询的发起者,也是网络拓扑状态发生改变后执行操作的决策者;传输节点Transit1-Transit5负责监控与其直连的链路状态变化,若出现故障则报告给主节点。在组建EAPS环网时,需要对EAPS环上的主节点和各个传输节点分别配置。另外,在公开号为CN101013992A的中国专利“一种以太网自动保护方法”中,对EAPS技术进行了改进,特别针对多环相交提出了分段链路的概念,如图2所示,分段链路由边缘控制节点EC、边缘辅助节点EA和传输节点Transit1-Transit3构成。分段链路的控制工作由边缘控制节点和边缘辅助节点完成,组网时需要对分段链路上边缘控制节点、边缘辅助节点和各个传输节点分别进行EAPS配置。当EAPS分段链路的两个边缘节点的边缘端口都位于同一台设备上时,这时边缘控制节点和边缘辅助节点退化为一个EAPS主节点;所以,EAPS环可以说是分段链路的特殊情形。
现有技术中,配置以上所述以太环网和分段链路的各个节点主要是通过手工完成的。当EAPS环上或者分段链路上传输节点数量比较多时,如果全部通过手工配置,一是配置工作量比较大,二是配置中可能出现端口选错等类似的低级错误,而排除这些低级错误却比较耗时。
发明内容
本发明克服现有技术的缺陷,提供一种自动配置EAPS传输节点的方法,减少了手工配置EAPS传输节点的工作量,并且可以防止配置过程中出错。
一种自动配置EAPS传输节点的方法,包括如下步骤:
a、首先配置EAPS分段链路的边缘控制节点和边缘辅助节点及其边缘端口;
b、边缘控制节点利用本地系统信息和配置信息构造信息收集报文从边缘端口发送出去;
c、EAPS分段链路上每个传输节点收到信息收集报文后,复制信息收集报文,添加其基本信息在复制的信息收集报文后,并修改该复制报文中的报文长度和TTL值,从接收信息收集报文之外的端口发送出去;
d、边缘辅助节点收到信息收集报文后,解析并保存各个传输节点的基本信息;
e、边缘辅助节点利用本地配置信息和保存的传输节点基本信息,分别构造配置信息报文,依次从边缘端口发送给相应的传输节点;
f、每一个传输节点收到和其基本信息匹配的配置信息报文后,获取配置信息报文中的配置信息,并生成其相应配置。
在上述技术方案的步骤c中所述的传输节点的基本信息包括基MAC地址、主端口信息和发送端口信息,主端口为接收信息收集报文的端口,发送端口为本传输节点上主端口之外的其中一个端口。
以上步骤c进一步包括,当传输节点有多个发送端口时,传输节点会复制多个信息收集报文,然后根据每个发送端口信息分别修改复制的信息收集报文,发送时从对应的发送端口发送出去。
在上述技术方案的步骤c之前还包括,传输节点在收到信息收集报文后,判断其TTL值是否为0,若为0则丢弃。
以上步骤c进一步包括,传输节点复制信息收集报文之前,还要判断信息收集报文中是否含有虚拟局域网标签,如有则要去掉虚拟局域网标签。
以上步骤f之前还包括,传输节点收到配置信息报文后,先判断其TTL值是否为0,若为0则丢弃;若不为0,则判断该报文中的基本信息是否和本传输节点相匹配,不匹配,若含有虚拟局域网标签则去掉虚拟局域网标签,然后修改TTL值后进行广播。
以上步骤f进一步包括,所述传输节点生成其相应配置是指,先生成EAPS控制VLAN,再把端口加入控制VLAN。
具体的,所述的信息收集报文包括报文头部字段,报文头部字段采用不带标签标识的EAPS协议报文的头部格式,所述的报文头部字段中的目的MAC地址为桥协议数据单元(Bridge Protocol Data Unit,简称BPDU)的MAC地址0180.C200.0000,源MAC地址使用边缘主控节点边缘端口的MAC地址。所述的信息收集报文还包括信息头部字段,信息头部字段包括TTL字段和目的MAC地址字段,其中目的MAC地址为边缘辅助节点的边缘端口MAC地址。所述的信息收集报文还包括信息字段,所述每个传输节点的基本信息添加在信息字段内。
具体的,所述的配置信息报文包括报文头部字段,报文头部字段采用不带标签标识的EAPS协议报文的头部格式,所述的报文头部字段中的目的MAC地址为BPDU的MAC地址0180.C200.0000,源MAC地址使用边缘辅助节点边缘端口的MAC地址。所述的配置信息报文还包括置信息头部字段、信息字段;所述配置信息头部字段包括目的MAC地址字段和TTL字段,其中目的MAC地址为传输节点的基MAC地址,信息字段中为传输节点的端口信息。所述的配置信息报文还包括配置信息字段,配置信息字段包括EAPS控制VLAN、分段链路层次ID和分段链路ID配置信息。
本发明的有益效果:通过构造EAPS两个报文并进行传输,来完成EAPS分段链路或EAPS环上的传输节点的配置,减少了手工配置EAPS传输节点的工作量,并且可以防止配置过程中出错。
附图说明
图1是传统EAPS环网示意图。
图2是EAPS分段链路示意图。
图3是实施例EAPS分段链路信息收集报文格式示意图。
图4是实施例EAPS分段链路配置信息报文格式示意图。
图5是本发明应用的网络环境示意图。
图6是EAPS不支持的网络模式示意图。
图7是本发明应用的网络环境示意图。
图8是本发明应用的网络环境示意图。
具体实施方式
在EAPS环或分段链路中,如图1和图2,传输节点有两个端口进行连接,为了本发明的叙述中方便,将传输节点的端口分为主端口和副端口,将每个传输节点上接收信息收集报文的端口称为主端口,发送端口中连接同一分段链路下一个传输节点的的端口称为副端口,所以每个传输节点发送端口会有多个,但发送端口中只有一个端口为副端口。如图2所示,节点Transit1-Transit3的P端口为主端口,S为副端口。
一种自动配置EAPS传输节点的方法,首先配置EAPS分段链路的边缘控制节点和边缘辅助节点及其边缘端口;边缘控制节点根据其边缘端口MAC地址和配置的边缘辅助节点的MAC地址构造信息收集报文,并根据传输节点的数目设置TTL字段的初始值,然后边缘控制节点把信息收集报文从边缘端口发送出去。传输节点从其主端口收到信息收集报文后,先判断TTL是否为0,若为0则丢弃;否则根据发送端口的数目,复制信息收集报文,复制信息收集报文之前还要判断是否含有虚拟局域网标签标识(以下简称VLAN TAG),若含有VLAN TAG需要从信息收集报文中去掉VLAN TAG;使用本传输节点的基MAC地址、主端口信息和每个发送端口的信息分别添加在每个复制的信息收集报文的尾部,修改报文头部的长度字段和TTL字段的值,形成新的信息收集报文,分别从对应的发送端口发送出去。
边缘辅助节点收到信息收集报文后,从信息报文中解析出各个传输节点的基本信息保存在本地,依次使用这些信息构造各个传输节点的配置信息报文,然后依次通过配置信息报文对这些传输节点进行配置。某传输节点收到配置信息报文后,先检测TTL字段,若为0则丢弃该报文,否则判断报文中的基MAC地址,若与本传输节点基MAC地址同则是本机的配置信息报文,使用配置信息对本传输节点进行配置,否则,若含有VLAN TAG则去掉VLAN TAG,然后修改配置信息报文的TTL值后进行广播。
下面针对本方法中定义的信息收集报文和配置信息报文分别进行具体说明。
信息收集报文采用不带标签标识的EAPS协议报文的头部格式,包括报文头部字段、信息头部字段和信息字段三部分;报文头部字段中,源MAC地址为边缘控制节点边缘端口的MAC地址,目的MAC地址为BPDU的目的MAC地址0180.C200.0000;长度字段与以太网规范一致,表示长度字段后面所有内容的字节数。长度字段后面的14字节与EAPS报文的头部定义一样,可以认为是EAPS头部的一部分。信息头部包括6字节的目的MAC地址,即边缘辅助节点的边缘端口的MAC地址,还包括报文序号和TTL值。信息字段,表示EAPS传输节点的基MAC地址和两个端口的信息,端口信息是指接收信息收集报文的主端口信息和发送信息收集报文的端口信息;该字段的内容供边缘辅助节点配置EAPS分段链路的传输节点使用。根据传输节点的个数,一个信息收集报文中有多个信息字段。可以根据实际需要对信息头部字段和信息字段进行必要的扩充。
配置信息报文的格式也采用不带标签标识的EAPS协议报文的头部格式,分为报文头部字段、配置信息头部字段、信息字段和配置信息字段四部分。报文头部字段与信息收集报文的头部字段格式相同。而配置信息头部字段由目的MAC地址字段、TTL字段和保留字段构成。信息字段中,第一个是主端口信息,第二个是副端口信息。配置信息字段,由EAPS节点的一些基本配置信息组成,如控制VLAN、分段链路层次ID、分段链路ID等。
实施例
以下结合附图说明本发明涉及的报文结构,边缘控制节点和边缘辅助节点协调收集分段链路上传输节点信息以及配置传输节点的具体方法。
1、信息收集报文格式描述
本发明中信息收集报文如图3所示,分为报文头部字段、信息头部字段和信息字段组成。本报文的报文头部字段共28字节,是采用EAPS报文头部前32字节中去掉了标签标识(即去掉了EtherType、PRI、VLAN ID四个字节内容)的格式,EAPS报文头部的格式可参见RFC3619。下面对本报文的报文头部字段中的各字段分别进行说明:
DMAC:即目的MAC地址,为BPDU的MAC地址0180.C200.0000,从而报文可以在每个传输节点交到CPU;
SMAC:即源MAC地址,为边缘控制节点的边缘端口的MAC地址;
LEN:为2字节长度字段,指该字段后面所有报文内容的字节数,不包括此2字节;
AAAA:为LLC控制报文的标志;
03:表示控制报文;
00:采用RFC 3619定义。
E02B:采用RFC 3619定义;
00BB:采用RFC 3619定义;
990B:采用RFC 3619定义;
Elen:为EAPS净荷长度,实际指的是00BB字段后面所有内容的字节数。
01:为EAPS版本号;
Etype:为EAPS协议报文的类型,其值为20表示传输节点信息收集报文,其值为21表示配置信息报文,其值为22表示应答报文,其它值的含义在RFC3619中有说明。
信息头部共8个字节,各个字段的含义如下:
dstMacAddress:边缘辅助节点的边缘端口的MAC地址;
TTL:1字节保活字段,每经过一个传输节点,其值减1,节点设备上检测到其值为0则丢弃报文;
序列号:1字节,用于EAPS分段链路上传输设备比较很多时,一个信息收集报文的总大小超过最大IP传输单元的限制时,需要使用多个信息收集报文才能完成EAPS分段链路上所有传输节点信息的收集,该字段可以表示第几个信息收集报文。
信息字段由传输节点的基MAC地址、主端口信息和副端口信息三部分构成,其中副端口信息字段填写发送端口信息。端口信息由2字节端口索引和6字节端口MAC地址两部分构成。每个信息收集报文可以有很多个信息字段。
2、配置信息报文格式描述
配置信息报文格式如图4所示,包括报文头部字段、信息头部字段、信息字段和配置信息字段组成。其中,报文头部字段格式与信息收集报文格式完全相同。
报文头部字段中,目的MAC地址是传输节点主端口的MAC地址,即对应信息收集报文中主端口信息部分的端口MAC地址。EAPS协议报文类型的值为21。
配置信息头部字段由目的MAC地址字段,TTL字段和保留字段构成。其中目的MAC地址字段是指将要配置的传输节点的基MAC地址。
信息字段由传输节点主端口信息和副端口信息构成。同信息收集报文,端口信息包括端口索引和端口MAC地址。
配置信息字段中,包含有EAPS分段链路2字节的控制VLAN,1字节的分段链路层次ID、1字节分段链路ID。
配置信息报文中,信息字段只含有某个传输节点的信息,而信息收集报文中,含有多个传输节点的信息。
3、信息收集报文的处理过程
以图2为例说明本发明信息收集报文的处理过程。由边缘控制节点EC构造信息收集报文从边缘端口E1发出去。每一个传输节点收到信息收集报文后,根据发送端口的数目进行复制,并根据主端口信息、具体的发送端口信息和传输节点的基MAC地址作为信息字段加在复制报文的后面,修改复制报文的长度字段和信息头部字段的TTL值,形成新的信息收集报文,分别从对应发送端口发送出去。具体地说,第一跳传输节点Transit1的主端口P收到来自边缘控制节点EC的信息收集报文后,判断报文中的TTL是否为0,若为0则丢弃该信息收集报文;否则复制1份。若报文复制中含有VLAN TAG,则要去掉VLAN TAG。修改报文复制中的TTL的值,具体地说就是减1。设Transit1的基MAC地址为baseMacAdrress,主端口P的端口索引和端口MAC地址构成的端口信息为primary_port-info,发送端口S的端口索引和端口MAC地址构成second_port_info信息字段,用基MAC地址、主端口信息和副端口信息构成信息字段,加在报文复制的最后,并修改报文复制中的长度字段形成新的信息收集报文从端口S发送出去。如除去主端口以外,有多个发送端口,则Transit1会复制多份信息收集报文,并分别将每个发送端口作为副端口,分别填写到复制报文的副端口信息字段;而下一个传输节点收到的信息收集报文中的副端口信息字段的端口才是本传输节点真正的副端口信息。特别地,若发送端口为边缘端口,如图5所示,第一跳传输节点Transit1的发送端口E定义为下一层次分段链路的边缘端口,则不需要复制信息收集报文并向该端口发送。传输节点Transit2和传输节点Transit3做与传输节点Transit1同样的处理。
本发明要求边缘控制节点EC和边缘辅助节点EA之间只有一条物理链路,不能处理如图6的情况:EAPS物理分段链路挂了层次更低的EAPS物理分段链路,但更低的物理分段链路还没有配置边缘节点和边缘端口。但本发明能处理如图5、图7和图8的情形。其中,图6中,EAPS层次链路上挂的有更低EAPS物理分段链路,已经配置了边缘节点和边缘端口;在某传输节点上,收到信息收集报文后若其基MAC地址与报文中某个信息字段中的基MAC相同,则认为检测到了EAPS分段链路以外的环路,应该丢弃该信息收集报文,如图7和图8的情形。
如果传输节点太多,为了避免信息收集报文超长,可产生多个信息收集报文把所有传输节点的信息收集完。边缘控制节点发出来的信息收集报文经过某个传输节点T时,先判断报文中的TTL是否为0,若为0则丢弃该信息收集报文;当检测到信息收集报文增加了该传输节点的信息后,报文长度已经接近报文最大长度限制。先根据发送端口的数量n,复制n份C1,C2,...,Cn,若有VLAN TAG,则去其VLAN TAG。设传输节点T的基MAC地址为baseMacAdrress,主端口P的端口索引和端口MAC地址构成的端口信息为primary_port-info,发送端口Si(i=1,2,...,n)的端口索引和端口MAC地址构成信息字段second_port_infoi(i=1,2,...,n),用baseMacAddress、primary_port-info和second_port_infoi(i=1,2,...,n)构成信息字段infoi(i=1,2,...,n),把infoi(i=1,2,...,n)追加在Ci(i=1,2,...,n)的后面,并修改Ci中的长度字段、序列号、TTL等字段,形成新的信息收集报文Piv1(i=1,2,...,n)从端口i(i=1,2,...,n)发送出去。另外,把信息收集报文的报文头部字段和信息头部字段复制n份Ch1,Ch2,...,Chn,若有VLAN TAG,则去其VLAN TAG,并修改其TTL。把Chi(i=1,2,...,n)从端口i(i=1,2,...,n)发送出去,以形成第二个的信息收集报文。
为了增强可靠性,边缘控制节点以一定频率连续发3个信息收集报文。边缘辅助节点3次从边缘端口收集到的信息收集报文中包含的信息都相同时,边缘辅助节点才认为收集到的信息准确,开始依次配置所有的传输节点。
4、配置信息报文处理过程
边缘辅助节点EA将从E2接收信息收集报文,其中含有传输节点Transit1,Transit2和Transit3的信息,具体地说,是这三个传输节点的端口S和端口P的端口索引与端口MAC地址。边缘辅助节点解析出这些信息保存在本地数据库中,配置传输节点Transit1,Transit2和Transit3将使用对应的信息。当有多个信息收集报文时,边缘辅助节点还要根据信息头部字段中报文序号字段来记录EAPS分段链路上的传输节点的顺序。
边缘辅助节点EA从信息收集报文中解析出所有传输节点的信息后,分别使用这些信息构造配置信息报文从边缘端口发出去。更具体地说,0180.C200.0000作为以太头的目的MAC。使用Transit1的基MAC地址作为配置信息报文的目的MAC地址字段,主端口P的索引和端口MAC地址作信息字段的主端口信息,发送端口S的端口索引和端口MAC地址作信息字段的副端口信息,配置信息中包含边缘辅助节点的EAPS相关配置信息,使用信息字段和本地配置信息构造配置Transit1的配置信息报文并从边缘端口E2发送出去。构造传输节点Transit2和传输节点Transit3与传输节点Transit1构造发送信息报文的方式相同。
当传输节点Transit3收到配置传输节点Transit1的配置信息报文后,先检测TTL的值不为0后,又检测配置信息报文中的基MAC地址不是自己的基MAC地址,然后去掉配置信息报文的TAG,修改TTL进行广播。
传输节点Transit2从传输节点Transit3接收到配置Transit1的配置信息报文后,检测TTL的值是不为0后,又检测到配置信息报文中的基MAC地址不是自己的基MAC地址,则去掉配置信息报文的TAG修改TTL进行广播。
节点Transit1收到配置信息报文后,先检测TTL的值是否为0,若为0则丢弃;否则判断配置信息报文中的基MAC地址是否是自己的MAC地址,若是则解析出基MAC地址,两个端口的端口索引、端口MAC、控制VLAN、分段链路层次ID、分段链路ID等。检验基MAC地址和端口MAC地址的合法性,检测到错误要向边缘辅助节点报告错误。检测正确,则先生成控制VLAN,把主端口和副端口加入控制VLAN,最后生成EAPS传输节点。为了增强可靠性,边缘辅助节点可以对同一配置信息报文发送三次。
配置成功后需要从主端口P和副端口S发送EAPS协议格式TAG应答报文,TAG中的VLAN为EAPS控制VLAN。Transit2和Transit3与传输节点Transit1对配置信息报文的处理相同。当所有的传输节点都配置完成后,边缘辅助节点将收到传输节点配置完成的应答报文。