admin管理员组

文章数量:1531796

2024年6月13日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.8

(22)申请日 2008.02.05

(71)申请人 思科技术公司

地址 美国加利福尼亚州

(72)发明人 班诺特·克莱斯 以马利·泰憧

(74)专利代理机构 北京东方亿思知识产权代理有限责任公司

代理人 宋鹤

(51)

H04L12/26

H04L12/24

(10)申请公布号 CN 101606357 A

(43)申请公布日 2009.12.16

权利要求说明书 说明书 幅图

(54)发明名称

网络中的阻塞访问列表ID和匹配

声明的自动发现

(57)摘要

在一个实施例中,一种方法可以包

括:(i)在网络设备中接收进入的探测分

组;(ii)去除进入的探测分组的封装以提供

分组内容部分和丢弃结果部分;(iii)对照本

地访问控制列表(ACL)检测分组内容部分

以确定本地丢弃结果;以及(iv)插入本地丢

弃结果并且封装出去的探测分组。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1.一种方法,包括:

在网络设备中接收进入的探测分组;

去除所述进入的探测分组的封装,以提供分组内容部分和丢弃结果部

对照本地访问控制列表ACL对所述分组内容部分进行检测以确定本

插入所述本地丢弃结果并且对出去的探测分组进行封装。

2.根据权利要求1所述的方法,还包括对所述进入的探测分组进行认

3.根据权利要求1所述的方法,还包括对所述出去的探测分组进行加

4.根据权利要求1所述的方法,其中,对所述分组内容部分进行检测

包括判定是否存在关于所述网络设备的入口接口的ACL。

密。

证。

地丢弃结果;以及

分;

5.根据权利要求1所述的方法,其中,对所述分组内容部分进行检测

6.根据权利要求1所述的方法,其中,对所述分组内容部分进行检测

7.根据权利要求1所述的方法,其中,插入所述本地丢弃结果包括:

8.根据权利要求1所述的方法,其中,对所述分组内容部分进行检测

9.根据权利要求1所述的方法,还包括将所述出去的探测分组返回给

10.根据权利要求1所述的方法,其中,所述出去的探测分组和进入

的探测分组中的每一个被使用用户数据报协议UDP封装。

源路由器。

包括判定是否有任何输出ACL会丢弃所述分组内容部分。

当阻塞情况被检测到时,利用ACL标识和匹配声明来增强所述丢弃结果

部分。

包括确定匹配状况。

包括判定是否存在关于所述网络设备的出口接口的ACL。

11.一种装置,包括:

分组修改器,所述分组修改器被配置为接收进入的探测分组,并且从

访问控制列表ACL检测器,所述访问控制列表检测器被配置为从所

结果更新器,所述结果更新器被配置为接收来自所述ACL检测器的

12.根据权利要求11所述的装置,其中,所述出去的探测分组包括所

13.根据权利要求11所述的装置,其中,所述分组修改器被配置为去

除所述进入的探测分组的封装。

述分组内容部分以及所述ACL丢弃情况存在时的对所述丢弃结果部分的

更新。

输出和来自所述分组修改器的丢弃结果部分,并且提供出去的探测分组。

述分组修改器接收所述分组内容部分,并且判定是否存在ACL丢弃情

况;以及

所述进入的探测分组获取分组内容部分和丢弃结果部分;

14.根据权利要求11所述的装置,其中,所述结果更新器被配置为重

15.根据权利要求11所述的装置,其中,所述丢弃结果部分包括ACL

16.根据权利要求11所述的装置,其中,所述ACL丢弃情况包括入

17.根据权利要求11所述的装置,其中,所述结果更新器被配置为对

18.根据权利要求11所述的装置,其中,所述出去的探测分组被配置

19.根据权利要求11所述的装置,被配置用于等价多路径ECMP网

络。

为被返回给源路由器。

所述出去的探测分组提供加密。

口接口或出口接口阻塞。

标识和匹配声明。

新封装所述出去的探测分组。

20.根据权利要求11所述的装置,其中,所述进入的探测分组和所述

21.一种用于发现阻塞访问控制列表ACL的装置,包括:

用于在网络设备中接收封装后的探测分组的装置;

用于去除接收到的分组的封装以提供分组内容部分和丢弃结果部分的

用于对照ACL对所述分组内容部分进行检测以确定本地丢弃结果的

用于将所述本地丢弃结果插入重新封装后的探测分组的装置。

