堆叠报文的转发方法、装置、电子设备及可读存储介质转让专利
申请号 : CN202210005442.X
文献号 : CN114024902B
文献日 : 2022-04-08
发明人 : 彭涛 , 王东升 , 金学良 , 王冬娟 , 王海莲
申请人 : 紫光恒越技术有限公司
摘要 :
权利要求 :
1.一种堆叠报文的转发方法,其特征在于,包括:获取第一设备和第二设备之间的链路数;
根据所述链路数分别确定所述第一设备和所述第二设备的各个堆叠端口的mac地址的固定位和变化位;所述固定位是指同一设备的不同堆叠端口的mac地址相同的位;所述变化位是指同一设备的不同堆叠端口的mac地址变化的位;
根据所述第一设备的各个堆叠端口的mac地址的固定位和变化位分别为所述第一设备的各个堆叠端口配置mac地址,根据所述第二设备的各个堆叠端口的mac地址的固定位和变化位分别为所述第二设备的各个堆叠端口配置mac地址;
接收第一设备发送的堆叠报文;所述堆叠报文中封装有源mac地址和目的mac地址;
在预先建立的mac转发表中搜索所述目的mac地址,若所述mac转发表中包括与所述目的mac地址相同的参考mac地址,则确定所述参考mac地址对应的中继端口为转发端口;
通过所述转发端口将所述堆叠报文转发至第二设备中所述目的mac地址对应的堆叠端口;
所述mac转发表中记录有各个参考mac地址以及各个参考mac地址对应的中继端口;
所述第一设备的堆叠端口、所述第二设备的堆叠端口以及所述中继端口均处于同一vlan。
2.根据权利要求1所述的方法,其特征在于,所述根据所述链路数分别确定所述第一设备和所述第二设备的各个堆叠端口的mac地址的固定位和变化位,包括:根据所述链路数确定需要为所述第一设备和所述第二设备的堆叠端口分配的mac地址的数量;
根据所述mac地址的数量确定所述第一设备和所述第二设备的各个堆叠端口的mac地址的变化位;
根据所述第一设备和所述第二设备的各个堆叠端口的mac地址的变化位确定所述第一设备和所述第二设备的各个堆叠端口的mac地址的固定位。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一设备的各个堆叠端口的mac地址的固定位和变化位分别为所述第一设备的各个堆叠端口配置mac地址,根据所述第二设备的各个堆叠端口的mac地址的固定位和变化位分别为所述第二设备的各个堆叠端口配置mac地址包括:
对于所述第一设备或所述第二设备的任意一个堆叠端口,按照预设规则分别确定所述堆叠端口的mac地址的固定位的数值和变化位的数值;
将所述固定位的数值和所述变化位的数值进行组合生成所述堆叠端口的mac地址。
4.根据权利要求1所述的方法,其特征在于,所述在预先建立的mac转发表中搜索所述目的mac地址之前还包括:
从所述源mac地址中提取所述源mac地址的固定位,若确定所述源mac地址的固定位为预先存储的所述第一设备的唯一标识,则确定获取预先建立的mac转发表。
5.根据权利要求1所述的方法,其特征在于,所述在预先建立的mac转发表中搜索所述目的mac地址之后包括:
若所述mac转发表中不包括与所述目的mac地址相同的参考mac地址,则通过除接收所述堆叠报文的中继端口之外的其他中继端口对所述堆叠报文进行广播。
6.根据权利要求1所述的方法,其特征在于,所述接收第一设备发送的堆叠报文之后还包括:
在预先建立的mac转发表中搜索所述源mac地址,若所述mac转发表中不包括与所述源mac地址相同的参考mac地址,则确定所述源mac地址为新的参考mac地址;
获取接收所述堆叠报文的中继端口,确定所述接收所述堆叠报文的中继端口为所述新的参考mac地址对应的中继端口;
将所述新的参考mac地址和所述新的参考mac地址对应的中继端口添加至所述mac转发表。
7.一种堆叠报文的转发装置,其特征在于,包括:获取子模块,用于获取第一设备和第二设备之间的链路数;
mac地址固定位和变化位确定子模块,用于根据所述链路数分别确定所述第一设备和所述第二设备的各个堆叠端口的mac地址的固定位和变化位;所述固定位是指同一设备的不同堆叠端口的mac地址相同的位;所述变化位是指同一设备的不同堆叠端口的mac地址变化的位;
mac地址配置子模块,用于根据所述第一设备的各个堆叠端口的mac地址的固定位和变化位分别为所述第一设备的各个堆叠端口配置mac地址,根据所述第二设备的各个堆叠端口的mac地址的固定位和变化位分别为所述第二设备的各个堆叠端口配置mac地址;
接收模块,用于接收第一设备发送的堆叠报文;所述堆叠报文中封装有源mac地址和目的mac地址;
搜索模块,用于在预先建立的mac转发表中搜索所述目的mac地址,若所述mac转发表中包括与所述目的mac地址相同的参考mac地址,则确定所述参考mac地址对应的中继端口为转发端口;
转发模块,用于通过所述转发端口将所述堆叠报文转发至所述目的mac地址对应的第二设备的堆叠端口;
所述mac转发表中记录有各个参考mac地址以及各个参考mac地址对应的中继端口;
所述第一设备的堆叠端口、所述第二设备的堆叠端口以及所述中继端口均处于同一vlan。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1‑6任一项所述的方法的步骤。
说明书 :
堆叠报文的转发方法、装置、电子设备及可读存储介质
技术领域
背景技术
成一台“分布式设备”。堆叠通常涉及至少两个堆叠成员设备,堆叠成员设备组成堆叠组,堆
叠成员设备之间设置有堆叠链路,堆叠成员设备之间进行数据交互的是堆叠报文,堆叠报
文是将数据报文再封装一层以太网帧生成的报文,该以太网帧中包括一层mac地址。
mac地址是相同的,由此可以简化堆叠报文的转发流程,在通过二层网络时,由于整个堆叠
组中存在多条链路,为了避免转发出错,现有方案对每个链路设置不同的vlan,以进行vlan
隔离,同时对二层网络中的交换机的各个中继端口设置不同的vlan,使得交换机以准确将
堆叠报文转发到另一堆叠成员设备的同一vlan的堆叠端口。
的每个中继端口设置了vlan,该中继端口就不允许vlan为其他vlan的堆叠报文的通过,很
大程度上限制了中间二层网络部署的灵活性。
发明内容
不同堆叠端口的mac地址变化的位;
为第二设备的各个堆叠端口配置mac地址。
地址的固定位和变化位分别为第二设备的各个堆叠端口配置mac地址包括:
一方面所提供的方法的步骤。
从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备
执行实现如第一方面所提供的方法的步骤。
mac地址相同的参考mac地址,则确定参考mac地址对应的中继端口为转发端口;通过转发端
口将堆叠报文转发至第二设备中目的mac地址对应的堆叠端口;mac转发表中记录有各个参
考mac地址以及各个参考mac地址对应的中继端口;第一设备的堆叠端口、第二设备的堆叠
端口以及中继端口均处于同一vlan。本申请实施例可通过在mac转发表中查询与源mac地址
相同的参考mac地址对应的中继端口,确定中继端口为转发端口,从而能够有效穿越二层网
络,而非对堆叠链路上各个端口实施vlan隔离,提高了中间二层网络部署的灵活性。
附图说明
具体实施方式
案不构成限制。
“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件
和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组
件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该
一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件
建立连接关系。此外,这里使用的“连接”或 “耦接”可以包括无线连接或无线耦接。这里使
用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”指示实现为“A”,
或者实现为“A”,或者实现为“A和B”。
成一台“分布式设备”。使用这种虚拟换技术可以集合多台设备的硬件资源和软件处理能
力,实现多台设备的协同工作、统一管理和不间断维护。
播域,每个逻辑子网就是一个“虚拟的局域网(Virtual LAN)”。每个接入且支持vlan的交换
机的终端设备,都属于一个特定的vlan,不同vlan中的终端设备无法直接通过数据链路层
通信。
交换机),堆叠成员设备1和堆叠成员设备2之间有4条堆叠链路,堆叠成员设备1有四个堆叠
端口port1、port2、port3以及port4,堆叠成员设备2有四个堆叠端口为port1’port2’、
port3’以及port4’,LSW有四个中继端口,分别为port1’’、port2’’、port3’’、port4’’、
port5’’、port6’’、port7’’以及port8’’。如图1所示,port1、port1’’、port5’’以及port1’
属于同一条链路,port2、port2’’、port6’’以及port2’属于同一条链路,其他链路不再一一
介绍。
叠端口收到该堆叠报文后通过判断该mac地址和vlan判断该报文是否自己需要处理的堆叠
报文,为简化报文的转发流程,现有方案中的每个堆叠成员设备封装的mac地址都是固定
的,堆叠成员设备1的每个堆叠端口的mac地址均为mac1,堆叠成员设备2的每个堆叠端口的
mac地址均为mac2,即从堆叠成员设备1的四个堆叠端口发出的堆叠报文的源mac地址均为
mac1,目的mac地址均为mac2,同理从堆叠成员设备2的四个堆叠端口发出的堆叠报文的源
mac地址均为mac2,目的mac地址均为mac1,以此来简化转发堆叠报文的过程,但由于有多条
堆叠链路,为了避免转发出错,现有方案对每个链路设置不同的vlan,以进行vlan隔离,同
时对二层网络中的交换机的各个中继端口设置不同的vlan,使得交换机以准确将堆叠报文
转发到另一堆叠成员设备的同一vlan的堆叠端口,即上述port1、port1’’、port5’’以及
port1’属于同一条链路,属于同一个vlan,通过port1发出的堆叠报文,交换机只能通过
port1’’接收,通过port5’’转发至堆叠成员设备2的port1’。
的每个中继端口设置了vlan,该中继端口就不允许vlan为其他vlan的堆叠报文的通过,很
大程度上限制了中间二层网络部署的灵活性。
鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复
描述。
二层网络中的设备,可以是交换机或者具备该交换机功能的其他设备,本申请实施例对此
不作限制,后续说明以交换机为执行主体进行举例。
堆叠端口以及交换机的各个中继端口属于同一个vlan,没有对堆叠端口和中继端口设置
vlan隔离。
switches),LSW可以与堆叠成员设备1和本申请实施例堆叠报文的转发方法的执行主体即
为中间的LSW。
叠报文的堆叠端口的mac地址,目的mac地址为第二设备中接收该堆叠报文的堆叠端口的
mac地址。
mac地址和目的mac地址之后,再将该以太网帧和数据报文进行封装并转发。
报文,需对该堆叠报文进行学习,将该堆叠报文的源mac地址记录为新的参考mac地址,获取
接收该堆叠报文的中继端口,确定接收该堆叠报文的中继端口为该新的参考mac地址对应
的中继端口,将该新的参考mac地址以及该新的参考mac地址对应的中继端口记录于mac转
发表中。
接收到某堆叠报文的目的mac地址和该参考mac地址相同,则通过该中继端口即可将该堆叠
报文转发至该目的mac地址对应的堆叠端口。
参考mac地址对应的中继端口为转发端口。
帧剥离,并发送到下一模块。
口实施vlan隔离,提高了中间二层网络部署的灵活性。
不同堆叠端口的mac地址变化的位;
为第二设备的各个堆叠端口配置mac地址。
mac信息的固定位和变化位,将mac地址划分为固定位和变化位。
由于2>=64,由此可以确定需要变化的位数为6,即mac地址的后6位为变化位,由于mac地址
的长度为48位,由此可以确定mac地址的固定位为48‑6=42,即mac地址的前42位为固定位。
的固定位,通过识别mac地址的固定位可确定是第一设备或第二设备。
mac地址能够实现对各个堆叠端口进行区分,保证了在网络传输中各个堆叠端口的mac地址
是不同的,在同一个vlan中能够保证堆叠报文的能够正常转发。
一位16进制数变化,即固定位为最后一个16进制数,固定位由16进制的0变化到16进制的f,
若第一设备的mac地址的固定位为00‑01‑00‑02‑10‑0,可为第一设备的16个堆叠端口配置
的mac地址分别为00‑01‑00‑02‑10‑01、00‑01‑00‑02‑10‑02、…、00‑01‑00‑02‑10‑0f,各个
堆叠端口有相同的固定位和不同的变化位,由固定位和变化位组成的mac地址是唯一的,可
对各个堆叠端口的mac地址进行区分。
和变化位组成mac地址是不同的,在同一个vlan中能够保证堆叠报文的能够正常转发。
第二设备的堆叠端口分配16个mac地址。
为16个,若mac地址以16进制位的形式表达,则只需要最后一位变化,即固定位为最后一位
16进制数。
个堆叠端口的mac地址的固定位和变化位分别为第二设备的各个堆叠端口配置mac地址,包
括:
值进行组合生成堆叠端口的mac地址。
二设备的各个堆叠端口的固定位为00‑01‑00‑03‑10‑0,二者的固定位均由16进制的0变化
到16进制的f,将固定位和变化位进行组合可确定第一设备的各个堆叠端口的mac地址为
00‑01‑00‑02‑10‑01、00‑01‑00‑02‑10‑02、…、00‑01‑00‑02‑10‑0f,第二设备的各个堆叠端
口的mac地址分别为00‑01‑00‑03‑10‑01、00‑01‑00‑03‑10‑02、…、00‑01‑00‑03‑10‑0f。
第一设备的唯一标识,若确定源mac地址的固定位为预先存储的源mac地址的固定位为预先
存储的第一设备的唯一标识,则可以确定该堆叠报文能够被转发,是符合要求的报文,则会
确定调用预先建立的转发表。
那个端口可将该堆叠报文转发至目的mac地址对应的堆叠端口,此时通过除接收该堆叠报
文的中继端口端口之外的其他中继端口对该堆叠报文进行广播以使得目的mac地址对应的
堆叠端口接收到该堆叠报文,目的mac地址对应的堆叠端口接收到该堆叠报文之后,会对该
堆叠报文进行相应,其他堆叠端口接收到该堆叠报文之后,判断该堆叠报文不是自己的,会
将该堆叠报文进行丢弃。
查询是否存在与该源mac地址相同的参考mac地址。
则说明该mac转发表中未接收到该源mac地址对应的堆叠端口发送的堆叠报文。
至mac转发表,以使得下次接收到以该新的参考mac地址为目的mac地址的堆叠报文时,可以
直接确定该新的参考mac地址对应的中继端口为转发端口。
条链路数,可确定第一设备的各个堆叠端口的mac地址为00‑01‑00‑02‑10‑01、00‑01‑00‑
02‑10‑02、…、00‑01‑00‑02‑10‑0f,第二设备的各个堆叠端口的mac地址分别为00‑01‑00‑
03‑10‑01、00‑01‑00‑03‑10‑02、…、00‑01‑00‑03‑10‑0f。
继端口为port1’’、port2’’、port3’’和port4’’,且上述port1、port2、port1’、port2’、
port1’’、port2’’、port3’’和port4’’同属同一个vlan,堆叠成员设备1的port1的mac地址
为00‑01‑00‑02‑10‑01,port2的mac地址为00‑01‑00‑02‑10‑02,堆叠成员设备2的port1’的
mac地址为00‑01‑00‑03‑10‑01,port2’的mac地址为00‑01‑00‑03‑10‑02。
地址为00‑01‑00‑03‑10‑01,vlan为10。
空,从该mac转发表中未搜索到该源mac地址对应的参考mac地址,则确定该源mac地址为新
的参考mac地址,接收该堆叠报文的中继端口为该新的参考mac地址对应的中继端口,并将
该新的参考mac地址以及新的参考mac地址加入mac转发表,如表1所示,表1显示为将该新的
参考mac地址以及新的参考mac地址加入mac转发表后mac地址的内容,该表中还包括发送该
堆叠报文的堆叠端口所属的vlan。
port2’’、port3’’、port4’’对该堆叠报文进行广播,分别发送至堆叠成员设备1的堆叠端口
port2以及堆叠成员设备2的堆叠端口port1’和port2’,堆叠成员设备2的port1’收到该堆
叠报文后,检测到该堆叠报文的目的mac地址是自己的,会对该堆叠报文进行响应,同时在
检测该堆叠报文符合条件后将以太头剥离,将数据报文发送到下一个模块进行正常处理;
堆叠成员设备1的port1和堆叠成员设备2的port2’判读该堆叠报文不是自己的,直接将该
堆叠报文进行丢弃。
后,生成的mac转发表如表2所示。
活,同时也在一定程度上降低了堆叠成员设备的vlan消耗。
的mac地址相同的位;变化位是指同一设备的不同堆叠端口的mac地址变化的位;
址的固定位和变化位分别为第二设备的各个堆叠端口配置mac地址。
定位的数值和变化位的数值;将固定位的数值和变化位的数值进行组合生成堆叠端口的
mac地址。
址;
应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,
此处不再赘述。
术相比可实现:通过接收第一设备发送的堆叠报文;堆叠报文中封装有源mac地址和目的
mac地址;在预先建立的mac转发表中搜索目的mac地址,若mac转发表中包括与目的mac地址
相同的参考mac地址,则确定参考mac地址对应的中继端口为转发端口;通过转发端口将堆
叠报文转发至第二设备中目的mac地址对应的堆叠端口;mac转发表中记录有各个参考mac
地址以及各个参考mac地址对应的中继端口;第一设备的堆叠端口、第二设备的堆叠端口以
及中继端口均处于同一vlan。本申请实施例可通过在mac转发表中查询与mac地址相同的参
考mac地址对应的中继端口,确定中继端口为转发端口,从而能够有效穿越二层网络,而非
对堆叠链路上各个端口实施vlan隔离,提高了中间二层网络部署的灵活性。
连。可选地,电子设备5000还可以包括收发器5004,收发器5004可以用于该电子设备与其他
电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中
收发器5004不限于一个,该电子设备5000的结构并不构成对本申请实施例的限定。
Integrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编
程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以
实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器
5001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的
组合等。
Industry Standard Architecture,扩展工业标准结构)总线等。总线5002可以分为地址总
线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总
线或一种类型的总线。
信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically Erasable
Programmable Read Only Memory,电可擦可编程只读存储器)、CD‑ROM(Compact Disc
Read Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数
字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算
机程序并能够由计算机读取的任何其他介质,在此不做限定。
步骤。
导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。
有技术相比可实现:通过接收第一设备发送的堆叠报文;堆叠报文中封装有源mac地址和目
的mac地址;在预先建立的mac转发表中搜索目的mac地址,若mac转发表中包括与目的mac地
址相同的参考mac地址,则确定参考mac地址对应的中继端口为转发端口;通过转发端口将
堆叠报文转发至第二设备中目的mac地址对应的堆叠端口;mac转发表中记录有各个参考
mac地址以及各个参考mac地址对应的中继端口;第一设备的堆叠端口、第二设备的堆叠端
口以及中继端口均处于同一vlan。本申请实施例可通过在mac转发表中查询与mac地址相同
的参考mac地址对应的中继端口,确定中继端口为转发端口,从而能够有效穿越二层网络,
而非对堆叠链路上各个端口实施vlan隔离,提高了中间二层网络部署的灵活性。
于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算
机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携
式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器
(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或
者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序
的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公
开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中
承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电
磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储
介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由
指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程
序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的
任意合适的组合。
第一设备发送的堆叠报文;堆叠报文中封装有源mac地址和目的mac地址;在预先建立的mac
转发表中搜索目的mac地址,若mac转发表中包括与目的mac地址相同的参考mac地址,则确
定参考mac地址对应的中继端口为转发端口;通过转发端口将堆叠报文转发至第二设备中
目的mac地址对应的堆叠端口;mac转发表中记录有各个参考mac地址以及各个参考mac地址
对应的中继端口;第一设备的堆叠端口、第二设备的堆叠端口以及中继端口均处于同一
vlan。本申请实施例可通过在mac转发表中查询与mac地址相同的参考mac地址对应的中继
端口,确定中继端口为转发端口,从而能够有效穿越二层网络,而非对堆叠链路上各个端口
实施vlan隔离,提高了中间二层网络部署的灵活性。
申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。
此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个
阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段
中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这
些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
其他类似实施手段,同样属于本申请实施例的保护范畴。