一种stp切换时ip单播平滑切换的方法及装置的制作方法

文档序号:7710681阅读:81来源:国知局
专利名称:一种stp切换时ip单播平滑切换的方法及装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种STP切换时IP单播平滑切换的 方法及装置。
背景技术
在目前的企业网以及各种园区网络中,对于用户侧出于双机备份和业务 负载分担功能的考虑,而广泛采用VRRP ( Virtual Router Redundancy Protocol, 虚拟路由冗余协议)+STP ( Spanning Tree Protocol,生成树协议)协议的典型 组网,如图1所示。
其中,STP是在局域网中消除数据链路层(二层)物理环路的协议。运 行该协议的设备通过彼此交互信息发现网络中的环路,并有选择的对某些端 口进行阻塞,最终将环路网络结构修剪成无环路的树型网络结构,从而防止 报文在环路网络中不断增生和无限循环,避免设备由于重复接收相同的报文 造成的报文处理能力下降。
VRRP将可以承担网关功能的 一组路由器加入到备份组中,形成一 台虚拟 路由器,由VRRP的选举机制决定哪台路由器承担转发任务,局域网内的主 机只需将虛拟路由器配置为缺省网关。VRRP是一种容^t普协议,在提高可靠性 的同时,简化了主机的配置。在具有多播或广播能力的局域网(如以太网) 中,借助VRRP能在某台路由器出现故障时仍然提供高可靠的缺省链路,有 效避免单一链路发生故障后网络中断的问题,而无需修改动态路由协议、路 由发现协议等配置信息。
STP生成树示意图如图2所示,可知为了在网络拓朴中解决环路的问题, 选择交换机A作为生成树的树根(ROOT),将交换机B、交换机C、交换机 D作为生成树的叶子。其中,正方形代表指定端口,圆形代表才艮端口,菱形 代表非指定端口。 STP生成树通过阻塞网络中适当的端口来打破网络中的环路,从而能够保证数据的转发。同时如果某条链路出现故障则被阻塞的端口 就会转换为转发状态,从而自动恢复数据的转发,起到自动修复网络的作用。
在STP中存在着两种BPDU (Bridge Protocol Data Unit,网桥协议数据 单元) 一种是Config BPDU (配置BPDU),用来进行选举和维持网络状态; 一种是TCN ( Topology Change Notification, STP拓朴变化消息)BPDU,用 来告知网络拓朴变化。其中,TCNBPDU,只有Config BPDU的前3个字段, 即Protocol、 Version, Type,其余的字段均为填充字节,可以说是一个不带桥 信息的BPDU。 TCN的发送按照本地配置的Hello Time,不同于配置BPDU 的Hello Time。
STP中网桥可以根据以下方式确定网络拓朴结构发生改变原来处于转 发状态的端口down了 (处于Blocking状态,而不是disable状态);或一个 端口由Blocking状态转移到了 Forwarding状态,并且网桥在该Forwarding状 态的端口路径上具有一个指定端口 ,可以形成新的转发路径。
其中,网络拓朴结构变化不是指物理上的拓朴变化,而是树结构的变化。 只要以上两种情况之一发生,则认为是拓朴结构发生了变化,检测到拓朴结 构变化的交换机会从自己的根端口向上发送TCN,上行的指定端口接收到 TCN以后,会以本身的配置BPDU回送一个确认报文,并通过本身的根端口 继续向上发送TCN, —直到达根桥为止。发送TCN的交换机收到确认报文以 后将不再发送TCN,如果上层交换机的指定端口没有发回确认冲艮文,则下层 交换机的根端口会不断发送TCN。
当根桥收到TCN以后向全网泛洪TC (Topology Change,拓朴变化)位 置1的配置BPDU,所有的交换机都会转发这个^^文直到整个网络都知道拓 朴结构发生了改变。根桥发送这个BPDU的时间是MaxAge+ForwardingTime 的时间。TC正是通知各交换机将MAC地址老化时间更新。交换机收到TC 以后开始删除MAC地址表并重新学习,正好完成状态的迁移。这样基于最新 的二层网络拓朴生成的最短生成树就建立起来了 。
根桥发送BPDU为了加快MAC (Media Access Control,介质访问控制) 地址表的老化---般情况下MAC地址表要等很久才能老化,而已经知道拓朴结构发生变化的情况下还要等上数分钟才能通过其他链路转发数据,这会 在 一段时间内造成报文的无法。
图1组网实现中,当链路故障导致二层网络拓朴发生变化时,能够触发
STP进行重新计算,网络新的最短转发路径很快恢复正常;二层报文会在 VLAN (Virtual Local Area Network,虚拟局域网)内广播,可以保证二层联 通性;但三层才艮文可能由于ARP (Address Resolution Protocol,地址解析协议) /ND (Neighbor Discovery Protocol,邻居发现协议)的学习緩慢,报文还使 用原来的端口进行转发。在没有正确学习到ARP/ND的期间,会导致IP单 播转发大量的丟包,三层以上的业务应用中断。直到ARP重新学习之后,最 终才能恢复单播业务,不能实现IP单播业务的平滑切换。

