一种堆叠设备中的端口镜像方法和装置的制作方法

文档序号:7720374阅读:384来源:国知局
专利名称:一种堆叠设备中的端口镜像方法和装置的制作方法
一种堆叠设备中的端口镜像方法和装置
技术领 域本发明涉及网络通信技术领域,特别涉及一种堆叠设备中的端口镜像方法和装置。
背景技术
网络系统对访问速度、稳定性、可管理性的高要求,使得提供网络服务的Internet 数据中心(IDC)应运而生,而且正在逐渐地形成产业。为了保证IDC核心应用服务的不中 断运行,在网络整体设计和设备配置上均是按照双备份要求设计的,在网络连接上消除单 点故障,提供关键设备的故障切换。为了保证IDC网络架构的高可用性和可扩展性,常常采 用堆叠技术和多生成树协议(MSTP)技术。如图1所示,在一个IDC中业务服务器、接入交 换机和核心交换机均是按照双备份要求设计,其中在接入交换机上采用堆叠技术,即将接 入交换机1和接入交换机2构成一个堆叠设备(如图1中虚线框所示),接入交换机1和接 入交换机2的端口 2作为堆叠端口,端口 1作为两个上行端口。为了避免环路,在接入交换 机1、接入交换机2、核心交换机1和核心交换机2上运行MSTP,如图1中所示,假设运行结 果为接入交换机2的上行端口即端口 1阻塞。随着对网络安全要求的进一步提高,在IDC中引入流量监控方式,而端口镜像技 术是流量监控的常用手段。端口镜像是把交换机的一个或多个端口的数据复制到一个或多 个端口的方法,其中,被复制的端口称为镜像源端口,复制到的端口称为镜像目的端口。通 常将堆叠设备中一个或多个镜像源端口的数据流复制到同一个镜像目的端口上,通过对镜 像目的端口的流量进行监控就可以实现对整个堆叠设备的流量监控。对图1所示架构进行 上行流量的监控就可以将两个上行端口,即接入交换机1和接入交换机2的端口 1作为镜 像源端口,其共同对应同一个镜像目的端口,即接入交换机1的端口 3,如图2所示,仅对接 入交换机1的端口 3进行监控便可以实现对整个IDC上行流量的监控。在IDC中同时引入堆叠技术、MSTP技术和端口镜像技术时,常常会带来如下问题 如图1所示,由于端口镜像属于协议最底层,当接入交换机2通过端口 1接收到报文时,首 先对该报文进行端口镜像,复制报文并通过端口 2将复制得到的镜像报文最终发送到接入 交换机1的端口 3,然后送至上层协议确定交换机2的端口 1为阻塞状态,将从端口 1接收 到的报文做丢弃处理。对于来自核心交换机的ARP报文会广播至接入交换机1的端口 1和 接入交换机2的端口 1。接入交换机1通过端口 1接收到该ARP报文后,针对端口 1建立 ARP表项,假设表项内容为(IP1,MAC1)。接入交换机2通过端口 1接收到ARP报文后,通过 端口镜像将该ARP报文发送到接入交换机1的端口 2,需要针对端口 2建立ARP表项,由于 已经存在相同内容的ARP表项是针对端口 1的,因此,会将针对端口 1的该ARP表项删除, 建立针对端口 2的ARP表项。每次通过接入交换机1的端口 1或接入交换机2的端口 1接 收到报文后,都会进行MAC地址学习,如果学习到的MAC地址与已经存在的ARP表项的端口 不同,则会不断进行ARP表项的更新引起ARP信息的漂移。由于在漂移的过程中,某些时候 ARP表项是针对端口 2的,因此,数据流量在此时会按照端口 2的ARP表项被接入交换机1通过端口 2发送至接入交换机2,并在接入交换机2的端口 1被丢弃,从而造成流量不能正 常转发。

