本发明涉及通信技术领域,尤其是一种交换机配置map的方法及交换机。
背景技术:
随着因特网的大规模发展,作为计算机网络关键设备之一的交换机发挥着举足轻重的作用。交换机又叫交换式集线器,是一种对电信号进行转发的网络设备,可以为接入交换机的任意两个网络节点提供独享的电信号通路,提升宽带利用效率,即通过交换机,可以将接入的信息重新进行生成,再通过内部处理转发到制定的端口,达到自动寻址和交换的作用,从而避免出现端口冲突的问题,防止传输冲突、提升网络吞吐。
但是当前物理交换机系统配置map(转发关系)需要人为操作,其配置效率低、交换机管理难度高。
技术实现要素:
本发明针对上述现有技术存在的问题作出改进,即本发明的目的是提供一种交换机配置map的方法及交换机,以解决上述现有技术中所存在的物理交换机系统配置map需要人为配置map配置的问题,实现便捷系统配置的目的。
本发明提供的技术方案如下:
一种交换机配置map的方法,包括步骤:
接收控制报文,并判断所述控制报文是否用于配置map;
当所述控制报文用于配置map时,则获取所述控制报文的实际数据长度;
根据所述控制报文的实际数据长度,识别控制报文中包含的端口信息;
根据所述端口信息配置map。
优选地,所述接收控制报文,并判断所述控制报文是否用于配置map,包括步骤:
接收报文,判断所述报文是否为控制报文;
当所述报文是控制报文,则将所述控制报文上发至处理器模块;
所述处理器模块解析所述控制报文,判断所述控制报文是否用于配置map。
优选地,所述报文包括报文类型字段,用于判断所述报文是否为控制报文,所述控制报文的报文类型字段设为eeee。
优选地,所述控制报文包括报文数据,所述报文数据包括:
代码字段,用于判断控制报文是否用于配置map;
长度字段,用于标明控制报文的实际数据长度;
数据字段,包括控制报文的实际数据;
所述控制报文的数据具体是配置map的端口信息。
优选地,所述根据所述控制报文的实际数据长度,识别控制报文中包含的端口信息,包括:
当控制报文的数据长度为2byte时,则所述控制报文的数据为第一端口的端口号和第二端口的端口号;
当控制报文的数据长度为4byte时,则所述控制报文的数据依次为第一插槽的插槽号、第一端口的端口号、第二插槽的插槽号以及第二端口的端口号,所述第一端口在所述第一插槽上,所述第二端口设在所述第二插槽上;
当控制报文的数据长度为6byte时,则所述控制报文的数据依次为第一主板的主板号、第一插槽的插槽号、第一端口的端口号、第二主板的主板号、第二插槽的插槽号、第二端口的端口号,所述第一端口在所述第一插槽上,所述第一插槽设在所述第一主板上,所述第二端口设在所述第二插槽上,所述第二插槽设在所述第二主板上。
优选地,所述控制报文的数据长度不是2byte、4byte或6byte时,则丢弃所述控制报文并结束配置map。
优选地,所述端口信息包括将配置map的两个端口的端口信息,所述根据所述端口信息配置map,包括步骤:
判断两个端口的端口信息是否相同;
当两个端口的端口信息不相同时,判断第一端口是否存在转发映射关系,判断第二端口是否存在转发映射关系;
当第一端口不存在map关系且第二端口不存在转发映射关系时,建立第一端口和第二端口的转发映射关系。
优选地,还包括步骤:
当第一端口存在映射转发关系时,则删除第一端口的映射转发关系;
当第二端口存在映射转发关系时,则删除第二端口的映射转发关系;
建立第一端口和第二端口的转发映射关系。
一种配置map的交换机,包括报文接收模块以及处理器模块,所述接收模块用于接收控制报文并将所述控制报文上发至处理器模块;
所述处理器模块用于判断所述控制报文是否用于配置map,且用于当所述控制报文用于配置map时获取所述控制报文的实际数据长度,用于根据所述控制报文的实际数据长度,识别控制报文中包含的端口信息,还用于根据所述端口信息配置map。
本发明实现了交换机根据控制报文来自动配置map,解决了现有技术中物理交换机系统配置map需要人为配置map配置的问题,具有管理高效、维护简便的技术效果。
附图说明
图1是本发明实施例一种交换机配置map的方法的流程示意图;
图2是本发明中控制报文的报文数据格式;
图3a是本发明中实际数据长度为2的控制报文示意图;
图3b是本发明中实际数据长度为4的控制报文示意图;
图3c是本发明中实际数据长度为6的控制报文示意图;
图4是本发明实施例一种配置map的交换机的模块示意图;
图5是本发明一种交换机配置map的详细流程示意图。
具体实施方式
为了使本领域相关技术人员更好地理解本发明的技术方案,下面将结合本发明实施方式的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。
实施例一
本实施例一是一种交换机配置map的方法,如图1所示,包括以下步骤。
s100,接收控制报文,并判断所述控制报文是否用于配置map。
交换机接收报文,并判断该报文的报文类型,即是控制报文还是普通数据报文。报文包括一报文类型字段,控制报文的报文类型字段被设为eeee。交换机就是根据该报文类型字段来判断接收到的报文的报文类型,当得到该条报文的报文类型字段是eeee时则确定该条报文是控制报文。
对于控制报文,交换机将该控制报文上发至处理器模块。
处理器模块接收到该控制报文后,解析该控制报文,即利用xor算法根据密钥解密数据,并且判断该控制报文是否用于配置map。控制报文包括报文数据,如图2所示,该报文数据包括:
代码字段,用于判断控制报文是否用于配置map,比如代码字段是01则该条控制报文用来配置map,代码字段是其他则该条报文用来控制其他转发事项;
长度字段,用于标明控制报文的实际数据长度;
数据字段,包括控制报文的实际数据;
所述控制报文的实际数据具体是配置map的端口信息。
s200,当所述控制报文用于配置map时,则获取所述控制报文的实际数据长度。本实施例可根据控制报文的报文数据中的长度字段来获取控制报文的实际数据长度。
s300,根据所述控制报文的实际数据长度,识别控制报文中包含的端口信息。
本步骤优选包括:
当控制报文的实际数据长度为2byte时,则所述控制报文的实际数据为第一端口的端口号和第二端口的端口号;
当控制报文的实际数据长度为4byte时,则所述控制报文的实际数据依次为第一插槽的插槽号、第一端口的端口号、第二插槽的插槽号以及第二端口的端口号,所述第一端口在所述第一插槽上,所述第二端口设在所述第二插槽上;
当控制报文的数据长度为6byte时,则所述控制报文的实际数据依次为第一主板的主板号、第一插槽的插槽号、第一端口的端口号、第二主板的主板号、第二插槽的插槽号、第二端口的端口号,所述第一端口在所述第一插槽上,所述第一插槽设在所述第一主板上,所述第二端口设在所述第二插槽上,所述第二插槽设在所述第二主板上;
当控制报文的实际数据长度不是2byte、4byte或6byte时,则丢弃控制报文并结束配置map。
例如实例:匹配端口1.1.1和端口1.1.10
当控制报文的实际数据长度为2byte时,报文如图3a所示,
mac:type(类型):0xeeee,类型字段a1为eeee,代码字段a2为01,长度字段a3为02,数据字段a4为010a。
当控制报文的实际数据长度为4byte时,报文如图3b所示,
mac:type(类型):0xeeee,类型字段b1为eeee,代码字段b2为01,长度字段b3为04,数据字段b4为0101010a。
当控制报文的实际数据长度为6byte时,报文如图3c所示,
mac:type(类型):0xeeee,类型字段为eeee,代码字段为01,长度字段为06,数据字段为01010101010a。
s400,根据所述端口信息配置map。端口信息包括将配置map的两个端口的端口信息。
在配置map前,先判断两个端口的端口信息是否相同;
当两个端口的端口信息不相同时,判断第一端口是否存在转发映射关系,判断第二端口是否存在转发映射关系(map关系);
当第一端口不存在转发映射关系且第二端口不存在转发映射关系时,建立第一端口和第二端口的转发映射关系。
先判断两个端口信息是否一样,是为了排除两个端口为同一个端口而导致map错误的情况。在确认第一端口和第二端口都不存在转发映射关系的情况下,再建立第一端口和第二端口的转发映射关系,是为了避免出现端口重复映射的情况。
另外,当第一端口存在映射转发关系时,则删除第一端口的映射转发关系;当第二端口存在映射转发关系时,则删除第二端口的映射转发关系;
在删除第一端口的映射转发关系和第二端口的映射转发关系后,第一端口和第二端口都不存在映射转发关系,建立第一端口和第二端口的转发映射关系。
在本实施例中,处理器模块在接收到控制报文后,在解析所述控制报文前,优选还包括步骤:解密所述控制报文。
本实施例的报文采用xor加密(异或加密),异或解密算法是指明文用一个关键字做异或运算以产生密文。因为用同一值去异或两次就可以恢复出原来的值,所以加密和解密都严格采用同一程序。即:
pxork=c
cxork=p
p表示未加密的数据,k是加密密钥,c是加密后数据。
本实施例控制报文数据(包括代码字段、长度字段和数据字段)需要加密的最大长度为8byte。密钥k为8byte,发送数据每个byte对应密钥k的一个byte,如果报文数据小于8,则按顺序取密钥。系统默认密钥为centec。
系统提供配置密钥的命令,同时提供取消密钥命令。
加密示例:
01020102==>加密数据:78636f65
010401010102==>加密数据:78656f666d6b
0106010101010102==>加密数据:78676f666d68606c
左边是未加密的控制报文数据,右边是加密后的控制报文数据。
解密示例:
78636f65==>01020102
78656f666d6b==>010401010102
78676f666d68606c==>0106010101010102
左边是加密的控制报文数据,右边是解密后的控制报文数据。
在本实施例中,交换机接收报文,先根据报文中的报文类型字段判断所述报文的报文类型,当报文是控制报文时,将控制报文上发至处理器模块。处理器模块接收控制报文,解密该控制报文,解析该控制报文。根据控制报文的代码字段判断该控制报文是否用于配置map。当控制报文用于配置map时,再根据控制报文的长度字段获得控制报文的实际数据长度,然后再根据实际数据长度和数据字段来获得配置map的端口信息。最后根据配置map的端口信息建立转发映射关系。
本实施例实现了交换机根据控制报文来自动配置map,解决了现有技术中物理交换机系统配置map需要人为配置map配置的问题,具有管理高效、维护简便的技术效果。
本实施例的控制报文的报文数据包括代码字段、长度字段以及数据字段,该数据字段依次包括配置map的端口信息,这种格式使得处理器能快速的获知该控制报文的目的,以及配置map的端口信息,进而建立转发关系,提高了处理器的处理速度。
实施例二
本实施例二是一种配置map的交换机,应用实施例一的交换机配置map的方法,如图4所示,包括报文转发模块以及处理器模块。该报文转发模块用于接收控制报文并将所述控制报文上发至处理器模块。该处理器模块用于判断所述控制报文是否用于配置map,且用于当所述控制报文用于配置map时获取所述控制报文的数据长度,用于根据所述控制报文的数据长度,识别控制报文中包含的端口信息,还用于根据所述端口信息配置map。
本实施例的交换机根据控制报文来自动配置map,解决了现有技术中物理交换机系统配置map需要人为配置map配置的问题,具有管理高效、维护简便的技术效果。
下面结合图5详细说明本实施例交换机根据控制报文配置map的过程。
s501,芯片收到报文,即交换机的报文转发模块接收报文;
s502,报文转发模块判断该报文类型是否为控制报文,例如类型字段是否为eeee;当判断结果为是时,执行s503;当判断结果为否时,则执行s504;
s503,将控制报文上报cpu。s504,将报文丢弃。
s505,cpu处理报文数据,利用xor算法根据密钥解密数据;
s506,判断代码字段(code)是否为01;当判断结果为是时,则执行步骤s507;当判断结果为否时,则执行步骤s508丢弃该报文,结束配置map;
s507,判断长度字段是否为2;当判断结果为是时,则执行步骤s509获取数据字段porta端口号和portb端口号,执行s514;当判断结果为否时,则执行步骤s510;
s510,判断长度字段是否为4;当判断结果为是时,则执行步骤s511获取数据字段表示slota插槽号、porta端口号、slotb插槽号和portb端口号,执行s514;当判断结果为否时,执行步骤s512;
s512,判断长度字段是否为6;当判断结果为是时,则执行步骤s513获取数据字段表示chassisa主板号、slota插槽号、porta端口号、chassisb主板号、slotb插槽号、portb端口号,执行s514;当判断结果为否时,结束配置map。
s514,判断porta和portb是否相同;当判断结果为是,则结束配置map;当判断结果为否时,则执行步骤s515;
s515,判断porta是否存在map关系;当判断结果为是时,则执行步骤s516删除porta其他map关系,执行步骤s517;当判断结果为否时,则执行步骤s517;
s517,判断portb是否存在map关系;当判断结果为是时,则执行步骤s518删除portb其他map关系,执行步骤s519;
s519,建立porta和portb转发关系;
结束配置map。
以上仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。