发明内容
本发明提供了一种STP切换时IP单播平滑切换的方法及装置,确保IP 单播业务的应用不发生中断,保证网关的可靠性和平滑切换。
本发明提供了 一种STP切换时IP单播平滑切换的方法,应用于具有二层 数据转发和三层数据转发功能的网络设备中,所述方法包括以下步骤
所述网络设备通过二层快速收敛协议检测二层网络是否发生变化;
如果发生变化,所述网络设备确定发生变化的二层网络,并且不删除该 二层网络对应的ARP/ND转发表项,将所述转发表项修改为广播模式,通过 所述广播模式对三层数据进行转发。
其中,所述通过广播模式对三层数据进行转发,之后还包括
重新学习ARP / ND转发表项;
恢复三层单播转发模式,根据所述ARP/ND转发表项对三层数据进行转发。
其中,所述恢复三层单播转发模式,根据所述ARP/ND转发表项对三层 数据进行转发,之前还包括
重新学习二层MAC转发表项,进行STP切换。
其中,如果所述ARP/ND重新学习次数超过预设次数均失败后,删除所述ARP/ND转发表项。
其中,所述二层网络发生变化包括网络设备故障、链路故障或网络拓朴 变化。
其中,所述二层快速收敛协议包括STP、 RSTP或MSTP。
本发明提供了 一种STP切换时IP单播平滑切换的网络设备,应用于二层 数据转发和三层数据转发的网络中,包括
二层故障检测模块,用于通过二层快速收敛协议检测二层网络是否发生 变化,并将所述变化情况通过通知消息发送给IP单播转发模块;
IP单播转发模块,与所述二层故障检测模块连接,用于如果发生变化, 所述网络设备确定发生变化的二层网络,并且不删除该二层网络对应的ARP /ND转发表项,将所述转发表项修改为广播模式,通过所述广播模式对三层 数据进行转发。
其中,还包括
联动通知模块,分别与所述二层故障检测模块和所述IP单播转发模块连 接,用于接收所述通知消息,将所述通知消息异步转发给所述IP单播转发模块。
其中,
所述IP单播转发模块,还用于重新学习ARP/ND转发表项,恢复三层 单播转发模式,根据所述ARP/ND转发表项对三层数据进行转发。 其中,
所述IP单播转发模块,还用于当所述ARP / ND重新学习次数超过预设 次数均失败后,删除所述ARP / ND转发表项。 其中,还包括
二层切换模块,与所述二层故障检测模块连接,用于重新学习二层MAC 转发表项,进行STP切换。
与现有技术相比,本发明具有以下优点本发明中,在启用了二层快速收敛协议的网络中,链路故障或者拓朴变
化后,三层模块进行联动处理,ARP表项不立刻删除,使用定时器进行ARP 解析,解析成功则不删除ARP对应表项,将相关三层转发表项修改为广播,
另外,三层单播报文广播转发和VRRP的链路备份同时部署,在链路故 障或者拓朴变化后,实现最大限度网络转发保证。