发明内容
有鉴于此,本发明提供了一种堆叠设备中的端口镜像方法和装置,以便于避免ARP 信息的漂移所导致的流量不能正常转发的现象。一种堆叠设备中的端口镜像方法,应用于包含至少两个二层交换机的IDC,所述至 少两个二层交换机构成一个堆叠设备,将该堆叠设备的两个上行端口作为镜像源端口,该 堆叠设备上除所述镜像源端口以外的另一个端口作为镜像目的端口,在所述镜像源端口所 在的二层交换机上运行生成树协议以阻塞其中一个镜像源端口 ;该方法包括所述镜像源端口所在的二层交换机通过镜像源端口接收到报文后,确定接收到报 文的镜像源端口的生成树状态;如果是转发状态,则将所述报文进行镜像处理得到的镜像 报文转发至所述镜像目的端口,如果是阻塞状态,则不对所述报文进行镜像处理。一种二层交换机,应用于包含至少两个二层交换机的IDC,在该IDC中,所述至少 两个二层交换机构成一个堆叠设备,该堆叠设备的两个上行端口作为镜像源端口,该堆叠 设备上除所述镜像源端口以外的另一个端口作为镜像目的端口,所述镜像源端口所在的二 层交换机上运行生成树协议以阻塞其中一个镜像源端口 ;所述镜像源端口所在的二层交换 机包括状态确定单元,用于在该二层交换机通过镜像源端口接收到报文后,确定接收到 报文的镜像源端口的生成树状态;镜像处理单元,用于在所述状态确定单元确定的生成树状态为转发状态时,将所 述报文进行镜像处理得到的镜像报文转发至所述镜像目的端口 ;在所述状态确定单元确定 的生成树状态为阻塞状态时,不对所述报文进行镜像处理。一种IDC,包含至少两个二层交换机,该至少两个二层交换机构成一个堆叠设备, 该堆叠设备的两个上行端口作为镜像源端口,该堆叠设备上除所述镜像源端口以外的另一 个端口作为镜像目的端口,在所述镜像源端口所在的二层交换机上运行生成树协议以阻塞 其中一个镜像源端口,所述镜像源端口所在的二层交换机为上述的镜像源端口所在的二层 交换机。由以上技术方案可以看出,本发明中二层交换机通过镜像源端口接收到报文后, 并不是无条件的进行镜像处理,而是首先确定镜像源端口的生成树状态,在生成树状态是 转发状态时对报文进行镜像处理,在端口状态是阻塞状态时不对报文进行镜像处理。从而 避免了镜像源端口和镜像目的端口共同所在的二层交换机从两个不同的端口进行学习到 相同的ARP信息而引起的ARP信息漂移,保证ARP表项建立的正确性,使得流量能够通过转 发状态的端口进行正常转发。


