本文档介绍一种端到端非对称数字用户线路(ADSL)架构,该架构使用Cisco 6400通用接入集中器(UAC)的路由桥接封装(RBE)功能。RBE旨在解决已知的RFC1483桥接问题,包括广播风暴和安全问题。除了在ATM上独家运行这一事实外,RBE功能的功能与半桥接功能相同。通过使用xDSL用户的独特特性,可以实现额外的可扩展性、性能和安全性。
基线架构采用ADSL论坛参考架构模型设计。该架构涵盖网络接入提供商(NAP)提供的不同服务产品以及将用户流量转发到网络服务提供商(NSP)的不同场景。 在此架构中,RBE是Cisco 6400使用的假设封装方法。本文档的内容基于现有部署以及对架构执行的一些内部测试。有关增强的功能和修改,请参阅最新版本Cisco IOS®软件的版本说明。目前,Cisco 6400、Cisco 7200和Cisco 7500平台支持RBE。本文档仅限于对Cisco 6400的讨论。
从网络角度来看,ATM连接看起来像路由连接。数据流量作为RFC1483数据包接收,但是它们是RFC1483以太网或IEEE 802.3帧。与常规RFC1483桥接相比,路由器不会桥接以太网或IEEE 802.3帧,而是在第3层报头上路由。除了某些粗略检查外,网桥报头被忽略。这将在下一节中详细介绍。
从运行角度来看,路由器的运行方式与路由网桥接口连接到以太网LAN一样。操作有两种描述:来自客户驻地的数据包和发往客户驻地的数据包。
对于从客户驻地始发的数据包,会跳过以太网报头并检查目的IP地址。如果目的IP地址在路由缓存中,则数据包会快速交换到出站接口。如果目的IP地址不在路由缓存中,则数据包将排入进程交换的队列。在进程交换模式下,通过查看路由表找到必须通过其路由数据包的出站接口。识别出出站接口后,数据包将通过该接口路由。这种情况发生时不需要网桥组或网桥组虚拟接口(BVI)。
对于发往客户驻地的数据包,首先检查数据包的目的IP地址。目的接口由IP路由表确定。接下来,路由器检查与该接口关联的地址解析协议(ARP)表,查找要放入以太网报头中的目的MAC地址。如果未找到,路由器将生成目的IP地址的ARP请求。ARP请求仅转发到目的接口。这与桥接不同,在桥接中,ARP请求会发送到网桥组中的所有接口。
对于使用未编号接口的场景(在该场景中,您可能在同一子网中找到两个用户),路由网桥接口使用代理ARP。例如,192.168.1.2(主机A)希望与192.168.1.3(主机B)通信。 但是,主机A与主机B位于同一子网。
主机A必须通过向主机B发送ARP广播来获取主机B的MAC地址。当汇聚设备上的路由网桥接口收到此广播时,它将发出一个代理ARP响应,其MAC地址为192.168.1.1,主机A。它将获取该MAC地址,将其放入其以太网报头中,然后发送数据包。当路由器收到数据包时,它会丢弃报头并查看目的IP地址,然后将其路由到正确的接口。
RBE的开发目的是解决RFC1483桥接架构所面临的一些问题。RBE保留了RFC1483桥接架构的主要优势,同时消除了其大部分缺点。
在客户端设备(CPE)上进行最少配置。
服务提供商认为这一点很重要,因为它不再需要大量上门服务,也不再需要为支持更高级别的协议而大量投资人员。网桥模式下的CPE充当一个非常简单的设备。由于从以太网传入的所有信息都直接通过WAN端,因此CPE只涉及最少的故障排除。
易于从纯桥接架构迁移到RBE。用户端无需更改。
避免典型纯桥接架构中面临的IP劫持和ARP欺骗挑战。RBE还使用点对点连接来防止广播风暴。安全性是纯桥接架构的主要缺点。
与纯桥接架构相比,RBE在聚合设备上实施路由,因此提供了卓越的性能。此外,RBE具有更高的可扩展性,因为它没有网桥组限制。
使用思科服务选择网关(SSG)支持第3层网络选择。
实施此架构之前需要考虑的一些要点与RFC1483桥接基线架构白皮书中所述相同。
建议在以下情况下使用RBE:
场景与现有桥接架构中的场景相同。
NAP只想对CPE执行最低管理。在用户位置部署CPE后,简单CPE的概念需要最少或无需配置。
NAP不希望在桥接CPE后的主机上安装和维护主机客户端。这些安装和维护任务增加了部署成本和维护,包括向帮助台人员提供有关客户端软件和运行客户端的操作系统的知识。
NAP希望使用现有CPE(只能在RFC1483桥接模式下运行)部署可扩展的安全桥接网络,并希望提供服务选择功能。
下面的讨论将介绍RBE架构如何适应和扩展到不同的业务模式。
RBE网络架构类似于RFC1483桥接架构。如该架构中所指定,聚合设备可以在NAP中或在NSP中。如果使用端到端永久虚电路(PVC)架构,NSP会终止用户并在汇聚设备上配置RBE。如果NAP倾向于提供批发服务和服务选择,它可能会选择终止这些用户并从本地动态主机配置协议(DHCP)服务器获取IP地址。如果是批发服务,NAP可能会选择从NSP获取IP地址。本文档的IP管理部分将详细介绍这些场景。
RBE消除了RFC1483桥接架构涉及的主要安全风险。此外,RBE还提供了更好的性能,而且更具可扩展性,因为子接口被视为路由接口。
本节介绍在设计RBE架构之前必须考虑的一些要点。对于用户端,设计原则与RFC1483桥接架构中的原则相同。
在RBE中,为单个虚电路(VC)分配路由、一组路由或无类域间路由(CIDR)子网。因此,受信任环境被简化为仅由路由集中的IP地址或CIDR块代表的单个客户驻地。ISP还控制分配给用户的地址。这可以通过在该用户的子接口上配置子网来完成。因此,如果用户配置的IP地址超出分配的地址范围(可能导致ARP数据包流向路由器)的设备错误,路由器会生成“错误电缆”错误,并拒绝将错误的IP到MAC地址映射输入到其ARP表。
RBE只能使用点对点ATM子接口进行部署。它不能部署在多点子接口上。即使用户端是桥接的,您也无需定义网桥组或BVI接口,因为子接口被视为路由接口。
ATM点对点子接口可以是编号接口,也可以是未编号的接口。
根据定义,编号接口是指为其分配了特定IP地址且子网掩码固定的接口。例如:
Interface atm0/0/0.132 point-to-point ip address 192.168.1.1 255.255.255.252
如本例所示,当RBE与编号接口部署时,每个用户应有单独的子网。用户端的主机应配置为192.168.1.2。用户端只有一台主机。如果要求支持多台主机,则选择的子网掩码应支持更多主机。
编号接口使NAP能够控制用户在CPE后面连接的主机数量。如上所述,这种缺乏控制是RFC1483桥接架构中的一个主要问题。
但是,此方法消耗的IP地址太多。您需要为每个用户分配一个子网,为ATM子接口使用一个IP地址,并保留广播地址和所有零地址不使用。因此,要在CPE后面配置一台主机,您至少需要定义子网掩码255.255.255.252。考虑到IP地址的稀缺性,除非NAP/NSP使用私有地址空间并执行网络地址转换(NAT)来到达外部世界,否则这可能不是可行选项。
为了节省IP地址,另一种方法是使用未编号的接口。根据定义,未编号接口是使用ip unnumbered命令使用其他接口IP地址的接口。例如:
! interface loopback 0 ip address 192.168.1.1 255.255.255.0 ! interface atm0/0/0.132 point-to-point ip unnumbered loopback 0 ! interface atm0/0/0.133 point-to-point ip unnumbered loopback 0
如上例所示,IP地址和子网仅应用于环回接口。所有ATM子接口都将不编号到该环回接口。在此场景中,在ATM子接口上终止(未编号为loopback 0)的所有用户将与loopback 0的子网位于同一子网中。这意味着用户将位于同一子网中,但会通过不同的路由接口进入。在这种情况下,路由器识别ATM子接口背后的用户就成了问题。对于Cisco IOS,192.168.1.0(在IP管理图中)通过接口loopback 0直接连接,并且它绝不会通过任何其他接口将发往该子网中任何主机地址的流量发送出去。要解决此问题,需要明确配置静态主机路由。例如:
ip route 192.168.1.2 255.255.255.255 atm0/0/0.132 ip route 192.168.1.3 255.255.255.255 atm0/0/0.133
如本例中所述,当路由器需要做出路由决策并需要转发发往192.168.1.2的流量时,它将选择ATM 0/0/0.132作为传出接口,依此类推。在不指定这些静态主机路由的情况下,路由器将选择传出接口作为loopback 0并丢弃数据包。
尽管未编号接口会节省IP地址,但它需要额外的任务,即在节点路由处理器(NRP)上为每个用户配置静态主机路由。请注意,如果用户在CPE后面有14台主机,则无需为每台主机提供静态主机路由。可以为ATM子接口定义总结路由。
到目前为止,此解释假定CPE后面的主机将配置为静态IP地址。这种假设在现实生活中并不成立。在现实世界中,NAP希望对CPE及其所连接的主机执行最少的配置和维护。为此,主机应使用DHCP服务器动态获取其地址。
要动态获取其IP地址,必须将主机配置为从DHCP服务器获取IP地址。当主机启动时,它会发出DHCP请求。然后,这些请求将中继到适当的DHCP服务器,该服务器会从其先前定义范围内的一个主机向主机分配IP地址。
要将主机的初始DHCP请求转发到相应的DHCP服务器,应将ip helper-address命令应用于接收广播的接口。收到广播后,Cisco IOS会查看该接口的ip helper-address配置,并将单播数据包中的这些请求转发到IP地址在ip helper-address中指定的相应DHCP服务器。在DHCP服务器回复IP地址后,它会将响应发送到路由器上最初转发请求的接口。这用作出站接口,用于将DHCP服务器响应发送到最初请求服务的主机。路由器还会自动为此地址安装主机路由。
如果RBE在子接口上启用,并且是IEEE 802.3桥接协议数据单元(PDU),则在ATM网桥封装后检查以太网封装。如果它是IP/ARP数据包,则会像处理任何其他IP/ARP数据包一样处理。IP数据包是快速交换的。如果它失败,则会排队等待进程交换。
RBE的性能是一大胜利。当今的标准桥接代码存在一个固有的问题,即在做出转发决策之前需要对数据包进行两个单独的分类。分类定义为检查(在上游)和修改(在下游)数据包报头以转发信息的过程,这相对昂贵。需要进行第2层查找,以确定是需要路由还是桥接数据包。然后,在第3层,需要查找以确定数据包应路由到的位置。此分类在上游和下游方向进行,这会影响性能。
对于RBE,通过配置预定分组将沿上游方向路由。因此,无需通过桥接转发路径(在标准桥接情况下是必需的)。
CPE配置与标准桥接中的配置保持相同。部署RBE时无需对CPE进行任何更改。
为RBE部署编号接口时,通常通过DHCP服务器处理桥接CPE后面主机的IP地址分配。如前所述,DHCP服务器可驻留在NAP或NSP中。无论哪种情况,编号ATM子接口都应使用ip helper-address命令进行配置。如果DHCP服务器将位于NSP,则NAP聚合设备必须具有到达该服务器的路由。NAP使用其自己的DHCP服务器和IP地址范围的唯一场景是,它希望向用户提供服务选择功能,而这些用户是连接到NAP的LAN。
如果NAP希望使用NSP的IP地址空间,应将每个子网的其中一个IP地址分配给ATM子接口。此外,NAP和NSP之间应该有一些相互协议,以便NAP配置正确的地址。当NSP的DHCP服务器分配IP地址时,应当签订此协议,以确保服务器向主机提供正确的默认网关信息。然后,NAP可以总结分配给用户的所有这些地址的静态路由,也可以选择与NSP一起运行路由协议来通告这些路由。在大多数情况下,NAP和NSP都希望不使用路由协议。提供静态路由是一个不错的选择。
以下是NRP上部署带编号接口的RBE所需的基本配置:
! interface ATM0/0/0.132 point-to-point ip address 192.168.1.1 255.255.255.0 ip helper-address 192.168.3.1 no ip directed-broadcast atm route-bridged ip pvc 1/32 encapsulation aal5snap ! interface ATM0/0/0.133 point-to-point ip address 192.168.2.1 255.255.255.0 ip helper-address 192.168.3.1 no ip directed-broadcast atm route-bridged ip pvc 1/33 encapsulation aal5snap
使用未编号接口是节约IP地址的最佳方式。如前所述,当未编号接口与DHCP一起使用时,主机路由会动态安装。这可能是部署RBE的最佳方法。然后,DHCP服务器可以位于NAP或NSP,对于编号接口。
以下是NRP上部署具有未编号接口的RBE所需的基本配置:
interface Loopback0 ip address 192.168.1.1 255.255.255.0 no ip directed-broadcast ! interface ATM0/0/0.132 point-to-point ip unnumbered Loopback0 no ip directed-broadcast ATM route-bridged ip pvc 1/32 encapsulation aal5snap ! interface ATM0/0/0.133 point-to-point ip unnumbered Loopback0 no ip directed-broadcast ATM route-bridged ip pvc 1/33 encapsulation aal5snap
目前,本文主要讨论了以RBE为封装方法的基本接入技术。但是,使用此架构,NAP/NSP还可以提供各种服务和不同选项,以便NAP将用户流量转发到NSP。这些概念将在下一节中介绍。
在此场景中,NSP的主要功能是为最终用户提供高速互联网接入。由于NSP将提供最终服务,因此IP地址管理成为NSP的责任。它可以使用DHCP服务器为其最终用户分配公有IP地址,也可以选择为用户提供私有IP地址,然后执行NAT以访问外部世界。
如果NAP希望向其他ISP提供批发服务,它可以这样做。在此场景中,NAP通常不喜欢为不同NSP处理所有用户的IP地址。NAP与ISP进行了一些安排,为这些用户提供IP地址。这可以通过NAP将来自用户的DHCP请求转发到NSP处的DHCP服务器来实现。NAP必须使用该范围的其中一个IP地址配置其ATM子接口,并且需要将这些路由通告给NSP。路由通告可以是静态路由或NAP和NSP之间的某些路由协议。静态路由是NAP和NSP的首选方法。
企业访问通常需要虚拟专用网络(VPN)服务。这意味着公司不会向NAP提供任何IP地址,也不允许NAP在NAP的IP核心中通告公司IP地址空间,因为这可能导致安全漏洞。企业通常更愿意将自己的IP地址应用到客户端,或者允许通过多协议标签交换/虚拟专用网络(MPLS/VPN)或第2层隧道协议(L2TP)等安全方式进行访问。
提供安全企业访问的另一种方法是NAP为这些用户提供初始IP地址。因此,用户会通过LAN连接到NAP。在用户拥有初始IP地址后,他们可以通过主机上运行的L2TP客户端软件启动到公司的隧道。反过来,公司将对此用户进行身份验证,并从其IP地址空间提供IP地址。此IP地址由L2TP VPN适配器使用。这样,用户可以选择连接到其ISP进行Internet连接,或通过安全的L2TP隧道访问其公司。但是,这要求公司向用户提供隧道目的IP地址,该地址应通过NAP的IP核心路由。
NAP可以使用Cisco SSG的功能提供各种服务选择功能。SSG提供两种服务选择方法:通过第2层(称为PTA-MD)和第3层Web选择。使用RBE时,只能使用第3层Web选择方法。这要求用户通过LAN连接到NAP;即,NAP为用户提供初始IP地址,并提供对思科服务选择控制面板(SSD)的访问。
在RBE架构中,Cisco SSG的Web选择方法是计算用户流量的好方法。
RBE提供比标准桥接更好的性能和可扩展性。它还克服了标准桥接中面临的所有安全问题。RBE消除了标准桥接的广播风暴问题。RBE为NAP提供了稳健的架构,它希望避免维护客户端主机软件、桥接相关问题,并希望降低部署成本。使用RBE时,使用现有桥接架构时可实现所有这些。