图1是现有技术中VRRP+MSTP典型组网图; 图2是现有技术中STP生成树示意图3是本发明中一种STP切换时IP单播平滑切换的方法流程图4是本发明中一种二层收敛协议中的应用示意图5是本发明中二层收敛协议计算的无环网络和凝:据流示意图6是本发明中拓朴消息变化后的数据转发流程示意图7是本发明中二层快速收敛协议和单播转发模块关联的网络设备结构图。
具体实施例方式
本发明的核心思路是在启用了二层快速收敛协议的网络中,当设备故 障、链路故障或增加减少设备导致二层网络拓朴发生变化时,网络设备中检 测到该变化的实体与网络设备中的三层单播转发模块进行联动,让单播转发 模块感知这一网络拓朴变化,并且不删除相关ARP/ND转发表项,而是将该 ARP/ND转发表项改为在VLAN内广播。从而确保三层单播业务的稳定性, 从而更好的保证了网关的切换不会对其下业务产生任何影响。
本发明提供了 一种STP切换时IP单播平滑切换的方法,应用于具有二层 数据转发和三层数据转发功能的网络设备中,所述方法如图3所示,包括以 下步骤
步骤301,所述网络设备通过二层快速收敛协议检测二层网络是否发生变化。
为了保证二层网络的快速收敛,本发明在二层网络中采用快速感知网络 变化和收敛的机制,能够检测出本网络设备、链路的故障或者网络拓朴变化 (网络设备加入或退出)。并且通过协议的交互能够保证整个网络拓朴的快 速收敛。这种拓朴变化并不一定是本设备的故障或者变化,而是部署在整个 二层网络的所有变化或者故障都能够快速感知。本发明并没有要求具体采用
哪种快速收敛协议,可以采用STP、 RSTP或者MSTP等生成树协议,以及采 用各种私有的二层快速收敛协议,只有网络设备具备了这个功能,才能够在
网络发生故障时,快速感知网络拓朴的变化并重新计算最短路径,使得整个 二层网络快速收敛。本发明可以采用的二层快速收敛协议包括上述协议,但 不仅限于此。
图4是一个启用二层收敛协议的组网,SwitchB和SwitchC以SwitchA为 网关,数据通过SwitchA上行做三层转发,下行数据的三层转发也在SwitchA 终结。由于启用二层收敛协议,这样有环路的网络肯定有一个边的连接端口 会阻塞。假如SwitchA和SwitchC之间的端口阻塞,如图5,虛线表示数据的 转发。
假如拓朴变化,SwitchA和SwitchB之间的链路断掉,二层收敛协议的拓 朴变化消息最先通知全网。SwitchA和SwitchC之间的端口由阻塞状态转换为 转发状态,如图6,虚线表示数据的转发。
步骤302,如果发生变化,所述网络设备确定发生变化的二层网络,并且 不删除该二层网络对应的ARP / ND转发表项,将所述转发表项修改为广播模 式,通过所述广播才莫式对三层数据进行转发。
所述通过广播模式对三层数据进行转发之后,重新学习ARP / ND转发表 项;恢复三层单播转发模式,根据所述ARP/ND转发表项对三层数据进行转 发。如果所述ARP /ND重新学习多次失败后,删除所述ARP / ND转发表项。
如果二层网络快速收敛协议发现了网络设备、链路的故障或者网络拓朴 变化,本发明提出通过某种机制或者手段来通知本设备的三层单播转发模块 感知这种故障并采取合理的处理。本发明并不限制具体通知故障的机制或者手段,例如^t块间的消息队列或者任务间的通信等。^f旦是要求这种才几制必须
满足下面的要求
这种联动的机制要能够正确的传达哪一个二层网络发生故障的信息,这 种故障会影响到网络拓朴的变化,并且已经快速恢复。这种机制并不需要说 明具体哪一台设备或者哪一个链路发生故障,单播转发模块只需要知道这个
二层网络发生故障需要联动即可。为了尽量减少三层转发丟包,在二层发生 故障或者拓朴变化后,二层协议需要快速通知单播模块,而不是等到二层收 敛后才通知。
本发明除了包括前面描述的联动技术和方法之外,还包括一种实现二层 快速收敛协议和单播转发模块关联的网络设备,如图7所示,包括
二层故障检测模块710,用于通过二层快速收敛协议检测二层网络是否发 生变化,二层拓朴变化或链路发生故障后,将所述变化情况通过通知消息发 送给IP单播转发模块720,具体使用的协议不限,例如模块间的消息队列或 者任务间的通信等;
IP单播转发模块720,与所述二层故障检测模块连接,用于如果发生变化, 所述网络设备确定发生变化的二层网络,并且不删除该二层网络对应的ARP /ND转发表项,将所述转发表项修改为广播模式,通过所述广播模式对三层 数据进行转发。
IP单播转发模块720,还用于启用定时器,完成ARP/ND表项的重新解 析,重新学习ARP/ND转发表项,恢复三层单播转发模式,根据所述ARP / ND转发表项对三层数据进行转发,如果所述ARP / ND重新学习多次失败 后,删除所述ARP/ND转发表项。其中,定期器周期和重新解析次数可配, 可以根据不同应用场合具体定制。
其中,ARP/ND重新学习过程例如站点A和B所在网段都属于交换 机上的直连网段,若站点A和站点B不在同一子网内,发送站A首先要向其 "缺省网关,,发出ARP请求报文,而"缺省网关"的IP地址其实就是三层交换机 上站点A所属VLAN的IP地址。当发送站A对"缺省网关"的IP地址广播出一个ARP请求时,交换机就向发送站A回一个ARP回复报文,告诉站点A 交换机此VLAN的MAC地址,同时可以通过软件把站点A的IP地址、MAC 地址、与交换机直接相连的端口号等信息设置到交换芯片的三层硬件表项中。 站点A收到这个ARP回复报文之后,进行目的MAC地址替换,把要发给B 的包首先发给交换机。交换机收到这个包以后,同样首先进行源MAC地址学 习,目的MAC地址查找,由于此时目的MAC地址为交换机的MAC地址, 在这种情况下将会把该报文送到交换芯片的三层引擎处理。由于芯片内部的 三层引擎中已经保存站点A、 B的路由信息,以后站点A、 B之间进行通信或 其它网段的站点想要与A、 B进行通信,交换芯片则会直接把包从三层硬件表 项中指定的端口转发出去,而不必再把包交给CPU处理。
为了保证二层相关业务实时性,以及相关业务不被阻塞,二层故障检测 单元发现故障后,不直接通知IP单播模块直接进行处理,而是借用联动通知 模块730实现异步通知。联动通知模块730,分别与二层故障检测模块710和 IP单播转发模块720连接,用于接收所述通知消息,将所述通知消息异步转 发给所述IP单播转发模块720。
二层切换模块740,与二层故障检测模块710连接,用于重新学习二层 MAC转发表项,进行STP切换。重新学习过程中不断收集信息去建立起新 MAC地址表。这个表相基本上说明了某个MAC地址是在哪个端口上被发现 的,这样当交换机收到 一个以太网包时,便会查看 一 下该以太网包的目的MAC 地址,核对一下自己的地址表以确认该从哪个端口把包发出去。但当交换机 收到一个不认识的包时,也就是说如果目的MAC地址不在MAC地址表中, 交换机便会把该包"扩散"出去,即从所有端口发出去。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。 基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软 件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服 务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的 模块或流程并不 一 定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述 进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一 个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆 分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此, 任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种STP切换时IP单播平滑切换的方法,应用于具有二层数据转发和三层数据转发功能的网络设备中,其特征在于,所述方法包括以下步骤所述网络设备通过二层快速收敛协议检测二层网络是否发生变化;如果发生变化,所述网络设备确定发生变化的二层网络,并且不删除该二层网络对应的ARP/ND转发表项,将所述转发表项修改为广播模式,通过所述广播模式对三层数据进行转发。
2、 如权利要求1所述的方法,其特征在于,所述通过广播模式对三层数 据进行转发,之后还包括重新学习ARP/ND转发表项;恢复三层单播转发模式,根据所述ARP / ND转发表项对三层数据进行转发。
3、 如权利要求2所述的方法,其特征在于,所述恢复三层单播转发模式, 根据所述ARP / ND转发表项对三层数据进行转发,之前还包括重新学习二层MAC转发表项,进行STP切换。
4、 如权利要求2所述的方法,其特征在于,如果所述ARP/ND重新学 习次数超过预设次数均失败后,删除所述ARP / ND转发表项。
5、 如权利要求1至4任一项所述的方法,其特征在于,所述二层网络发 生变化包括网络设备故障、链路故障或网络拓朴变化。
6、 如权利要求1至4任一项所述的方法,其特征在于,所述二层快速收 敛协议包括STP、 RSTP或MSTP。
7、 一种STP切换时IP单播平滑切换的网络设备,应用于二层数据转发 和三层数据转发的网络中,其特征在于,包括二层故障检测模块,用于通过二层快速收敛协议检测二层网络是否发生 变化,并将所述变化情况通过通知消息发送给IP单播转发模块;IP单播转发模块,与所述二层故障检测模块连接,用于如果发生变化, 确定发生变化的二层网络,并且不删除该二层网络对应的ARP/ND转发表项,将所述转发表项修改为广播模式,通过所述广播模式对三层数据进行转 发。
8、 如权利要求7所述的网络设备,其特征在于,还包括 联动通知模块,分别与所述二层故障检测模块和所述IP单播转发模块连接,用于接收所述通知消息,将所述通知消息异步转发给所述IP单播转发模块。
9、 如权利要求7所述的网络设备,其特征在于,所述IP单播转发模块,还用于重新学习ARP/ND转发表项,恢复三层 单播转发模式,根据所述ARP / ND转发表项对三层数据进行转发。
10、 如权利要求9所述的网络设备,其特征在于,所述IP单播转发模块,还用于当所述ARP / ND重新学习次数超过预设 次数均失败后,删除所述ARP/ND转发表项。
11、 如权利要求9所述的网络设备,其特征在于,还包括 二层切换模块,与所述二层故障检测模块连接,用于重新学习二层MAC转发表项,进行STP切换。
全文摘要
本发明公开了一种STP切换时IP单播平滑切换的方法,应用于具有二层数据转发和三层数据转发功能的网络设备中,所述方法包括以下步骤所述网络设备通过二层快速收敛协议检测二层网络是否发生变化;如果发生变化,所述网络设备确定发生变化的二层网络,并且不删除该二层网络对应的ARP/ND转发表项,将所述转发表项修改为广播模式,通过所述广播模式对三层数据进行转发。STP切换确保IP单播业务不会出现中断,最大限度的保证后续业务稳定性。
文档编号H04L12/18GK101610221SQ20091015995
公开日2009年12月23日 申请日期2009年7月23日 优先权日2009年7月23日
发明者刘如冰, 赵海峰 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1