图1为采用堆叠技术和MSTP技术的IDC结构示意图;图2为图1所示架构中引入端口镜像的示意图;图3为本发明提供的二层交换机的结构示意图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对 本发明进行详细描述。本发明提供的方法的应用场景为应用于包含至少两个二层交换机的IDC,该至 少两个二层交换机构成一个堆叠设备,该堆叠设备的两个上行端口作为镜像源端口,该堆 叠设备上除镜像源端口以外的另一个端口作为镜像目的端口,在镜像源端口所在的二层交 换机上运行生成树协议以阻塞其中一个镜像源端口 ;该方法包括镜像源端口所在的二层 交换机通过镜像源端口接收到报文后,确定接收到报文的镜像源端口的生成树状态;如果 是转发状态,则将报文进行镜像处理得到的镜像报文转发至镜像目的端口,如果是阻塞状 态,则不对报文进行镜像处理。 本发明在底层协议的端口镜像中提前引入端口生成树状态的确定,根据具体的端 口生成树状态决定是否对接收到的报文进行镜像处理,从而避免镜像源端口和镜像目的端 口共同所在的二层交换机从不同端口学习到相同的MAC地址。本发明所涉及的二层交换机可以是接入交换机,也可以是核心交换机等,下面仍 以图2所示架构中的接入交换机为例对本发明所提供的方法进行详细描述,在该架构中是 以两个接入交换机为例的,在实际应用中可能存在两个以上的接入交换机构成堆叠设备, 但是此时,该堆叠设备的上行端口仍然只有两个,该两个上行端口作为镜像源端口,对于镜 像源端口所在的接入交换机仍可以采用本发明所提供的方法。接入交换机1和接入交换机2构成一个堆叠设备,接入交换机1和接入交换机2 上分别与核心交换机1和核心交换机2连接的端口,即两个端口 1,作为镜像源端口,接入交 换机1的端口 3作为镜像目的端口。接入交换机1、接入交换机2、核心交换机1和核心交 换机2上运行MSTP后阻塞接入交换机2的端口 1。接入交换机1和接入交换机2通过自身的端口 1接收到报文后,确定自身的端口 1 的MSTP状态,如果是转发(Forwarding)状态,则对该报文进行镜像处理,即进行复制得到 镜像报文后转发至接入交换机1的端口 3,例如,接入交换机1通过自身的端口 1接收到报 文后,对报文进行镜像后转发至端口 3。如果是阻塞(Blocking)状态,则不对报文进行镜像 处理,例如,接入交换机2通过自身的端口 1接收到报文后,不对报文进行镜像处理。其中,接入交换机1和接入交换机2通过自身的端口 1接收到报文后,可以读取自 身端口 1的MSTP状态寄存器,根据读取的寄存器值确定自身端口 1的MSTP状态,即处于 Forwarding 状态还是 Blocking 状态。此处涉及的报文包括数据报文或ARP报文。这样接入交换机2不会将接收到的报 文镜像给接入交换机1,同一个设备发送来的报文仅能够通过交换机1的端口 1到达接入 交换机1,因此接入交换机1不会通过端口 1和端口 2学习到相同的MAC地址,从而避免了 ARP表项的反复更新。接入交换机1通过自身的端口 1接收到报文后,利用该报文进行MAC地址学习,判 断接入交换机1中是否已经建立包含学习到的MAC地址的ARP表项,如果否,利用学习到的 MAC地址和端口 1建立ARP表项;如果是,进一步判断包含学习到的MAC地址的ARP表项对 应的端口是否为端口 1,如果是,则保持该ARP表项不变,否则,利用端口 1更新包含学习到的MAC地址的ARP表项。该部分ARP表项的建立和更新方式与现有技术相同。例如,核心交换机1广播的ARP报文中包含的ARP信息为(IP1,MAC1),接入交换机 1通过自身的端口 1接收到该ARP报文后,针对端口 1建立包含(IP1,MAC1)的ARP表项,接 入交换机2通过自身的端口 1接收到该ARP报文后,不对该ARP报文进行端口镜像,且丢弃 该ARP报文。接入交换机1通过自身的端口 1接收到核心交换机1发送来的任何报文后, 进行MAC地址学习,学习到的MACl不会引起ARP表项的变化。接入交换机2通过自身的端 口 2接收到核心交换机1发送来的任何报文后,都不会镜像给接入交换机1,即接入交换机 1不会通过端口 2学习到MAC1,因此不会引起ARP表项针对端口 1和端口 2反复变化。以上是对本发明所提供的方法进行的详细描述,下面对本发明所提供的二层交换 机进行详细描述。该二层交换机所应用的IDC具体为包含至少两个二层交换机,该至少两 个二层交换机构成一个堆叠设备,该堆叠设备的两个上行端口作为镜像源端口,该堆叠设 备上除镜像源端口以外的另一个端口作为镜像目的端口,在镜像源端口所在的二层交换机 上运行生成树协议以阻塞其中一个镜像源端口,具体IDC的架构可以参见图1和图2。其中,镜像源端口所在的二层交换机的结构可以如图3所示,该接入交换机可以 包括状态确定单元301和镜像处理单元302。状态确定单元301,用于在该二层交换机通过镜像源端口接收到报文后,确定接收 到报文的镜像源端口的生成树状态。镜像处理单元302,用于在状态确定单元301确定的生成树状态为转发状态时,将 报文进行镜像处理得到的镜像报文转发至镜像目的端口 ;在状态确定单元301确定的生成 树状态为阻塞状态时,不对报文进行镜像处理。其中,上述报文可以为数据报文或ARP报文,即可以针对数据报文和ARP报文都按 照上述方式进行处理。具体地,状态确定单元301可以通过读取接收到报文的镜像源端口的生成树状态 寄存器值,确定接收到报文的镜像源端口的生成树状态。更进一步地,该镜像源端口所在的二层交换机还可以包括第一判断单元303、表 项维护单元304和第二判断单元305。第一判断单元303,用于在状态确定单元301确定的生成树状态为转发状态时,利 用接收到的报文进行MAC地址学习,判断是否已经建立包含学习到的MAC地址的ARP表项。表项维护单元304,用于在第一判断单元303的判断结果为否时,利用学习到的 MAC地址和接收到报文的镜像端口建立ARP表项;在第二判断单元305的判断结果为否时, 利用接收到报文的镜像源端口更新包含学习到MAC地址的ARP表项。第二判断单元305,用于在第一判断单元303的判断结果为是时,判断包含学习到 的MAC地址的ARP表项对应的端口是否为接收到报文的镜像源端口。由以上描述可以看出,本发明中二层交换机通过镜像源端口接收到报文后,并不 是无条件的进行镜像处理,而是首先确定镜像源端口的生成树状态,在生成树状态是转发 状态时对报文进行镜像处理,在端口状态是阻塞状态时不对报文进行镜像处理。从而避免 了镜像源端口和镜像目的端口共同所在的二层交换机从两个不同的端口进行学习到相同 的ARP信息而引起的ARP信息漂移,保证ARP表项建立的正确性,使得流量能够通过转发状 态的端口进行正常转发。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种堆叠设备中的端口镜像方法,应用于包含至少两个二层交换机的数据中心 IDC,所述至少两个二层交换机构成一个堆叠设备,将该堆叠设备的两个上行端口作为镜像 源端口,该堆叠设备上除所述镜像源端口以外的另一个端口作为镜像目的端口,在所述镜 像源端口所在的二层交换机上运行生成树协议以阻塞其中一个镜像源端口 ;其特征在于, 该方法包括所述镜像源端口所在的二层交换机通过镜像源端口接收到报文后,确定接收到报文的 镜像源端口的生成树状态;如果是转发状态,则将所述报文进行镜像处理得到的镜像报文 转发至所述镜像目的端口,如果是阻塞状态,则不对所述报文进行镜像处理。
2.根据权利要求1所述的方法,其特征在于,所述报文为数据报文或地址解析协议ARP 报文。
3.根据权利要求1所述的方法,其特征在于,所述确定接收到报文的镜像源端口的生 成树状态为所述镜像源端口所在的二层交换机读取接收到报文的镜像源端口的生成树状 态寄存器,根据读取的寄存器值确定所述接收到报文的镜像源端口的生成树状态。
4.根据权利要求1、2或3所述的方法,其特征在于,在确定所述接收到报文的镜像源端 口为转发状态时,还包括利用所述接收到的报文进行MAC地址学习,判断是否已经建立包 含学习到的MAC地址的ARP表项,如果否,利用学习到的MAC地址和所述接收到报文的镜像 源端口建立ARP表项;如果是,判断包含学习到的MAC地址的ARP表项对应的端口是否为所 述接收到报文的镜像源端口,如果否,利用所述接收到报文的镜像源端口更新所述包含学 习到的MAC地址的ARP表项。
5.一种二层交换机,应用于包含至少两个二层交换机的IDC,在该IDC中,所述至少两 个二层交换机构成一个堆叠设备,该堆叠设备的两个上行端口作为镜像源端口,该堆叠设 备上除所述镜像源端口以外的另一个端口作为镜像目的端口,所述镜像源端口所在的二层 交换机上运行生成树协议以阻塞其中一个镜像源端口 ;其特征在于,所述镜像源端口所在 的二层交换机包括状态确定单元,用于在该二层交换机通过镜像源端口接收到报文后,确定接收到报文 的镜像源端口的生成树状态;镜像处理单元,用于在所述状态确定单元确定的生成树状态为转发状态时,将所述报 文进行镜像处理得到的镜像报文转发至所述镜像目的端口 ;在所述状态确定单元确定的生 成树状态为阻塞状态时,不对所述报文进行镜像处理。
6.根据权利要求5所述的镜像源端口所在的二层交换机,其特征在于,所述报文为数 据报文或ARP报文。
7.根据权利要求5所述的镜像源端口所在的二层交换机,其特征在于,所述状态确定 单元通过读取接收到报文的镜像源端口的生成树状态寄存器值,确定所述接收到报文的镜 像源端口的生成树状态。
8.根据权利要求5、6或7所述的镜像源端口所在的二层交换机,其特征在于,所述镜像 源端口所在的二层交换机还包括第一判断单元、表项维护单元和第二判断单元;所述第一判断单元,用于在所述状态确定单元确定的生成树状态为转发状态时,利用 所述接收到的报文进行MAC地址学习,判断是否已经建立包含学习到的MAC地址的ARP表 项;所述表项维护单元,用于在所述第一判断单元的判断结果为否时,利用所述学习到的 MAC地址和所述接收到报文的镜像端口建立ARP表项;在所述第二判断单元的判断结果为 否时,利用所述接收到报文的镜像源端口更新所述包含学习到MAC地址的ARP表项;所述第二判断单元,用于在所述第一判断单元的判断结果为是时,判断包含学习到的 MAC地址的ARP表项对应的端口是否为所述接收到报文的镜像源端口。
9.一种IDC,包含至少两个二层交换机,该至少两个二层交换机构成一个堆叠设备,该 堆叠设备的两个上行端口作为镜像源端口,该堆叠设备上除所述镜像源端口以外的另一个 端口作为镜像目的端口,在所述镜像源端口所在的二层交换机上运行生成树协议以阻塞其 中一个镜像源端口,其特征在于,所述镜像源端口所在的二层交换机为权利要求5所述的 镜像源端口所在的二层交换机。
10.根据权利要求9所述的IDC,其特征在于,所述二层交换机为接入交换机,所述镜像 源端口为所述堆叠设备与核心交换机连接的端口。
全文摘要
本发明提供了一种堆叠设备中的端口镜像方法和装置,应用于包含至少两个二层交换机的数据中心(IDC),所述至少两个二层交换机构成一个堆叠设备,堆叠设备的两个上行端口作为镜像源端口,除镜像源端口以外的另一个端口作为镜像目的端口,在镜像源端口所在的二层交换机上运行生成树协议以阻塞其中一个镜像源端口;镜像源端口所在的二层交换机通过镜像源端口接收到报文后,确定接收到报文的镜像源端口的生成树状态;如果是转发状态,则将该报文进行镜像处理得到的镜像报文转发至镜像目的端口,如果是阻塞状态,则不对该报文进行镜像处理。本发明能够避免地址解析协议(ARP)信息的漂移所导致的流量不能正常转发。
文档编号H04L12/56GK102075410SQ20091023848
公开日2011年5月25日 申请日期2009年11月20日 优先权日2009年11月20日
发明者李蔚 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1