目录

简介

开始使用前

规则

先决条件

使用的组件

多链路 PPP 干什么

配置多链路 PPP

命令

传统 DDR

拨号原型（Dialer Profile）

验证 MPPP 操作

相关信息

简介

多链路PPP (也指MP、MPPP、MLP或多链路)提供在多个物理WAN链路中进行流量扩展的方法，同时提供信息包分段和重组、正确排序、多厂商互操作性和入站与出站流量负载均衡信息。

MPPP 允许对数据包分段。这些片段通过多条点对点链路同时发送到相同的远程地址。在用户定义的负载阈值下，多个物理链路将恢复运行。此负载可以只在入站数据流、或者只在出站数据流或二者中任意一个中测量；但是，它不能在入站和出站流量的结合负载中测量。

如果是拨号连接，MPPP可在ISDN基本速率接口(BRI)、主速率接口(PRI)配置和异步串行接口中配置。它也可以配置用于非拨号串行接口，但本文对此功能无特别说明。本文档将讨论按需拨号路由 (DDR) 的基本 MPPP 的配置。 本文档将不涉及多机箱多链路 PPP；有关详细信息，请参阅多机箱多链路 PPP (MMP) 文档。

开始使用前

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

先决条件

本文档没有任何特定的前提条件。

使用的组件

本文档中的信息基于以下软件和硬件版本。

- 多链路 PPP 最初在 Cisco IOS® 软件版本 11.0(3) 中引入

- 在此示例中，使用了 Cisco IOS 软件版本 11.3。

本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您是在真实网络上操作，请确保您在使用任何命令前已经了解其潜在影响。

多链路 PPP 干什么

MPPP 是在多个逻辑数据链路间拆分、再结合与排列数据报的方法。有关MPPP的 详细说明，请参 阅RFC 1990 RFC 1990。最初的动因是在ISDN中开发多个承载信道，但它同样适用于多个PPP 链路连接二个系统的所有情况（包括异步链路）。

流量通过控制接口(一个虚拟访问接口)路由到MPPP链路时会发生分段，不同分段发送到不同物理链路。在链路的远程终端上，片段被重新组装，然后发送到通往最终目的地的下一跳上。

配置多链路 PPP

这一部分提供了在路由器上配置MPPP的命令和不同方法。

命令

需要的命令

描述

PPP 多链路

在物理接口和拨号程序接口(如果使用Dialer Profile)配置PPP多链路命令(在两个路由器上)。
注意：如果添加此命令，则必须断开任何现有连接，然后重新连接以应用新的多链路参数。由于多链路在呼叫建立期间完成协商，它的任何更改都不是在已完成链路控制协议（LCP）协商的连接上进行的。

dialer load-threshold 5 outbound

不在拨号程序上的接口负荷(从1到255)将向目的地发送另一个呼叫。带宽被定义为255比率，其中255将是100%的可用带宽。在本例中，当链路上的出站负载是5/255或2%时，将出现另外的信道。根据您的需要变化此值。outbound 参数将负载计算设置为仅计算出站流量。inbound 参数亦然，但仅计算入站流量。使用任一参数将负载设置为高于出站和入站负载。
提示：通常，客户会配置dialer load-threshold 1命令，因为他们希望所有B信道都立即用于每个呼叫。背后的理论是如果所有B信道一次出现，那么整个ISDN管道可以供每次呼叫使用。传递用户数据的时间减少，所以该呼叫的持续时间也应当缩短。
这个理论非常合理，实际上，不要将dialer load-threshold值设置在3以下，是非常好的一个想法。当该值的设置低于“3”时可能导致一次出现多个ISDN信道，这将导致两条信道争用带宽，并且无法连接其中任何一个信道。

可选命令

描述

ppp timeout multilink link remove seconds

本命令可以用于防止多链路连接在负载发生变化时产生倒换。例如，如果负载阈值设置为15 (15/255 = 6%)，并且数据流超出阈值时，这时会出现其他线路。当流量低于阈值时，附加线路取消。在数据速率变化剧烈的情况中，多信道停留一段特定的时间则比较有益，即使负载阈值低于指定值。指定多链路超时低于控制所有链路超时的拨号程序空闲超时。

ppp timeout multilink link add seconds

直到高数据流按照指定的时间间隔接收，此命令均可用于防止多条链路添加到MP套件。这样可以防止突发 数据流引发额外的线路。

ppp multilink max-link 或 ppp multilink links maximum（IOS 12.2 或更高版本）

在ppp multilink links maximum命令中设置的值，规定了捆绑中允许的最大链路数量。当超过ppp multilink links maximum命令分配的数量的链路试图进入捆绑时，MLP就挂断其拨号信道，以减少链路的数量。此命令可用于防止多链路连接启动过多连接。

ppp multilink min-link 或 ppp multilink links minimum（IOS 12.2 或更高版本）

