用于保护由生成树协议建立的网络构造的方法

文档序号:7943868阅读:231来源:国知局
专利名称:用于保护由生成树协议建立的网络构造的方法
技术领域
本发明涉及一种用于通过选择计算机网络的多个网桥之一作为根网桥 并且选择所述多个网桥中每一个的多个网桥端口之一作为根端口来保护由
生成树协议STP建立的网络构造的方法, 一种在上述类型的网络构造中操 作的网桥,以及一种包括多个上述网桥的计算机网络。
背景技术
图l示出了计算机网络l,其具有通过多条链路12至26互连的多个 网桥2至11。为了将图1的网络构造转换成图2a中显示的树形网络构造 (生成树),在计算机网络l的引导(bootstrapping)阶段的过程中执行 生成树协议STP。生成树协议通过去激活链路21至26 (图2a中的虛线) 来生成生成树,这因而获得了将生成树头部的一个网桥2 (也称作计算机 网络l的根网桥)连接到其他网桥3至11中的每一个的无环路配置。当实 现这种网络构造时,网络的终端(未显示)通过无环路网络1互连并且因 而能够发送和接收数据报。因此,在所述引导阶段之后的操作阶段中,向/ 从网关传送终端的双向数据流,可选地在终端之间传送该双向数据流。
图1、 2a中显示的网桥2至11中的每一个都包括多个使能(转发)网 桥端口2a至lla、 3b、 4b、 6b、 7b、 9b、 10b用于经由相应的链路12至 20来相互连接生成树的网桥2至11。用去往根网桥2的链路连接网桥2 至ll的网桥端口 2a至lla在下文中称作根端口 2a至lla。可用于经由去 激活链路21至26连接网桥3至11的这些网桥端口没有被用于树形配置中, 因此图2a中没有显示。应当理解,图2a中的网桥2至11中的任一个都可 以经由其他网桥端口而被连接到计算机网络1的附加网桥或终端。对于STP的设计,假设所有的网桥2至11都是等同的并且可以以相 等的概率而连接/脱离。然而,在当前的网络中,管理员将通it f目应地设置 网桥ID而选择位于网络中心点的网^t为生成树的根,该根网桥通常接 近于也用作管理STP过程的STP实例的网络管理单元27。与其他网桥相 比,根网桥具有更高的可用性,因为它是一种具有更高性能且用更高质量 和/或用冗余部件而构建的设备。此外,终端的多数数据流经过网关以及因 此经过根网桥。特别地,终端(IEEE 802.1X Port-Based Network Access Control, RFC3588 Diameter)和用户(应用指定的,例如RFC 3261 SIP ) 的授权需要与通常位于中心位置的服务器进行通信。即使不是所有的终端 也有大多数终端都将通过根网桥而到达该位置。
因此,保护已在引导阶段建立的网络构造以使其免于恶意攻击是4艮重 要的。在这种恶意攻击者例如通过拔掉/切断电缆或堵塞无线链路来中断两 个相邻网桥之间的链路的情况下, 一些或甚至所有终端(在存在备用路径 的情况下)能够继续通信。然而,当攻击者注入伪造的STP消息时,这通 常是网桥协议数据单元(BPDU),整个桥接网络1的通信会被阻塞从而 导致生成树的重新配置。
图2b示出了这种攻击者30,其连接到网桥10与11之间的链路20, 发送携带根网桥ID的伪造的BPDU,该根网桥ID大于当前根网桥2的ID。 根据标准STP协议程序,这种BPDU将不导致网络1的配置的任何更改, 因为根网桥总是被选择成具有最小根网桥ID的网桥。
然而,当攻击者30发送携带小于当前根网桥2的ID的根ID的BPDU 时(这对应于更高的网桥优先级),网桥选择机制重新启动并且常规的STP 将构建新的生成树,如图2c所示。由于新的生成树从攻击者的位置30开 始被构建,网络l中的多数链路12至13、 16、 18、 24会被去激活,这因 而负面地影响到整个网络的操作。
因此,能接入单个链路的攻击者不仅会干扰该特定链路上的数据报传 输,例如堵塞链路,还会影响到整个网络的性能。类似的效应会在攻击者 发送具有与当前根相同的根ID但具有显著降低的根路径成本的伪造的BPDU时产生,这因而也导致大部分生成树的重新配置。
在US 2006/0092862 Al中,描述了一种称作"STP根保护,,的过程, 其能够通过防止连接到外部网络的网桥的网桥端口被选择成根端口而保持 根网桥在核心网中的位置。然而,这种过程不能防止核心网本身的链路上 的攻击。
理论上,也可以用密码来标记所有的BPDU以使得接收网桥能够通过 检查加密签名来检验BPDU的真实性。然而,BPDU的加密保护需要大量 的配置/管理开销以及每个网桥中的可观的计算资源。