出去的探测分组中的每一个被使用用户数据报协议UDP来封装。

装置;

装置;以及

说 明 书

技术领域

本发明一般涉及网络中的阻塞访问控制列表(ACL)标识和匹配声明

背景技术

在传统网络中,当分组由于访问列表拒绝而在网络中的某处被丢弃

能很难发现阻塞所述分组的特定路由器。此外,可能很难确定阻塞

组的ACL中的访问控制列表(ACL)号和/或匹配声明。因此,对

管理员而言,ACL管理会变成代价相对高的任务。

传统的用于处理网络中被丢弃的分组的方法包括:(i)用来确认分组

阻塞的远程乒(remote ping);(ii)源路由器中的远程登录,以及

组进行阻塞的中间路由器而非ACL标识和匹配声明的乒/跟

序(utilities)的使用;(iii)可以返回对分组进行阻塞的路

和匹配声明的网际协议(IP)服务水平协议(SLA)操

报协议(UDP));以及(iv)直到ACL逻辑能够被

中才会返回确切的匹配声明的ACL管理信

附图说明

图1示出在网络中穿越的被丢弃分组的示例。

图2示出网络中的探测(probe)分组路径的示例。

图3示出网络设备内的探测分组处理的示例。

是否被

时,可

所述分

于系统

(match statement)的自动发现。

用于返回对分

踪路由实用程

由器而非ACL标识

作(例如,用户数据

建立到网络管理系统(NMS)

息库(MIB)的使用。

图4示出用于网络设备内的探测分组处理的示例概要流程。

图5示出朋于网络设备内的探测分组处理的示例详细流程。

具体实施方式

【概览】

在一个实施例中,一种方法可以包括:(i)在网络设备中接收进入

分组;(ii)对进入的探测分组去除封装以提供分组内容部分和丢

部分;(iii)对照本地访问控制列表(ACL)对分组内容部分进行

地丢弃结果;以及(iv)插入本地丢弃结果并且对出去的探

装。

在一个实施例中,一种装置可以包括:(i)分组修改器,其用于接 收进入

弃结果

的探测

弃结果

检测以确定本

测分组进行封

的探测分组,并且用于从进入的探测分组中获取分组内容部分和丢

部分;(ii)访问控制列表(ACL)检测器,其用于从分组修改器

部分,并且用于确定ACL丢弃情况(condition)是否存

新器,其用于接收来自ACL检测器的输出和来自

果部分,并且用于提供出去的探测分组。

【示例实施例】

现在参见图1,在网络中穿越的被丢弃分组的示例被示出并由总参考

100指示。进入的分组可以在路由器102处被接收到,并且被传递给

104。然后,路由器104可以将该分组传递给路由器106,以去到

目的地路由器108。然而,由于访问控制列表(ACL)阻塞,分组

接收分组内容

在;以及(iii)结果更

分组修改器的丢弃结

标号

路由器

预期的

可能在

路由器106处被丢弃,并且不能到达路由器108。此外,进入的分

送器可能不知道或者不能够容易地确定分组事实上已被路由器106

和/或为什么被路由器106丢弃了。

在具体实施例中,可以使用感兴趣的分组(即,探测分组或发现分

检测网络以发现可能正阻塞分组的路由器以及引起该阻塞的ACL

(ID)和确切的匹配声明。此外,具体实施例还可以用于等价多路径

组的发

丢弃了,

组)来

标识

(ECMP)网络中的ACL发现,有效地为网络中的许多或所有ECMP检

测ACL。该方法与传统的方法相反,其中,可以应用每目的地的负荷均

衡,因此乒或跟踪路由可以只采用所有ECMP中的一条路径。

现在参考图2,网络中的探测分组路径示例被示出并且由总参考标号

示。在该具体示例中,检测分组或探测分组可以在路由器202处被

并且之后被沿途传递给路由器204、路由器206并且到达目的地

208。探测分组210可以包括原始的进入的分组内容212以及分组

丢弃结果信息214。利用探测分组210,可以确定哪个路由器(例

由器206)对丢弃或阻塞原始的分组负责。

在具体实施例中,网络中的许多或所有路由器可以被配置为运行用于

应答器可以是路由器或还可以负责其它任务的其它网络设备中的代

如,该功能可以被插入到IP服务水平协议(SLA)应答器中,SLA

200指

接收到,

路由器

丢弃或

如,路

ACL发现的代理。网际操作系统(IOS)中的代码可以允许利用特定分组

(例如,探测分组)来检测访问列表。此外,应用程序编程接口(API)

可以判定分组是否与本地ACL相匹配,但是该API可能无法确定该ACL

中的哪个具体声明正在阻塞。

理。例

应答器

答器可可以负责执行跨网络元件的主动测量。在具体实施例中,这样的应

以存在于网络中的许多或全部路由器上。

给定源和目的地,可以产生用于该特定分组的IP头。可替换地,感

应用的头也可以被复制。这样的头可以封装到供发现使用的用户数

议(UDP)分组(例如,探测分组)中,该分组可以在路径中的每

应答器,用于对照本地定义的ACL的评估。

现在参考图3,网络设备内探测分组处理的示例被示出并且由总参考

300指示。进入的探测分组302-I可以包括分组内容部分304和丢弃

分306-I。例如,分组内容部分304可以表示诸如分组头之类的分

标号

结果部

组的一

分组或

308中

部分

兴趣的

据报协

一跳被发送给

部分,但是不可以包括整个分组。然而,某些实施例可以使用整个

者某些其它的分组部分作为分组内容部分304。可以在分组修改器

接收进入的探测分组302-I。分组修改器本质上可以分离出分组内容

(例如,304)和丢弃结果部分(例如,306-I)。

可以由本地ACL检测器块310接收分组内容部分。本地ACL检测器

定本地ACL是否将阻塞该分组内容部分。结果更新器312可以接

可以判

收来自

更新器

包括原

响分组

是相同

和/或

本地ACL检测器310的输出以及丢弃结果部分306-I。然后,结果

可以重新封装出去的探测分组302-O,出去的探测分组302-O可以

始的分组内容304和更新后的丢弃结果部分306-O。如果不存在影

内容304的本地ACL,则丢弃结果部分306-I和306-O本质上可以

的。此外,结果更新器312可以对出去的探测分组302-O提供认证

加密。

在具体实施例中,感兴趣的分组被使用UDP封装在控制头中,逐跳

发送到目的地。(例如,与IP SLA应答器类似的)应答器可以存

路径中的每一个路由器上。应答器可以被配置为:(i)接收该分

外部封装;(iii)对照本地ACL进行检测;以及(iv)将

荷中。

地从源

在于该

组;(ii)去除

结果插入分组有效载

现在参考图4,用于网络设备(包括应答器)内的探测分组处理的示

流程被示出并且由总参考标号400指示。该流程可以开始

可以在网络设备中接收封装后的探测分组(404)。然后,

测分组以去除外部封装(406)。接着,可以对照本地ACL

行检测(408)。接着,结果可以被插入到有效载荷中,分

可以进行,并且出去的分组可以发送到下一跳(410),完

(412)。

现在参考图5,用于网络设备内的探测分组处理的示例详细流程被示

由总参考标号500指示。在具体实施例中,每个中间路由器处的应

以执行以下任务。该流程可以开始(502),并且可以去除进入的

出并且

答器可

探测分

例概要

(402),并且

可以修改该探

对分组内容进

组的重新封装

成该流程

组或ACL发现分组的封装以取得IP头信息,并且可以获得入口接

(504)。

如果入口接口包括输入ACL(506),则可以对头进行评估以判定是

(即,确定“匹配状况”)(508)。如果分组被ACL阻塞

(note)ACL ID和相关联的匹配声明以增强

该流程可以进行到利用IP头和结

并且该流程结束(522)。

如果不存在关于输入的ACL(506),或者存在关于输入的ACL但

在输入阻塞(510),则通过查找网络设备的路由表可以找到任何

口(514)。例如,在ECMP网络中可能存在多于一个的输出接

存在应用于每个这样的接口的不同ACL。另一方面,例

地是本地的(例如,在当前的网络设备中),则该目的地已

测分组和适当的有效载荷信息可以一起被返回给发送器。

否传递

(510),则可以标注

(augment)结果信息(512)。然后,

果信息来重新封装进入的探测分组(520),

是不存

输出接

口,并且可能

如,如果目的

到达,并且探

如果网络设备包括具有输出ACL的出口接口(516),则头可以被评

定是否有ACL会丢弃该分组(518)。如果一个或多个这样的

弃该分组(518),则结果信息可以被利用ACL ID和匹配声

估以判

ACL可能丢

明来增强

的探测分组进(512)。之后,该流程可以进行到利用IP头和结果信息对进入

行重新封装(502),并且该流程可以结束(522)。此外,

通过使用迭代过程)可以对ECMP网络的每个接

在对结果进行增强时(512),可以利用在之前的步骤中收集的信

如,ACL ID和确切的匹配声明,来增强发现分组或探测分组。还

括该特定路由器的入口接口的IP地址,以用于稍后的路由器的标

后,该信息可以直接发送给发送器(例如,源路由器)以用于进一

析,或者,探测分组可以沿着预期的路径被转发。

以这种方式,(例如,

口的所有ACL进行评估。

息,例

可以包

识。然

步的分

如果在当前的路由器或网络设备上没有找到阻塞ACL,则分组可以

通过用户数据报协议(UDP)封装,并且探测分组可以被发送给下

答器。例如,对于多个ECMP网络,复制的分组可以被发送给网

个ECMP的下一跳。

在具体实施例中,可以对算法进行最优化,使得一旦发现一个阻塞

就将路由器、ACL ID和匹配声明返回给发送器。,可以在ACL校

执行迭代检测以发现阻塞感兴趣分组的多个ACL或多个匹配声

替换地,可以对具体实施例进行最优化以便一次报告所有的ACL

被再次

一跳应

络中每

ACL,

正之后

明。可

和所有

的地路的匹配声明。在这样的实施例中,结果信息可以被转发给预期的目

由器,以用于随后返回给源路由器或发送器。

另外,基于时间的访问列表可以根据ACL发现可以被执行的时间来

从而也可以在具体实施例中得到支持。此外,也可以考虑用于访问

处理,

控制目

的之外的目的(例如,用于流量成形、速率限制、策略路由)的访

在具体实施例中,与QoS错误配置相反,可能危害网络访问的

问列表也可以被估计。

具体实施例还可以应用于各种其它层次,从媒体访问控制(MAC)

配、统一资源定位符(URL)匹配(例如,基于网络的应用识别

任何有效载荷匹配不等。具体实施例可以不限于仅层

加上一些随后的有效载荷字节可以转发到路径中的每

将来的ACL类型都可以被检查到。

在具体实施例中,可以利用感兴趣分组(例如,探测分组)检测网络

阻塞分组的路由器、ACL ID和确切的匹配声明。例如,分组头可

径发送给每个应答器,并且适于用在诸如IP SLA协议之类的特定

问列表。

阻塞访

地址匹

(NBAR)),到

3,这是因为分组头

一跳使得所有当前和

来发现

以沿路

协议中。

具体实施例可以包括对感兴趣分组所采用的路径各处的ACL进行检

且,由于确切的分组头加上一些随后的有效载荷字节可以按需要沿

发送到每一个应答器,因此可以考虑所有的访问列表。此外,具体

还可以支持ECMP网络。此外,具体实施例中的探测分组可以被

且/或者被加密以防止攻击者制定(map out)ACL。例如,可以对

探测分组进行加密,而对进入的和出去的探测分组进行认证。

尽管已经针对说明书的具体实施例描述了说明书,但是这些具体实施

任何合适的编程语言都可用来实现具体实施例的例程,所述编程语言

测。并

路径被

实施例

认证并

出去的

例仅仅是示例性的而非限制性的。例如,在具体实施例中可以采用其它类

型的网络设备、网络管理、协议、和/或分组结构。

包括:C、C++、Java、汇编语言等。可以采用不同的编程技术,例如面向

过程的或者面向对象的。所述例程可以在单个处理设备上或者在多处理器

上执行。虽然以特定的顺序给出了步骤、操作或者计算,但是所述顺序在

不同的具体实施例中是可以改变的。在一些具体实施例中,在本说明书中

被示为有序的多个步骤可以被同时执行。这里描述的操作顺序可以被另一

进程中断、挂起或者以其他方式控制,所述另一个进程例如是操作系统、

内核等。所述例程可以在操作系统环境中运行,或者作为占用系统处理的

全部或者主要部分的独立例程运行。可以以硬件、软件或两者的组合的形

式执行功能。除非另有说明,功能也可以全部或者部分手动执行。

在此处的说明书中,提供了例如组件和/或方法的示例之类的大量特定

为了具体实施例的目的,“计算机可读介质”可以是包含、存储、传

播、或者传送程序,以由指令执行系统、装置、系统或者设备使

输、传

用,或

为示例

红外的

细节,以提供对具体实施例的全面理解。然而,本领域技术人员将认识

到,在没有这些特定细节中的一个或者多个、或者利用其他装置、系统、

配件、方法、组件、材料、部件和/或类似物的情况下,具体实施例也可以

实现。在其他情况下,已知的结构、材料或者操作没有特别示出或者详细

描述以避免混淆具体实施例多个方面。

者结合指令执行系统、装置、系统或者设备使用的任何介质。仅作

而非限制,计算机可读介质可以是电子的、磁的、光的、电磁的、

或者半导体系统、装置、系统、设备、传播介质或计算机存储器。

具体实施例可以以软件或者硬件或者两者的组合中的控制逻辑的形式

“处理器”或“处理”包括处理数据、信号或者其他信息的任何人、

实现。当由一个或者多个处理器执行时,所述控制逻辑可以是可运行来执

行具体实施例中所描述的操作的。

硬件和

元、多/或软件系统、机制或者组件。处理器可以包括具有通用中央处理单

处理单元、用于实现功能的专用电路的系统或者其他系统。处理无

于地理位置或者具有时间限制。例如,处理器可以“实时地”、

“批处理方式”等执行其功能。处理的多个部分可以在不

置由不同的(或相同的)处理系统执行。

在整个说明书中,提到“一个实施例”、“实施例”、“特定实施

实施例”是指至少一个实施例而不必是所有实施例中包括

需受限

“离线地”、以

同的时刻和不同的位

例”或者“具体

结合该特定实

中的各个位置施例描述的特定特征、结构或特性。因此,在整个本说明书

处相应出现的短语“在具体实施例中”、“在实施例中”或

一定是指同一实施例。此外,任何特定实施例的具

“在特定实施例中”不

体的特征、结构或者

方式组合。应当理解,

施例的其他变动和修

围的一部分。

特性可以与一个或多个其他具体实施例以任何合适的

考虑本申请的教导,在本申请描述并示出的具体实

改也是可以的,并且应当被认为是本发明的精神和范

具体实施例可以通过使用编程的通用数字计算机,通过使用专用集成

将意识到,当按照具体应用有用时,附图中示出的一个或多个元件也

另外,附图中的任何信号箭头应当仅被认为是示例性的,而非限制性

可以用更加分离或者更加集成的方式实现,或者在某些情况下甚至被删除

或者使得不可工作。实现可以被存储到计算机可读介质中以允许计算机执

行上述任何方法的程序或者代码也在本发明的精神和范围内。

电路、可编程逻辑器件、现场可编程门阵列、光的、化学的、生物的、量

子的或者纳米工程系统、组件和机制等等来实现。一般而言,具体实施例

的功能可以用本领域已知的任意手段来实现。可以使用分布式的联网系

统、组件和/或电路。数据的通信或者传送可以是有线的、无线的或者通过

其他手段的。

的,除非另外专门说明。此外,除非另外说明,这里使用的术语“或”一

般意思是“和/或”。组件或者步骤的组合也被认为是已提到的,其中,术

语被预见为是提供了分离或者组合的能力。

如此处的说明书和下面的权利要求书中所使用的,“一”、“一个”

述”包括复数引用,除非上下文清楚地表明不是这样。此外,如此

明书和下面的权利要求书中所使用的,“在……中”的意思包括

“在……上”,除非上下文清楚地表明不是这样。

和“所

处的说

“在……中”和

前面对说明性具体实施例的描述,包括在摘要中所描述的,不是要穷

因此,尽管在这里已参考本发明的具体实施例描述了本发明,但是各

举或者将本发明限制为这里所公开的准确的形式。尽管这里仅仅是为了说

明目的描述本发明的特定具体实施例和示例,但是本领域技术人员将认识

到并理解,在本发明的精神和范围内可以有各种等同修改。如上所述,这

些修改可以根据前面对说明性具体实施例的描述而对本发明作出,并且要

被包括在本发明的精神和范围内。

种修改、改变和替换也在前面的公开中,并且将意识到,在某些情况下,

在不脱离之前所阐述的本发明的范围和精神的前提下,将采用具体实施例

的某些特征,而不相应地使用其他特征。因此,可以做出许多修改来使特

定情况或材料适应本发明的实质范围和精神。本发明不打算受限于在所附

权利要求书中使用的特定术语和/或作为被考虑为实现本发明的最佳模式来

公开的具体实施例,而是本发明将包括落在所附权利要求书的范围内的任

意的和所有具体实施例以及等同物。

本文标签: 分组探测部分包括