设置在ppp multilink links minimum命令中的值，指定了MLP将设法保留在捆绑中的最小链路数量。MLP尝试拨号其他链路，以获取链路参数指定的编号，即使负载没有超出负载阈值。此命令可用于强制启用一定数量的信道

multilink bundle-name

可以使用此命令，来更改识别多链路捆绑的标准。

传统 DDR

本部分说明如何使用传统 DDR（循环组和拨号程序映射）配置多链路 PPP。

方法 1：仅一个物理接口 - 例如 ISDN

由于ISDN接口被视为"拨号程序"接口，我们几乎不需要使用命令，即可使ISDN接口能够进行MPPP连接。例如，除非您使用的BRI或PRI不止一个，否则就没有必要配置拨号程序循环组。

以下是一个配置的BRI示例，进行简单的按需拨号的PPP连接：

!

interface BRI0

ip address 192.168.12.3 255.255.255.240

encapsulation ppp

dialer map IP 192.168.12.1 name ROUTER1 5554321

dialer-group 1

ppp authentication chap

isdn spid1 40855512120000 5551212

isdn spid2 40855512340000 5551234

!

只需要在这个接口配置上增加两个命令，就可能实现MPPP。位于呼叫另一端的路由器必须进行类似配置。这两条命令是：

ppp multilink

dialer load-threshold load [outbound | inbound | either]

方法 2：多个物理接口 - ISDN、异步和序列

如果两个或多个物理接口需要捆绑在一起(例如使用异步或串行接口，或ISDN接口不止一个时)，必须使用不同方法。在这些情况下，必须配置拨号循环组，并且必须添加拨号接口到路由器的配置，以便控制MPPP连接。简而言之，“逻辑”接口必须控制“物理”接口。

为了完成此配置，您必须：

1. 将物理接口置于循环组。

2. 创建一个逻辑（“拨号程序”）接口作为循环组的主接口。

3. 配置拨号程序接口，以便执行 MPPP。

遵循以下步骤，在多个接口上配置 MPPP：

1. 通过使用 dialer rotary-group 编号 命令，将物理接口置于循环组中。在本例中，异步接口位于循环组 1 中：

router#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

router(config)#interface async 1

router(config-if)#dialer rotary-group 1

router(config-if)#^Z

router#

注意：如果路由器从未配置，或者路由器已设置回其默认配置，请确保使用no shutdown接口配置命令。

2. 要创建拨号程序接口，请使用 interface dialer 编号 全局配置命令。在本例中，创建了接口拨号程序 1：

router#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

router(config)#interface dialer 1

router(config-if)#end

router#

注意：interface dialer命令的number参数必须与步骤1中配置的旋转组的编号相同。

请使用 show running-config 命令，以查看拨号程序接口的默认配置：

!

interface Dialer1

no ip address

no cdp enable

!

3. 其次，配置拨号程序接口，以便拨打或接听电话。MPPP 的必要命令与步骤 1 中相同：

!

interface Dialer1

ip address 192.168.10.1 255.255.255.0

encapsulation ppp

dialer in-band

dialer idle-timeout 300

dialer map ip 192.168.10.11 name RemoteRouter broadcast 5551234

dialer load-threshold 100

dialer-group 1

no fair-queue

ppp multilink

ppp authentication chap

!

有关包含 MPPP 的完整 DDR 配置的示例，请参阅 PPP 支持页

拨号原型（Dialer Profile）

在 Dialer Profiles 上配置多链路 PPP 与传统 DDR 类似。物理接口与拨号程序接口上均必须配置 ppp multilink 命令。应该在拨号程序接口上配置 dialer load-threshold 命令。例如，

interface BRI0

no ip address

encapsulation ppp

dialer pool-member 1

isdn switch-type basic-5ess

ppp authentication chap

ppp multilink

! -- Configure multilink on both physical and dialer interfaces

!

interface Dialer1

ip address 172.22.85.1 255.255.255.0

encapsulation ppp

dialer pool 1

! -- Defines the pool of physical resources from which the Dialer

! -- interface may draw B channels as needed.

dialer remote-name R1

dialer string 6661000

dialer load-threshold 128 outbound

dialer-group 5

ppp authentication chap

ppp multilink

! -- Configure multilink on both physical and dialer interfaces

有关 Dialer Profiles 的详细信息，请参阅 Dialer Profiles 配置和故障排除文档

验证 MPPP 操作

要验证 MPPP 连接是否正常工作，请使用 debug ppp negotiation 命令。必须在LCP阶段协商的关键要素包括最大接收重建单元(MRRU)和端点分辨器(EndpointDisc)：

As1 LCP: O CONFREQ [Listen] id 1 len 26

As1 LCP:    AuthProto CHAP (0x0305C22305)

As1 LCP:    MagicNumber 0x10963BD1 (0x050610963BD1)

As1 LCP:    MRRU 1524 (0x110405F4)

As1 LCP:    EndpointDisc 1 Local (0x13070174657374)

As1 LCP: I CONFREQ [REQsent] id 3 Len 27

As1 LCP:    MRU 1500 (0x010405DC)