发明内容
本发明的目的是提供一种能够保护由生成树协议建立的网络构造以使 其免于利用伪造STP消息的攻击的方法、网桥以及计算机网络。
通过上述方法而达到上述目的,该方法包括下列步骤在双向业务经 过所述网桥端口的情况下将至少一个网桥的至少一个网桥端口的子状态设 置成积极的子状态;在处于积极的子状态的其中一个网桥端口中接收STP 消息,特别是网桥协议数据单元BPDU;以及在所述STP消息指示所述网 络构造的根网桥的更改的情况下,通过丢弃所述STP消息和/或通过发送 告警消息给网络管理单元来保护所述网络构造。
如果所述网桥端口处于积极的子状态,则它看到双向有效符合业务, 并且可以假设所述根网桥工作正常并且宣告不同根网桥的BPDU可能是伪 造的,因为在这些情形下更改根网桥不会增强网络的操作。因此,忽略这 种BPDU将避免不必要的根网桥更改。此外,可以向网络管理单元通知出 现伪造的BPDU并且该网络管理单元可以采取必要的措施以识别并阻止攻 击者。
在优选的变型中,根网桥的更改是通过BPDU的网桥端口 ID来指示 的,该ID小于所述网络构造的根网桥的网桥端口 ID。在攻击者发送携带 比当前根网桥的ID要小的根ID的BPDU的情况下(对应于较高的网桥优 先级),在现有技术中,重新启动网桥选择机制并且从攻击者位置开始构建新的生成树,如参考图2c详细描述的那样。在当前方案中,当接收BPDU 的根端口处于积极的子状态时,攻击者的BPDU将被忽略,这因而保护了 网络构造。
在另一个优选变型中,所述方法还包括这样的步骤如果STP消息指 示根端口的更改以及根路径成本的减少,这通常是在不是根端口的网桥端 口处,则检查STP消息的根路径成本的似真性。网络构造的更改不仅会由 于指示根网桥更改的BPDU所造成,也会由于具有伪造的根路径成本的 BPDU所造成,这因而导致一个或多个网桥的根端口的更改,其也触发了 生成树的重新构造。尽管难以将任何伪造的BPDU与宣告拓朴更改的合法 BPDU区分开来,然而定制的似真性检查会有助于防御这种攻击。
在这个变型的优选改进中,检查才M^径成本的似真性是通过比较STP 消息的根路径成本与实际#^洛径成本来进行的,这考虑了网络拓朴和/或网 络管理单元设置的可允许的根路径成本范围。以这种方式,可以将具有伪 造的根路径成本的BPDU与指示常规的拓朴更改的BPDU区分开来。
本发明的第二方面涉及一种用于在如上所述的计算机网络的网络构造 中操作的网桥,该网桥包括子状态设置单元,用于在双向业务经过至少 一个网桥端口的情况下将该网桥端口的子状态设置成积极的子状态;接收 单元,用于在处于积极的子状态的其中一个网球端口中接收STP消息,特 别是网桥协议数据单元BPDU;以及网络构造保护单元,用于在所述STP 消息指示了所述网络构造的根网桥的更改的情况下通过丢弃该STP消息和 /或发送告警消息给网络管理单元来保护所述网络构造。
所述子状态设置单元是被添加给每个转发网桥端口 (即通过STP而使 能的网桥端口)的附加状态机。因此,子状态设置单元可以用来将网桥端 口的转发状态分成积极的和消极的子状态。只要来自终端的双向有效负荷 业务通过转发网桥端口被传送,它就处于积极的子状态。在例如链路故障 的情况下,业务中止并且网桥更改成消极的子状态。因此,BPDU不能导 致子状态的更改,但是仅会按照STP而导致端口状态的更改,例如通过在 生成树重配置期间禁用转发网桥端口。这种不期望的生成树更改可以通过识别伪造的BPDU而避免,例如通过当BPDU指示了根网桥的更改并且转 发网桥端口处于积极的子状态时假设该BPDU是伪造的。
在优选实施例中,根网桥的更改是在所述网络构造保护单元中由小于 根网桥的网桥端口 ID的BPDU的网桥端口 ID来指示的。在处于积极的子 状态的网桥端口接收这种BPDU的情况下,所述网络构造保护单元丢弃该 BPDU和/或发送告警消息给也用作网络的STP实例的网络管理单元。
在另一个优选实施例中,所述网络配置保护单元适于在STP消息指示 根端口的更改以及根路径成本的减少的情况下检查STP消息的根路径成本 的似真性。典型地,这种检查是在BPDU在不是根端口的网桥端口中被接 收时进行的。
在这个实施例的优选改进中,所述网络构造保护单元适于通过比较 STP消息的^J洛径成本与实际的才M^径成本来检查才M^径成本的似真性, 这考虑了是网络拓朴和/或由网络管理单元设置的可允许的根路径成本范 围。在这种情况下,关于网络拓朴的附加信息在网络构造保护单元中是可 用的,其可以由网络管理单元来提供。
本发明的第三方面设计一种包括多个上述类型的网桥的计算机网络, 所述计算机网络通过选择多个网桥之一作为根网桥并且通过选择多个网桥 中每一个的多个网桥端口之一作为根端口而操作于由生成树协议建立的网 络构造中。STP在网络引导阶段的过程中生成生成树。在操作阶段,以上 述方式防止网络构造受到攻击并且该网络构造因而仅在例如链路故障的常 规拓朴更改的情况下才被修改。
在优选实施例中,所述计算机网络还包括可以与网络的其他中央服务 器或网关功能协同定位的网络管理单元。所述网络管理单元也可以提供关 于网络拓朴的信息,特别是关于可允许的根路径成本范围的信息。
其他特征和优点在下面参考显示大量细节的附图对示例性实施例的描 述中被说明,并且被权利要求所限定。单独的特征可以通过自身而独立实 现,或者几个特征可以以任何期望的组合而被实现。


