本文档介绍使用基于异步传输模式(PPPoA)的点对点协议的端到端非对称数字用户线路(ADSL)架构。 虽然多数是根据桥接体系结构来部署,但是PPPoA非常流行,并且将在未来ADSL部署中占有更大部分。
基准体系结构使用PPPoA的作为核心骨干网假设需要为最终用户提供高速互联网访问和公司接入。我们将讨论基于专用的虚拟信道的(PVC)体系结构,它是当前部署中最常用的方法。本文将单独讨论使用交换虚电路(SVC)的架构。
本文档基于现有部署以及内部架构测试。
"本文假定读者了解并且熟悉""RFC1483桥接基线体系结构白皮书""中所述的网络接入提供商(NAP)设计注意事项。"
点对点协议(PPP)(RFC 1331)提供了一种标准方法,可跨点对点连接封装较高层协议。它用16位协议标识符扩展高级数据链路控制(HDLC)数据包结构,此标识符包含关于数据包内容的信息。
数据包包含三种类型的信息:
链路控制协议(LCP) — 协商链路参数、数据包大小或身份验证类型
网络控制协议(NCP) 包含了更高层协议(包括IP和IPX)以及它们的控制协议(IP的IPCP)的信息。
包含数据的数据帧
PPP over ATM适配层5 (AAL5) (RFC 2364) 使用AAL5作为成帧协议,该协议支持PVC和SVC。PPPoA主要作为ADSL的一部分实施。它依赖于RFC1483,在逻辑链路控制子网访问协议(LLC-SNAP)或VC-Mux模式下运行。客户端前置设备(CPE)基于RFC封装PPP会话,用于在整个ADSL环路和数字用户线访问多路复用器(DSLAM)上传输。
PPPoA体系结构继承了拨号模式的PPP的大多数优点。下面列出了一些要点。
基于密码身份验证协议(PAP)或质询握手身份验证协议(CHAP)的每会话身份验证。 因为认证克服了桥接体系结构中的安全漏洞,这是PPPoA的最大的优势。
根据每个会话进行记帐是可能的,它允许服务提供商根据提供各种服务的会话时间收取用户的费用。每个会话记帐可以使服务提供商提供最低费用的最低访问级别,然后收取用户使用其它服务的费用。
在CPE上保存IP地址。这只允许服务提供商使用为网络地址转换(NAT)配置的CPE为CPE分配一个IP地址。 在CPE后面的所有用户可以使用单个IP地址,到达不同目的地。当保存IP地址时,服务于每个人用户的网络接入提供商/网络服务提供商(NAP/NSP)的IP管理开销减少了。另外,服务提供商可以提供一段小子网IP地址,以摆脱端口地址转换(PAT)和NAT的限制。
NAP/NSP提供到公司网关的安全访问,而不需要管理端到端的PVC,也不需要使用第三层路由或第二层转发/第二层隧道协议(L2F/L2TP)隧道。因此,他们可以扩展销售批发服务的业务模式。
对单个用户进行故障排除。NSP能根据活动PPP会话轻易地识别哪些用户是在线那些是下线,而不是使用像桥接体系结构中的故障排除整个组的方法。
NSP能通过为每个用户使用一个业界标准 的远程验证拨入用户服务 (RADIUS) 服务器配置空闲和会话超时,来实现超额预定。
高度可扩展,因为我们可以终止聚合路由器上大量的PPP会话。可以使用外部RADIUS服务器为每个用户处理身份验证、授权和记帐。
在服务选择网关(SSG)上优化功能的使用。
在一个虚拟通道(VC)上,每个CPE只有一个会话。 因为用户名和密码配置在CPE上,所以所有CPE之后的用户为特定的VC只能访问一个服务集合。用户不能选择不同服务集合,虽然可以在不同VC上使用多个VC,并建立不同PPP会话。
CPE设置的复杂性增加。服务提供商的帮助台人员需要更了解情况。因为用户名和密码配置在CPE上,所以订户或CPE 供应商将需要改动设置。使用多条虚电路会增加配置复杂性。然而,该问题的解决可以通过还没有发布的自动配置功能。
服务提供商需要维护所有用户的用户名和密码数据库。如果使用了隧道或代理服务,则认证可以根据域名进行,而用户认证在公司网关上进行。这可减小服务提供商必须维护的数据库大小。
如果单个IP地址提供给CPE,而且实施了NAT/PAT,某些将IP信息嵌入有效载荷中的应用,例如IPTV,将不能运行。另外,如果使用IP子网功能,IP地址也必须为CPE保留。
实施PPPoA架构前需要考虑的要点包括:
目前和将来服务的用户数量,这将影响所需的PPP会话数量。
PPP会话是在服务提供商的聚合路由器上终止还是转发到其他公司网关或Internet服务提供商(ISP)。
服务提供商还是最终服务目标是向用户的CPE提供IP地址。
提供的IP地址是合法公有地址还是私有地址。CPE将执行NAT/PAT,还是NAT将在终结目的地上执行?
最终用户、住宅用户、小型办公室家庭办公室(SOHO)客户和远程工作人员的简档。
一旦超过一个用户,无论所有用户是否需要到达同一个最终目的地或服务,或者它们全部有不同的服务目的地。
服务提供商是否提供语音或视频等增值服务?服务提供商需要所有订户在到达最终目的地之前首先访问特定的网络吗?当用户使用SSG时,他们 会使用转接服务、PPP终端聚合(PTA),仲裁设备或者代理吗?
服务提供商如何根据统一速率、每会话使用率或使用的服务向用户计费。
部署和调配CPE、DSLAM和汇聚入网点(POP)。
NAP的业务模式。模型还包括批发出售服务(类似安全的企业访问)和增值服务(类似语音和视频)吗?NAP和NSP是否是同一实体?
公司的业务模式。它是否与独立本地交换运营商(ILEC)、竞争对手的本地交换运营商(CLEC)或ISP相当?
NSP将提供给最终用户的应用类型。
预计的数据流的上行和下行卷。
请记住这几点,我们将讨论PPPoA体系结构是如何适合和扩展到服务提供商的不同商业模式,和使用这个体系结构如何使服务提供商受益。
下图显示了典型的PPPoA网络架构。使用CPE的用户可以通过Cisco DSLAM连接到服务提供商,Cisco DSLAM使用ATM连接到Cisco 6400聚集器。
在本文档的“实施注意事项”部分,PPPoA架构可以根据服务提供商的业务模式使用不同的场景进行部署。在此部分中,我们将讨论在部署解决方案之前服务提供商必须记住的不同的可能性和考虑。
在部署PPPoA架构和此架构的特定解决方案之前,了解服务提供商的业务模式至关重要。考虑服务提供商将提供的服务。服务提供商会为最终用户提供高速互联网访问这样的服务,还是会将业务批发给不同的ISP,并且为那些用户提供增值服务呢?服务提供商是否会提供所有服务?
在NSP和NAP相同的环境中进行高速互联网访问时,必须在部署的聚合路由器中终止用户的PPP会话。在这个方案中,服务提供商需要考虑在一个路由器汇聚装置上可以终止多少PPP会话,用户如何被验证,他们怎样完成记帐,一旦用户会话被终止,它们通过哪条路径访问互联网。根据PPP会话和用户的数量,聚合路由器可以是Cisco 6400或Cisco 7200。如今,配备7个节点路由处理器(NRP)的Cisco 6400可终止多达14,000个PPP会话。Cisco 7200限于2,000个PPP会话。这些数字将随新版本而变化。请检查版本说明和产品文件,以了解每个聚合路由器可以支持会话的确切的数量。
在这种情况下,处理用户认证和记帐的最佳方式是:使用行业标准的RADIUS服务器,它可以根据用户名或正在使用的虚拟路径标识符/虚拟信道标识符(VPI/VCI)来进行验证。
对于高速互联网接入,NSP通常向客户收取固定费率。大多数当前部署都采用这种方式实施。当NSP和NAP是同一个实体时,客户按照一个固定的速率计费对访问计费,并按照另一个固定的速率对互联网访问计费。当服务提供商开始提供增值服务时,此模式会发生变化。根据服务的类型和服务的使用期限,服务提供商可以向用户收费。用户使用路由协议,如开放式最短路径优先(OSPF),通过聚合路由器连接到互联网,或者使用增强的内部网关路由协议(EIGRP),连接到可能正在运行边界网关协议(BGP)的边界路由器。
服务提供商提供高速互联网接入的另外一个选择方案是:将来自用户的入局PPP会话转发到使用L2TP/L2F隧道的独立ISP。使用L2x建立隧道时,应该特别考虑如何到达隧道目的地。可用选项运行某些路由协议或在聚合路由器中提供静态路由。使用L2TP或L2F隧道时的限制如下:(1)可以在那些隧道中支持隧道的数量和会话的数量;并且(2)路由协议的使用与第三方ISP不兼容,它可能需要使用静态路由。
如果服务提供商为不同的ISP或公司网关对终端用户提供服务,他们可能需要在聚合路由器上实施SSG功能。这允许用户使用基于Web的服务选择来选择不同的服务目标。服务提供商既可将所有发送到ISP的会话结合到一个PVC,以进行传输,转发用户的PPP会话,或者如果服务提供商提供多个级别的服务,则可在核心中建立多个PVC,以转发PPP会话。
在批发服务模式中,服务提供商不得使用SSG功能。在此模式中,服务提供商将所有PPP会话扩展到家庭网关。家庭网关为最终用户提供IP地址并对最终用户进行身份验证。
在任何情况下,我们都会重点考虑的一个问题是:服务提供商如何才能为不同业务提供不同的服务质量(QoS),他们如何计算带宽分配。目前,大多数服务提供商部署此架构的方式在不同的PVC上提供不同的QoS。它们的核心上可能有单独的永久虚电路,供住宅和企业客户使用。使用不同的PVC允许服务提供商为不同的服务指定不同的QoS。这样,QoS可以位于单独的PVC上或第3层。
在第3层适用QoS,要求服务提供商知道最终目的地,这可能是限定系数。但是,如果与第二层QoS结合使用(在不同的VC中应用),对服务提供商来说将非常有用的。此类型的限制是它是固定的并且服务提供商需要提前设置QoS。QoS不会在服务选择上动态应用。当前,没有这样的选项,使用户只需单击鼠标就可以为不同的服务选择不同带宽;但是,为开发此功能,已投入大量的工程工作。
由于CPE需要进行用户名和密码的配置,因而在这个体系结构中,CPE的部署、管理和设置可能非常具有挑战性。作为一个简单的解决方案,一些服务提供商把同一个用户名和密码用于所有CPE。这会带来巨大的安全风险。另外,如果CPE需要同时打开不同的会话,则必须在CPE、NAP和NSP上设置额外的虚拟电路。Cisco DSLAM和聚合设备能够简化CPE配置和调配。直通管理工具也可用于端到端PVC调配。因为每个不同的PVC都需要被管理,所以为在NSP使用PVC为太多用户设置是一个限制性的因素。另外,没有通过点击几下鼠标或输入几个关键命令,在单个NRP上设置2000 PVC的简单方法。
现在,对于这个体系结构中的不同组件,我们使用不同的管理应用程序,比如使用Viewrunner管理DSLAM、使用SCM管理Cisco 6400。没有一个管理平台可以管理所有的组件。这是公认的限制,并且已付出了巨大努力获得一个全面的管理应用,以设置 CPE、DSLAM和Cisco 6400。另外,目前我们有一种解决方案,可以执行带有SVC的PPPoA,这将大大简化部署。带有SVC的PPPoA也将允许终端用户动态地选择目的地和QoS。
使用此体系结构进行ADSL大规模部署的另一个要点应该记住的是从聚合路由器到RADIUS服务器的通信。如果NRP前端出故障,当几千个PPP会话在聚合设备结束时,必须重建所有那些PPP会话。这意味着一旦建立连接必须验证所有用户并且终止和重新启动它们的计费记录。当许多订户设法获得同时认证时,通往RADIUS服务器的管道可能是一个瓶颈。一些订户不可能得到认证,这将为服务提供商制造问题。
具有一条连接到具有足够带宽的RADIUS服务器的链路是非常重要的,以便同时容纳所有用户。此外,RADIUS服务器应足够强大,能够向所有用户授予权限。在成千上万用户的情况下,应该考虑在可用的RADIUS服务器之间负载平衡的选项。此功能在Cisco IOS®软件中可用。
最后,聚合路由器必须执行足够的功能来容纳许多PPP会话。应用其他实施所使用的相同流量工程原则。以前,用户必须在点对点子接口上配置PVC。如今,PPPoA允许用户在多点子接口和点对点上配置多条PVC。每个PPPoA连接不再要求二个接口描述符模块(IDB) ,一个用于虚拟访问接口,一个用于ATM子接口。此增强功能可增加路由器上运行的PPPoA会话的最大数量。
PPPoA会话在平台上支持的最大数量取决于可用系统资源,例如内存和CPU速度。每个PPPoA会话采用一个虚拟接入接口。每个虚拟接入接口包括硬件接口描述符块和软件接口描述符块(hwidb/swidb)对。每个硬件大约需要450。每个窗口大约需要2500。虚拟接入接口总共需要7.5K。 2000个虚拟接入接口需要2000 * 7.5K或15M。要运行2000个会话,路由器需要额外15M。由于会话限制的增加,路由器需要支持更多IDB。该支持影响性能,因为更多的CPU周期运行更多PPC状态机的实例。
本节介绍PPPoA架构的三个关键点:CPE、IP管理和到达服务目标。
由于PAT的性质,在这种情况下,某些将IP信息嵌入到有效载荷中的应用将不能运行。要解决此问题,请应用IP地址子网,而不是单个IP地址。
在此体系结构中,由于已经为CPE分配了一个IP地址,NAP/NSP远程登录到CPE进行配置和故障排除变得更加简单。
CPE可根据用户的配置文件使用不同的选项。例如,对于住宅用户,CPE可以配置为不使用PAT/DHCP。对于拥有一台以上PC的订户,既可为CPEPAT/DHCP配置CPE,也可采用与住宅用户相同的方式。如果有一个IP电话与CPE连接,那么CPE可能配置超过一个PVC。
在PPPoA体系结构中,用户CPE的IP地址分配使用IPCP协商,它与拨号模式中的PPP原理相同。IP地址的分配取决于用户使用的服务类型。如果用户只能从NSP访问互联网,那么NSP将结束那些用户的PPP会话,并将分配一个IP地址。IP地址从一个本地定义的池(DHCP服务器)分配,或者可以从RADIUS服务器应用。并且,当用户起动PPP会话时,ISP可能已经为用户提供了一套静态IP地址,并且可能不动态地分配IP地址。在此方案中,服务提供商只使用RADIUS服务器,验别用户。
如果用户希望有多个服务可用,则NSP可能需要实现SSG。以下是分配IP地址的可能性。
SP可以通过其本地池或RADIUS服务器向用户提供IP地址。用户选择服务后,SSG会将用户的流量转发到该目标。如果SSG使用代理模式,最终目的地可能提供一个IP地址,SSG将使用此地址作为NAT的可视地址。
PPP会话不会在服务提供商的聚合路由器上终止。它们建立隧道或转发到最终目的地或家庭网关,它将最终结束PPP会话。最终目的地或家庭网关与用户协商IPCP,从而动态提供IP地址。只要最终目的地分配到这些IP地址,并且有到这些地址的路由,也可能是静态地址。
在the Cisco 6400 NRP的Cisco IOS 软件12.0.5DC以前的版本中,服务提供商还不能为用户提供子网IP地址。Cisco 6400平台和Cisco 600系列CPE允许IP子网在PPP协商期间在CPE上动态配置。来自这个子网的一个IP地址被分配给CPE,剩余的IP地址都通过DHCP动态地分配到这个位置。当使用此功能时,CPE不需要为PAT配置,它不与一些应用程序一起使用。
在PPPoA架构中,可以通过不同方式到达服务目的地。一些最常部署的方法包括:
在服务提供商处终止PPP会话
L2TP隧道
使用SSG
在这所有的三种方法中,都有固定的一组PVC被定义,从CPE到DSLAM,DSLAM在聚合路由器上交换到固定的一组PVC。PVC通过ATM云从DSLAM映射到聚合路由器。
服务目的地可能使用其它方法连接,比如带有PPPoA的SVC或者多协议标签交换/虚拟专用网。这些方法不在本文讨论范围之内,将在单独的论文中讨论。
用户发起的PPP会话在服务提供商终接,服务提供商使用路由器上的本地数据库或通过RADIUS服务器,来验证用户。在用户验证之后,IPCP协商发生,并且IP地址被分配到CPE。分配IP地址后,CPE和会聚路由器上就建立了一个主机路由。分配给用户的IP地址(如果合法)会通告给边缘路由器。边缘路由器是用户访问Internet的网关。如果IP地址是专用的,服务提供商在将它们通告给边界路由器之前转换它们。
PPP会话(取决于服务提供商或公司)使用L2TP或L2F隧道到上游终端点,而不是在服务提供商的聚合路由器上终止。此终止点验证用户名并且订户通过DHCP或本地池分配IP地址。对于这种情况,L2TP接入集中器/网络接入服务器(LAC/NAS)与家庭网关或L2TP网络服务器(LNS)之间通常只建立了一条隧道。 LAC根据域名对传入会话进行身份验证;用户名在最终目的地或家庭网关进行身份验证。
然而在此模型中,用户只能访问最终目的地并且每次只能访问一个目的地。例如,如果CPE使用rtr@cisco.com用户名配置,则该CPE后面的PC就只能访问Cisco域。如果它们想要连接到另一个公司网络,它们需要在CPE上更改用户名和密码,以反应该公司的域名。在这种情况下,可以使用路由协议、静态路由,或者进行经典IP over ATM(如果ATM作为第二层优先),以达到隧道目的地。
SSG over tunneling 的主要优点是:SSG提供一对多的服务映射,而隧道仅提供一对一的映射。当单个用户需要访问多个服务,或同一个位置的多个用户需要同时访问同一个服务时,这就变得十分有用。SSG使用基于Web的服务选择指示板(SSD),它由不同的服务组成,并且对于用户来说是可获得的。用户可以一次访问一个或多个服务。使用SSG的另外一个优点是:服务提供商可以根据用户使用的服务和会话时间,来为用户记帐,用户也可以通过SSD开通或取消服务。
当PPP会话从用户传入时,用户将通过身份验证。从本地池或RADIUS服务器为用户分配IP地址。在用户成功验证之后,来源目标由SSG代码创建并且为用户提供对默认网络的访问。默认网络包含SSD服务器。使用浏览器,用户登录控制面板,由AAA服务器进行身份验证,并根据存储在RADIUS服务器中的用户配置文件提供一组可访问的服务。
认证用户每一次选择服务时,SSG就为该用户创建目的地对象。目的地目标包含以下信息:目的地地址、该目的地的DNS服务器地址、家用网关分配的源IP地址。从用户端传入的数据包会根据目标对象中包含的信息转发到目标。
SSG可以配置为代理服务、透明传递或PTA。当用户要求访问代理服务时,NRP-SSG会将访问请求发送到远程RADIUS服务器在收到access-accept后,SSG用access-accept响应用户。SSG显示为远程RADIUS服务器的客户端。
透明直通允许未经身份验证的用户流量在任一方向通过SSG路由。使用过滤器控制透明直通流量。
PTA只能由PPP型用户使用。身份验证、授权和记帐与代理服务类型完全相同。用户使用user@service形式的用户名登录服务。SSG将把它转发到RADIUS 服务器,然后将服务档案加载到SSG。SSG将请求转发到服务配置文件的RADIUS服务器属性指定的远程RADIUS服务器。在对请求进行身份验证后,会为用户分配IP地址。不执行NAT。所有用户流量都汇聚到远程网络。通过PTA,用户可以访问一项服务,将不访问默认网络或SSD。
CPE首次通电时,它便开始将LCP配置请求发送到会聚服务器。配置了PVC的会聚服务器也在虚拟访问接口上(与PVC相连)发送LCP配置请求。 当每一个看到其它的配置请求时,它们承认请求并且打开LCP状态。
在身份验证阶段,CPE向聚合服务器发送身份验证请求。服务器既可以根据域名(如果提供)来验证用户,也可以使用它的本地数据库或RADIUS服务器来根据用户名验证,取决于它的配置。如果用户请求是username@domainname形式,并且没有通向目的地的隧道,聚合服务器将会尝试创建一条这样的隧道。在创建隧道之后,会聚服务器从订户将PPP请求转发到目的地。目的地依次对用户进行身份验证并分配IP地址。如果用户的请求不包括域名,那么用户可以通过本地数据库认证。如果SSG在聚合路由器上配置,那么用户可以访问指定的默认网络并且能获得选择不同服务的选项。
PPPoA成为许多服务提供商的最适当的体系结构,因为它具有高可扩展性,并使用SSG功能,还提供安全性。因为本文焦点是PPPoA体系结构,所以不可能包括类似SSG的详细功能。这些功能将在后续文章中介绍。在本文讨论的不同的情况的配置示例也将在其它论文中展示和说明。