一种获取设备间拓扑连接关系的方法、系统及装置制造方法

文档序号:7808554阅读:258来源:国知局
一种获取设备间拓扑连接关系的方法、系统及装置制造方法
【专利摘要】本发明提供一种获取设备间拓扑连接关系的方法、系统及装置,实现交换机间拓扑关系的确定。该方法中第一交换机通过自身的每个LINK UP端口发送目的地址和源地址都为该端口MAC地址或者第一交换机桥MAC的MAC通知报文,针对每个端口当其对应的关联交换机组中包含的第二交换机的数量,确定第一交换机的该端口与该关联交换机组中第二交换机学习到自身该端口MAC地址的端口是否连接。由于在本发明实施例中每台交换机通过自身的每个LINK UP端口发送MAC通知报文,并根据关联交换机组及非关联交换机组中每台交换机的信息,确定交换机端口间的连接关系,从而实现了设备间拓扑连接关系的确定。
【专利说明】一种获取设备间拓扑连接关系的方法、系统及装置

【技术领域】
[0001] 本发明涉及工业以太网【技术领域】,尤其涉及一种获取设备间拓扑连接关系的方 法、系统及装置。

【背景技术】
[0002] 现有技术中一般通过基于或Bridge-MIB的拓扑发现算法,确定交换机的 端口MAC地址,从而确定拓扑关系图,目前可以采用的软件例如可以是WUG(whatsupgod) 软件。
[0003] 图1为现有技术中确定交换机拓扑连接关系的示意图,PC通过ping来寻找交换 机1 (S1)、交换机2 (S2)和交换机3 (S3),S1能学习到S2和S3的桥MAC,S2能学习到S3的 桥MAC,但S2学习不到S1的桥MAC,S3学习不到S1和S2的桥MAC。因此该方法将无法完 成交换机或设备间拓扑连接关系的确定。现有的链路层发现协议(LLDP)仅仅是网络设备 仅仅将自身的信息发给直连设备,其它非直连设备还是无法获得该网络设备信息,同样无 法完成交换机或设备间的拓扑连接关系的确定。


【发明内容】