示例性实施例在附图中^L显示并且在下面的描述中被JL明,其中
图1示意性地示出了包括多个互连网桥的计算机网络;
图2a示意性地示出了由生成树协议建立的图1的计算机网络的网络构
造;
图2b至2c示出了在未受保护的网络构造的情况下,发送STP消息的 攻击者如何将图2a的网络构造改变成该计算机网络的其中一个网桥; 图3a示出了用于保护图2a的网络构造的网桥; 图3b示出了图3a的网桥的网桥端口的状态图;以及 图4是用于保护图2a的网络构造的方法的流程图。
具体实施例方式
图3a详细示出了图2a的计算机网络l的网桥IO。网桥10包括经由 链路18、 19连接到根网桥2并且在下文中也称作根端口的第一转发网桥端 口 10a、经由链路20连接到图2a的另一网桥11的第二转发网桥端口 10b、 以及在图2a的网络构造中禁用的第三网桥端口 10c。
网桥10还包括子状态设置单元41、接收单元42以及网络构造保护单 元43。接收单元42适于在两个转发网桥端口 10a、 10b中接收STP消息, 特别是BPDU。子状态设置单元41和网络构造保护单元42适于以将在下 文详细描述的方式保护图2a的网络构造以使其免于攻击。本领域技术人员 应当认识到,尽管子状态设置单元41、接收单元42和网络构造保护单元 43在图3a中显示成分离的实体,然而它们可以被实现成网桥IO中的一个 物理实体,例如孩t处理器、ASIC等。同样,分离的单元也可以用于每个 网桥端口 10a至10c,而不是提供用于所有网桥端口 10a至10c的三个单 元41至43。
参考图3b说明子状态设置单元41的功能性,图3b示出了图3a的转 发网桥端口 10a、 10b的状态图。在图中,转发状态被分成消极的子状态 51和积极的子状态52。只要来自终端的双向有效负荷业务经过网桥端口10a、 10b,它们就处于积极的子状态52。在例如链路故障的情况下,业务 中止并且网桥端口 10a、 10b更改成消极的子状态51。如图3b所指示的, BPDU不会导致子状态51和52之间的转变。然而,它们会导致网桥端口 状态按照STP从转发状态改变成禁用状态,反之亦然,即根端口的更改或 网桥端口 10a、 10b的更改。
基于图3b显示的双状态机制,图4的流程图所显示的扩展协议状态转 变图可以4皮执行,其将在下文中针对第二网桥端口 10b来被描述。在第一 步骤100中,子状态设置设备41将转发网桥端口 10b设置成图3b所示的 积极的子状态52,因为在至网桥ll的链路20中不存在故障,因此双向业 务经过第二网桥端口 10b。在第二步骤IOI中,BPDU被第二网桥端口 10b 的接收单元42接收。在第三步骤102中,由网络构造保护单元针对其中包 含的根网桥ID来检查到达的BPDU。如果网桥ID小于网桥10所知道的 才艮网桥ID,则可以确实地假设BPDU是伪造的。这是因为在转发/积极的 状态中,双向有效负荷业务指示了至图2a的根网桥2的功能路径,因此不 需要进行重新配置。这种伪造的BPDU可以确定地在步骤103中被丟弃并 且告警信号可以向网络管理单元27通知该事件。然而,当BPDU中的根 网桥ID大于已知的根网桥ID时,BPDU都将不会导致重新配置并且因此 可以被安全地传递给STP实例,其通常是网络管理单元27。
在所接收的BPDU中的根网桥ID等于网桥10已知的根网桥ID的情 况下,包含于该BPDU中的才MM圣成本需要在步骤104a至104c中被细致 地分析。只要根端口 10a收到具有更低才M^径成本的更新,或非根端口 (例 如网桥端口 10b)收到具有增加的成本的BPDU,网桥的根端口 10a (以及 因此的转换表)就保持不变。在这种情况下,可以确实地假设网络可以继 续进行其正常操作并且过程可以继续进行到下一步骤105。同样,在根端 口 10a收到具有增加的才MM圣成本的BPDU的情况下,这因而可能触发根 端口转换,BPDU也可以被安全地传递给STP实例27 (步骤104b ),因 为这种BPDU相比堵塞特定链路而言具有相等或更小的效应。
然而,当例如网桥端口 10b的非根端口收到具有低到足以更改网桥10的根端口 10a的才M^径成本的BPDU时,它也可以指示新的链路已经被添 加至网络l,或者网络管理单元27已经决定更改链路成本以重定向业务, 或攻击者尝试干扰网络的操作。如果是后一情形,则在一个链路上发出的 这种伪造的BPDU会遍及整个网络1地重新安排业务,这对网络操作造成 有害的影响,如上面已经参考图2c所描述的那样。
因此,为了降低将伪造的BPDU传递给STP实例27的可能性,需要 事先(在步骤104c)由网络构造保护单元43检查才MM圣成本的似真性。 这可以通过例如关于网络拓朴的已知属性以及给予网络管理单元27的与 可允许链路成本值范围有关的规则、分析之前的与新的成本之间的差异来 完成,这因而进一步降低了攻击者的伪造BPDU的潜在影响。在具有伪造 才MM圣成本的BPDU以这种方式被识别出来的情况下,以与步骤103相似 的方式,该BPDU被丢弃并且告警消息被发送给STP实例27。在没有检 测到伪造的BPDU的情况下,在下一步骤106中,子状态设置单元41检 查双向业务是否经过网桥端口 10b并且将网桥端口 10b设置成积极的子状 态,以使得图4描述的过程可以再次开始。应当理解,上面描述的过程同 样可以4艮好地应用于网桥10的根端口 10a,在这种情况下不需要检查^J^ 径成本。
为了保护整个网络l,参考图4描述的过程优选地应用于图2a所示网 络的每个网桥3至11的网桥端口 3a至lla、 3b、 4b、 6b、 7b、 9b、 10b。 这样,整个网络1可以不受能接入一个或多个内部链路12至20的攻击者 的干扰,而无须改变成STP协议格式或附加的配置开销。因此,这里描述 的方案在其中多数业务经过不同的关键点的典型的公司网络设置中特别有 利,但是并不危及具有其他特征的网络中的协议稳定性。
上面已经作为实例而给出了对优选实施例的描述。根据所公开的内容, 本领域技术人员不仅将理解本发明及其附带的优点,而且也将发现对所公 开的结构和方法的各种不同的更改和修改是显而易见的。申请人因而试图 覆盖落入如所附权利要求限定的本发明的精神和范围内的所有这种更改和 修改,及其等价物。
权利要求
1. 一种用于通过选择计算机网络(1)的多个网桥(2至11)之一作为根网桥(2)且通过选择所述多个网桥(2至11)中每一个的多个网桥端口(2a至11a,3b,4b,6b,7b,9b,10b)之一作为根端口(2a至11a)来保护由生成树协议STP建立的网络构造的方法,所述方法包括下列步骤在双向业务经过所述网桥端口(2a至11a,3b,4b,6b,7b,9b,10b)的情况下,将至少一个所述网桥(2至11)的至少一个网桥端口(2a至11a,3b,4b,6b,7b,9b,10b)的子状态(51、52)设置成积极的子状态(52),在处于积极的子状态的网桥端口(2a至11a,3b,4b,6b,7b,9b,10b)之一中接收STP消息,特别是网桥协议数据单元BPDU,以及在所述STP消息指示了所述网络构造的根网桥(2)的更改的情况下,通过丢弃所述STP消息和/或通过发送告警消息给网络管理单元(27)来保护所述网络构造。
2. 根据权利要求1所述的方法,其中,所述根网桥(2)的更改是由比所述网络构造的根网桥(2)的网桥端口 ID要小的所述BPDU的网桥端口ID来指示的。
3. 根据权利要求1所述的方法,还包括这样的步骤在所述STP消息指示了所述根端口 (2a至lla)的更改以及所述才M^径成本的降低的情况下,检查所述STP消息的才MM圣成本的似真性。
4. 根据权利要求3所述的方法,其中,检查所述#^径成本的似真性是通过比较所述STP消息的根路径成本与实际的根路径成本来进行的,这考虑了所述网络(1)的拓朴和/或由所述网络管理单元(27)设置的可允许的根路径成本范围。
5,一种网桥(10),该网桥用于通过选择计算机网络(1)的多个网桥(2至11)之一作为根网桥(2 )且通过选择所述网桥(10 )的多个网桥端口 (10a至10c)之一作为根端口 (10a)而操作于由生成树协议STP建立的计算机网络(1)的网络构造中,包括子状态设置单元(41),用于在双向业务经过所述网桥端口 ( 10a、 10b )的情况下,将所述网桥端口 (10a、 10b)中至少一个的子状态设置成积极的子状态(52);接收单元(42 ),用于在处于积极的子状态的所述网桥端口 ( 10a、 10b )之一中接收STP消息,特别是网桥协议数据单元BPDU;和网络构造保护单元(43 ),用于在所述STP消息指示了所述网络构造的根网桥(2)的更改的情况下,通过丢弃该STP消息和/或通过发送告警消息给网络管理单元(27)来保护所述网络构造。
6. 根据权利要求5所述的网桥,其中,所述根网桥(2)的更改是在所述网络构造保护单元(43)中由比所述根网桥(2)的网桥端口 ID要小的所述BPDU的网桥端口 ID来指示的。
7. 根据权利要求5所述的网桥,其中,所述网络构造保护单元(43)适于在所述STP消息指示了所述根端口 (10a)的更改以及所述^J^径成本的降低的情况下,检查所述STP消息的4峰径成本的似真性。
8. 根据权利要求7所述的网桥,其中,所述网络构造保护单元(43)适于通过比较所述STP消息的根路径成本与实际的^J洛径成本来检查所述#^径成本的似真性,这考虑了所述网络的拓朴和/或由所述网络管理单元(27)设置的可允许的根路径成本范围。
9. 一种计算机网络(1),包括根据权利要求5的多个网桥(2至11),所述计算机网络(1)通过选择多个网桥(2至11)之一作为根网桥(2)且通过选择所述多个网桥(2至11)中每一个的多个网桥端口 (2a至lla,3b,4b,6b,7b,9b,10b)之一作为根端口 (2a至lla)而操作于由生成树协议STP建立的网络构造中。
10. 根据权利要求9所述的计算机网络,还包括网络管理单元(27 )。
全文摘要
一种用于通过选择计算机网络(1)的多个网桥(2至11)之一作为根网桥(2)且选择所述多个网桥中每一个的多个网桥端口(2a至11a,3b,4b,6b,7b,9b,10b)之一作为根端口(2a至11a)来保护由生成树协议STP建立的网络构造的方法,包括在双向业务经过所述网桥端口(2a至11a,3b,4b,6b,7b,9b,10b)的情况下,将至少一个所述网桥(2至11)的至少一个网桥端口(2a至11a,3b,4b,6b,7b,9b,10b)的子状态(51、52)设置成积极的子状态;在处于积极子状态的网桥端口(2a至11a,3b,4b,6b,7b,9b,10b)之一中接收STP消息,特别是网桥协议数据单元BPDU;以及,在该STP消息指示所述网络构造的根网桥(2)更改的情况下,通过丢弃该STP消息和/或通过发送告警消息给网络管理单元(27)来保护所述网络构造。
文档编号H04L12/46GK101483575SQ20091000160
公开日2009年7月15日 申请日期2009年1月5日 优先权日2008年1月8日
发明者P·塔贝里, R·克洛奇 申请人:阿尔卡特朗讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1