本文档介绍在Cisco Systems的访问服务器平台上,在堆栈或多机箱环境(有时称为MMP,用于多机箱多链路PPP)中支持多链路PPP(MP)。
本文档没有任何特定的前提条件。
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您是在真实网络上操作,请确保您在使用任何命令前已经了解其潜在影响。
这是本文档使用的术语表:
接入服务器 — 思科接入服务器平台,包括用于提供远程访问功能的ISDN和异步接口。
L2F — 第2层(L2)转发协议(实验草案RFC)。 这是适用于多机箱MP和VPN的基础链路级技术。
链路 — 系统提供的连接点。链路可以是专用硬件接口(例如异步接口)或多通道硬件接口(例如PRI或BRI)上的通道。
MP — 多链路PPP协议(请参阅RFC 1717 )。
多机箱MP - MP + SGBP + L2F + Vtemplate。
PPP — 点对点协议(请参阅RFC 1331 )。
Rotary Group — 分配给拨出或接收呼叫的一组物理接口。该组就像一个池,您可以使用任何链路从该池拨出或接收呼叫。
SGBP — 堆栈组投标协议。
堆叠组 — 两个或多个系统的集合,配置为作为一个组运行,并支持带有不同系统上链路的MP捆绑包。
VPDN — 虚拟专用拨号网络。将PPP链路从Internet服务提供商(ISP)转发到Cisco家庭网关。
Vtemplate — 虚拟模板接口。
注:有关本文档中引用的RFC的信息,请参阅产品公告Cisco IOS版本11.3-No. 523中支持的RFC和其他Std;获得 RFC 和标准文档;或RFC索引 ,用于直接连接到InterNIC的链路。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
MP为用户提供额外的按需带宽,能够在多个链路形成的逻辑管道(捆绑)上拆分和重新组合数据包。
这减少了慢速WAN链路上的传输延迟,并提供了增加最大接收单位的方法。
在发送端,MP将单个数据包分段为多个数据包,通过多个PPP链路进行传输。在接收端,MP将来自多个PPP链路的数据包重组回原始数据包。
思科支持MP到自治终端系统,即来自同一客户端的多条MP链路可以在接入服务器终止。但是,例如,ISP更愿意方便地将单个轮换号码分配给多个接入服务器中的多个PRI,并使其服务器结构可扩展、灵活以满足业务需求。
在Cisco IOS®软件版本11.2中,Cisco提供此类功能,以便来自同一客户端的多条MP链路可以在不同的接入服务器终止。虽然同一捆绑包的各个MP链路实际上可以在不同的接入服务器终止,但对MP客户端而言,这类似于在单个接入服务器终止。
为了实现这一目标,MP使用多机箱MP。
图1说明在单个思科接入服务器上使用MP来支持此功能。
图1 — 单个思科接入服务器上的MP
图1显示MP成员接口如何连接到捆绑接口。在不启用多机箱MP的独立系统中,成员接口始终是物理接口。
为了支持堆叠环境,除MP外,还需要以下三个附加子组件:
SGBP
Vtemplate
L2F
本文档接下来的几个部分将详细介绍这些组件。
在多接入服务器环境中,网络管理员可以指定一组接入服务器属于一个堆栈组。
假设堆栈组由系统A和系统B组成。名为userx的远程MP客户端具有终止于系统A(systema)的第一MP链路。 捆绑包userx在systema处形成。现在userx的下一个MP链路在系统B(systemb)终止。SGBP定位用户x驻留在systema上的捆绑。此时,另一个组件(L2F)将第二个MP链路从systemb投影到systema。然后,投影的MP链路在systema处加入捆绑。
因此,SGBP会查找已定义堆栈组中堆栈成员的捆绑位置。SGBP还会仲裁用于捆绑创建的指定堆叠成员。在本例中,当systema上收到第一个MP链路时,systema和systemb(以及堆栈组的所有其他成员)都会实际投标创建捆绑。来自systema的出价较高(因为它接受了第一个链接),因此SGBP将其指定为捆绑创建。
对SGBP投标过程的描述有些过于简单。实际上,来自堆栈成员的SGBP投标是位置、用户可配置的加权度量、CPU类型、MP捆绑数量等的函数。此竞标流程允许在指定系统上创建捆绑包,即使该系统没有任何访问接口。例如,堆叠环境可由10个接入服务器系统和两个4500组成,即12个堆叠成员的堆叠组。
注:当出价相等时(例如两台4500之间),SGBP会随机指定一个出价方作为中标方。您可以配置4500,使其出价始终高于其他堆叠成员。因此,4500s成为专门用于MP数据包分段器和重组器的分载多机箱MP服务器,这项任务适合其相对接入服务器更高的CPU功率。
简而言之,SGBP是多机箱MP的位置和仲裁机制。
虚拟访问接口同时用作捆绑接口(请参阅图1和图2)和投影的PPP链路(请参阅图2)。 这些接口是动态创建的,可按需返回系统。
虚拟模板接口用作配置信息的存储库,虚拟访问接口从其中克隆。拨号器接口配置是配置信息的另一个来源。在多机箱多链路PPP(MMP)(第2部分)中,选择克隆虚拟访问接口的配置源的方法变得显而易见。
L2F提供到指定终端系统的实际PPP链路投影。
L2F执行标准PPP操作,直到身份验证阶段,在该阶段识别远程客户端。身份验证阶段未在本地完成。L2F与SGBP中的目标堆栈成员一起提供,它将PPP链路投影到目标堆栈成员,其中身份验证阶段将在投影的PPP链路上恢复并完成。因此,最终身份验证成功或失败将在目标堆栈成员执行。
接受传入呼叫的原始物理接口称为L2F forwarded。L2F动态创建的对应接口(当PPP身份验证成功时)是投影的虚拟接入接口。
注意:投影的虚拟访问接口也会从虚拟模板接口克隆(如果已定义)。
图2描述了由systema、systemb和systemc组成的堆栈组stackq。
图2 — 客户端调用堆栈
客户端用户呼叫。系统上的第一个链路接收呼叫。SGBP尝试按堆栈组成员中存在的用户查找任何捆绑包。如果没有,并且因为在PPP上协商了MP,则在system上创建捆绑接口。
systemb收到来自userx的第二个呼叫。SGBP有助于确定system是捆绑包所在的位置。L2F有助于将链路从systemb转发到systema。在system上创建投影的PPP链路。投影的链路随后会加入捆绑接口。
systemc收到来自userx的第三个呼叫。同样,SGBP发现systema是捆绑所在的位置。L2F用于将链路从systemc转发到systema。在system上创建投影的PPP链路。投影的链路随后会加入捆绑接口。
注意:捆绑包接口代表系统上的捆绑包。对于每个唯一调用方,来自同一调用方的MP成员接口终止于或源自一个捆绑接口。
Vtemplate用户界面在此处名义上指定。有关详细信息,请参阅Virtual Template Functional Specification。
sgbp group <name>
此全局命令定义堆栈组,为组分配名称,并使系统成为该堆栈组的成员。
注意:只能全局定义一个堆栈组。
定义名为stackq的堆栈组:
systema(config)#sgbp group stackq
注意:来自系统的PPP CHAP质询或PPP PAP请求现在使用名称stackq。在访问服务器上定义堆栈组名称时,该名称通常取代为同一系统定义的主机名。
sgbp member <peer-name> <peer-IP-address>
此全局命令指定堆栈组中的对等体。在此命令中,<peer-name> 是主机名,<peer-IP-address> 是远程堆叠成员的IP地址。因此,您需要为堆栈中的每个堆栈组成员定义一个条目(除了您自己)。域名服务器(DNS)可以解析对等体名称。如果您有DNS,则无需输入IP地址。
systema(config)#sgbp member systemb 1.1.1.2 systema(config)#sgbp member systemc 1.1.1.3
sgbp seed-bid {default |卸载 |仅转发 | <0-9999>}
堆栈成员投标捆绑包的可配置权重。
如果在所有堆叠成员中定义了default参数,则接收用户userx的第一个调用的堆叠成员始终赢得bid,并托管主捆绑接口。从同一用户到另一个堆栈成员项目的所有后续调用到此堆栈成员。如果未定义sgbp seed-bid,则使用默认值。
如果定义了分流,则它会发送预校准的每平台bid(近似于CPU功率,减去捆绑负载)。
如果配置了< 0-9999 >,则发出的bid是用户配置的值减去捆绑包负载。
捆绑负载定义为堆叠成员上的活动捆绑的数量。
当堆叠等效堆叠成员以跨多个PRI接收旋转组中的呼叫时,请对所有堆叠成员发出sgbp seed-bid default命令。一个等效堆叠成员的示例是四个AS5200组成的堆叠组。接收用户userx的第一个调用的堆栈成员始终赢得bid,并托管主捆绑接口。对同一用户的所有后续调用,到另一个堆栈成员项目到此堆栈成员。如果多个呼叫同时通过多个堆叠成员进入,则SGBP中断连接机制将打破连接。
当您拥有相对于其他堆叠成员可用作堆叠成员的高功率CPU时,您可能希望利用该堆叠成员的相对较高功率(例如,相对于其他类似堆叠成员可用作堆叠成员的一个或多个更高功率CPU;例如,一个4500和四个AS5200)。您可以使用sgbp seed-bid offload命令将指定的高功率堆栈成员设置为卸载服务器。在这种情况下,卸载服务器托管主捆绑包。来自其他堆栈成员的所有调用都将投影到此堆栈成员。实际上,可以定义一个或多个卸载服务器;如果平台相同(相等),则投标相等。SGBP的系结机制打破了联系,并指定其中一个平台为赢家。
注意:如果将两个不同的平台指定为卸载服务器,则具有较高CPU功率的平台将赢得投标。
如果已经分类或完全相同的平台,并且要将一个或多个平台指定为卸载服务器,则可以使用sgbp seed-bid 9999命令手动将bid值设置为显着高于其余值。例如,一个4700(由最高种子标价指定)、两个4000和一个7000。要确定与您的特定平台关联的初始投标值,请使用show sgbp。
在多机箱环境中,前端堆栈成员始终卸载到一个或多个卸载服务器,在这种情况下,前端堆栈成员实际上无法卸载,例如多链路捆绑在本地形成时。例如,当所有卸载服务器都关闭时,可能会发生这种情况。如果网络管理员更喜欢挂断来电,请发出sgbp seed-bid forward-only命令。
sgbp ppp-forward
定义sgbp ppp-forward时,PPP和MP呼叫都会被预测到SGBP出价的获胜者。默认情况下,仅转发MP呼叫。
show sgbp
此命令显示堆栈组成员的状态。状态可以为ACTIVE、CONNECTING、WAITINFO或IDLE。每个堆栈组成员上的ACTIVE是最佳状态。CONNECTING和WAITINFO是过渡状态,只有过渡到ACTIVE时才能看到它们。IDLE表示堆栈组系统无法检测远程堆栈成员systemd。例如,如果systemd因维护而关闭,则无需担心。否则,请查看一些路由问题或此堆叠成员与systemd之间的其他问题。
systema#show sgbp Group Name: stack Ref: 0xC38A529 Seed bid: default, 50, default seed bid setting Member Name: systemb State: ACTIVE Id: 1 Ref: 0xC14256F Address: 1.1.1.2 Member Name: systemc State: ACTIVE Id: 2 Ref: 0xA24256D Address: 1.1.1.3 Tcb: 0x60B34439 Member Name: systemd State: IDLE Id: 3 Ref: 0x0 Address: 1.1.1.4
show sgbp queries
显示当前种子投标值。
systema# show sgbp queries Seed bid: default, 50 systema# debug sgbp queries %SGBPQ-7-MQ: Bundle: userX State: Query_to_peers OurBid: 050 %SGBPQ-7-PB: 1.1.1.2 State: Open_to_peer Bid: 000 Retry: 0 %SGBPQ-7-PB: 1.1.1.3 State: Open_to_peer Bid: 000 Retry: 0 %SGBPQ-7-PB: 1.1.1.4 State: Open_to_peer Bid: 000 Retry: 0 %SGBPQ-7-MQ: Bundle: userX State: Query_to_peers OurBid: 050 %SGBPQ-7-PB: 1.1.1.2 State: Rcvd Bid: 000 Retry: 0 %SGBPQ-7-PB: 1.1.1.3 State: Rcvd Bid: 000 Retry: 0 %SGBPQ-7-PB: 1.1.1.4 State: Rcvd Bid: 000 Retry: 0 %SGBPQ-7-DONE: Query #9 for bundle userX, count 1, master is local
多链路虚拟模板<1-9>
这是MP捆绑包接口克隆其接口参数的虚拟模板编号。以下是MP如何与虚拟模板关联的示例。还必须定义虚拟模板接口:
systema(config)#multilink virtual-template 1 systema(config)#int virtual-template 1 systema(config-i)#ip unnum e0 systema(config-i)#encap ppp systema(config-i)#ppp multilink systema(config-i)#ppp authen chap
show ppp multilink
此命令显示MP捆绑包的捆绑信息:
systema#show ppp multilink Bundle userx 2 members, Master link is Virtual-Access4 0 lost fragments, 0 reordered, 0 unassigned, 100/255 load 0 discarded, 0 lost received, sequence 40/66 rcvd/sent members 2 Serial0:4 systemb:Virtual-Access6 (1.1.1.2)
此示例显示,在堆栈组stackq上的堆栈组成员系统ma上,捆绑用户x将其捆绑接口设置为Virtual-Access4。两个成员接口加入此捆绑接口。第一个是本地PRI通道,第二个是来自堆栈组成员系统的投影接口。
请参阅多机箱多链路PPP(MMP)(第2部分)以查看以下示例:
另请参阅以下章节:
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
29-Jan-2008 |
初始版本 |