多链路 PPP:一个大型虚拟 WAN 管道
网络管理有点像炼金术:取一到两份 ISDN,加入一些帧中继,再扔进几个路由器,将它们混合在一起,不知何故,最终的结果就是带宽黄金。
当然,创建完全可互操作网络的公式要复杂得多。幸运的是,网络管理员可以使用一些工具,使带宽魔法更容易实现。技术工具包中最重要的两个要素是点对点协议 (PPP) 及其后续协议:多链路点对点协议 (MLPPP)。
PPP 是互联网工程任务组 (IETF) 的产物,是连接客户端和服务器以及互连路由器以形成企业网络的实际 WAN 链路协议。PPP 的主要优势在于,与其他在数据链路层运行的协议不同,PPP 通过协商不同的配置选项(包括链路质量、链路身份验证和网络协议)来实现设备之间的互操作性。
多年来,IETF 对 PPP 进行了一些重大更改。但正如其名称所示,PPP 旨在用于简单的点对点连接。现在,企业网络基础设施正在迅速转向数字交换服务,例如 ISDN、帧中继和 ATM,PPP 需要进行更多更改。
MLPPP 应运而生,在 IETF 圈子里被称为 RFC(请求评论)1717。MLPPP 利用交换 WAN 服务在设备之间打开多个虚拟连接的能力,根据需要为用户提供额外的带宽。借助 MLPPP,路由器和其他接入设备可以将连接到各种 WAN 服务的多个 PPP 链路组合成一个逻辑数据管道。
IETF 于去年 11 月正式批准了 MLPPP 规范。ISDN 路由器和接入设备的制造商已经开始使用 MLPPP 捆绑 64Kbps ISDN B 信道以提供更多带宽。MLPPP 还允许网络管理员聚合不同类型的 WAN 电路,而无需对现有路由器互联网网络进行重大配置更改。
由于 MLPPP 可以通过任何交换 WAN 服务工作,因此它具有广泛的潜在用途(请参阅“PPP Plus”)。网络管理员可以部署配备 MLPPP 的设备来创建独立于技术的企业框架,其中连接两个设备的实际 WAN 服务对最终用户是不可见的。在这种模式下,WAN 设备将在两个直接连接的对等方之间协商带宽规则,使用任何可用的服务类型。新的数字 WAN 服务(如 ATM(异步传输模式))可以根据需要添加到网络组合中,而不会使现有的网络基础设施过时。
虽然 PPP 通常被认为是一个单一的实体,但它实际上是一组协议,它们共同提供了一组广泛的网络连接服务。PPP 套件基于四个关键设计原则:配置选项协商、多协议支持、协议可扩展性和 WAN 服务独立性。
配置选项协商:这指的是 PPP 在两个直接连接的终端系统之间建立吞吐量要求的能力。在企业网络中,终端系统在缓冲区要求、数据包大小限制和网络协议支持列表方面通常有所不同。互连任何两个终端系统的物理链路可能从低速模拟线路到高速数字连接,线路质量也各不相同。
为了应对所有这些可能性,PPP 拥有一套标准默认设置来处理所有常见配置。为了建立链路,两个通信设备尝试使用这些默认设置来找到共同点。PPP 链路的每一端都描述其功能和要求;设置在链路级别的双方之间针对每个选项进行协商。这些选项包括数据封装格式、数据包大小、链路质量和身份验证。
协商所有这些选项的协议称为链路控制协议 (LCP)。协商要在 PPP 链路上传输的网络协议的协议称为网络控制协议 (NCP);单个 PPP 链路上可以有许多 NCP 数据流。虽然 PPP 的配置协商选项还允许终端系统设置链路对等身份验证(安全功能)和数据压缩选项,但 PPP 不规定用于安全或压缩的实际算法。对于安全性,PPP 定义了 PAP(密码验证协议)和 CHAP(质询握手身份验证协议)作为可以协商的通用标准身份验证方法,但它也允许用户添加新的身份验证算法。压缩也是如此。
多协议支持:PPP 处理多种网络层协议的能力是其成为事实标准的主要原因之一。与仅处理 IP 数据报的串行 IP 协议 (SLIP) 不同,PPP 可以与一系列数据包格式一起工作,包括 IP、Novell IPX、AppleTalk、DECnet、XNS、Banyan Vines 和 OSI。每个网络层协议都由相应的 NCP 单独配置。
协议可扩展性:多年来,IETF 通过许多额外的 RFC 扩展了 PPP,这些 RFC 定义了诸如通用数据身份验证服务以及用于安全性和压缩算法的加密功能等功能。例如,对于许多 WAN 技术,压缩算法是根据链路质量选择的。不同的技术使用不同的压缩方案,在网络中引入多层压缩和解压缩。在 NCP 级别运行 PPP 压缩消除了这些考虑因素,并使用了更少的系统资源。
WAN 服务独立性:最初版本的 PPP 明确构建为在 HDLC(高级数据链路控制)网络上运行。从那时起,IETF 添加了 RFC,使 PPP 能够与现在使用的每个主要 WAN 服务一起工作,包括 ISDN、帧中继、X.25、Sonet 和同步/异步 HDLC 帧。
尽管 PPP 有很多优点,但在网络部署方面存在一个固有的限制:它被设计为一次只处理一个物理链路。MLPPP 消除了这种限制。MLPPP 是一种更高级别的数据链路协议,位于 PPP 和网络协议层之间。它可以容纳一个或多个 PPP 链路,每个 PPP 链路代表一个单独的物理 WAN 连接或多信道交换服务(如 ISDN 或帧中继)中的一个信道。
MLPPP 将多个较低速度的链路组合成单个较高速度的数据路径的能力通常被称为独立于 WAN 或基于数据包的反向多路复用(请参阅下面的“WAN 独立性”)。基于数据包的反向多路复用并非新鲜事物;例如,ISDN 供应商已经提供了一些方法来组合多个 ISDN 64Kbps B 信道一段时间了。但是到目前为止,这些解决方案都是专有的:特定于供应商和技术的。MLPPP 体现了一种跨越供应商和 WAN 技术界限的标准方法。
MLPPP 以与传统 PPP 相同的方式协商配置选项。但是,在协商过程中,一个路由器或接入设备向另一个通信设备表明它愿意组合多个连接并将它们视为单个物理管道。它通过在初始 LCP 选项协商中发送多链路选项消息来完成此操作。
一旦成功打开多链路会话,发送端的 MLPPP 就会从更高层协议或应用程序接收网络协议数据单元 (PDU)。然后,它将这些 PDU 分割成较小的数据包,向每个片段添加 MLPPP 标头,并通过可用的 PPP 链路发送它们(参见图 1)。在接收端,MLPPP 软件从不同的链路获取分段的数据包,根据其 MLPPP 标头将它们按正确的顺序排列,并将它们重新转换为其原始网络层 PDU。
MLPPP 独立于实际的物理链路以及在其上运行的 WAN 服务。这意味着 MLPPP 流量可以遍历来自多个 WAN 服务的物理和逻辑连接的混合体,例如帧中继虚拟电路、多个 ISDN 信道和 X.25 连接。MLPPP 用作逻辑链路层,可以根据带宽需求的变化在两个通信设备之间动态添加或删除链路。MLPPP 标准不规定流量如何在这些成员 PPP 链路之间进行负载均衡,从而使网络管理员可以自由地决定如何使用可用的链路或信道。
MLPPP 将单独的 PPP 链路组合成一个逻辑数据管道的能力是该协议最重要的功能之一。它允许在需要时添加额外的 WAN 带宽或新的 WAN 服务,而不会中断现有的 WAN 基础设施。借助 MLPPP,可以一起使用不同的 WAN 服务,例如 ISDN、帧中继和 ATM。例如,网络管理员可以建立帧中继连接作为中心站点和分支机构之间的主要链路,并在带宽需求增加时将 ISDN 用作辅助链路(参见图 2)。
通过动态添加和删除 PPP 链路,MLPPP 实现了两个对等系统之间的动态带宽分配,或“弹性带宽”。在 LCP 选项协商期间,MLPPP 组中的所有 PPP 链路都将自己标识为属于同一组或捆绑包。要向捆绑包添加新链路或 WAN 服务,只需将相应的 MLPPP 组标识符附加到链路即可。同样,当成员 PPP 链路终止时,它会通过消除标识符自动从其父 MLPPP 捆绑包中删除。
PPP 与 WAN 服务无关,因此 MLPPP 捆绑包的成员链路可以与永久虚拟电路 (PVC)(具有固定的端点)或交换虚拟电路 (SVC)(按需拨号)相关联。
MLPPP 创建不同 WAN 链路组的能力为网络管理员带来了一些有趣的可能性。例如,他们可以使用 MLPPP 根据网络层协议隔离流量。这种方法将使网络管理员能够将加速的控制消息与正常数据流量分开,或者根据特定于应用程序的需求将数据排队到单独的 MLPPP 捆绑包中。
以下是 MLPPP 的隔离数据包排队如何工作的一个示例。假设一个中心站点通过两条 64Kbps 帧中继链路和两条 ISDN 基本速率接口 (BRI) 连接连接到远程站点。两种类型的流量遍历这些链路:来自 UNIX 操作的 IP 流量和来自 Digital Equipment Corporation VAX 网络的 DECnet 流量。如果帧中继和 ISDN 信道被视为一个 MLPPP 捆绑包,则两种流量类型都可以在任何给定时间访问链路的全部带宽。
单管道方法使网络管理更加容易,但如果一种流量类型开始主导管道,则可能会产生问题。在此示例中,如果 UNIX IP 流量开始突发超过总链路速率的 60%,它将开始蚕食 DECnet 的可用带宽,从而降低 VAX 网络上用户的性能。
借助 MLPPP,可以避免此问题。网络管理员不仅可以组合各种物理接口来创建一个大型管道,还可以分配该虚拟管道内的信道。例如,网络管理员可以创建两个 128-kbit/s MLPPP 捆绑包,每个捆绑包由单个 ISDN B 信道和 64Kbps 帧中继链路组成。然后,这些捆绑包可以专用于每种类型的流量。
使用路由器进行交换 WAN 服务的一个大问题不是激活链路,而是在数据传输完成后关闭链路。大多数 LAN 协议和客户端-服务器应用程序都很冗长,几乎不断地进行消息传递以同步路由数据库并维护客户端-服务器会话。
如果不加以检查,这些进程可能会无限期地保持 ISDN 链路处于活动状态,而无需传递任何应用程序数据。不用说,所有这些正常运行时间都会迅速累积,尤其是在费用基于通话时长的情况下。考虑到超过 35% 的 WAN 成本与线路成本有关,控制 MLPPP 组中成员链路的激活和停用能力至关重要。
MLPPP 提供了两种解决方案:使用率阈值和欺骗。在使用率阈值方案中,一旦电路变得空闲或其承载的流量降至网络管理员预定义的水平以下,MLPPP 将自动从其捆绑包中删除该电路,直到需求增加。使用率阈值方法的缺点是,在使用冗长协议的突发环境中,可能难以有效地定义阈值水平。例如,在 Novell IPX 环境中,可能难以衡量 SAP(服务广告协议)和 RIP(路由信息协议)消息的要求。
欺骗有助于解决此问题。它是路由器用来过滤网络流量的一种技术。欺骗会阻止不必要的流量(如会话保持活动消息)遍历 WAN 链路。路由器充当代理并本地响应这些消息,而不是通过 WAN 发送这些消息。一旦路由器接管应用程序的轮询和响应,WAN 链路就可以关闭,直到真正需要它为止。
MLPPP 的 WAN 服务独立性意味着用户和网络管理员可以免受网络服务更改的影响。随着新的 WAN 服务(如帧中继和 ATM)的可用,MLPPP 可用于将它们合并到逻辑捆绑包中。对于路由器,MLPPP 看起来像数据链路协议;路由器不必处理 MLPPP 在其逻辑管道中汇集的各种物理连接和交换电路的复杂性。这有助于降低路由器重新配置成本,因为添加新的 WAN 服务时不需要新的路由器接口。
对于网络管理员而言,向 MLPPP 捆绑包添加新电路或虚拟电路与添加路由器接口之间的区别非常重要。向预先存在的 MLPPP 逻辑管道添加电路对于网络是透明的,尤其是在 ISDN、帧中继或 ATM 等交换环境中。它只是向管道添加带宽;不需要额外的接口或路径信息。相比之下,对物理路由器接口的任何更改都会触发对参与更改的每个路由器的路由表的更新。在电路频繁激活和停用的环境中,这可能会产生过多的网络拓扑更改,并给网络管理员带来更多额外的工作。
MLPPP 不仅可以节省网络管理员的时间和精力,而且还为网络设计人员提供了一个重要的战术工具。它可用于简化故障管理并在网络中构建低成本的冗余。
除了利用已有的 WAN 服务外,MLPPP 还定位于与刚刚进入现实世界的技术协同工作。这些技术中最突出的是 ATM。
ATM SVC 可以像 ISDN 电路一样按需激活和停用。当需要更多带宽时,可以将 ATM 电路包含在 MLPPP 电路组中。如果较低速度的 ATM 端口(T1 或 T3)得到广泛部署,捆绑将变得特别有用。
从长远来看,随着 ATM 接管企业网络骨干网,情况可能会变得更加复杂。ISDN、帧中继和 ATM 将主导 WAN 格局,ISDN 和帧中继充当馈送技术,而 ATM 充当企业骨干网,通过更快的管道聚合 ISDN 和帧中继电路。Sonet OC3 速度(155Mbps)的 ATM 管道可以聚合超过 2,400 个 64Kbps ISDN B 信道。
按照今天的标准,这是一个很大的带宽,但由于 LAN 交换和高速 LAN 的兴起,LAN 的聚合吞吐量要求将以更快的速度升级,在未来几年内达到每秒数十吉比特。为了减少 LAN 和 WAN 世界之间的差距,网络管理员将需要聚合 B 信道和帧中继电路。使用 MLPPP 的反向多路复用提供了一种灵活的方式来做到这一点。
MLPPP 提供了一些关键功能,以帮助网络管理员构建多协议企业网络。以下是 MLPPP 的一些最强大的卖点
混合搭配 WAN:借助 MLPPP,网络管理员可以将多个物理链路和虚拟电路配置为一个逻辑管道,在此过程中使用不同的 WAN 服务类型(ISDN、帧中继、X.25 和 ATM)。
按需带宽:当需要更多带宽时,或者当逻辑管道中的链路之一发生故障时,可以自动激活电路并将其添加到逻辑管道。
大型协议帐篷:MLPPP 处理所有主要网络层和传输层协议的路由,包括 IP、IPX、Netbios、DECnet 和 SNA。
网络协商:MLPPP 继承了 PPP 在通信设备之间协商配置选项的能力。这意味着两个终端系统可以设置传输条款,而无需人工干预。
无流量,无链路:MLPPP 使用 LAN 协议欺骗来阻止不必要的网络流量(如会话保持活动数据包)遍历 WAN。
反向多路复用的两种基本类型是基于电路的和基于数据包的。在基于电路的方案下,数据流被切分成相等的部分,而不管其内容如何,每个部分都通过不同的可用电路传输。使用基于电路的反向多路复用,流量流的同步通常由硬件处理。
基于数据包的反向多路复用是基于软件的过程。在这种方案中,数据包根据管理跨电路的流量分配的规则或策略在可用电路之间分配。这些规则可以包括根据协议进行隔离或基于百分比的优先级排序。多链路点对点协议 (MLPPP) 使用基于数据包的反向多路复用。
两种方法之间的一个主要区别是,基于数据包的反向多路复用方案可以处理多种电路类型,而基于电路的方案则不能。例如,借助 MLPPP,可以将同步 56Kbps X.25 链路与 64Kbps ISDN B 信道捆绑在一起,以创建一个提供 120Kbps 带宽的单个逻辑管道。这种捆绑能力扩展到所有可用的 WAN 服务,包括拨号模拟线路、交换 56Kbps 服务、帧中继连接和 T1 或 T3 服务。
另一个区别是,基于数据包的反向多路复用对目标路由器或终端系统是无缝的。在 MLPPP 的情况下,数据流通过 MLPPP 片段的软件同步显得一致。相比之下,基于电路的反向多路复用要求接收设备停止数据流,直到所有绑定的信道都针对延迟进行表征。这是基于硬件的解决方案可以确保数据以正确的顺序接收的唯一方法。
除了需要恒定比特率传输或对电路延迟有严格要求的应用程序外,基于软件的解决方案通常被认为是优越的,因为它们为基本的反向多路复用功能增加了相当大的价值和灵活性。在 MLPPP 的情况下,用户能够组合不同的 WAN 连接,同时利用 PPP 的配置协商和多协议路由支持。
本文最初由 Data Communications 发布,可以在 Web 上 http://www.data.com/tutorials/multilink_ppp.html 找到。
George E. Conant 是 Xyplex Inc.(马萨诸塞州利特尔顿)的联合创始人,该公司是互联网网络产品的制造商。