设计拨号网络是Internet服务提供商(ISP)的一项艰巨任务。 每个ISP都使用一种独特的方法来设计拨号网络。但是,所有ISP在设计拨号网络时都有相同的关注领域,如下所列:
池路由必须如何传播到ISP核心?
必须使用什么路由协议才能将这些路由传送到核心?
这些拨号路由在发送到核心之前是否应进行总结?
分配池时,必须考虑哪些因素?
如果池是静态的,会发生什么情况?
本文解决上述大部分问题,并介绍在ISP拨号环境中使用内部网关协议(IGP)开放最短路径优先(OSPF)的设计实践。OSPF通常用于ISP的核心网络。在本文档中,我们避免引入用于传送拨号池路由的单独协议 — 我们使用OSPF将拨号池路由传播到核心。
此处显示的拓扑是典型的ISP拨号网络拓扑。提供拨号服务的ISP通常有一系列网络接入服务器(NAS),这些服务器通常是AS5300或AS5800。服务器负责为拨入ISP并希望使用Internet服务的所有用户提供IP地址。然后,NAS服务器连接到聚合设备,该设备通常是Cisco 6500路由器。6500路由器将拨号路由传播到核心层,核心层路由器可以向最终用户提供互联网服务。图1显示了典型的入网点(POP)场景。
图1 — 典型POP场景
ISP通常处理两种类型的池IP地址:
静态
中心
使用静态池,ISP有一组专用于每台NAS服务器的特定IP地址。遇到NAS的用户从池中接收一个专用IP地址。例如,如果NAS1静态池地址范围是192.168.0.0/22,则大约有1023个IP地址。遇到NAS1的用户会收到192.168.0.0到192.168.3.254范围内的一个地址。
使用中心池,ISP在单个POP中的所有NAS中分配的IP地址范围更广。遇到NAS的用户从中央池接收IP地址,该地址范围非常大。例如,如果中心池地址范围是192.168.0.0/18,并且它们分布在14台NAS服务器之间,则大约有14000个IP地址。
从路由角度来看,静态池更易于管理。当在NAS上定义静态池时,需要将池传播到核心以用于路由目的。
使用以下方法从NAS传播拨号路由:
创建指向池IP地址范围的静态路由,指向空0,池地址在NAS上重新分发。
使用OSPF点对点网络类型(包括OSPF区域中的环回)在NAS上为环回分配池IP地址。
在区域边界路由器(ABR)上为指向NAS自治系统边界路由器(ASBR)的池IP地址配置静态路由 — 这是首选方法,因为汇总可在ABR上执行。
如果使用此方法,必须为每个NAS创建静态路由。该静态路由必须包含指向null 0的确切静态池范围地址。例如,如果静态池地址为192.168.0.0/22,则NAS上的静态路由配置为:
NAS1(config)# ip route 192.168.0.0 255.255.252.0 null0 NAS1(config)# router ospf 1 NAS1(config-router)# redistribute static subnets NAS1(config-router)# end
池地址重分发到OSPF中,OSPF以第5类外部链路状态通告(LSA)形式将此信息传播到核心。
如果使用此方法,则无需静态路由。池地址被分配为环回接口上的子网。环回接口上的默认网络类型为LOOPBACK,根据RFC 2328 ,必须在OSPF中将其通告为/32,这就是您必须将环回接口上的网络类型更改为点对点的原因。点对点网络类型强制OSPF通告环回的子网地址,在本例中为192.168.0.0/22。以下是配置:
NAS1(config)# interface loopback 1 NAS1(config-if)# ip addreess 192.168.0.1 255.255.252.0 NAS1(config-if)# ip ospf network-type point-to-point NAS1(config-if)# router ospf 1 NAS1(config-router)# network 192.168.0.0 0.0.3.255 area 1 NAS1(config-router)# end
此配置在路由器LSA中创建路由器末节链路,并作为内部OSPF路由而不是外部OSPF路由传播。
如果使用此方法,则无需在NAS上执行任何配置。所有配置都发生在ABR或汇聚设备上。地址池是静态的。因此,静态路由很容易生成,并且路由器可以将下一跳指向相应的NAS(自治系统边界路由器(ASBR))。 这些静态路由需要通过OSPF下的重分发静态子网重分发到OSPF。例如:
ABR(config)# ip route 192.168.0.0 255.255.252.0ABR(config)# ip route 192.168.4.0 255.255.252.0 ! --- and so on for the remaining 12 NAS boxes. ABR(config)# router ospf 1 ABR(config-router)# redistribute static subnets ABR(config-router)# end
这是首选方法,因为汇总可在ABR上执行。前两种方法中也可以进行总结,但与此方法相比,每个NAS上都需要总结配置,在这种方法中,只有此路由器才需要总结配置。
如果静态池在连续块中,则可以在ABR上执行汇总,因为所有静态路由都在ABR上。例如:
ABR(config)# router ospf 1 ABR(config-router)# summary-address 192.168.0.0 255.255.192.0 ABR(config-router)# end
对于此拨号设计,假设在远程身份验证拨入用户服务(RADIUS)服务器上配置了中心IP地址池。每个POP都有一个拨叫号码信息服务(DNIS)号码,而RADIUS服务器为每个DNIS有单独的IP地址池。此外,终止DNIS呼叫的所有NAS都位于同一区域,并与同一汇聚路由器通信。
中央IP地址池在路由协议设计中会带来一些复杂性。当您为POP拨打DNIS号码时,无法保证您连接的NAS和将从该DNIS的中央IP地址池分配给您的IP地址。因此,对于从DNIS池分配的地址,不可能在每个NAS上汇总。每个NAS中都需要重分布连接的子网,以便它可以将所有信息传播到ABR或聚合设备。此设计存在一个问题 — 因为外部LSA只能在ASBR上汇总,在此设计中,ASBR是NAS服务器,ABR如何对来自NAS的外部路由执行汇总?
为了解决此设计问题,Cisco建议将NAS服务器所属的区域配置在次末节区域(NSSA)(请参见图2):
图2 — 次末节区域的配置
有关OSPF NSSA的详细信息,请参阅OSPF次末节区域(NSSA)。
以下是将区域定义为NSSA的优势:
所有NAS路由都可在ABR上汇总,因为ABR会重新生成/将LSA第7类转换为LSA第5类。
每个POP不会传送属于另一个POP的路由,因为NSSA不允许外部LSA。
在所有NAS中,必须配置重分布的已连接子网,因为跨所有NAS的IP地址池不是静态的 — 任何NAS都可以在该中央IP地址范围内传输任何IP地址。
NAS1(config)# router ospf 1 NAS1(config-router)# redistribute connected subnets NAS1(config-router)# end
如果在所有NAS上执行此配置,则在ABR上执行汇总配置,因为所有LSA类型7在ABR上重新生成并转换为LSA类型5。由于ABR生成全新的LSA类型5,并且通告路由器ID是ABR路由器的ID,因此ABR充当ASBR,允许汇总以前LSA类型7(由NAS发起)的路由。
ABR(config)# router ospf 1 ABR(config-router)# summary-address 192.168.0.0 255.255.192.0 ABR(config-router)# end
请注意,ABR和NAS之间的区域是NSSA,可按如下方式配置:
ABR(config)# router ospf 1 ABR(config-router)# network 10.10.10.0 0.0.0.255 area 1 nssa ABR(config-router)# end
如果一个区域中有许多NAS服务器,而每个NAS将1000个或更多路由重分发到该区域,则会出现问题 — 每个区域必须包含多少个NAS服务器?如果所有NAS服务器都位于同一区域,则该区域可能会变得不稳定,因为该区域需要从所有NAS服务器传送1000条或更多路由。在本例中,有14台NAS服务器,它可能会重分布14000条路由,这是一个巨大的数字。为了提高区域的可扩展性,思科建议您将区域划分为多个子区域,以确保每个区域在一个区域发生不稳定时不会影响其他区域(请参见图3):
图3 — 划分区域
要确定要保留在一个区域中的NAS服务器数量,您必须确定每个NAS项目的路由数量。如果每个NAS注入3000个或更多路由,一个区域中的三个NAS服务器就足够了。请不要在每个区域中放置太少的NAS服务器,因为如果区域太多,ABR可能会因为每个区域创建汇总而过载。但是,如果将所有区域都设置为完全末节NSSA,则可以解决此问题,因为NSSA不允许将任何总结路由重分发到该区域。此操作除了减少NAS自身的1000条或更多路由外,还减少了每个NAS携带的信息量,并减少了ABR通过将汇总LSA重分发到每个区域的负载量。在ABR上添加no-summary关键字以执行配置,如下所示:
ABR#(config)# router ospf 1 ABR#(config-router)# network 10.10.10.0 0.0.0.255 area 1 nssa no-summary ABR#(config-router)# end
ABR和NAS服务器之间的链路不需要在每个区域中外出,因此ABR无需在每个区域中为这些连接的路由创建摘要。NSSA的主要优势是,一个区域中的所有3000条或更多路由不会泄漏到其他区域,因为NSSA不携带外部LSA。当ABR将所有NSSA LSA类型7转换为区域0时,由于NSSA的特性,它不会将任何LSA类型5发送到其他区域。
设计ISP拨号网络可能是一项颇具挑战性的任务,但考虑到一些因素,它可以得到改进并提供更具扩展性的解决方案。与不使用NSSA的情况相比,NSSA的引入在可扩展性管理中非常有效,因为与不使用NSSA的情况相比,NSSA可显着减少每个NAS必须承载的路由量。汇总还有助于减小路由表的大小,特别是在中央IP地址池的情况下,因为NAS服务器上需要redistribute connected配置命令。每个NAS中的连续IP地址块分配在总结过程中也有帮助,因为每个POP都可总结为一个大块,而且核心不必携带过多的路由。