Answers:
以下是它们的产生历史(以及它们为何如此存在的历史):
因此:访问列表=数据包过滤器。
后来(但仍然是几十年前),人们开始在同一设备上运行多个路由协议,并希望在它们之间重新分配信息。没问题,但是您不希望所有传播到其他路由协议的信息都需要-ROUTE FILTERS。通常,如果您碰巧用锤子敲打,一切看起来都像钉子,因此,思科的工程师使用他们已经拥有的对象(访问列表)实施了路由过滤器。
此时:访问列表=数据包过滤器(有时是路由过滤器)
随着无类路由的出现(是的,很久以前-有人还记得A,B和C类地址的时代),人们希望在路由协议之间重新分配一定大小的前缀。例如:从OSPF向BGP通告所有/ 24,但不通告/ 32。与访问列表无关。新的时刻了:让我们使用扩展的访问列表,并假装数据包过滤器中的源IP地址代表网络地址(实际上是前缀地址),而数据包过滤器同一行中的目标IP地址代表子网掩码。
到目前为止:访问列表=数据包过滤器。简单访问列表还充当路由筛选器(仅在网络地址上匹配),扩展访问列表充当匹配地址和子网掩码的路由筛选器。
幸运的是,当时有人保留了一些理由,并开始想知道,决定将扩展ACL用于路由过滤器的聪明才智,在他们有了这个聪明的主意时,是在冒烟。
最终结果:Cisco IOS得到了前缀列表,其功能几乎与充当路由过滤器的扩展访问列表相同,但是以普通人可以理解的格式显示。
今天:将访问列表用于数据包过滤器,并将前缀列表用于路由过滤器。您仍然可以将访问列表用作路由过滤器,但不要这样做。
说得通?
不是很多。
它们都提供了用于过滤网络地址的方法,但是有几个主要的区别:
对于路由策略,人们将倾向于使用前缀列表,因为有些人认为前缀列表更“具有表现力”,但并没有太多限制您使用一种或另一种-这是情况/需求所要求的。
除了John Jensen所说的以外,我还要补充一点,ACL也用于安全目的(例如,限制远程访问),而前缀列表本身不能具有此功能。
前缀列表遵循L3,而ACL可能会向上一层,从而带来其他功能。
要进行视觉比较,请参见以下链接:http : //mellowd.co.uk/ccie/?p=447
前缀列表的工作方式与访问列表非常相似。前缀列表包含一个或多个按顺序处理的有序条目。