著录项信息
专利名称 | 流量转发方法及转发设备 |
申请号 | CN201110137476.6 | 申请日期 | 2011-05-25 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2011-10-05 | 公开/公告号 | CN102209035A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/70 | IPC分类号 | H;0;4;L;1;2;/;7;0查看分类表>
|
申请人 | 杭州华三通信技术有限公司 | 申请人地址 | 浙江省杭州市滨江区长河路466号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 新华三技术有限公司 | 当前权利人 | 新华三技术有限公司 |
发明人 | 周明 |
代理机构 | 北京德琦知识产权代理有限公司 | 代理人 | 王一斌;王琦 |
摘要
本发明公开了流量转发方法及转发设备。方法包括:将位于WAN与LAN之间的多个转发设备连接成一个环,环上的其中一个转发设备作为root设备,将root设备的两个环端口一个作为主用环端口,另一作为备用环端口,将备用环端口设为禁止业务转发状态,将其中一个转发设备的LAN端口设为允许业务转发状态,将其它转发设备的LAN端口都设为禁止业务转发状态;当从LAN发出的流量到达环的任一转发设备时,该转发设备将流量镜像到自身的另一环端口,同时,根据预设流量均衡算法,判断该流量是否应由自身转发给WAN,若是,将该流量转发给WAN。本发明中,LAN与WAN之间的转发设备可以实现流量均衡。
1.一种流量转发方法,其特征在于,将位于广域网WAN与局域网LAN之间的多个转发设备连接成一个环,每个转发设备分别具有用于在环上传输控制报文的管理媒体接入控制MAC地址和用于与环外设备进行流量交互的环IP地址和环MAC地址,其中,不同转发设备的管理MAC地址不同,所有转发设备的环IP地址、环MAC地址相同,该方法包括:
在所述环上与LAN直接相连的转发设备中,选举出一个转发设备作为root设备,将root设备的两个环端口一个作为主用环端口,另一个作为备用环端口,将备用环端口设为禁止业务转发状态,将其中一个转发设备的LAN端口设为允许业务转发状态,将其它转发设备的LAN端口都设为禁止业务转发状态;
当从LAN端口或环端口发出的流量到达环的任一转发设备时,该转发设备将该流量镜像到自身的环端口,同时,根据预设流量均衡算法,判断该流量是否应由自身转发给WAN,若是,将该流量转发给WAN,否则,丢弃该流量。
2.根据权利要求1所述的方法,其特征在于,所述在所述环上与LAN直接相连的转发设备中,选举出一个转发设备作为root设备是通过:环上各转发设备采用动态选举方式选举出root设备实现的,且,
在选举root设备之前,关闭各转发设备的各端口的端口镜像功能和业务转发功能;
且在选举出root设备之后,环上各转发设备开启端口镜像功能,用来将接收到的LAN中的流量镜像到环上的其他转发设备;root设备的备用端口关闭镜像功能,不具有业务转发功能;开启其中一个转发设备的LAN端口的端口镜像功能。
3.根据权利要求1所述的方法,其特征在于,每个转发设备分别具有用于在环上传输控制报文的管理媒体接入控制MAC地址,其中,不同转发设备的管理MAC地址不同;
所述在所述环上与LAN直接相连的转发设备中,选举出一个转发设备作为root设备通过如下步骤实现:
环上的各转发设备都按照预设方向从自身的一个环端口发出发现协议报文,该报文的源MAC地址为自身的管理MAC地址;
任一转发设备收到所述发现协议报文后,比较报文的源管理MAC地址与自身的管理MAC地址,若前者大于后者,则将该报文按照预设方向从自身的环端口转发给下一转发设备;否则,丢弃该报文;
当一个转发设备收到自身发送的发现协议报文时,就确认自身是root设备,并通知其它转发设备。
4.根据权利要求1或3所述的方法,其特征在于,所述在所述环上与LAN直接相连的转发设备中,选举出一个转发设备作为root设备通过如下步骤实现:
环上的各转发设备按照预设方向的反方向从自身的另一环端口发出侦测协议报文;
任一转发设备接收到侦测协议报文,返回一个侦测响应协议报文;
当一个转发设备在发出侦测协议报文后未收到侦测响应协议报文、且未收到其它转发设备发来的用于通告该其它转发设备为root设备的协议报文,则确定环发生故障,将自身选举为root设备,并通知其它转发设备。
5.根据权利要求1所述的方法,其特征在于,所述在所述环上与LAN直接相连的转发设备中,选举出一个转发设备作为root设备之后进一步包括:
root设备将流量均衡算法发送给环上的各转发设备;
所述当从LAN端口或环端口发出的流量到达环的任一转发设备时,该转发设备将该流量镜像到自身的另一环端口,同时,根据预设流量均衡算法,判断该流量是否应由自身转发给WAN,若是,将该流量转发给WAN,否则,丢弃该流量包括:
当环上的任一转发设备从LAN端口或环端口接收到流量时,将该流量镜像到自身的环端口,同时,将该流量上报给自身的CPU,CPU采用所述流量均衡算法对流量中的预定特征的值进行计算,若计算结果与自身的预设均衡值相同,则将该流量向WAN转发,否则,丢弃该流量,其中,不同转发设备的预设均衡值互不重合,且每个转发设备具有至少一个预设均衡值。
6.根据权利要求5所述的方法,其特征在于,每个转发设备分别具有用于与环外设备进行流量交互的环MAC地址,其中,所有转发设备的环MAC地址相同;
所述将该流量上报给自身的CPU之后、CPU采用流量均衡算法对流量中的预定特征的值进行计算之前进一步包括:
CPU判断流量的目的MAC地址是否与环MAC地址相同,若相同,则执行所述采用流量均衡算法对流量中的预定特征的值进行计算的动作。
7.根据权利要求5所述的方法,其特征在于,对于各转发设备,转发设备的WAN口带宽越大,其预设均衡值的数目越多。
8.根据权利要求1所述的方法,其特征在于,每个转发设备分别具有用于在环上传输控制报文的管理MAC地址,其中,不同转发设备的管理MAC地址不同;
所述在所述环上与LAN直接相连的转发设备中,选举出一个转发设备作为root设备之后进一步包括:
对于环上的任一转发设备,该转发设备定时按照预设方向的反方向从自身的环端口发出查询协议报文,该报文的源MAC地址为自己的管理MAC地址,若在预设等待时长内未接收到自身的邻居返回的查询响应协议报文,则按照预设方向从自身的环端口发出故障通告协议报文,同时,重启root设备选举过程;
任一转发设备接收到所述故障通告协议报文,重启root设备选举过程。
9.根据权利要求8所述的方法,其特征在于,所述在所述环上与LAN直接相连的转发设备中,选举出一个转发设备作为root设备的同时进一步包括:
root设备按照预设方向从自身的一个环端口发出组播协议报文,该报文携带自身的管理MAC地址;任一转发设备接收到该报文,将本设备的管理MAC地址添加到该报文中;当root设备从自身的另一环端口接收到该报文时,向每个转发设备发送一个单播协议报文,该单播协议报文中按顺序携带了各转发设备的管理MAC地址,各转发设备接收到该单播协议报文,获取并记录本设备的邻居设备的管理MAC地址。
10.一种流量转发方法,其特征在于,将位于WAN与LAN之间的多个转发设备连接成一个链;将转发设备在链上的端口称为链端口,该方法包括:
将链上的与LAN直接相连的一个转发设备的LAN端口设为允许业务转发状态,其它转发设备的LAN端口设为禁止业务转发状态;
当从LAN端口或链端口发出的流量到达链的任一转发设备时,该转发设备将该流量镜像到自身的链端口,同时,根据预设流量均衡算法,判断该流量是否应由自身转发给WAN,若是,将该流量转发给WAN,否则,丢弃该流量。
11.根据权利要求10所述的方法,其特征在于,所述方法进一步包括:从链上的转发设备中选举出一个作为root设备,root设备将流量均衡算法发送给链上的各转发设备;
所述当从LAN端口或链端口发出的流量到达链的任一转发设备时,该转发设备将该流量镜像到自身的链端口,同时,根据预设流量均衡算法,判断该流量是否应由自身转发给WAN,若是,将该流量转发给WAN,否则,丢弃该流量包括:
当链上的任一转发设备从LAN端口或链端口接收到流量时,将该流量镜像到自身的链端口,同时,将该流量上报给自身的CPU,CPU采用所述流量均衡算法对流量中的预定特征的值进行计算,若计算结果与自身的预设均衡值相同,则将该流量向WAN转发,否则,丢弃该流量,其中,不同转发设备的预设均衡值互不重合,且每个转发设备具有至少一个预设均衡值。
12.根据权利要求11所述的方法,其特征在于,对于各转发设备,转发设备的WAN口带宽越大,其预设均衡值的数目越多。
13.一种转发设备,位于WAN与LAN之间,其特征在于,该转发设备与WAN与LAN之间的其它转发设备连接成一个环,该转发设备包括:
root设备选举模块:在环上与LAN直接相连的各转发设备中选举出一个root设备,若本设备被选举为root设备,则将本设备的两个环端口一个作为主用环端口,另一个作为备用环端口,将备用环端口设为禁止业务转发状态,同时根据整个环只能有一个转发设备的LAN端口处于业务转发状态的原则,确定是否将本设备的LAN端口设为禁止业务转发状态;
流量转发处理模块:当从LAN端口或环端口接收到流量时,将该流量镜像到本设备的环端口,同时,使用流量均衡算法,判断是否应由本设备将流量转发给WAN,若是,将流量转发给WAN,否则,丢弃该流量。
14.根据权利要求13所述的转发设备,其特征在于,所述root设备选举模块进一步用于,在环上与LAN直接相连的各转发设备中选举出一个root设备之前,关闭本设备的各端口的端口镜像功能;当选举出root设备之后,若本设备为root设备,则开启本设备的主用环端口的端口镜像功能,否则,开启本设备的两环端口的端口镜像功能;若本设备的LAN端口为允许业务转发状态,则开启该LAN端口的端口镜像功能。
15.根据权利要求13所述的转发设备,其特征在于,所述流量转发处理模块进一步用于,当发现本设备被选举为root设备之后,将流量均衡算法发送给环上的其它各转发设备。
16.根据权利要求13所述的转发设备,其特征在于,该转发设备具有用于在环上传输控制报文的管理MAC地址,且,该管理MAC地址不与其它任何转发设备的管理MAC地址相同,所述root设备选举模块包括:
正常选举模块:本设备初始化时或接收到重启root设备选举指示时,按照预设方向从本设备的一个环端口发出发现协议报文,该报文的源MAC地址为本设备的管理MAC地址;当接收到其它转发设备发来的发现报文协议后,比较报文的源管理MAC地址与本设备的管理MAC地址,若前者大于后者,则将该报文按照预设方向从本设备的环端口转发给下一转发设备;否则,丢弃该报文;当收到本设备发送的发现协议报文时,确认本设备是root设备,并通过root通告报文通知其它转发设备;
异常选举模块:本设备初始化时或接收到重启root设备选举指示时,按照预设方向的反方向从本设备的另一环端口发出侦测协议报文;当接收到其它转发设备发来的侦测协议报文时,返回侦测响应协议报文;若在发出侦测协议报文后未收到侦测响应协议报文、且未收到root通告报文,则将本设备选举为root设备,并通过root通告报文通知其它转发设备。
17.根据权利要求13所述的转发设备,其特征在于,所述设备进一步包括:
故障发现模块:定时按照预设方向的反方向从本设备的环端口发出查询协议报文,若在预设等待时长内未接收到邻居返回的查询响应协议报文,则向故障通告模块发送故障通告指示;
故障通告模块:当接收到故障通告指示,按照预设方向从本设备的环端口发出故障通告协议报文,同时,向root设备选举模块发送重启root设备选举指示;当接收到其它转发设备发来的故障通告协议报文,向root设备选举模块发送重启root设备选举指示。
18.一种转发设备,位于WAN与LAN之间,其特征在于,该转发设备与WAN与LAN之间的其它转发设备连接成一个链,该转发设备包括:
root设备选举模块:在链上与LAN直接相连的无故障转发设备中选举出一个root设备,根据整个链只能有一个转发设备的LAN端口处于业务转发状态、且必须是链两端的无故障转发设备之一的LAN端口处于业务转发状态的原则,确定是否将本设备的LAN端口设为禁止业务转发状态;
流量转发处理模块:当从LAN端口或链端口接收到流量时,将该流量镜像到本设备的链端口,同时,根据预设流量均衡算法,判断是否应由本设备将流量转发给WAN,若是,将流量转发给WAN,否则,丢弃该流量。
19.根据权利要求18所述的设备,其特征在于,所述设备进一步包括:
故障处理模块:当链发生故障时,向root设备选举模块发送重启root设备选举指示;
且所述root设备选举模块接收到所述重启root设备选举指示后,若发现自己的预设方向链端口不可用,则将本设备作为新root设备,并通知其它转发设备,所述预设方向为左方向或右方向。
20.根据权利要求18所述的转发设备,其特征在于,所述流量转发处理模块进一步用于,当发现本设备被选举为root设备之后,将流量均衡算法发送给链上的其它各转发设备。
流量转发方法及转发设备\n技术领域\n[0001] 本发明涉及数据传输技术领域,具体涉及流量转发方法及转发设备。\n背景技术\n[0002] 为方便理解,首先给出如下术语的解释:\n[0003] 网络地址转换(NAT,Network Address Translation):属接入广域网(WAN,Wide Area Network)技术,是一种将私有(或保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型因特网接入方式和各种类型的网络中。原因很简单,NAT技术不仅完美地解决了因特网协议(IP,InternetProtocol)地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。\n[0004] WAN:也叫远程计算机网(RCN,Remote Computer Network),它的作用范围最大,一般可以从几十公里至几万公里。一个国家或国际间建立的网络都是广域网。在广域网内,用于通信的传输装置和传输介质可由电信部门提供。\n[0005] 网桥协议数据单元(BPDU,Bridge Protocol Data Unit):是一种生成树协议(STP,Spanning Tree Protocol)问候数据包。\n[0006] 端口状态(PortState):通常用于STP/快速生成树协议(RSTP,RapidSpanning Tree Protocol)/多生成树协议(MSTP,Multi-Spanning Tree Protocol)中,当PortState处于倾听(listen)状态时,只能收发BPDU组播报文,其它报文不能转发。\n[0007] 随着宽带网络的快速发展,人们能够使用的带宽越来越大,接入种类越来越多,这样就要求转发设备(也就是平常所说的宽带路由器或者NAT设备)处理性高并且可靠性高,这样就带来一个问题:高性能的转发设备价格很高,性价比低,并且一旦设备出现故障,整个网络就故障了,因此需要一种将多个设备堆叠并且流量均衡的技术来解决该问题。\n[0008] 现有技术将多个转发设备连接到局域网(LAN,Local Area Network)中,每个转发设备是相互独立的,配置了独立的网关地址。图1给出了现有的LAN通过转发设备访问WAN的组网示意图,如图1所示,图中的192.168.1.1和192.168.1.2就是网关地址。如果LAN中的工作站(例如普通电脑)需要通过转发设备访问WAN,那么就需要通过自动或者手动的方式选择通过哪台转发设备进行转发。例如在使用静态IP地址的情况下,管理员需要为每一台工作站配置静态IP地址及对应的网关地址。在使用动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)动态分配IP地址的情况下,管理员需要将不同转发设备的IP地址池分开,避免为不同的工作站分配同样的IP地址。\n[0009] 现有技术的缺点如下:\n[0010] 一、不能实现互相备份。当某个转发设备出现故障时,那该转发设备下的所有工作站都无法正常访问WAN,并且无法自动恢复。\n[0011] 二、管理很繁琐。每台转发设备是独立的,必须单独管理。\n[0012] 三、在转发设备启用DHCP动态分配地址的情况下,由哪个转发设备来分配地址是有先后的,谁最先响应工作站的DHCP发现(discover)报文,谁就负责分配IP地址,会很不均衡,很有可能其中一台转发设备承担了大部分工作站的转发业务。\n[0013] 四、在使用静态IP地址的情况下,管理是相当繁琐的,容易造成IP地址冲突,很少有用户使用。\n发明内容\n[0014] 本发明提供流量转发方法及转发设备,以实现LAN与WAN之间的流量均衡。\n[0015] 本发明的技术方案是这样实现的:\n[0016] 一种流量转发方法,将位于广域网WAN与局域网LAN之间的多个转发设备连接成一个环,每个转发设备分别具有用于在环上传输控制报文的管理媒体接入控制MAC地址和用于与环外设备进行流量交互的环IP地址和环MAC地址,其中,不同转发设备的管理MAC地址不同,所有转发设备的环IP地址、环MAC地址相同,该方法包括:\n[0017] 所述环上的其中一个转发设备作为root设备,将root设备的两个环端口一个作为主用环端口,另一个作为备用环端口,将备用环端口设为禁止业务转发状态,将其中一个转发设备的LAN端口设为允许业务转发状态,将其它转发设备的LAN端口都设为禁止业务转发状态;\n[0018] 当从LAN发出的流量到达环的任一转发设备时,该转发设备将该流量镜像到自身的环端口,同时,根据预设流量均衡算法,判断该流量是否应由自身转发给WAN,若是,将该流量转发给WAN,否则,丢弃该流量。\n[0019] 所述环上的其中一个转发设备作为root设备是通过:环上各转发设备采用动态选举方式选举出root设备实现的,且,\n[0020] 在选举root设备之前,关闭各转发设备的各端口的端口镜像功能和业务转发功能;\n[0021] 且在选举出root设备之后,环上各转发设备开启端口镜像功能,用来将接收到的LAN中的流量镜像到环上的其他转发设备;root设备的备用端口关闭镜像功能,不具有业务转发功能;开启其中一个转发设备的LAN端口的端口镜像功能。\n[0022] 所述环上的其中一个转发设备作为root设备通过如下步骤实现:\n[0023] 环上的各转发设备都按照预设方向从自身的一个环端口发出发现协议报文,该报文的源MAC地址为自身的管理MAC地址;\n[0024] 任一转发设备收到所述发现协议报文后,比较报文的源管理MAC地址与自身的管理MAC地址,若前者大于后者,则将该报文按照预设方向从自身的环端口转发给下一转发设备;否则,丢弃该报文;\n[0025] 当一个转发设备收到自身发送的发现协议报文时,就确认自身是root设备,并通知其它转发设备。\n[0026] 所述环上的其中一个转发设备作为root设备通过如下步骤实现:\n[0027] 环上的各转发设备按照预设方向的反方向从自身的另一环端口发出侦测协议报文;\n[0028] 任一转发设备接收到侦测协议报文,返回一个侦测响应协议报文;\n[0029] 当一个转发设备在发出侦测协议报文后未收到侦测响应协议报文、且未收到其它转发设备发来的用于通告该其它转发设备为root设备的协议报文,则确定环发生故障,将自身选举为root设备,并通知其它转发设备。\n[0030] 所述环上的其中一个转发设备作为root设备之后进一步包括:\n[0031] root设备将流量均衡算法发送给环上的各转发设备;\n[0032] 所述当从LAN发出的流量到达环的任一转发设备时,该转发设备将该流量镜像到自身的另一环端口,同时,根据预设流量均衡算法,判断该流量是否应由自身转发给WAN,若是,将该流量转发给WAN,否则,丢弃该流量包括:\n[0033] 当环上的任一转发设备从LAN端口或环端口接收到流量时,将该流量镜像到自身的环端口,同时,将该流量上报给自身的CPU,CPU采用所述流量均衡算法对流量中的预定特征的值进行计算,若计算结果与自身的预设均衡值相同,则将该流量向WAN转发,否则,丢弃该流量,其中,不同转发设备的预设均衡值互不重合,且每个转发设备具有至少一个预设均衡值。\n[0034] 所述将该流量上报给自身的CPU之后、CPU采用流量均衡算法对流量中的预定特征的值进行计算之前进一步包括:\n[0035] CPU判断流量的目的MAC地址是否与环MAC地址相同,若相同,则执行所述采用流量均衡算法对流量中的预定特征的值进行计算的动作。\n[0036] 对于各转发设备,转发设备的WAN口带宽越大,其预设均衡值的数目越多。\n[0037] 所述环上的其中一个转发设备作为root设备之后进一步包括:\n[0038] 对于环上的任一转发设备,该转发设备定时按照预设方向的反方向从自身的环端口发出查询协议报文,该报文的源MAC地址为自己的管理MAC地址,若在预设等待时长内未接收到自身的邻居返回的查询响应协议报文,则按照预设方向从自身的环端口发出故障通告协议报文,同时,重启root设备选举过程;\n[0039] 任一转发设备接收到所述故障通告协议报文,重启root设备选举过程。\n[0040] 所述环上的其中一个转发设备作为root设备的同时进一步包括:\n[0041] root设备按照预设方向从自身的一个环端口发出组播协议报文,该报文携带自身的管理MAC地址;任一转发设备接收到该报文,将本设备的管理MAC地址添加到该报文中;\n当root设备从自身的另一环端口接收到该报文时,向每个转发设备发送一个单播协议报文,该单播协议报文中按顺序携带了各转发设备的管理MAC地址,各转发设备接收到该单播协议报文,获取并记录本设备的邻居设备的管理MAC地址。\n[0042] 一种流量转发方法,将位于WAN与LAN之间的多个转发设备连接成一个链,每个转发设备分别具有用于在链上传输控制报文的管理MAC地址和用于与链外设备进行流量交互的链IP地址和链MAC地址,其中,不同转发设备的管理MAC地址不同,所有转发设备的链IP地址、链MAC地址相同;将转发设备在链上的端口称为链端口,该方法包括:\n[0043] 将链上的一个转发设备的LAN端口设为允许业务转发状态,其它转发设备的LAN端口设为禁止业务转发状态;\n[0044] 当从LAN发出的流量到达链的任一转发设备时,该转发设备将该流量镜像到自身的链端口,同时,根据预设流量均衡算法,判断该流量是否应由自身转发给WAN,若是,将该流量转发给WAN,否则,丢弃该流量。\n[0045] 所述从链上的转发设备中选举出一个作为root设备进一步包括:root设备将流量均衡算法发送给链上的各转发设备;\n[0046] 所述当从LAN发出的流量到达链的任一转发设备时,该转发设备将该流量镜像到自身的链端口,同时,根据预设流量均衡算法,判断该流量是否应由自身转发给WAN,若是,将该流量转发给WAN,否则,丢弃该流量包括:\n[0047] 当链上的任一转发设备从LAN端口或链端口接收到流量时,将该流量镜像到自身的链端口,同时,将该流量上报给自身的CPU,CPU采用所述流量均衡算法对流量中的预定特征的值进行计算,若计算结果与自身的预设均衡值相同,则将该流量向WAN转发,否则,丢弃该流量,其中,不同转发设备的预设均衡值互不重合,且每个转发设备具有至少一个预设均衡值。\n[0048] 对于各转发设备,转发设备的WAN口带宽越大,其预设均衡值的数目越多。\n[0049] 一种转发设备,位于WAN与LAN之间,该转发设备与WAN与LAN之间的其它转发设备连接成一个环,该转发设备具有用于在环上传输控制报文的管理MAC地址,以及用于与环外设备进行流量交互的环IP地址和环MAC地址,且,该管理MAC地址不与其它任何转发设备的管理MAC地址相同,该环IP地址和环MAC地址为环上所有转发设备共用,该转发设备包括:\n[0050] root设备选举模块:在环上的各转发设备中选举出一个root设备,若本设备被选举为root设备,则将本设备的两个环端口一个作为主用环端口,另一个作为备用环端口,将备用环端口设为禁止业务转发状态,同时根据整个环只能有一个转发设备的LAN端口处于业务转发状态的原则,确定是否将本设备的LAN端口设为禁止业务转发状态;\n[0051] 流量转发处理模块:当从LAN端口或环端口接收到流量时,将该流量镜像到本设备的环端口,同时,使用流量均衡算法,判断是否应由本设备将流量转发给WAN,若是,将流量转发给WAN,否则,丢弃该流量。\n[0052] 所述root设备选举模块进一步用于,在环上的各转发设备中选举出一个root设备之前,关闭本设备的各端口的端口镜像功能;当选举出root设备之后,若本设备为root设备,则开启本设备的主用环端口的端口镜像功能,否则,开启本设备的两环端口的端口镜像功能;若本设备的LAN端口为允许业务转发状态,则开启该LAN端口的端口镜像功能。\n[0053] 所述流量转发处理模块进一步用于,当发现本设备被选举为root设备之后,将流量均衡算法发送给环上的其它各转发设备。\n[0054] 所述root设备选举模块包括:\n[0055] 正常选举模块:本设备初始化时或接收到重启root设备选举指示时,按照预设方向从本设备的一个环端口发出发现协议报文,该报文的源MAC地址为本设备的管理MAC地址;当接收到其它转发设备发来的发现报文协议后,比较报文的源管理MAC地址与本设备的管理MAC地址,若前者大于后者,则将该报文按照预设方向从本设备的环端口转发给下一转发设备;否则,丢弃该报文;当收到本设备发送的发现协议报文时,确认本设备是root设备,并通过root通告报文通知其它转发设备;\n[0056] 异常选举模块:本设备初始化时或接收到重启root设备选举指示时,按照预设方向的反方向从本设备的另一环端口发出侦测协议报文;当接收到其它转发设备发来的侦测协议报文时,返回侦测响应协议报文;若在发出侦测协议报文后未收到侦测响应协议报文、且未收到root通告报文,则将本设备选举为root设备,并通过root通告报文通知其它转发设备。\n[0057] 所述设备进一步包括:\n[0058] 故障发现模块:定时按照预设方向的反方向从本设备的环端口发出查询协议报文,若在预设等待时长内未接收到邻居返回的查询响应协议报文,则向故障通告模块发送故障通告指示;\n[0059] 故障通告模块:当接收到故障通告指示,按照预设方向从本设备的环端口发出故障通告协议报文,同时,向root设备选举模块发送重启root设备选举指示;当接收到其它转发设备发来的故障通告协议报文,向root设备选举模块发送重启root设备选举指示。\n[0060] 一种转发设备,位于WAN与LAN之间,该转发设备与WAN与LAN之间的其它转发设备连接成一个链,该转发设备具有用于在链上传输控制报文的管理MAC地址,以及用于与链外设备进行流量交互的链IP地址和链MAC地址,且,该管理MAC地址不与其它任何转发设备的管理MAC地址相同,该链IP地址和链MAC地址为链上所有转发设备共用,该转发设备包括:\n[0061] root设备选举模块:在链上的无故障转发设备中选举出一个root设备,根据整个链只能有一个转发设备的LAN端口处于业务转发状态、且必须是链两端的无故障转发设备之一的LAN端口处于业务转发状态的原则,确定是否将本设备的LAN端口设为禁止业务转发状态;\n[0062] 流量转发处理模块:当从LAN端口或链端口接收到流量时,将该流量镜像到本设备的链端口,同时,根据预设流量均衡算法,判断是否应由本设备将流量转发给WAN,若是,将流量转发给WAN,否则,丢弃该流量。\n[0063] 所述设备进一步包括:\n[0064] 故障处理模块:当链发生故障时,向root设备选举模块发送重启root设备选举指示;\n[0065] 且所述root设备选举模块接收到所述重启root设备选举指示后,若发现自己的预设方向链端口不可用,则将本设备作为新root设备,并通知其它转发设备,所述预设方向为左方向或右方向。\n[0066] 所述流量转发处理模块进一步用于,当发现本设备被选举为root设备之后,将流量均衡算法发送给链上的其它各转发设备。\n[0067] 与现有技术相比,本发明中,LAN与WAN之间的转发设备可以实现流量均衡。\n[0068] 本发明实施例中,LAN与WAN之间的转发设备可以实现热备份,当任一转发设备出现故障后,在经过短暂的链路愈合后就可恢复流量的转发;且,多个转发设备对外表现为一个设备,可以统一管理,同时可获得接近累加的性能提升。\n附图说明\n[0069] 图1为现有的LAN通过转发设备访问WAN的组网示意图;\n[0070] 图2为本发明实施例一提供的LAN与WAN间的多个转发设备组成一个闭合环的组网示例图;\n[0071] 图3为本发明实施例一提供的LAN与WAN间的转发设备组成的环的初始化方法流程图;\n[0072] 图4为图2所示的环采用本发明实施例一完成初始化后的组网示例图;\n[0073] 图5为本发明实施例一提供的LAN向WAN转发流量的方法流程图;\n[0074] 图6为本发明实施例一提供的故障恢复方法流程图;\n[0075] 图7为图4所示环发生故障后采用本发明实施例一完成重启初始化后的组网示例图;\n[0076] 图8为本发明实施例二提供的LAN与WAN间的多个转发设备组成一个链的组网示例图;\n[0077] 图9为本发明实施例二提供的LAN与WAN间的转发设备组成的链的初始化方法流程图;\n[0078] 图10为图8所示的链采用本发明实施例二完成初始化后的组网示例图;\n[0079] 图11为本发明实施例二提供的LAN向WAN转发流量的方法流程图;\n[0080] 图12为本发明实施例一提供的转发设备的组成示意图。\n具体实施方式\n[0081] 下面结合附图及具体实施例对本发明再作进一步详细的说明。\n[0082] 本发明中,将位于WAN与LAN之间的预设多个转发设备连接成一个闭合环,环上的每个转发设备分别具有一个管理IP地址、一个管理媒体接入控制(MAC,Media Access Control)地址、一个环IP地址、一个环MAC地址。其中,不同转发设备的管理IP地址、管理MAC地址不同,所有转发设备的环IP地址、环MAC地址相同;对于任意一个转发设备,其在环上的端口称为环端口。管理IP地址和管理MAC地址用于在环上传输控制报文,环IP地址和环MAC地址在与LAN设备和WAN设备进行流量传输时使用,即整个环对外表现为一个虚拟设备。\n[0083] 环端口可以是物理LAN端口,也可以是逻辑LAN端口,例如:如果需要扩展环的总线带宽,可以将多个物理LAN端口聚合成一个逻辑LAN端口。\n[0084] 所有转发设备转发流量时,都以环IP地址和环MAC地址作为源IP地址、源MAC地址。\n[0085] 或者,本发明中,将位于WAN与LAN之间的预设多个转发设备连接成一个链,链上的每个转发设备分别具有一个管理IP地址、一个管理MAC地址、一个链IP地址、一个链MAC地址。其中,不同转发设备的管理IP地址、管理MAC地址不同,所有转发设备的链IP地址、链MAC地址相同;对于任意一个转发设备,其在链上的端口称为链端口。管理IP地址和管理MAC地址用于在链上传输控制报文,链IP地址和链MAC地址在与LAN设备和WAN设备进行流量传输时使用,即整个链对外表现为一个虚拟设备。\n[0086] 链端口可以是物理LAN端口,也可以是逻辑LAN端口,例如:如果需要扩展链的总线带宽,可以将多个物理LAN端口聚合成一个逻辑LAN端口。\n[0087] 所有转发设备转发流量时,都以链IP地址和链MAC地址作为源IP地址、源MAC地址。\n[0088] 图2给出了本发明实施例一提供的LAN与WAN间的多个转发设备组成一个闭合环的组网示例图。如图2所示,LAN与WAN之间的转发设备0~3连接成一个闭合环。\n[0089] 图3为本发明实施例一提供的LAN与WAN间的转发设备组成的环的初始化方法流程图,如图3所示,其具体步骤如下:\n[0090] 步骤301:环上的各转发设备开始初始化,将自身的各环端口都设置为listen状态,关闭端口镜像功能,关闭业务转发功能。\n[0091] 端口镜像功能指的是,转发设备从LAN端口或者用于连接上一个转发设备的环端口接收到流量时,将该流量原样拷贝(镜像)转发到另一环端口。\n[0092] 步骤302:环上的多个转发设备按照预设根(root)设备选举规则,在与LAN直接相连的转发设备中,选举出一个转发设备作为root设备。\n[0093] 如图2所示,转发设备0~3构成一个闭合环,其中,转发设备0、1、3与LAN直接相连,转发设备2不与LAN直接相连,则在转发设备0、1、3中选举出一个作为root设备。\n[0094] root设备选举规则一般以转发设备的管理MAC地址的大小作为基准,例如:将管理MAC地址最大(或最小)的转发设备作为root设备。\n[0095] 以将管理MAC地址最大的转发设备作为root设备为例,给出root设备选举过程:\n[0096] 步骤01:环上的各转发设备开始初始化过程,各转发设备都按照预设方向从自身的一个环端口发出一个BPDU发现报文,该报文的源MAC地址分别为自身的管理MAC地址,该报文中同时携带自身的管理IP地址。\n[0097] 预设方向可以是顺时针方向或者逆时针方向。\n[0098] 步骤02:下一个转发设备收到该BPDU发现报文后,比较报文的源管理MAC地址与自身的管理MAC地址,若前者大于后者,则将该报文按照预设方向从自身的一个环端口转发给下一个转发设备;否则,丢弃该报文。\n[0099] 本步骤中,该下一个转发设备在转发BPDU发现报文时,不更改报文的源MAC地址。\n[0100] 步骤03:当一个转发设备收到自身发送的BPDU发现报文,就确认自身是root设备,同时可确认环正常。\n[0101] 以上给出的root设备选举过程,其默认条件是环正常,在实际应用中,有可能在初始时环就发生了故障,为了适应这种情况,可对上述root选举过程进行如下改进:\n[0102] 步骤01中:当环上的各转发设备开始初始化过程时,各转发设备在按照预设方向从自身的一个环端口发出一个BPDU发现报文的同时,按照预设方向的反方向从自身的另一环端口重复发送预设数目个BPDU侦测报文。\n[0103] 这里,对于一个转发设备,可重复发送3个BPDU侦测报文,发送间隔可为200ms。\n[0104] 步骤02中,任一转发设备接收到BPDU侦测报文,返回一个BPDU侦测响应报文。\n[0105] 步骤03中,当一个转发设备在发出预设数目个BPDU侦测报文后,未收到任何BPDU侦测响应报文、且在等待预设随机时长时也未收到其它转发设备发来的root通告报文,就将自身选举为root设备。\n[0106] 预设随机时长可以为15~30s。\n[0107] 步骤303:对于自身的两个环端口,root设备将其中一个作为主用环端口,另一个作为备用环端口,开启主用环端口和WAN口的业务转发功能,从主用环端口向各个转发设备发出BPDU协议报文,该报文中携带自身的管理IP地址、管理MAC地址和流量均衡结果值。\n[0108] 这里,可将发出BPDU发现报文的环端口作为主用环端口。\n[0109] 步骤304:任一转发设备接收到root设备发来的BPDU协议报文,开启自身的各环端口和WAN口的业务转发功能,同时将自身的LAN端口设为listen状态,记录root设备的管理IP地址和管理MAC地址,将自身的管理IP地址、管理MAC地址和流量均衡结果值添加到报文中,将报文从自身的环端口转发给下一转发设备。\n[0110] 步骤305:root设备接收到该BPDU协议报文,向各个转发设备发送单播协议报文,该报文携带流量均衡算法及各转发设备的流量均衡结果值,同时按顺序携带了各转发设备的管理IP地址和管理MAC地址。\n[0111] 步骤306:各转发设备接收单播协议报文,开启接收该报文的环端口的端口镜像功能,记录报文中携带的自身邻居的管理IP地址和管理MAC地址,记录报文中的流量均衡算法,向root设备返回单播协议响应报文。\n[0112] 步骤307:root设备接收到所有转发设备返回的单播协议响应报文,开启自身的LAN端口的端口镜像功能。\n[0113] 其中,流量均衡算法通常选择Hash算法,Hash算法构造过程可如下:\n[0114] 首先,环上各个转发设备根据自身的转发权重,确定自身的Hash值的数目,即为每个转发设备分配至少一个Hash值。\n[0115] 其中,各个转发设备的转发权重可预先配置,也可根据各转发设备的WAN口带宽来确定,WAN口带宽越大的转发设备其转发权重越大。为方便构造Hash算法,转发权重通常取整数。转发权重越大的转发设备,其Hash值越多。例如:若转发设备0、2、3的转发权重为1,转发设备1的转发权重为2,则转发设备0、2、3的Hash值为一个,转发设备1的Hash值为2个,设转发设备0的Hash值为0,转发设备1的Hash值为1、2,转发设备2的Hash值为3,转发设备3的Hash值为4。\n[0116] 然后,以流量的预定特征以及各Hash值来构造Hash算法,其中,Hash算法的运算结果应该均匀地映射到所有Hash值上。\n[0117] 当流量均衡算法采用Hash算法时,步骤303~307的具体实现可如下:\n[0118] 步骤303:对于自身的两个环端口,root设备将其中一个作为主用环端口,另一个作为备用环端口,开启主用环端口的业务转发功能,从主用环端口发出一个BPDU协议报文,该报文携带自身的源IP地址、源MAC地址及自身的Hash值,该报文中还携带root设备标志,以表明自身为root设备。\n[0119] Hash值为整数,且从0开始依次递增。例如:若root设备的Hash值为一个,则Hash值为0。\n[0120] 步骤304:对于环上的任一个非root设备,当接收到BPDU协议报文时,开启自身的两环端口的业务转发功能,同时将自身的LAN端口设为listen状态,记录root设备的管理IP地址和管理MAC地址,同时根据报文中的Hash值以及自身的转发权重,确定自身的Hash值,将自身的管理IP地址、管理MAC地址和自身的Hash值按顺序添加到报文中,将报文从自身的环端口转发出去。\n[0121] 例如:当root设备的下一个转发设备(转发设备1)接收到BPDU协议报文时,发现报文中的Hash值为0,且根据自身的转发权重确定自身的Hash值数目为2,则确定自身的Hash值为1、2,则在报文中的root设备的管理IP地址、管理MAC地址和Hash值之后添加本转发设备1的管理IP地址、管理MAC地址和Hash值1、2,将报文从自身的环端口转发给下一个转发设备(转发设备2);转发设备2接收到BPDU协议报文时,发现报文中的Hash值为0、1、2,且根据自身的转发权重确定自身的Hash值数目为1,则确定自身的Hash值为\n3,则在报文中的转发设备1的管理IP地址、管理MAC地址和Hash值1、2之后添加本转发设备2的管理IP地址、管理MAC地址和Hash值3,将报文从自身的环端口转发给下一个转发设备(转发设备3);当转发设备3接收到BPDU协议报文时,其处理与转发设备1、2类似,最终转发出去的BPDU协议报文中包含:root设备的管理IP地址、管理MAC地址和Hash值\n0,转发设备1的管理IP地址、管理MAC地址和Hash值1、2,转发设备2的管理IP地址、管理MAC地址和Hash值3,转发设备3的管理IP地址、管理MAC地址和Hash值4,该报文会到达root设备。其中,若转发设备3发现自身与root设备之间不通,则直接构造单播协议报文,该报文中包含root设备的管理IP地址、管理MAC地址和Hash值0,转发设备1的管理IP地址、管理MAC地址和Hash值1、2,转发设备2的管理IP地址、管理MAC地址和Hash值3,转发设备3的管理IP地址、管理MAC地址和Hash值4,将该报文发送给root设备。\n[0122] 步骤305:root设备从自身的另一环端口接收到BPDU协议报文,从自身的主用环端口向各转发设备发送单播root通告报文,该报文携带Hash算法使用的特征参数及所有Hash值0~4,同时依次携带转发设备0~3的管理IP地址和管理MAC地址。\n[0123] 特征参数可以是:流量的源IP地址、源MAC地址、源端口号、目的端口号等中的一种或任意组合。\n[0124] 步骤306:每个非root设备接收到单播root通告报文,开启接收该报文的环端口的端口镜像功能,记录报文中的自身的邻居的管理IP地址和管理MAC地址,同时记录流量均衡算法使用的特征参数及所有流量均衡结果值,向root设备返回单播root通告响应报文。\n[0125] 步骤307:root设备接收到所有转发设备返回的单播root通告响应报文,开启自身的LAN端口的端口镜像功能。\n[0126] 初始化完成后,环上的非root设备的LAN端口以及root设备的备用环端口被设为listen状态,这样,只有root设备可以从LAN端口接收来自LAN的流量,且该流量不会在环上无休止地转发。\n[0127] 在实际应用中,也可采用如下方式设置各转发设备的LAN端口的listen状态:\n[0128] 在步骤303中,root设备将自身的LAN端口设为listen状态;在步骤304中,对于各非root设备,若该非root设备与root设备的备用环端口直接相连,则不将自身的LAN端口设为listen状态,否则,将自身的LAN端口设为listen状态。这样,从LAN发来的流量会首先被发送至与root设备的备用环端口相连的转发设备。\n[0129] 同时,在步骤306中,各非root设备在接收到单播root通告报文时,对于不与root设备的备用环端口直接相连的非root设备,不开启接收该报文的环端口的端口镜像功能,而是开启另一环端口的镜像功能;对于与root设备的备用环端口直接相连的非root设备,则开启LAN端口的镜像功能。在步骤307中,root设备则开启主用环端口的端口镜像功能。\n[0130] 以图2为例,设定在初始化时,转发设备是按照顺时针方向发送发现报文的,则图\n2中的环初始化完成后,其组网示例图如图4所示,其中,转发设备0被选举为root设备,且设定转发设备1、3的LAN端口被设为listen状态,root设备的上侧环端口为主用环端口,右侧环端口为备用环端口且被设为listen状态。\n[0131] 当环初始化完成后,就可以转发流量了。图5为本发明实施例一提供的LAN向WAN转发流量的方法流程图,如图5所示,其具体步骤如下:\n[0132] 步骤501:环上的一个转发设备(设为第一转发设备)从自身的LAN端口接收到流量,将流量复制一份,将一份流量镜像到自身的主用环端口,将另一份流量上送自身的CPU。\n[0133] 本步骤中,第一转发设备在从LAN端口接收到流量后,可先判断流量的目的MAC地址是否与自身的环MAC地址相同,若相同,则继续后续处理;否则,直接丢弃该流量,本流程结束。\n[0134] 步骤502:第一转发设备的CPU按照预设流量均衡算法,对该流量的预定特征的值进行计算。\n[0135] 预定特征可以是:流量的源IP地址、源MAC地址、源端口号、目的端口号等中的一种或任意组合。\n[0136] 本步骤中,第一转发设备的CPU也可先判断流量的目的IP地址是否与自身的环IP地址相同,若相同,则继续后续处理;否则,直接丢弃该流量。\n[0137] 步骤503:第一转发设备的CPU将计算结果与自身的预设均衡值匹配,判断是否匹配上,若是,执行步骤504;否则,执行步骤505。\n[0138] 环上每个转发设备的预设均衡值互不重合,且一个转发设备可以有多个预设均衡值。\n[0139] 步骤504:第一转发设备将流量从自身的WAN口转发出去,转至步骤506。\n[0140] 步骤505:第一转发设备丢弃该流量,转至步骤506。\n[0141] 步骤506:环上的任一转发设备从自身的一个环端口接收到流量,将流量复制一份,将一份流量镜像到自身的另一环端口,将另一份流量上送自身的CPU。\n[0142] 本步骤中,转发设备在从环端口接收到流量后,可先判断流量的目的MAC地址是否与自身的环MAC地址相同,若相同,则继续后续处理;否则,直接丢弃该流量,本流程结束。\n[0143] 步骤507:该转发设备的CPU按照预设流量均衡算法,对该流量的预定特征的值进行计算。\n[0144] 本步骤中,转发设备的CPU也可先判断流量的目的IP地址是否与自身的环IP地址相同,若相同,则继续后续处理;否则,直接丢弃该流量。\n[0145] 步骤508:该转发设备的CPU将计算结果与自身的预设均衡值匹配,判断是否匹配上,若是,执行步骤509;否则,执行步骤510。\n[0146] 步骤509:该转发设备将流量从自身的WAN口转发出去。\n[0147] 步骤510:该转发设备丢弃该流量。\n[0148] 由于root设备的备用环端口为listen状态,所以当流量到达root设备的备用环端口时会被丢弃,从而避免了流量在环上无休止地转发。\n[0149] 对于图5所示实施例,流量均衡算法可以是Hash算法,环上的每个转发设备配置有一个或多个Hash值,对于任一转发设备,当Hash运算结果与自身配置的任一Hash值相同时,就确定应由自身向WAN转发流量。\n[0150] 以图4为例,设root设备的Hash值为0,转发设备1的Hash值为1、2,转发设备\n2的Hash值为3,转发设备3的Hash值为4。则对于root设备,若对流量的预定特征的值进行Hash运算后,运算结果为0,则确定应用自己向WAN转发流量;对于转发设备1,若对流量的预定特征的值进行Hash运算后,运算结果为1或2,则确定应用自己向WAN转发流量;\n对于转发设备2,若对流量的预定特征的值进行Hash运算后,运算结果为3,则确定应用自己向WAN转发流量;对于转发设备3,若对流量的预定特征的值进行Hash运算后,运算结果为4,则确定应用自己向WAN转发流量。\n[0151] 当环发生故障时,例如:转发设备故障、非listen状态环端口故障、WAN口故障等等,会导致流量转发中断。为了解决该问题,给出如下实施例:\n[0152] 图6为本发明实施例一提供的故障恢复方法流程图,如图6所示,其具体步骤如下:\n[0153] 步骤601:对于环上的任一转发设备,该转发设备定时按照预设方向的反方向从自身的一个环端口发出一个BPDU查询报文,该报文的源MAC地址为自身的管理MAC地址。\n[0154] 这里的预设方向与步骤302中BPDU发现报文的发送方向一致。\n[0155] 其中,BPDU查询报文的发送间隔可以为200~500ms。\n[0156] 步骤602:当一个转发设备接收到一个BPDU查询报文时,根据自身记录的左邻居和右邻居的管理IP地址、管理MAC地址,发现报文为自身的邻居发来的,则返回一个BPDU查询响应报文。\n[0157] 步骤603:当一个转发设备连续发出预设数目个BPDU查询报文,但未收到邻居返回的任何BPDU查询响应报文时,则按照预设方向从自身的一个环端口发出一个BPDU故障通告报文,同时,重启初始化过程,即重新执行图3所示流程。\n[0158] 转发设备收到BPDU查询响应报文后,也需要确认是否为邻居发来的,若不是,则认为未收到BPDU查询响应报文。\n[0159] 步骤604:任一转发设备接收到BPDU故障通告报文,重启初始化过程,即重新执行图3所示流程。\n[0160] 当重启初始化过程,初始化完成后,选举出了新的root设备,LAN与WAN之间的链路也可愈合。\n[0161] 以图4为例,设定root设备发生故障,则转发设备1发出BPDU查询报文后,会接收不到BPDU查询响应报文,从而确定root设备方向发生故障,则向转发设备2的方向发出一个BPDU故障通告报文,并重启初始化过程,转发设备2、3接收到BPDU故障通告报文,重启初始化过程。初始化完成后,其组网示例图如图7所示,转发设备1被选举为新root设备,转发设备1的备用环端口被设为listen状态,转发设备3的LAN端口被设为listen状态。\n[0162] 图8给出了本发明实施例二提供的LAN与WAN间的多个转发设备组成一个闭合环的组网示例图。如图8所示,LAN与WAN之间的转发设备0~3连接成一个链。\n[0163] 需要说明的是,尽管转发设备0的右端口与转发设备3的左端口之间不同,但是仍然认为该两端口为链端口,只不过是不可用链端口。\n[0164] 图9为本发明实施例二提供的LAN与WAN间的转发设备组成的环的初始化方法流程图,如图9所示,其具体步骤如下:\n[0165] 步骤901:链上的各转发设备开始初始化。\n[0166] 步骤902:链上的多个转发设备按照预设root设备选举规则,在与LAN直接相连的转发设备中,选举出一个转发设备作为root设备。\n[0167] root设备选举规则可以为:若一个转发设备的预设方向的链端口不可用,则该转发设备确定自己为root设备。其中,预设方向为左方向或右方向。\n[0168] 如图8中,假设root设备选举规则为:转发设备的右链端口不可用,则该转发设备为root设备,则转发设备2应作为root设备。\n[0169] 步骤903:root设备从可用链端口向各个转发设备发出BPDU协议报文,该报文中携带自身的管理IP地址、管理MAC地址和流量均衡结果值。\n[0170] 步骤904:任一转发设备接收到root设备发来的BPDU协议报文,将自身的LAN端口设为listen状态,记录root设备的管理IP地址和管理MAC地址,将自身的管理IP地址、管理MAC地址和流量均衡结果值添加到BPDU协议报文中,且当一转发设备发现自身是链的端点设备时,则从BPDU协议报文中获取所有转发设备的管理IP地址、管理MAC地址和流量均衡结果值,将所有转发设备的管理IP地址、管理MAC地址和流量均衡结果值放入一个单播协议报文,将该单播协议报文发送给root设备。\n[0171] 当一转发设备发现自身的一链端口不可用时,则确定自身为链的端点设备。\n[0172] 步骤905:root设备接收到单播协议报文,得到其它各转发设备的管理IP地址、管理MAC地址和流量均衡结果值,构造流量均衡算法,向各个转发设备发送单播协议报文,该报文携带流量均衡算法。\n[0173] 步骤906:各转发设备接收单播协议报文,记录报文中的流量均衡算法,向root设备返回单播协议响应报文。\n[0174] 步骤907:root设备接收所有转发设备返回的单播协议响应报文。\n[0175] 其中,流量均衡算法的构造过程可与图3所示实施例相同。\n[0176] 初始化完成后,链上的非root设备的LAN端口被设为listen状态,这样,只有root设备可以从LAN端口接收来自LAN的流量。\n[0177] 在实际应用中,也可采用如下方式设置各转发设备的LAN端口的listen状态:\n[0178] 在步骤903中,root设备将自身的LAN端口设为listen状态;在步骤904中,对于各无故障非root设备,若该非root设备的一链端口不可用,则不将自身的LAN端口设为listen状态,即位于链另一端的无故障非root设备的LAN端口不为listen状态。这样,从LAN发来的流量会首先被发送至位于链另一端的无故障非root设备。\n[0179] 以图8为例,设定在初始化时,转发设备0被选举为root设备,则图8中的链初始化完成后,其组网示例图如图10所示,其中,设定转发设备1、3的LAN端口被设为listen状态。\n[0180] 当链初始化完成后,就可以转发流量了。图11为本发明实施例二提供的LAN向WAN转发流量的方法流程图,如图11所示,其具体步骤如下:\n[0181] 步骤1101:链上的一个转发设备(设为第一转发设备)从自身的LAN端口接收到流量,将流量复制一份,将一份流量镜像到自身的另一链端口,将另一份流量上送自身的CPU。\n[0182] 当流量到达链的最后一个转发设备时,由于该设备的另一链端口不可用,因此,流量转发过程终止。\n[0183] 本步骤中,第一转发设备在从LAN端口接收到流量后,可先判断流量的目的MAC地址是否与自身的链MAC地址相同,若相同,则继续后续处理;否则,直接丢弃该流量,本流程结束。\n[0184] 步骤1102:第一转发设备的CPU按照预设流量均衡算法,对该流量的预定特征的值进行计算。\n[0185] 预定特征可以是:流量的源IP地址、源MAC地址、源端口号、目的端口号等中的一种或任意组合。\n[0186] 本步骤中,第一转发设备的CPU也可先判断流量的目的IP地址是否与自身的链IP地址相同,若相同,则继续后续处理;否则,直接丢弃该流量。\n[0187] 步骤1103:第一转发设备的CPU将计算结果与自身的预设均衡值匹配,判断是否匹配上,若是,执行步骤1104;否则,执行步骤1105。\n[0188] 链上每个转发设备的预设均衡值互不重合,且一个转发设备可以有多个预设均衡值。\n[0189] 步骤1104:第一转发设备将流量从自身的WAN口转发出去,转至步骤1106。\n[0190] 步骤1105:第一转发设备丢弃该流量,转至步骤1106。\n[0191] 步骤1106:链上的任一转发设备从自身的一个链端口接收到流量,将流量复制一份,将一份流量镜像到自身的另一链端口,将另一份流量上送自身的CPU。\n[0192] 本步骤中,转发设备在从链端口接收到流量后,可先判断流量的目的MAC地址是否与自身的链MAC地址相同,若相同,则继续后续处理;否则,直接丢弃该流量,本流程结束。\n[0193] 步骤1107:该转发设备的CPU按照预设流量均衡算法,对该流量的预定特征的值进行计算。\n[0194] 本步骤中,转发设备的CPU也可先判断流量的目的IP地址是否与自身[0195] 的链IP地址相同,若相同,则继续后续处理;否则,直接丢弃该流量。\n[0196] 步骤1108:该转发设备的CPU将计算结果与自身的预设均衡值匹配,判断是否匹配上,若是,执行步骤1109;否则,执行步骤1110。\n[0197] 步骤1109:该转发设备将流量从自身的WAN口转发出去。\n[0198] 步骤1110:该转发设备丢弃该流量。\n[0199] 对于图11所示实施例,流量均衡算法可以是Hash算法,链上的每个转发设备配置有一个或多个Hash值,对于任一转发设备,当Hash运算结果与自身配置的任一Hash值相同时,就确定应由自身向WAN转发流量。\n[0200] 当链发生故障时,例如:转发设备故障、链端口故障、WAN口故障等等,会导致流量转发中断。此时,需要重新选举root设备,若root设备选举规则为:若一个转发设备的预设方向的链端口不可用,则该转发设备确定自己为root设备,其中,预设方向为左方向或右方向。则当一个转发设备发现自己的预设方向链端口不可用时,则将自己作为新root设备,并执行步骤903~907。\n[0201] 图12为本发明实施例一提供的转发设备的组成示意图,该转发设备位于WAN与LAN之间,该转发设备与WAN与LAN之间的其它预设数目个转发设备连接成一个环,该转发设备具有用于在环上传输控制报文的管理IP地址和管理MAC地址,以及用于与环外设备进行流量交互的环IP地址和环MAC地址,且,该管理IP地址和管理MAC地址不与其它任何转发设备的管理IP地址、管理MAC地址相同,该环IP地址和环MAC地址为环上所有转发设备共用,如图12所示,该转发设备包括:root设备选举模块121、流量转发模块122和故障处理模块123,其中:\n[0202] root设备选举模块121:本设备初始化时或接收到故障处理模块123发来的重启root设备选举指示时,将本设备的环端口都设为listen状态,关闭本设备的端口镜像功能和业务转发功能,在环上的各转发设备中选举出一个root设备,当root设备选举完成时,向流量转发模块122发送初始化完成指示,且若本设备被选举为root设备,则通知其它转发设备,并将本设备的两个环端口一个作为主用环端口,另一个作为备用环端口,将备用环端口设为listen状态,同时根据整个环只能有一个转发设备的LAN端口处于转发状态的原则,确定是否将本设备的LAN端口设为listen状态,若本设备的LAN端口设为listen状态,则开启该LAN端口的端口镜像功能,否则,根据LAN到WAN的流量方向,开启本设备上该流量的入环端口的端口镜像功能。\n[0203] 流量转发模块122:接收root设备选举模块121发来的初始化完成指示,当从本设备的LAN端口或环端口接收到流量时,根据预设流量均衡算法,判断是否应由本设备将流量转发给WAN,若是,将流量转发给WAN。\n[0204] 故障处理模块123:当环发生故障时,向root设备选举模块121发送重启root设备选举指示。\n[0205] 流量转发模块122进一步用于,当接收到root设备选举模块121发来的初始化完成指示后,将流量均衡算法发送给环上的其它各转发设备。\n[0206] 在实际应用中,root设备选举模块121可包括:正常选举模块和异常选举模块,其中:\n[0207] 正常选举模块:本设备初始化时或接收到故障处理模块123发来的重启root设备选举指示时,将本设备的环端口都设为listen状态,关闭本设备的端口镜像功能和业务转发功能,按照预设方向从本设备的一个环端口发出BPDU发现报文,该报文的源MAC地址为自身的管理MAC地址;当接收到其它转发设备发来的BPDU发现报文后,比较报文的源管理MAC地址与本设备的管理MAC地址,若前者大于后者,则将该报文按照预设方向从本设备的环端口转发给下一转发设备;否则,丢弃该报文;当收到本设备发送的BPDU发现报文时,确认本设备是root设备,开启本设备的端口镜像功能和业务转发功能,并通知其它转发设备本设备被选举为root设备,将本设备的两个环端口一个作为主用环端口,另一个作为备用环端口,将备用环端口设为listen状态,同时根据整个环只能有一个转发设备的LAN端口处于转发状态的原则,确定是否将本设备的LAN端口设为listen状态,若本设备的LAN端口设为listen状态,则开启该LAN端口的端口镜像功能,否则,根据LAN到WAN的流量方向,开启本设备上该流量的入环端口的端口镜像功能。\n[0208] 异常选举模块:本设备初始化时或接收到故障处理模块123发来的重启root设备选举指示时,按照预设方向的反方向从本设备的另一环端口发出BPDU侦测报文;当接收到其它转发设备发来的BPDU侦测报文时,返回BPDU侦测响应报文;若在发出BPDU侦测报文后未收到BPDU侦测响应报文、且未收到指示已选举出root设备的报文,则将本设备选举为root设备,开启本设备的端口镜像功能和业务转发功能,并通知其它转发设备本设备被选举为root设备,将本设备的两个环端口一个作为主用环端口,另一个作为备用环端口,将备用环端口设为listen状态,同时根据整个环只能有一个转发设备的LAN端口处于转发状态的原则,确定是否将本设备的LAN端口设为listen状态,若本设备的LAN端口设为listen状态,则开启该LAN端口的端口镜像功能,否则,根据LAN到WAN的流量方向,开启本设备上该流量的入环端口的端口镜像功能。\n[0209] 在实际应用中,故障处理模块123可包括:故障发现模块和故障通告模块,其中:\n[0210] 故障发现模块:定时按照预设方向的反方向从本设备的环端口发出BPDU查询报文,若在预设等待时长内未接收到邻居返回的BPDU查询响应报文,则向故障通告模块发送故障通告指示。\n[0211] 故障通告模块:当接收到故障通告指示,按照预设方向从本设备的环端口发出BPDU故障通告报文,同时,向root设备选举模块发送重启root设备选举指示;当接收到其它转发设备发来的BPDU故障通告报文,向root设备选举模块发送重启root设备选举指示。\n[0212] 以下给出本发明实施例二提供的转发设备的组成,该转发设备位于WAN与LAN之间,该转发设备与WAN与LAN之间的其它转发设备连接成一个链,该转发设备具有用于在链上传输控制报文的管理MAC地址,以及用于与链外设备进行流量交互的链IP地址和链MAC地址,且,该管理MAC地址不与其它任何转发设备的管理MAC地址相同,该链IP地址和链MAC地址为链上所有转发设备共用,该转发设备包括:root设备选举模块、流量转发处理模块和故障处理模块,其中:\n[0213] root设备选举模块:初始时或接收到故障处理模块发来的重启root设备选举指示时,在链两端的无故障转发设备中选举出一个root设备,根据整个链只能有一个转发设备的LAN端口处于业务转发状态、且必须是链两端的无故障转发设备之一的LAN端口处于业务转发状态的原则,确定是否将本设备的LAN端口设为listen状态。\n[0214] 流量转发处理模块:当从LAN端口或链端口接收到流量时,将该流量镜像到本设备的另一链端口,同时,将该流量上报给自身的CPU,以使得CPU根据预设流量均衡算法,判断是否应由本设备将流量转发给WAN,若是,CPU将流量转发给WAN,否则,CPU丢弃该流量。\n[0215] 故障处理模块:当发现链发生故障时,向root设备选举模块发送重启root设备选举指示。\n[0216] 流量转发处理模块进一步用于,当发现本设备被选举为root设备之后,将流量均衡算法发送给链上的其它各转发设备。\n[0217] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
法律信息
- 2017-05-10
专利权人的姓名或者名称、地址的变更
专利权人由杭州华三通信技术有限公司变更为新华三技术有限公司
地址由310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地变更为310052 浙江省杭州市滨江区长河路466号
- 2014-10-15
- 2011-12-21
实质审查的生效
IPC(主分类): H04L 12/56
专利申请号: 201110137476.6
申请日: 2011.05.25
- 2011-10-05
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-03-23
|
2009-07-30
| | |
2
| |
2008-08-27
|
2008-03-20
| | |
3
| |
2004-09-15
|
2003-10-14
| | |
4
| |
2008-11-05
|
2008-05-08
| | |
5
| |
2005-03-23
|
2004-09-21
| | |
6
| |
2008-04-02
|
2006-09-30
| | |
7
| |
2008-09-10
|
2007-03-08
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |