访问列表和前缀列表之间的区别?


Answers:


25

以下是它们的产生历史(以及它们为何如此存在的历史):

  • 在Internet的早期,人们开始要求数据包过滤器(也称为访问列表)。
  • 思科首先实施了简单的访问列表(在目标主机地址上进行过滤,并以通配符掩码进行扩展),但是它们当然不足以阻止(例如)SMTP,因此,他们创建了扩展访问列表,可以在源和目标上进行匹配IP地址(两个都带有通配符位-这些位使您可以匹配整个前缀),协议,端口号...

因此:访问列表=数据包过滤器。

后来(但仍然是几十年前),人们开始在同一设备上运行多个路由协议,并希望在它们之间重新分配信息。没问题,但是您不希望所有传播到其他路由协议的信息都需要-ROUTE FILTERS。通常,如果您碰巧用锤子敲打,一切看起来都像钉子,因此,思科的工程师使用他们已经拥有的对象(访问列表)实施了路由过滤器。

此时:访问列表=数据包过滤器(有时是路由过滤器)

随着无类路由的出现(是的,很久以前-有人还记得A,B和C类地址的时代),人们希望在路由协议之间重新分配一定大小的前缀。例如:从OSPF向BGP通告所有/ 24,但不通告/ 32。与访问列表无关。新的时刻了:让我们使用扩展的访问列表,并假装数据包过滤器中的源IP地址代表网络地址(实际上是前缀地址),而数据包过滤器同一行中的目标IP地址代表子网掩码。

到目前为止:访问列表=数据包过滤器。简单访问列表还充当路由筛选器(仅在网络地址上匹配),扩展访问列表充当匹配地址和子网掩码的路由筛选器。

幸运的是,当时有人保留了一些理由,并开始想知道,决定将扩展ACL用于路由过滤器的聪明才智,在他们有了这个聪明的主意时,是在冒烟。

最终结果:Cisco IOS得到了前缀列表,其功能几乎与充当路由过滤器的扩展访问列表相同,但是以普通人可以理解的格式显示。

今天:将访问列表用于数据包过滤器,并将前缀列表用于路由过滤器。您仍然可以将访问列表用作路由过滤器,但不要这样做

说得通?


“例如:将所有/ 24从OSPF通告到BGP,但不通告/
32。

如果您确实想在子网掩码上进行匹配,则无法使用标准访问列表。是的,您可以假装零主机字段上的匹配是相同的;)
ioshints

10

不是很多。

它们都提供了用于过滤网络地址的方法,但是有几个主要的区别:

  • 扩展的ACL可以基于“高层”信息(即TCP / UDP端口)进行过滤。前缀列表不能。
  • 扩展/标准ACL可以使用通配符掩码,以允许指定任意地址或地址范围。前缀列表无法执行此操作。
  • 前缀列表可以匹配前缀长度 -分别使用“ ge”和“ le”关键字的最小或最大长度。

对于路由策略,人们将倾向于使用前缀列表,因为有些人认为前缀列表更“具有表现力”,但并没有太多限制您使用一种或另一种-这是情况/需求所要求的。


2
前缀列表通常在BGP入站和出站过滤中找到,例如拒绝接收到的所有ge / 24前缀,或创建将被通告的本地AS前缀列表(以防止通告过多,而成为过渡) )。
generalnetworkerror

6

前缀列表用于路由过滤和路由重新分配,因为它与路由表或BGP表中发送,接收或存在的前缀匹配。它们在前缀中的位上匹配,但在前缀长度上也匹配。ACL可以用于更多功能,例如:流量过滤,为QoS匹配流量,为NAT,VPN匹配流量,基于策略的路由等。它们还可以用于路由过滤器和重新分发,但是它们的语法不同于当它们用于其他目的时。


2

除了John Jensen所说的以外,我还要补充一点,ACL也用于安全目的(例如,限制远程访问),而前缀列表本身不能具有此功能。

前缀列表遵循L3,而ACL可能会向上一层,从而带来其他功能。

要进行视觉比较,请参见以下链接:http : //mellowd.co.uk/ccie/?p=447


0

前缀列表的工作方式与访问列表非常相似。前缀列表包含一个或多个按顺序处理的有序条目。


嗨,谢谢您的回答。您是否打算添加两个不同的答案?尽管Stack Exchange不在乎同一问题的两个不同答案,但大多数人只回答一个。如果您确实打算将其修改为原始答案,请复制此文本并将其编辑为其他答案。然后删除此答案。
Mike Pennington 2014年

-2

前缀列表用于指定在路由更新中允许或拒绝的地址或地址范围...


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.