[0004] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的一种获取设备间拓扑连接关系的方法、系统及装置。
[0005] 本发明实施例提供了一种获取设备间拓扑连接关系的方法,该方法包括 :
[0006] 第一交换机通过自身的每个LINKUP端口发送MAC通知报文,其中,所述MAC通知 报文的源地址和目的地址为每个端口的MAC地址或者所述第一交换机的桥MAC;
[0007] 根据第二交换机返回的拓扑收集报文,获取第二交换机的桥MAC和端口MAC以及 第二交换机学习的MAC地址,并计算自身及组网中每台第二交换机学习到第一交换机端口 MAC或者桥MAC的端口对应的关联交换机组,及非关联交换机组的信息;
[0008] 第一交换机针对自身的每个LINKUP端口,判断该端口对应的关联交换机组中包 含的第二交换机的数量是否为2;
[0009] 当数量为2时,根据该关联交换机组中包含的第二交换机学习到自身该端口的 MAC地址的端口,确定自身的该端口与该第二交换机学习到自身该端口的MAC地址的端口 直接连接;
[0010] 当数量不为2时,针对该关联交换机组中包含的每台第二交换机,确定该第二交 换机学习到自身该端口MAC地址的端口,判断对应该学习到自身该端口MAC地址的端口的 关联交换机组中排除第一交换机该端口对应的非关联交换机组中的每台第二交换机后,该 关联交换机组中剩余的交换机数量是否为2;当数量为2时,确定自身的该端口与该第二交 换机学习到自身该端口MAC地址的端口直接连接,否则,确定与该端口直接连接的第二交 换机的数量不止1台或者与该第二交换机学习到自身该端口MAC地址的端口非直接连接。
[0011] 为了准确的确定交换机间的连接拓扑关系,在本发明实施例中,当第一交换机该 端口对应的关联交换机组中每台第二交换机学习到该第一交换机该端口MAC地址的端口、 对应的关联交换机组中剩余的交换机的数量都不为2时,所述方法还包括:
[0012] 确定所述每台第二交换机学习到自身该端口MAC地址的端口对应的关联交换机 组中剩余的交换机的交集;
[0013] 根据该剩余的交换机的交集中每台第二交换机学习到该第一交换机该端口MAC 地址的端口,确定自身的该端口与该交集中每台第二交换机学习到自身该端口MAC地址的 端口直接连接,且该交集中的剩余交换机之间通过共享链路连接。
[0014] 为了准确的确定交换机间的连接拓扑关系,在本发明实施例中,所述第一交换机 通过自身的每个LINKUP端口发送MAC通知报文包括:
[0015] 所述第一交换机按照设定的周期,通过自身的每个LINKUP端口发送MAC通知报 文;或,
[0016] 当所述第一交换机被开启时、或接收到linkup或接收到linkdown消息时,通过 自身的每个LINKUP端口发送MAC通知报文。
[0017] 为了防止风暴的发生,减少带宽资源的浪费,在本发明实施例中,所述第一交换机 通过自身的每个LINKUP端口发送MAC通知报文包括:
[0018] 所述第一交换机通过自身的每个LINKUP端口发送MAC通知报文,接收到该MAC 通知报文的第二交换机判断自身是否学习到所述MAC通知报文中的MAC地址;
[0019] 当第二交换机学习到所述MAC地址时,第二交换机停止转发该MAC通知报文,否 贝丨J,第二交换机学习该MAC地址并转发该MAC通知报文。
[0020] 为了准确的确定交换机间的连接拓扑关系,在本发明实施例中,所述计算自身及 组网中每台第二交换机学习到第一交换机端口MAC或者桥MAC的端口对应的关联交换机 组,及非关联交换机组的信息包括:
[0021] 所述第一交换机根据返回拓扑收集报文的每台第二交换机的桥MAC和端口MAC, 确定该第二交换机位于该端口的关联交换机组中,并通过拓扑收集报文中携带的第二交换 机的桥MAC和端口MAC以及第二交换机学习的MAC地址,计算每个第二交换机学习到第一 交换机端口MAC或者桥MAC的端口对应的关联交换机组及非关联交换机组的信息。
[0022] 本发明实施例提供了一种获取设备间拓扑连接关系的装置,所述装置包括:
[0023] 发送模块,用于通过自身的每个LINKUP端口发送MAC通知报文,其中,所述MAC 通知报文的源地址和目的地址为每个端口的MAC地址或者所述第一交换机的桥MAC;
[0024] 获取模块,用于根据第二交换机向返回的拓扑收集报文,获取第二交换机的桥MAC 和端口MAC以及第二交换机学习的MAC地址,并计算自身及组网中每台第二交换机学习到 第一交换机端口MAC或者桥MAC的端口对应的关联交换机组,及非关联交换机组的信息;
[0025] 拓扑关系确定模块,用于针对自身的每个LINKUP端口,判断该端口对应的关联交 换机组中包含的第二交换机的数量是否为2 ;当数量为2时,根据该关联交换机组中包含的 第二交换机学习到自身该端口的MAC地址的端口,确定自身的该端口与该第二交换机学习 至IJ自身该端口的MAC地址的端口直接连接;当数量不为2时,针对该关联交换机组中包含的 每台第二交换机,确定该第二交换机学习到自身该端口MAC地址的端口,判断对应该学习 到自身该端口MAC地址的端口的关联交换机组中排除自身的该端口对应的非关联交换机 组中的每台第二交换机后,该关联交换机组中剩余的交换机数量是否为2 ;当数量为2时, 确定自身的该端口与该第二交换机学习到自身该端口MAC地址的端口直接连接,否则,确 定与该端口直接连接的该第二交换机数量不止1台,或者与第二交换机学习到自身该端口 MAC地址的端口非直接连接。
[0026]为了准确的确定交换机间的连接拓扑关系,在本发明实施例中,所述拓扑关系确 定模块,还用于当确定自身该端口对应的关联交换机组中每台第二交换机学习到该第一交 换机该端口MAC地址的端口、对应的关联交换机组中剩余的交换机的数量都不为2时,确 定所述每台第二交换机学习到自身该端口MAC地址的端口对应的关联交换机组中剩余的 交换机的交集;根据该剩余的交换机的交集中每台第二交换机学习到该第一交换机该端口 MAC地址的端口,确定自身的该端口与该交集中每台第二交换机学习到自身该端口MAC地 址的端口直接连接,且该交集中的剩余交换机之间通过共享链路连接。
[0027]为了准确的确定交换机间的连接拓扑关系,在本发明实施例中,所述发送模块,具 体用于按照设定的周期,通过自身的每个LINKUP端口发送MAC通知报文;或,当自身被开 启时、或接收到linkup或接收到linkdown消息时,通过自身的每个LINKUP端口发送 MAC通知报文。
[0028]为了准确的确定交换机间的连接拓扑关系,在本发明实施例中,所述获取模块,具 体用于根据返回拓扑收集报文的每台第二交换机的桥MAC和端口MAC,确定该第二交换机 位于该端口的关联交换机组中,并通过拓扑收集报文中携带的第二交换机的桥MAC和端口 MAC以及第二交换机学习的MAC地址,计算每个第二交换机学习到第一交换机端口MAC或者 桥MAC的端口对应的关联交换机组及非关联交换机组的信息。
[0029] 本发明实施例提供了一种获取设备间拓扑关系的系统,所述系统包括上述装置, 及向所述装置返回拓扑收集报文的至少一台第二交换机。
[0030] 为了防止风暴的发生,减少带宽资源的浪费,所述第二交换机,还用于接收到该 MAC通知报文时,判断自身是否学习到所述MAC通知报文中的MAC地址;当学习到所述MAC 地址时,停止转发该MAC通知报文,否则,转发该MAC通知报文。
[0031] 本发明实施例提供了一种获取设备间拓扑连接关系的方法、系统及装置,该方法 中第一交换机通过自身的每个LINKUP端口发送目的地址和源地址都为该端口MAC地址的 MAC通知报文,从而确定自身及组网中每台第二交换机的每个端口对应的关联交换机组和 非关联交换机组的信息,针对每个端口当其对应的关联交换机组中包含的第二交换机的数 量为2时,则确定第一交换机的该端口与该关联交换机组中第二交换机学习到自身该端口 MAC地址的端口直接连接,当其对应的关联交换机组中包含的第二交换机的数量不为2时, 根据该关联交换机组中去除第一交换机该端口对应的非关联交换机组后剩余的交换机数 量是否为2,根据该数量是否为2,确定该第一交换机的该端口是否与该剩余的交换机直接 连接。由于在本发明实施例中每台交换机通过自身的每个LINKUP端口发送MAC通知报文, 并根据关联交换机组及非关联交换机组中每台交换机的信息,确定交换机端口间的连接关 系,从而实现了设备间拓扑连接关系的确定。
[0032] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够 更明显易懂,以下特举本发明的【具体实施方式】。

【专利附图】

【附图说明】
[0033] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明 的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0034]图1为现有技术中确定交换机拓扑连接关系的示意图;
[0035] 图2为本发明实施例提供的一种获取设备间拓扑连接关系的过程图;
[0036]图3为本发明实施例提供的一种交换机间的拓扑连接结构示意图;
[0037] 图4为本发明实施例提供的一种获取设备间拓扑连接关系的详细过程图;
[0038]图5为本发明实施例提供的一种交换机间的拓扑连接结构示意图;
[0039] 图6为本发明实施例提供了一种获取设备间拓扑连接关系的装置结构示意图;
[0040] 图7本发明实施例提供了一种获取设备间拓扑关系的系统结构示意图。

【具体实施方式】
[0041] 为了确定设备间的拓扑连接关系,本发明实施例提供了一种获取设备间拓扑连接 关系的方法、系统及装置。
[0042] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开 的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例 所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围 完整的传达给本领域的技术人员。
[0043] 下面结合说明附图,对本发明实施例进行说明。
[0044] 图2为本发明实施例提供的一种获取设备间拓扑连接关系的过程图,该过程包括 以下步骤:
[0045]S201 :第一交换机通过自身的每个LINKUP端口发送MAC通知报文,其中,所述MAC 通知报文的源地址和目的地址为每个端口的MAC地址或者所述第一交换机的桥MAC。
[0046] 在本发明实施例中,组网中的每台交换机都会通过自身的每个LINKUP端口发送 MAC通知报文,该MAC通知报文的源地址和目的地址都是该端口的MAC地址或者所述第一交 换机的桥MAC。这样的通知报文被其他的交换机接收到后,不会上CPU处理,但是能被学习 到。
[0047] 该MAC通知报文可以是按照设定的时间周期发送的,或者按照其他的方式发送 的。
[0048]S202 :根据第二交换机返回的拓扑收集报文,获取第二交换机的桥MAC和端口MAC 以及第二交换机学习的MAC地址,并计算自身及组网中每台第二交换机学习到第一交换机 端口MAC或者桥MAC的端口对应的关联交换机组,及非关联交换机组的信息。
[0049] 根据向每个端口返回拓扑收集报文的第二交换机,确定该端口对应的关联交换机 组,在本发明实施例中将通过某一端口返回拓扑收集报文的交换机,作为该端口对应的关 联交换机组中的交换机。例如某一第二交换机通过第一交换机的端口1返回了拓扑收集报 文,即可确定该第二交换机位于该端口 1对应的关联交换机组中,另外每台交换机的自身 也位于其每个端口对应的关联交换机组中。根据配置的拓扑收集范围内包含的每个第二交 换机的信息,以及关联交换机中每台交换机的信息,即可确定非关联交换机组中的信息。
[0050]另外,在本发明实施例中为了实现拓扑关系的获取,第一交换机需要获知其他交 换机的关联交换机组及非关联交换机组中包含的交换机的信息,因此如果其他交换机已经 获取了自身的每个LINKUP端口对应的关联交换机组及非关联交换机组的信息,在向第一 交换机返回拓扑收集信息时,将自身每个端口对应的关联交换机组及非关联交换机组的信 息返回第一交换机,如果当前该其他交换机还未获取其每个端口对应的关联交换机组及非 关联交换机组的信息,后续通过其他报文将其每个端口对应的关联交换机组及非关联交换 机组的信息告知第一交换机,最后保证每台交换机中都保存有自身及其他交换机每个端口 对应的关联交换机组及非关联交换机组的信息。
[0051]S203 :第一交换机针对自身的每个LINKUP端口,判断该端口对应的关联交换机 组中包含的第二交换机的数量是否为2,当判断结果为是时,进行步骤S204,否则,进行步 骤S205。
[0052]S204 :根据该关联交换机组中包含的第二交换机学习到自身该端口的MAC地址的 端口,确定自身的该端口与该第二交换机学习到自身该端口的MAC地址的端口直接连接。
[0053] 第一交换机在确定自身每个端口与哪台交换机的哪个端口直接连接时,针对该端 口对应的关联交换机组中包含的交换机的数量进行判断。当该端口对应的关联交换机组中 只包含2台交换机时,说明该第一交换机与该台交换机直接连接,根据其互相学习到对端 的MAC地址的端口,确定该两台交换机端口之间的连接关系。
[0054]S205 :针对该关联交换机组中包含的每台第二交换机,确定该第二交换机学习到 自身该端口MAC地址的端口,判断对应该学习到自身该端口MAC地址的端口的关联交换机 组中排除第一交换机该端口对应的非关联交换机组中的每台第二交换机后,该关联交换机 组中剩余的交换机数量是否为2,当判断结果为是时,进行步骤S206,否则,进行步骤S207。
[0055]S206 :确定自身的该端口与该第二交换机学习到自身该端口MAC地址的端口直接 连接。
[0056]S207 :确定与该端口直接连接的第二交换机的数量不止1台或者与该第二交换机 学习到的自身该端口MAC地址的端口非直接连接。
[0057]当第一交换机该端口对应的关联交换机组中包含的交换机的数量不为2时,即包 括至少两台交换机时,为了确定与第一交换机的该端口直连的交换机,在本发明实施例中 还要结合第一交换机该端口对应的非关联交换机组的信息,确定该第一交换机的该端口直 连的交换机。
[0058] 由于在本发明实施例中每台交换机通过自身的每个LINKUP端口发送MAC通知报 文,并根据关联交换机组及非关联交换机组中每台交换机的信息,确定交换机端口间的连 接关系,从而实现了设备间拓扑连接关系的确定。
[0059] 在本发明实施例中每台交换机定期通过自身的每个LINKUP端口向其他交换机发 送MAC通知报文,并将该MAC通知报文的源地址和目的地址都设置为该端口的MAC地址。接 收到报文的交换机在处理该MAC通知报文时,不会将该MAC通知报文发送到CPU处理,但是 该MAC通知报文中的MAC地址可以被该交换机的该端口学习到。
[0060]为了准确的确定交换机间的连接拓扑关系,在本发明实施例中,所述计算自身及 组网中每台第二交换机学习到第一交换机端口MAC地址或者桥MAC的端口对应的关联交换 机组,及非关联交换机组的信息包括:
[0061] 所述第一交换机根据返回拓扑响应报文的每台第二交换机的桥MAC和端口MAC地 址,确定该第二交换机位于该端口的关联交换机组中,并通过拓扑收集报文中携带的第二 交换机的桥MAC和端口MAC以及第二交换机学习的MAC地址,计算每个第二交换机学习到 第一交换机端口MAC或者桥MAC的端口对应的关联交换机组及非关联交换机组的信息。 [0062] 为了防止风暴,减少网络带宽资源的占用,在本发明实施例中,所述第一交换机通 过自身的每个LINKUP端口发送MAC通知报文包括:
[0063] 所述第一交换机通过自身的每个LINKUP端口发送MAC通知报文,接收到该MAC 通知报文的第二交换机判断自身是否学习到所述MAC通知报文中的MAC地址;
[0064] 当第二交换机学习到所述MAC地址时,第二交换机停止转发该MAC通知报文,否 贝丨J,第二交换机学习该MAC地址并转发该MAC通知报文。
[0065] 在本发明实施例中,当第二交换机已经学习到MAC通知报文中的MAC地址时,根据 bridge转发原理,该第二交换机将停止转发该MAC通知报文,不会对网络中其他设备产生 影响,防止了网络风暴,同时减少了网络带宽的占用。
[0066]为了准确的确定交换机间的连接拓扑关系,在本发明实施例中,所述第一交换机 通过自身的每个LINKUP端口发送MAC通知报文包括:
[0067] 所述第一交换机按照设定的周期,通过自身的每个LINKUP端口发送MAC通知报 文;或,
[0068] 当所述第一交换机被开启时、或接收到link up或接收到linkdown消息时,通过 自身的每个LINKUP端口发送MAC通知报文。
[0069] 具体的,在本发明实施例中MAC通知报文的发送周期可以根据MAC地址的老化时 间来确定,以防止MAC地址老化后无法及时获取正确的拓扑连接,例如可以为MAC地址老化 时间的1/3,或者可以为MAC地址老化时间的1/2。
[0070] 另外,当交换机刚被启动时,或者端口刚刚up发送linkup报文时,再或者当环路 切换删除MAC地址放linkdown消息时,为了及时快速的获取设备间的拓扑连接关系,网络 中的每个第一交换机通过自身的每个LINKUP端口发送MAC通知报文。
[0071] 本发明实施例中通过发送MAC通知报文,并通过snmp的ifPhysAddress获取每台 交换机的桥MAC及每个端口的MAC地址,通过dotldTpFdbPort和dotldTpFdbStatus节点 逐条获取交换机学习到的所有MAC地址及其对应的port和学习状态。
[0072] 下面结合一个具体的实施例,对本发明的上述实施过程进行说明。
[0073] 图3为本发明实施例提供的一种交换机间的拓扑连接结构示意图,在图3中每 台交换机都有自身的IP地址,交换机1(S1)?交换机7(S7)每台设备的IP地址分别为 192. 168. 0? 1 ?192. 168. 0? 7,在图 3 中S5、SI、S2、S3 和S6 依次连接,并且S2 与S4 和S7 依次连接。图3中的每台交换机通过自身的每个LINKUP端口发送MAC通知报文,根据每 台第二交换机向每个端口返回的拓扑收集报文,获取第二交换机的桥MAC和端口MAC以及 第二交换机学习的MAC地址,并计算自身及组网中的每台第二交换机学习到第一交换机端 口MAC或者桥MAC的端口对应的关联交换机组,及非关联交换机组的信息。
[0074] 计算的每台交换机的每个端口对应的关联交换机组及非关联交换机组的信息如 下表:
[0075]

【权利要求】
1. 一种获取设备间拓扑连接关系的方法,其特征在于,该方法包括: 第一交换机通过自身的每个LINK UP端口发送MAC通知报文,其中,所述MAC通知报文 的源地址和目的地址为每个端口的MAC地址或者所述第一交换机的桥MAC ; 根据第二交换机返回的拓扑收集报文,获取第二交换机的桥MAC和端口 MAC W及第二 交换机学习的MAC地址,并计算自身及组网中每台第二交换机学习到第一交换机端口 MAC 或者桥MAC的端口对应的关联交换机组,及非关联交换机组的信息; 第一交换机针对自身的每个LINK UP端口,判断该端口对应的关联交换机组中包含的 交换机的数量是否为2 ; 当数量为2时,根据该关联交换机组中包含的第二交换机学习到自身该端口的MC地 址的端口,确定自身的该端口与该第二交换机学习到自身该端口的MAC地址的端口直接连 接; 当数量不为2时,针对该关联交换机组中包含的每台第二交换机,确定该第二交换机 学习到自身该端口 MAC地址的端口,判断对应该学习到自身该端口 MAC地址的端口的关联 交换机组中排除第一交换机该端口对应的非关联交换机组中的每台第二交换机后,该关联 交换机组中剩余的交换机数量是否为2 ;当数量为2时,确定自身的该端口与该第二交换机 学习到自身该端口 MAC地址的端口直接连接,否则,确定与该端口直接连接的第二交换机 的数量不止1台或者与该第二交换机学习到的自身该端口 MC地址的端口非直接连接。
2. 如权利要求1所述的方法,其特征在于,当第一交换机该端口对应的关联交换机组 中每台第二交换机学习到该第一交换机该端口 MAC地址的端口、对应的关联交换机组中剩 余的交换机的数量都不为2时,所述方法还包括: 确定所述每台第二交换机学习到自身该端口 MC地址的端口对应的关联交换机组中 剩余的交换机的交集; 根据该剩余的交换机的交集中每台第二交换机学习到该第一交换机该端口 MAC地址 的端口,确定自身的该端口与该交集中每台第二交换机学习到自身该端口 MAC地址的端口 直接连接,且该交集中的剩余交换机之间通过共享链路连接。
3. 如权利要求1或2所述的方法,其特征在于,所述第一交换机通过自身的每个LINK UP端口发送MAC通知报文包括: 所述第一交换机按照设定的周期,通过自身的每个LINK UP端口发送MAC通知报文; 或, 当所述第一交换机被开启时、或接收到link up或接收到link down消息时,通过自身 的每个LINK UP端口发送MAC通知报文。
4. 如权利要求1或2所述的方法,其特征在于,所述第一交换机通过自身的每个LINK UP端口发送MAC通知报文包括: 所述第一交换机通过自身的每个LINK UP端口发送MAC通知报文,接收到该MAC通知 报文的第二交换机判断自身是否学习到所述MC通知报文中的MC地址; 当第二交换机学习到所述MAC地址时,第二交换机停止转发该MAC通知报文,否则,第 二交换机学习该MAC地址并转发该MAC通知报文。
5. 如权利要求1所述的方法,其特征在于,所述计算自身及组网中每台第二交换机学 习到第一交换机端口 MAC地址或者桥MAC的端口对应的关联交换机组,及非关联交换机组 的信息包括: 所述第一交换机根据返回拓扑收集报文的每台第二交换机的桥MAC和端口 MAC地址, 确定该第二交换机位于该端口的关联交换机组中,并通过拓扑收集报文中携带的第二交换 机的桥MAC和端口 MAC W及第二交换机学习的MAC地址,计算每个第二交换机学习到第一 交换机端口 MAC或者桥MAC的端口对应的关联交换机组及非关联交换机组的信息。
6. -种获取设备间拓扑连接关系的装置,其特征在于,所述装置包括: 发送模块,用于通过自身的每个LINK UP端口发送MAC通知报文,其中,所述MAC通知 报文的源地址和目的地址为每个端口的MAC地址或者所述第一交换机的桥MAC ; 获取模块,用于根据第二交换机返回的拓扑收集报文,获取第二交换机的桥MAC和端 口 MC W及第二交换机学习的MC地址,并计算自身及组网中每台第二交换机学习到第一 交换机端口 MAC或者桥MAC的端口对应的关联交换机组,及非关联交换机组的信息; 拓扑关系确定模块,用于针对自身的每个LINK UP端口,判断该端口对应的关联交换机 组中包含的第二交换机的数量是否为2 ;当数量为2时,根据该关联交换机组中包含的第二 交换机学习到自身该端口的MC地址的端口,确定自身的该端口与该第二交换机学习到自 身该端口的MAC地址的端口直接连接;当数量不为2时,针对该关联交换机组中包含的每台 第二交换机,确定该第二交换机学习到自身该端口 MAC地址的端口,判断对应该学习到自 身该端口 MAC地址的端口的关联交换机组中排除自身的该端口对应的非关联交换机组中 的每台第二交换机后,该关联交换机组中剩余的交换机数量是否为2 ;当数量为2时,确定 自身的该端口与该第二交换机学习到自身该端口 MAC地址的端口直接连接,否则,确定与 该端口直接连接的第二交换机数量不止1台,或者与第二交换机学习到自身该端口 MAC地 址的端口非直接连接。
7. 如权利要求6所述的装置,其特征在于,所述拓扑关系确定模块,还用于当确定自身 该端口对应的关联交换机组中每台第二交换机学习到该第一交换机该端口 MAC地址的端 口、对应的关联交换机组中剩余的交换机的数量都不为2时,确定所述每台第二交换机学 习到自身该端口 MAC地址的端口对应的关联交换机组中剩余的交换机的交集;根据该剩余 的交换机的交集中每台第二交换机学习到该第一交换机该端口 MC地址的端口,确定自身 的该端口与该交集中每台第二交换机学习到自身该端口 MAC地址的端口直接连接,且该交 集中的剩余交换机之间通过共享链路连接。
8. 如权利要求6或7所述的装置,其特征在于,所述发送模块,具体用于按照设定的周 期,通过自身的每个LINK UP端口发送MAC通知报文;或,当自身被开启时、或接收到link up或接收到link down消息时,通过自身的每个LINK UP端口发送MAC通知报文。
9. 如权利要求6所述的装置,其特征在于,所述获取模块,具体用于根据返回拓扑收集 报文的每台第二交换机的桥MC和端口 MC,确定该第二交换机位于该端口的关联交换机 组中,并通过拓扑收集报文中携带的第二交换机的桥MC和端口 MC W及第二交换机学习 的MAC地址,计算每个第二交换机学习到第一交换机端口 MAC或者桥MAC的端口对应的关 联交换机组及非关联交换机组的信息。
10. -种获取设备间拓扑连接关系的系统,其特征在于,所述系统包括如权利要求6? 9任一项所述的装置,及向所述装置返回拓扑收集报文的至少一台第二交换机。
11. 如权利要求10所述的系统,其特征在于,所述第二交换机,还用于接收到该MAC通 知报文时,判断自身是否学习到所述MAC通知报文中的MAC地址;当学习到所述MAC地址 时,停止转发该MAC通知报文,否则,转发该MAC通知报文。
【文档编号】H04L12/24GK104468365SQ201410325994
【公开日】2015年3月25日 申请日期:2014年7月9日 优先权日:2014年7月9日
【发明者】袁志亚, 吕志勇, 李志强 申请人:北京东土科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1