As1 LCP:    MagicNumber 0x2CBF9DAE (0x05062CBF9DAE)

As1 LCP:    MRRU 1500 (0x110405DC)

As1 LCP:    EndpointDisc 1 Local (0x1306011AC16D)

As1 LCP: I CONFACK [REQsent] id 1 Len 26

As1 LCP:    AuthProto CHAP (0x0305C22305)

As1 LCP:    MagicNumber 0x10963BD1 (0x050610963BD1)

As1 LCP:    MRRU 1524 (0x110405F4)

As1 LCP:    EndpointDisc 1 Local (0x13070174657374)

As1 LCP: O CONFACK [ACKrcvd] id 3 Len 24

As1 LCP:    MRU 1500 (0x010405DC)

As1 LCP:    MagicNumber 0x2CBF9DAE (0x05062CBF9DAE)

As1 LCP:    MRRU 1500 (0x110405DC)

As1 LCP:    EndpointDisc 1 Local (0x1306011AC16D)

As1 LCP: State is Open

与LCP协商的其他元素一样，在CONFREQs和CONFACK交换期间，连接的两端的MRRU和EndpointDisc必须一致。连接的两端必须为要建立的协议发送 CONFACK。欲知关于如何阅读debug ppp negotiation output 的更多信息，请参见文档“了解debug ppp negotiation输出”。

当MPPP在PPP 协商的LCP阶段成功完成协商，并且成功实施质询握手验证协议(CHAP)或密码验证协议(PAP)后，Cisco IOS软件将创建虚拟访问接口代表MPPP套件。如需了解虚拟访问接口用法和理论的更多信息，请参阅Cisco IOS文档的虚拟访问PPP功能。

虚拟访问接口在debug ppp negotiation输出中通过下列方式发送信号：

As1 PPP: Phase is VIRTUALIZED

从此时开始，网络控制协议 (NCP) 的 PPP 协商由虚拟访问接口处理。例如：

Vi1 PPP: Treating connection as a dedicated line

Vi1 PPP: Phase is ESTABLISHING, Active Open

Vi1 LCP: O CONFREQ [Closed] id 1 Len 37

...

Vi1 PPP: Phase is UP

Vi1 IPCP: O CONFREQ [Closed] id 1 len 10

Vi1 IPCP:    Address 192.168.10.1 (0x0306C0A80A01)

...

一旦MPPP连接被建立，连接信息便可在show ppp multilink命令的输出中找到。

router#show ppp multilink

Virtual-Access1, bundle name is RemoteRouter

0 lost fragments, 0 reordered, 0 unassigned, sequence 0x29/0x17 rcvd/sent

0 discarded, 0 lost received, 1/255 load

Member links: 1 (max not set, min not set)

Async1

捆绑名 是连接的客户端设备的认证用户名。成员链接 是作为捆绑活动成员的物理接口的列表。在上例中，当前只有一条链路处于活动状态，但路由器可以在某个点向捆绑添加更多链路。要使用命令clear interface interface断开特定链路(而不是整个捆绑)的连接。例如，clear interface Async1。

命名规则将首先尝试的顺序(如捆绑名称所示)可以通过multilink bundle-name命令更改。

另外，show interface命令对于虚拟访问接口有效，因为它适用于其他任何物理或逻辑接口。将会出现与任何所有show interface output中出现的同类信息。

router#show interface virtual-access 1

Virtual-Access1 is up, line protocol is up

Hardware is Virtual Access interface

Description: Multilink PPP to RemoteRouter

! -- This VAccess interface is conencted to "RemoteRouter"

Internet address is 192.168.10.1/24

MTU 1500 bytes, BW 7720 Kbit, DLY 100000 usec,

reliability 255/255, txload 1/255, rxload 1/255

Encapsulation PPP, loopback not set

Keepalive set (10 sec)

DTR is pulsed for 5 seconds on reset

LCP Open, multilink Open

! -- multilink state should be Open for a successful connection

Open: IPCP

Last input 00:00:01, output never, output hang never

Last clearing of "show interface" counters 04:25:13

Queueing strategy: fifo

Output queue 0/40, 0 drops; input queue 0/75, 0 drops

5 minute input rate 12000 bits/sec, 2 packets/sec

5 minute output rate 12000 bits/sec, 2 packets/sec

2959 packets input, 2075644 bytes, 0 no buffer

Received 0 broadcasts, 0 runts, 0 giants, 0 throttles

0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort

2980 packets output, 2068142 bytes, 0 underruns

0 output errors, 0 collisions, 0 interface resets

0 output buffer failures, 0 output buffers swapped out

0 carrier transitions

相关信息

- 了解 debug ppp negotiation 输出

- ISDN BRI 链路上第二个 B 通道呼叫失败故障排除

- 通过 DDR 拨号映射配置 BRI 之间的拨号

- Cisco IOS 的虚拟访问 PPP 功能

- PPP 设计和调试

- PPP 支持页

- 技术支持 - Cisco Systems