ANCP 代理邻居和作
ANCP 和 ANCP 代理概述
本主题介绍访问节点控制协议 (ANCP) 和 ANCP 代理。ANCP 代理是使用 ANCP 管理用户接入线路的 Junos OS 进程。代理可监控用户接入线路,报告用户与接入节点之间的接入线路上的用户流量速率,并修改流量速率,所有这些都支持 CoS 流量整形。
概述
ANCP 充当面向服务的第 3 层边缘设备和第 2 层接入节点之间的控制平面。接入节点(ANCP 邻接方)是终止用户访问环路的网络设备;对于 DSL 接入环路,接入节点是 DSL 接入多路复用器 (DSLAM)。用户流量的排队和调度机制必须避免接入网络内出现拥塞,同时应对多个流量和不同的 CoS 要求。这些机制要求边缘设备(充当宽带网络网关 (BNG) 的路由器,通常也称为网络访问服务器 (NAS))提供有关接入网络和订阅者流量的信息。
ANCP 代理可以将接入线路静态或动态地映射到接口或接口集。代理会将该信息提供给 CoS 和 AAA。代理将访问节点发送到 ANCP 代理的每个用户访问线路的流量整形属性传递给 CoS 和 AAA。此外,代理还会将访问节点发送的所有 DSL 论坛属性发送到 AAA。在对 DHCP IP 多路分离和 PPPoE 用户会话进行 RADIUS 核算和身份验证期间,AAA 可以使用这些属性。流量速率还可用于整形 L2TP 隧道流量。
您可以通过在层次结构级别包含traceoptions[edit protocols ancp]该语句来监控 ANCP 代理事件和作。
Junos OS 支持在以下 ANCP 接口类型上进行服务等级 (CoS) 流量整形:
静态 VLAN 接口,由可扩展订阅者服务管理器 (ESSM) 创建的接口除外
静态 VLAN 多路分离接口,由 ESSM 创建的接口除外
静态接口集,包括由 ESSM 创建的接口集
动态接口集
动态 VLAN 标记接口集
动态代理电路标识符 (ACI) 接口集,也称为 ACI 集或 ACI VLAN
动态 PPPoE 和 DHCP IP 多路分离用户接口
采用以太网-VPLS 封装的动态 VLAN 多路分离接口
ANCP 是 RFC 3292(通用交换机管理协议 (GSMP) V3 的扩展,但现在在 RFC 6320(宽带网络中接入节点控制机制协议)中定义。
订阅者服务
路由器从 RADIUS 服务器接收订阅者的服务配置文件。大多数服务由路由器本身执行。路由器根据 DSLAM 报告的本地环路吞吐量,将聚合出口流量整形到订阅者。这种流量整形有助于优化流量,同时避免接入节点中的流量丢弃。
某些服务属性(如交织延迟和组播信道信息)将在接入节点上实施。ANCP 代理可提供线路配置机制,边缘设备可使用此机制将线路配置传递给接入节点。通常,访问节点上会配置多个配置文件。路由器指示访问节点对给定订阅者使用哪个配置文件。
用户通常会收到语音、数据和视频服务的某种组合。每项服务都可以在一个 VLAN 上配置。用户可能仅通过 在逻辑接口上配置的单个 VLAN 接收单个服务。一组向用户提供服务的 VLAN 是一个 接口集。
订阅者有作状态,但没有管理状态,因为无法在 CLI 中配置这些状态。
用户具有以下作状态之一,这些状态表示接入节点发送的 ANCP 端口启动和端口关闭消息中报告的 DSL 线路状态:
空闲 — 端口未配置,用户无法登录。
静默 — 端口已配置且用户已连接,但 DSL 调制解调器尚未准备好传输数据。
Showtime — 端口已配置,订阅者已连接,DSL 调制解调器联机并准备好传输数据。
有关适用于企业订阅者和服务的 ANCP 的信息,请参阅 使用 ANCP 触发的 VLAN 的第 2 层批发概述。
ANCP 接口和接入环路电路标识符
ANCP 拓扑中的接入环路或接入线路由用户设备 (CPE) 和接入节点之间的物理元素组成。与接入环路关联的标识符也可用于识别用户。此标识符是一个字母数字字符串,实际标识 DSLAM 上用户请求源自的接口。它可以用各种名称来称呼。
在 ANCP 消息中,TLV 携带接入环路电路 ID,也称为接入线路标识符、接入环路电路标识符或接入标识符。
DHCP 发现数据包可以通过 Option 82 字段中的代理电路 ID 子选项识别线路。
PPPoE 发现数据包可以识别具有 DSL 论坛供应商特定标记中的 Agent-Circuit-ID 子属性的线路。
每个标识符都缩写为 ACI。当 ANCP 代理收到来自接入节点的端口管理消息时,它会使用消息中包含的接入环路电路标识符来确定哪个逻辑接口或接口集对应于用户。
您可以通过静态配置将标识符与 ANCP 接入线路相关联。通过在层次结构级别指定[edit protocols ancp interfaces]接口名称来配置逻辑接口时,请包含该access-identifier语句以将接入环路电路标识符与接口相关联。通过在层次结构级别上[edit protocols ancp interfaces]包含语句来配置接口集时,通过在层次结构级别上[edit protocols ancp interfaces interface-set interface-set-name]包含interface-setaccess-identifier语句,将接入环路电路标识符与接口集相关联。
当 DHCP 或 PPPoE 发现数据包包含 ACI 时,ANCP 代理可将 ACI 动态映射到用户接口或接口集。用户的 VLAN 是根据动态配置文件创建的;这些被称为基于代理电路标识符的动态 VLAN 或基于 ACI 的动态 VLAN。
要想让 ANCP 代理支持 RADIUS 身份验证和记帐,就要求静态和动态 ACI 在整个网络中必须是唯一的。跨多个邻接方(访问节点)的两个接口不能共享同一个标识符。DHCP 和 PPPoE 进程没有关于访问节点 IP 地址的信息,因此无法区分重复的标识符。这种情况会阻止 AAA 服务框架将 DHCP 或 PPPoE 客户端会话与用于 RADIUS 身份验证和计费的接入线路相关联。
将接入线路映射到接口和接口集
ANCP 代理将用户接入线路的 ACI 映射到接口或接口集,以便将从接入节点接收到的 DSL 属性应用于接入线路的 CoS 流量整形。接入线映射可以使用 access-identifier 语句进行静态配置,也可以在用户身份验证期间动态派生。静态映射始终取代动态映射。
ANCP 代理可以将接入线路重新映射到与其原始映射不同的接口或接口集。重新映射也可以是静态的或动态的。例如,接入线可以先动态映射到用户接口,然后静态配置到接口集。
您只能使用语句对具有已配置或确定性名称的接口和接口集类型进行静态配置映射:
静态 VLAN 接口
静态 VLAN 多路分离接口
静态接口集
动态接口集
动态 VLAN 标记接口集
若要将接入线路映射到静态接口集、动态接口集和动态 VLAN 标记接口集,需要使用该语句进行静态配置。无论 PPPoE 或 DHCP IP 多路分离用户的发现数据包中是否存在 ACI,情况都是如此,因为 ACI 的使用与这些类型的接口集的创建无关。
您无法使用语句对以下接口和接口集类型进行静态配置映射,因为它们具有不确定的自动生成名称:
动态 VLAN 多路分离接口
动态 ACI 接口集 (ACI VLAN)
动态 PPPoe 和 DHCP IP 多路分离用户接口
在第 2 层批发服务的环境中,ANCP 代理可将接入线路映射到采用以太网-VPLS 封装的动态 VLAN 多路分离接口。ANCP 代理会通过 ANCP 端口启动消息触发这些接口的创建,该消息始终包含接入线路的 ACI。然后,代理可以将接口动态映射到接入线路,以进行 CoS 流量整形。
动态映射的工作原理如下:
如果用户接口是接口集的成员,则 ANCP 代理会将接入线路的 ACI 映射到接口集。
如果用户接口不是接口集的成员,则 ANCP 代理会将接入线路的 ACI 映射到用户接口。
无论用户的发现数据包中是否存在接入线路的 ACI,ANCP 代理都不支持以下接口类型的静态或动态映射:
由 ESSM 创建的静态 VLAN 接口。
由 ESSM 创建的静态 VLAN 多路分离接口。
动态 VLAN 接口。
没有以太网-VPLS 封装的动态 VLAN 多路分离接口。
ANCP 邻接方
ANCP 代理只能报告配置为 ANCP 邻接方(也称为 ANCP 对等方)的访问节点的流量。邻接方可与路由器建立 TCP 连接。在层次结构级别包含[edit protocols ancp]该neighbor语句,以将访问节点配置为 ANCP 邻接方。
ANCP 代理与邻接方交换邻接消息。如果在预期时间内未从邻接方收到邻接消息,则邻接方被视为已关闭并断开连接。您可以通过在层次结构级别包含adjacency-timer[edit protocols ancp]该语句,调整 ANCP 代理等待来自所有邻接方的邻接消息的时间。在邻接建立期间,邻接消息之间的间隔在路由器和邻接方之间协商。将选择两个计时器值(在 ANCP SYN 消息中接收的值或配置的值)中较大的一个。当在超过协商值三倍的时间段内未收到有效消息时,将声明路由器与邻接方之间失去同步。
ANCP TCP 连接未建立,因此,在以下任一情况下,ANCP 邻接方不会启动:
当邻居地址(带编号或未编号)具有 /32 掩码时。
当 ANCP 动态逻辑接口的未编号本地地址配置为使用首选源地址时。
ANCP 邻接方具有以下管理状态之一,仅表示邻接方的配置:
enabled — 邻接方已在 CLI 中配置。
disabled — 邻接方未配置,表示从未配置其未被配置或配置已被删除。
处于启用状态的 ANCP 邻接方具有以下作状态之一,表示邻接协商的状态:
已配置 — 邻接方已配置,但从未建立邻接关系。
建立 — 邻接协商正在进行中。
已建立 — 邻接协商已成功,并已建立 ANCP 会话。
未建立 - 邻居已失去先前建立的邻接,但已准备好开始协商。
您还可以通过在层次结构级别上 [edit protocols ancp neighbor ip-address] 包含以下任何语句,为覆盖全局或默认配置的特定邻接方配置配置参数:
adjacency-timer— 调整与此邻接方交换的邻接消息之间的间隔。ietf-mode— 防止 ANCP 代理在此邻接方的向后兼容模式下运行;适用于使用当前 IETF 实施的 ANCP 的邻接方。maximum-discovery-table-entries—指定从此邻接方接受多少个发现表条目。在层次结构级别包含[edit protocols ancp]此语句,以全局设置所有邻接方的条目数。pre-ietf-mode— 使 ANCP 代理能够在此邻接方的向后兼容模式下运行;适用于使用 ANCP 的原始 IETF 实施 (GSMPv2) 而不是当前实施的邻接方。将此语句包含在层次结构级别,[edit protocols ancp]以便为所有邻接方全局以向后兼容模式运行。
RFC 6320“宽带网络中的接入节点控制机制协议”定义了 ANCP 版本 1。ANCP 最初是基于通用交换机管理协议 (GSMP) 版本 3 子版本 1 实施的。然而,互联网社区在开发 ANCP 的过程中对 GSMPv3 进行了如此多的扩展和修改,以至于 ANCP 不再与 GSMPv3 互作。因此,ANCP 邻接方必须能够动态检测每个对等方支持的版本。联合注册表将 GSMP 和 ANCP 版本号编纂成法典。
当 ANCP 邻接方打开邻接协商时,它会指示其支持的 ANCP 的最高版本(对于 GSMPv3 0x31,或者对于 ANCP 版本 1 0x32)。(版本 1 也可以称为版本 50,指十六进制值的十进制转换。如果接收邻接方支持该版本的 ANCP,则在响应发送邻接方时返回该值。如果不支持该版本,则接收邻接方只需丢弃消息。
ANCP 代理将有关活动 ANCP 订阅者的信息存储在 Junos 共享数据库中,包括接入线路的 DSL 属性。此存储是永久性的,只有当您删除接入线路的接口或接口集或发出以下命令之一时,才会从数据库中移除:
即使 ANCP 连接已暂时终止,存储的持久性使 RADIUS 能够正确管理 PPPoE 和 DHCP IP 多路分离订阅者,以进行身份验证和核算,以及其 DSL 属性也是如此。
分区
ANCP 支持将接入节点划分为逻辑分区。每个分区都会创建与路由器的邻接关系;访问节点上的每个分区都可以与不同的路由器形成邻接。分区协商在 ANCP 邻接协商期间进行。ANCP 消息带有以下与分区协商相关的字段:
分区类型 (PType) 字段指示接入节点是否已分区以及如何协商分区标识符。该字段具有在形成邻接期间协商的以下值之一:
0 — 接入节点未分区或不支持分区。
1 — 分区数是固定的,路由器请求访问节点使用其放置在分区标识符字段中的标识符。
2—分区数量是固定的,接入节点已分配分区标识符。
分区 ID 字段,指示邻接方的 ANCP 代理支持的以下场景之一:
零分区 ID — ANCP 代理在分区 ID 为零的单个 TCP 会话上支持某个 IP 地址上的每个邻接方。这是默认支持案例。当分区类型为零时,需要此值。
单个非零分区 ID — ANCP 代理通过具有非零分区 ID 的单个 TCP 会话支持某个 IP 地址上的每个邻接方。这种情况需要在层次结构级别通过
[edit protocols ancp]语句启用gsmp-syn-wait分区 ID 学习。
分区标志 (PFlag) 字段指示正在发出的分区请求的类型。值为 1 指定新的邻接关系。
支持以下分区方案
每个分区都有一个独立的 ANCP 会话和到相邻路由器的通道。所有分区的固定分区 ID 均为零。
每个分区都有一个独立的 ANCP 会话和到相邻路由器的通道。每个分区都有一个专用的非零分区 ID。
邻接更新消息
建立邻接关系后,ANCP 代理会使用邻接更新消息通知控制同一分区的路由器彼此相关信息。一旦多个路由器与给定分区建立了邻接关系,ANCP 代理就会向每个路由器发送邻接更新消息,以报告该分区当前支持的已建立邻接关系数量。邻接丢失时,将向其余路由器发送一条更新消息,以报告状态更改。您可以使用该 show ancp neighbor detail 命令显示当前在特定分区上建立的邻接数。
通用响应消息和结果代码
ANCP 邻接方和路由器可以使用特定响应消息或通用响应消息回复消息。当除成功或失败结果外,不需要向对等方发送信息时,通常会发送通用响应消息。如果响应是关于失败的,则包含一个指定失败类型的结果代码;还可以包含有限数量的诊断数据。如果邻接关系因故障而关闭,也可以独立于请求发送通用响应消息。在这种情况下,邮件的发件人将邮件头中的“事务 ID”字段和“状态信息”TLV 中的“邮件类型”字段归零。
表 1 描述了可以包含在通用响应消息中的结果代码。
代码值 |
描述 |
检测条件 |
|---|---|---|
0x02 |
尽管请求消息格式正确,但它是无效的,因为它违反了协议,要么是由于时序问题(如争用条件)或消息传输方向。 |
ANCP 代理 |
0x06 |
由于路由器与 ANCP 控制应用之间的状态不匹配,一个或多个指定端口关闭。 |
控制应用(尚无可用) |
0x13 |
ANCP 资源不足。此结果代码仅由访问节点发送;问题可能与接入线路无关,但可能与特定请求有关。 |
ANCP 协议层或控制应用(尚无可用) |
0x51 |
由于对等方之间的协议版本或功能状态不匹配,或者可能是因为消息类型对于 ANCP 功能是可选的,因此未实施请求消息类型。 |
ANCP 代理 |
0x53 |
消息格式错误,要么是因为它在传输过程中损坏,要么在连接的一端发生了实施错误。 |
ANCP 代理 |
0x54 |
请求中缺少一个或多个必需 TLV。 |
ANCP 代理 |
0x55 |
请求中一个或多个 TLV 的内容无效,因为它们与 TLV 规范不匹配。 |
ANCP 代理 |
0x500 |
请求中指定的一个或多个端口不存在,可能是由于接入节点与路由器或 AAA 之间的配置不匹配。 |
控制应用(尚无可用) |
尽管 Junos OS 支持发送和接收通用响应消息,但目前 ANCP 代理仅接收这些消息。当收到其中一条消息时,路由器将生成系统日志,递增通用消息计数器,并递增结果代码计数器。当 ANCP 代理从 ANCP 邻接方收到不正确或意外的通用响应消息时,它会立即丢弃数据包,生成系统日志通知消息,并且不会采取进一步的作。
通用响应消息通常包括 Status-Info TLV,其中包括有关警告或错误条件的补充信息。当结果代码指示以下任何情况时,需要状态信息 TLV:端口已关闭或不存在、缺少强制 TLV 或 TLV 无效。状态信息 TLV 也可以包含在其他 ANCP 消息类型中。
接入节点控制协议的好处
简化接入节点和用户之间接入线路的配置和维护。
对上游和下游数据速率属性执行与 CoS 相关的调整,以准确提供服务并控制网络中的拥塞。
向作支持系统 (OSS) 等后端应用提供接入网络信息,例如 DSL 属性,以进行服务管理。
将 DSL 属性存储在会话数据库中,以便在对 PPPoE 会话进行 RADIUS 身份验证和核算期间使用。
也可以看看
不同网络配置中的 ANCP作
本主题在具有代表性的示例网络拓扑中介绍支持的不同类型的网络配置和ANCP作的事件顺序。
您可以为以下任何接口类型配置 ANCP 代理:
-
静态 VLAN 接口,由可扩展订阅者服务管理器 (ESSM) 创建的接口除外
-
静态 VLAN 多路分离接口,由 ESSM 创建的接口除外
-
静态接口集,包括由 ESSM 创建的接口集
-
动态接口集
-
动态 VLAN 标记接口集
-
动态代理电路标识符 (ACI) 接口集,也称为 ACI 集或 ACI VLAN
-
动态 PPPoE 和 DHCP IP 多路分离用户接口
-
采用以太网-VPLS 封装的动态 VLAN 多路分离接口
系统会根据家庭中的每台设备需要动态创建订阅者会话。每个家庭可以包括多个访问互联网的 CPE 设备。在所有情况下,每个家庭都由访问节点分配的唯一 ACI 标识。某些配置中使用了其他标识符。
- 1:1 和 N:1 流量整形模型
- 业务服务流量整形模型
- 使用 N:1 和 1:1 配置模式(不带接口集)的 ANCP 网络
- ANCP 事件序列: 静态 VLAN 或 VLAN 多路分离接口(不带接口集的以太网)
- 使用 n:1 配置模式和接口集的 ANCP 网络
- ANCP 事件序列: 带有接口集的以太网上静态 VLAN 接口
- 采用 1:1 配置模式和接口集的 ANCP 网络
- ANCP 事件序列: 通过使用接口集的聚合以太网上的静态 VLAN 多路接口 Demux
1:1 和 N:1 流量整形模型
1:1 和 N:1 流量整形模型决定了 VLAN 与家庭的关联方式。这些模型也称为接入模型或配置模型。网络可以包括以下一种或两种型号:
-
1:1 模型 — 一个家庭只有一个 PPPoE 或 DHCP IP 多路分离用户会话。单个 VLAN 或 VLAN 多路分离接口上可以存在一个或多个此类家庭。对于单个家庭,用户接口或其底层 VLAN 或 VLAN 多路分离接口可以表示该家庭。如果有多个家庭,相应的用户接口代表这些家庭。在任何一种情况下,表示家庭的接口都必须映射到其接入线路的 ACI。
表 2 介绍了在不涉及接口集的情况下,ANCP 1:1 接入模型支持的接口类型,以及 PPPoE 或 DHCP IP 多路分离发现数据包是否必须包含用户接入线路的 ACI。
表 2:ANCP 1:1 模型按接口类型划分的 ACI 映射 接口类型
描述
发现数据包中是否存在 ACI
动态 PPPoE 或 DHCP IP 多路分离接口
当发现数据包中存在 ACI 时,ANCP 代理会将 ACI 映射到用户接口。接口的名称是自动生成的,不确定。
必填。
静态 VLAN 或 VLAN 多路分离接口
接口的名称是静态配置的。ANCP 代理配置必须包含将
access-identifierACI 静态映射到接口的语句。不存在。
-
N:1 模型 — 一个家庭可以有多个 PPPoE 或 DHCP IP 多路分离用户会话。家庭可以有多个 VLAN 或 VLAN 多路分离接口。在任何一种情况下,都必须将所有接口分组到一个接口集中。接下来,必须将接口集映射到家庭接入线路的 ACI。
接口集可对家庭的动态 PPPoE 或 DHCP IP 多路分离会话进行分组。通过一种几种方法将用户放入接口集中。 表 3 介绍了 ANCP N:1 接入模型中支持的接口集类型、这些接口集的创建方式以及如何将 ACI 映射到接口集。
表 3:ANCP N:1 接入模型按接口集类型划分的 ACI 映射 接口集类型
描述
接口类型
发现数据包中是否存在 ACI
基于 ACI 的 VLAN 接口集
当路由器收到 DHCP 或 PPPoE 发现数据包(其中包含嵌入在 DSL 论坛供应商特定标记中的 ACI)时,它会动态创建 VLAN 和接口集。路由器会为接口集生成一个不确定的名称,如 aci-1003-ge-1/0/0.1073741832。
ANCP 代理会自动将发现数据包中的 ACI 映射到动态创建的接口集。
具有相同 ACI 的所有 DHCP IP、多路分离或 PPPoE 会话都映射到同一接口集。
动态 VLAN 和 VLAN 多路分离接口。
必填。
动态接口集
动态配置文件可动态创建接口集,并将接口放入集合中。配置文件可以包含显式配置的接口集的名称,也可以包含表示接口集名称的变量。如果使用变量,则 RADIUS 在为用户返回 Access-Accept 消息时提供接口集名称。
ANCP 代理配置必须包含以下
access-identifier语句,以便将 ACI 静态映射到接口集。所有 DHCP IP、多路分离和 PPPoE 会话都根据动态配置文件的规则映射到接口集。
DHCP IP 多路分离用户接口、PPPoE 用户接口或 VLAN 接口。
无关紧要。
静态接口集
接口集和集名称是静态配置的,包括多个静态接口。
ANCP 代理配置必须包含以下
access-identifier语句,以便将 ACI 静态映射到接口集。静态 VLAN 和 VLAN 多路分离接口。
无关紧要。
VLAN 标记接口集
当路由器收到包含 VLAN ID 的 DHCP 或 PPPoE 发现数据包时,会动态创建 VLAN 和接口集。接口集有一个由物理接口名称和 VLAN 标记组成的确定性名称,例如,ge-1/0/0-101。
ANCP 代理配置必须包含以下
access-identifier语句,以便将 ACI 静态映射到接口集。具有相同 VLAN ID 标记的所有 DHCP IP、多路分离或 PPPoE 会话均映射到同一接口集。
动态 VLAN 和 VLAN 多路分离接口。
无关紧要。
CoS 流量整形基于 ANCP 代理从接入节点接收然后传递给 CoS 的用户下行流量速率。CoS 可以在家庭或会话级别整形用户流量:
-
家庭整形 - 仅对到家庭的聚合流量进行整形。将 CoS 流量控制配置文件应用于静态 VLAN 或 VLAN 多路分离接口或接口集,从而实现家庭整形。
-
会话整形 — 对家庭中各个设备的流量速率进行整形。会话整形是在创建用户会话的动态 PPPoE 配置文件中指定 CoS 流量控制配置文件的结果。根据网络配置的不同,会话整形可采用共享优先级队列来完全相同地整形所有会话,也可以采用单独的优先级队列来单独整形会话。
业务服务流量整形模型
除了 N:1 和 1:1 流量整形模型外,ANCP 代理还支持业务服务流量整形模型。在此模型中,可扩展用户服务管理器 (ESSM) 将 PPPoE 会话分类为住宅、家庭或企业用户。分类发生在 RADIUS 身份验证和授权期间。根据分类,ANCP 代理会以不同的方式应用 CoS 流量整形。
在 RADIUS 身份验证和授权之前,PPPoE 会话表示 ANCP 1:1 模型中的住宅家庭。ANCP 代理将家庭的接入线路动态映射到相应的用户接口,并将 CoS 流量整形应用于该接口。PPPoE 发现数据包中存在家庭线路的 ACI。
随后,当 ESSMD 在 RADIUS 身份验证和授权期间将 PPPoE 会话分类为业务用户会话时,它会创建多个管理和数据平面静态 VLAN 接口,并将其分组到一个静态接口集中。然后,它会根据 CLI 配置将 PPPoE 会话的接入线路静态映射到此接口集。ANCP 代理会从用户接口移除 CoS 流量整形,并将其应用于静态接口集。移除 CoS 流量整形意味着 CoS 应用程序将其默认或配置的调整控制配置文件中的下一个速率应用于接口或接口集。新的业务用户接口集不能包含静态和动态接口的混合。该禁令不仅限于动态 VLAN 和触发接口集创建的 PPPoE 会话。
ANCP 代理对静态 VLAN 和 VLAN 多路分离接口上的 CoS 流量整形和 RADIUS 身份验证和记账的常规支持的一个例外是,如果这些接口是由 ESSM 创建的,则它不支持这些接口。这些接口不同于 ESSM 创建的接口集,后者受 ANCP 代理支持。
从 ANCP 代理的角度来看,业务设备模型使用静态配置的访问线到接口集映射有效地覆盖动态派生的访问线到接口映射。此作将触发 ANCP 代理相应地重新应用 CoS 流量整形。
业务服务模型通常用于第 2 层批发网络。详细信息,请参阅 使用 ANCP 触发的 VLAN 的第 2 层批发概述。
使用 N:1 和 1:1 配置模式(不带接口集)的 ANCP 网络
在此示例拓扑中,两个家庭配置用于一个底层静态 VLAN 或 VLAN 多路分离接口(N:1;双标记 VLAN),单个家庭配置用于另一个底层接口(1:1;单标记 VLAN)(图 1)。除了接入节点分配的唯一 ACI 外,每个家庭还由 VLAN 进一步标识,VLAN 映射到 ANCP 代理配置中的标识符。会话的 CoS 流量整形只能使用共享优先级队列来以相同的方式整形所有会话;不支持单独的优先级队列来单独整形会话。
ANCP 事件序列: 静态 VLAN 或 VLAN 多路分离接口(不带接口集的以太网)
以下事件序列适用于 图 1 中具有以太网静态 VLAN 接口的拓扑,而没有接口集。
-
家中的网络设备会启动 PPPoE 发现。
-
PPPoE 在底层静态 VLAN 或 VLAN 多路分离接口上创建动态 PPPoE 会话,并将在 VLAN 上配置的公告选项应用于会话。
-
接入节点独立地向 ANCP 代理提供由 ACI 标识的接入线路的 ANCP DSL 属性。
-
ANCP 代理向映射到 ACI 的静态 VLAN 或多路分离 VLAN 发送调整后的下行数据速率 CoS。ANCP 代理将所有 DSL 属性(包括调整后的上行数据速率)存储在路由器的共享数据库中。
-
AAA 通过将会话的底层接口与 ANCP 代理配置中与 ACI 关联的静态 VLAN 或 VLAN 多路分离接口进行匹配,将动态 PPPoE 会话与接入线路相关联。
-
AAA 从路由器的共享数据库检索接入线路的 ANCP DSL 属性,并将其映射到 RADIUS Access-Request 和 Accounting-Request 消息中的瞻博网络 DSL VSA。如果 DSL 属性不可用,则会话的咨询上游和下游数据速率将分别映射到上游计算 Qos-Rate VSA (26-142) 和下游计算 Qos-Rate (26–141) VSA。然后,这些 VSA 将包含在 RADIUS 消息中。
使用 n:1 配置模式和接口集的 ANCP 网络
在此拓扑中,为每个底层静态 VLAN 或 VLAN 多路分离接口配置了多个家庭(图 2)。VLAN 具有双标记功能。每个家庭包括多台用于访问互联网的 CPE 设备。除了接入节点分配的唯一 ACI 外,还通过接口集进一步标识家庭。接口集对各个用户设备的动态 PPPoE 会话进行分组。它可以在动态 PPPoE 配置文件中显式配置,或者在 PPPoE 会话身份验证期间在 RADIUS 访问接受消息中指定。会话整形可采用共享优先级队列来完全相同地整形所有会话,也可以采用单个队列来单独整形会话。
在这种带有接口集的 N:1 模型中,访问节点必须将 DSL 论坛 VSA 添加到在建立动态 PPPoE 会话期间传递给路由器的 PPPoE PADI 和 PADR 发现数据包中。VSA 包括家庭的 ACI。这种包含使 AAA 能够在 RADIUS 身份验证和核算期间将 PPPoE 会话与其各自的用户接入线路和 DSL 属性相关联。如果ACI不存在,AAA无法进行关联,随后仅向RADIUS身份验证和计费报告咨询性上游和下游数据速率。
使用 $junos-interface-set-name 预定义变量配置动态 PPPoE 配置文件时,接入节点、路由器和 RADIUS 服务器的配置必须相对于 ACI 和接口集进行同步:
-
RADIUS 访问接受消息必须包含瞻博网络 Qos-Interface-Set-Name VSA (26-130)。
-
CoS 第 2 层配置必须显式标识在 Qos-Interface-Set-Name VSA (26-130) 中命名的接口集。
-
ANCP 代理配置必须将 ACI 映射到 Qos-Interface-Set-Name VSA (26-130) 中指定的接口集。
ANCP 事件序列: 带有接口集的以太网上静态 VLAN 接口
以下事件序列适用于 图 2 中具有以太网静态 VLAN 接口和接口集的拓扑。
-
家中的网络设备会启动 PPPoE 发现。
-
接入节点将带有家庭 ACI 的 DSL 论坛 VSA 标记添加到 PPPoE PADI 和 PADR 发现数据包中。(PPPoE 将该标识符称为代理电路标识符。)
-
PPPoE 在底层静态 VLAN 上与提供的 ACI 创建动态 PPPoE 会话,并将 VLAN 上配置的咨询选项应用于会话。
-
接入节点独立地向 ANCP 代理提供由 ACI 标识的接入线路的 ANCP DSL 属性。
-
ANCP 代理可向 CoS 提供映射到 ACI 的接口集的调整后下行数据速率。ANCP 代理将所有 ANCP DSL 属性(包括调整后的上行和下行数据速率)存储在路由器的共享数据库中。
-
AAA 通过将 DSL 论坛 VSA 中接收的会话标识符与为 ANCP 代理配置中设置的接口配置的 ACI 进行匹配,将动态 PPPoE 会话与接入线路相关联。
-
AAA 从路由器的共享数据库检索接入线路的 ANCP DSL 属性,并将其映射到 RADIUS Access-Request 和 Accounting-Request 消息中的瞻博网络 DSL VSA。如果 DSL 属性不可用,则会话的咨询上游和下游数据速率将分别映射到上游计算 Qos-Rate VSA (26-142) 和下游计算 Qos-Rate (26–141) VSA。然后,这些 VSA 将包含在 RADIUS 消息中。
-
身份验证完成后,动态 PPPoE 会话将放入动态 PPPoE 配置文件中配置的接口集中。配置文件指定命名接口集或
$junos-interface-set-name预定义变量,指示接口集在 RADIUS Access-Accept 消息中命名。
采用 1:1 配置模式和接口集的 ANCP 网络
在此拓扑中,为每个底层静态 VLAN 或 VLAN 多路分离接口配置一个家庭(图 3)。VLAN 具有双标记功能。每个家庭包括多台用于访问互联网的 CPE 设备。除了接入节点分配的唯一 ACI 外,还通过接口集进一步标识家庭。接口集可以在动态 PPPoE 配置文件中显式配置,或者在 PPPoE 会话身份验证期间在 RADIUS 访问-接受消息中指定。会话整形可采用共享优先级队列来完全相同地整形所有会话,也可以采用单个队列来单独整形会话。
在这种采用接口集的 1:1 模型中,ANCP 代理配置必须将接口集中 PPPoE 会话的底层接口映射到 ACI 和接口集。此配置使 AAA 能够在 RADIUS 身份验证和核算期间将 PPPoE 会话与其各自的用户接入线路和 DSL 属性相关联。
使用 $junos-interface-set-name 预定义变量配置动态 PPPoE 配置文件时,接入节点、路由器和 RADIUS 服务器的配置必须相对于 ACI 和接口集进行同步:
-
RADIUS 访问接受消息必须包含瞻博网络 Qos-Interface-Set-Name VSA (26-130)。
-
CoS 第 2 层配置必须显式标识在 Qos-Interface-Set-Name VSA (26-130) 中命名的接口集。
-
ANCP 代理配置必须将 ACI 映射到 Qos-Interface-Set-Name VSA (26-130) 中指定的接口集。
ANCP 事件序列: 通过使用接口集的聚合以太网上的静态 VLAN 多路接口 Demux
以下事件序列适用于 图 3 中通过带有接口集的聚合以太网使用静态 VLAN 多路分离接口的拓扑。
-
家中的网络设备会启动 PPPoE 发现。
-
PPPoE 在底层静态 VLAN 多路分离接口上与提供的 ACI 创建动态 PPPoE 会话,并将 VLAN 上配置的咨询选项应用于会话。
-
接入节点独立地向 ANCP 代理提供由 ACI 标识的接入线路的 ANCP DSL 属性。
-
ANCP 代理可向 CoS 提供映射到 ACI 的接口集的调整后下行数据速率。ANCP 代理将所有 ANCP DSL 属性(包括调整后的上行和下行数据速率)存储在路由器的共享数据库中。
-
AAA 通过将会话的底层接口与为 ANCP 代理配置中设置的接口配置的底层接口进行匹配,将动态 PPPoE 会话与接入线路相关联。
-
AAA 从路由器的共享数据库检索接入线路的 ANCP DSL 属性,并将其映射到 RADIUS Access-Request 和 Accounting-Request 消息中的瞻博网络 DSL VSA。如果 DSL 属性不可用,则会话的咨询上游和下游数据速率将分别映射到上游计算 Qos-Rate VSA (26-142) 和下游计算 Qos-Rate (26–141) VSA。然后,这些 VSA 将包含在 RADIUS 消息中。
-
身份验证完成后,动态 PPPoE 会话将放入动态 PPPoE 配置文件中配置的接口集中。配置文件指定命名接口集或
$junos-interface-set-name预定义变量,指示接口集在 RADIUS Access-Accept 消息中命名。
配置 ANCP 代理
您可以配置 ANCP 代理,使面向服务的第 3 层边缘设备能够发现有关所连接接入网络拓扑的信息。ANCP 代理还可以提供有关订阅者流量的详细信息,并允许调整订阅者的 QoS 流量整形。
要配置 ANCP 代理,请执行以下作:
配置 ANCP 邻接方
您必须配置希望 ANCP 代理监控并可能对其流量进行整形的每个相邻访问节点。某些邻接方设置会覆盖全局配置的值。
要配置 ANCP 邻接方,请执行以下作:
将访问节点与 ANCP 代理作的订阅者相关联
路由器上的 ANCP 代理使用接入环路电路标识符 (ACI) 来区分各个 ANCP 用户。由于代理使用 ACI 将每个订阅者关联(映射)到某个接口或接口集,因此每个 ACI 在连接到路由器的所有 ANCP 邻接方中都必须是唯一的。
我们建议 ACI 在您的 ANCP 网络中具有唯一性。
接入线路可以静态或动态映射到接口或接口集。当用户的 DHCP 或 PPPoE 发现数据包包含 ACI 时,代理可将其动态映射到接口或接口集。否则,必须对 ACI 进行静态配置。静态配置将覆盖 ACI(以及订阅者)到接口或集的动态映射。
该语句只能用于 access-identifier 具有已配置或确定性名称的接口和接口集类型:静态 VLAN 接口、静态 VLAN 多路分离接口、静态接口集、动态接口集和动态 VLAN 标记接口集。
将接入线路映射到静态接口集、动态接口集和动态 VLAN 标记接口集时,需要使用该 access-identifier 语句。无论 PPPoE 或 DHCP IP 多路分离用户的发现数据包中是否存在 ACI,情况都是如此,因为 ACI 的使用与这些类型的接口集的创建无关。
您不能将该 access-identifier 语句用于以下接口和接口集类型,因为它们具有不确定的自动生成的名称:动态 VLAN 多路分离接口、动态 ACI 接口集 (ACI VLAN) 以及动态 PPPoe 和 DHCP IP 多路分离用户接口。
要将 ACI 与一组订阅者的 VLAN 接口相关联:
指定接口集的名称和接入节点的唯一 ACI。
[edit protocols ancp interfaces] user@host# set interface-set vlan5 access-identifier “dslam port 2/3”
要将 ACI 与单个 VLAN 进行关联:
为接入节点指定逻辑接口和唯一 ACI。
[edit protocols ancp interfaces] user@host# set ge-1/0/4.12 access-identifier “dslam port-2-10”
要将 ACI 与静态 VLAN 多路分离接口相关联:
为接入节点指定逻辑接口和唯一 ACI。
[edit protocols ancp interfaces] user@host# set demux0.100 access-identifier aci_100_1_0
指定 ANCP 邻接消息之间的间隔
当 ANCP 代理和邻接方协商以建立邻接关系时,双方会建议在建立邻接关系后交换的邻接消息之间的间隔值。代理与邻接方交换的后续邻接消息之间的间隔将选择代理和邻接方建议的值中较大的值。您可以指定 ANCP 代理为所有邻接方或特定邻接方提议的间隔值。
要为所有邻接方配置 ANCP 邻接消息之间的建议间隔:
指定时间(以秒为单位)。
[edit protocols ancp] user@host# set adjacency-timer 20
要配置特定邻接方的 ANCP 邻接消息之间建议的间隔:
指定时间(以秒为单位)。
[edit protocols ancp neighbor 203.0.113.234] user@host# set adjacency-timer 20
指定发现表条目的最大数量
您可以指定从所有邻接方或特定邻接方接受的最大发现表条目数。
要配置所有邻接方的最大条目数:
指定条目数。
[edit protocols ancp] user@host# set maximum-discovery-table-entries 5000
要配置特定邻接方的最大条目数:
指定条目数。
[edit protocols ancp neighbor 203.0.113.234] user@host# set maximum-discovery-table-entries 5000
配置 ANCP 代理以实现向后兼容性
您可以将 ANCP 代理配置为在与最初提议的协议兼容的模式下运行。这种向后兼容或预IETF模式与互联网草案draft-wadhwa-gsmp-l2control-configuration-00.txt、用于第 2 层控制 (L2C) 的 GSMP 扩展兼容。设置此向后兼容模式可与后来的 ANCP 互联网草案或 RFC 6320《宽带网络中接入节点控制机制协议》不兼容的设备进行互作。
为所有邻接方全局配置此模式后,您可以为支持 IETF 草案或标准的特定邻接方覆盖该模式。
要将 ANCP 代理配置为以向后兼容模式对所有邻接方运行:
指定 IETF 之前的模式。
[edit protocols ancp] user@host# set pre-ietf-mode
要将 ANCP 代理配置为在特定邻接方的向后兼容模式下运行:
指定 IETF 之前的模式。
[edit protocols ancp neighbor 203.0.113.234] user@host# set pre-ietf-mode
要覆盖为特定邻接方全局配置的向后兼容模式:
指定 IETF 模式。
[edit protocols ancp neighbor 203.0.113.234] user@host# set ietf-mode
指定等待 ANCP 代理重新启动完成的进程时间
您可以指定其他进程等待 ANCP 代理重新启动的时间。ANCP 代理向 CoS 发送激活消息,间隔等于最大帮助程序重启时间值的三分之一。例如,当您将最大重启时间配置为 120 秒时,ANCP 代理将每 40 秒发送一条激活消息。
如果 CoS 未在最大帮助程序重启时间内收到激活消息,则会将 ANCP 代理视为已关闭,并立即将由于 ANCP 代理监控而实施的任何流量整形更新恢复为配置的值。因此,发送至用户的流量无法有效整形,可能导致 DSLAM 中的流量丢弃 配置的值将一直保留,直到 ANCP 代理恢复并向 CoS 发送新的流量整形更新。
要配置其他进程等待 ANCP 代理重新启动的时间:
指定时间(以秒为单位)。
[edit protocols ancp] user@host# set maximum-helper-restart-time 150
配置 ANCP 代理以了解 ANCP 分区 ID
默认情况下,ANCP 代理期望 ANCP 分区 ID 为零,这意味着接入节点不会划分为逻辑分区,每个分区都可与路由器形成邻接。您可以将 ANCP 代理配置为支持非零分区 ID。执行此作时,代理将等待可配置的时间段,以便在邻接启动期间从邻接方接收来自邻接方的 SYN 消息。当代理收到此类消息时,它会使用分区 ID、PType 和 PFlag 字段中包含的分区信息依次生成 SYN 消息,然后将其发送至邻接方以继续邻接协商。
要配置 ANCP 代理以从邻接方获知分区 ID 信息,请执行以下作:
例如,要启用分区 ID 学习并强制 ANCP 代理等待 45 秒等待 SYN 消息,请执行以下作:
[edit protocols ancp] user@host# set gsmp-syn-wait user@host# set gsmp-syn-timeout 45
示例:通过聚合以太网配置具有接口集和 N:1 静态多路分离 VLAN 的 ANCP 网络
此示例介绍如何配置 ANCP 网络拓扑,通过将各个设备分组到接口集中,通过每个家庭的专用 C-VLAN 提供访问和服务,并以每个家庭为基础进行流量整形,来管理多个家庭的用户访问。在此 N:1 配置中,双标记 VLAN 通过聚合以太网上的单个底层静态静态 VLAN 多路分离接口进行配置。
要求
此示例使用以下硬件和软件组件:
MX 系列 5G 通用路由平台,仅安装 MPC,支持 VLAN 多路分离
RADIUS 服务器
DSLAM 访问节点
开始配置示例之前,请确保您已:
仔细阅读并理解以下主题:
配置了访问节点。
配置了 RADIUS 服务器。
概述
ANCP 提供了一种配置、维护和监控接入节点 (DSLAM) 和用户之间本地接入线路的方法。关联的 CoS 配置可决定下游用户流量。ANCP 可以通过调整净数据速率来折现接入线路的数据包开销,然后将这些调整后的速率提供给 CoS,从而实现更准确的流量整形。
此示例中的网络拓扑包括通过静态 VLAN 多路分离接口进行的双标记 (C-VLAN/S-VLAN) VLAN 配置,而静态 VLAN 多路分离接口又通过聚合以太网进行配置以实现冗余。此拓扑是 N:1 配置模式,因为尽管每个 C-VLAN 对应一个订阅者家庭,但所有 C-VLAN 均通过同一底层 VLAN 多路分离接口进行配置。每个家庭中的多个最终用户设备(或者更确切地说是每个设备建立的动态 PPPoE 会话)按家庭分组到接口集中。通过为每个 C-VLAN 配置单独的动态配置文件,可以完成分组。ANCP 代理配置将家庭接入线路的 ACI 映射到接口集。CoS 将流量控制配置文件应用于每个接口集,以每个家庭为基础塑造用户定向的流量。CoS整形速率根据接入节点为每个家庭的接入线路提供的DSL属性进行动态更新。
图 4 显示了在 demux0 上配置的 S-VLAN 103,为接入节点提供服务。C-VLAN 1、2 和 3 每个为单个家庭(用户)提供服务。各自的家庭由唯一的 ACI 标识。为了监控和流量整形,每个家庭中的设备的动态 PPPoE 会话被分组到接口集 10301、10302 和 10303 中。
拓扑结构
上的 VLAN 多路分离接口
表 4 介绍了此示例中使用的配置组件。
配置组件或属性 |
组件名称或设置 |
描述 |
|---|---|---|
动态配置文件 |
ANCP-10301 ANCP-10302 ANCP-10303 |
每个配置文件均定义特定用户家庭的任何设备接入网络时创建的动态 PPPoE 会话。 每个配置文件指定以下内容:
|
预定义变量 |
$junos 接口单元 |
为每个 PPPoE 会话实例化逻辑接口。 |
$junos底层接口 |
实例化逻辑底层 PPP 接口,当用户登录时,将在其上创建每个动态 PPPoE 逻辑接口。 |
|
接口 |
ae0 |
聚合以太网接口,是 VLAN 多路分离接口的底层接口。 该接口包括以下配置:
|
多路分离0 |
在底层聚合以太网接口上运行的 VLAN 多路分离接口。 |
|
多路分离器0.10301 多路复用器0.10302 多路复用器0.10303 |
VLAN 多路分离逻辑接口,与单个用户家庭的 C-VLAN 相对应。 每个逻辑接口都包括以下配置:
|
|
GE-1/0/1 |
聚合以太网捆绑包中的主成员链路。 |
|
GE-1/0/2 |
聚合以太网捆绑包中的备份成员链路。 |
|
lo0.0 |
用于接入网络的环路接口。环路接口会自动用于未编号的接口。 |
|
PP0 |
PPP 接口,在其上创建 PPPoE 用户逻辑接口。 |
|
接口集 |
10301 10302 10303 |
一组接口,在其中为特定家庭中的设备创建会话。每个接口集都在该家庭的动态配置文件中指定。ANCP 将每个接口集与 ACI 和 VLAN 多路分离逻辑接口 (C-VLAN) 相关联。CoS 将流量控制配置文件应用于每个接口集。 |
咨询流量速率 |
下行速率 |
在没有来自接入节点的流量速率信息的情况下,下行流量的建议速率。 |
上行速率 |
在没有来自接入节点的流量速率信息的情况下,建议的上游流量速率。 |
|
流量控制配置文件 |
TCP1 |
决定下游用户流量速率的 CoS 配置文件;在此示例中,整形是根据 ATM 数据包开销进行调整的。配置文件将应用于接口集。 |
IP 地址 |
203.0.113.1 |
监控订阅者家庭的 ANCP 访问节点的地址。 |
127.0.50.1/28 |
环路接口的地址 lo0。 |
|
198.51.100.191 |
RADIUS 计费服务器和身份验证服务器的地址。 |
|
接入电路环路标识符 |
192.168.61.65/0.0.0.0 以太币 1/1:7; 192.168.61.65/0.0.0.0 以太币 1/2:7; 192.168.61.65/0.0.0.0 以太币 1/3:7; |
从接入节点到用户家庭的本地接入电路标识符。它标识了家庭。ANCP 将每个标识符与接口集相关联。 |
ANCP 代理配置包括以下元素:
访问节点 (DSLAM) 的 IP 地址指定为 203.0.113.1。在邻接方之间发送的 ANCP 邻接消息之间的间隔设置为 5 秒。
ANCP 代理可以向 CoS 报告调整后的数据速率,以提高下游流量整形的准确性。ANCP 代理将 ADSL 线路的净数据速率调整 90%,将 ADSL2 线路的净数据速率调整 95%。
每个接口集都与订阅者家庭特有的 ACI 和相关的底层 VLAN 多路分离接口相关联。
路由器上的 RADIUS 配置包括以下元素:
身份验证和计费服务器的 IP 地址 (198.51.100.191) 以及用于访问服务器的秘密密码。
用户访问配置文件 radius-profile 指定使用 RADIUS 进行身份验证。
瞻博网络 DSL VSA 包含在 RADIUS 请求消息中,但 DSL 论坛 VSA 属性不包括在 RADIUS 消息中
计费会话配置为以十进制格式识别。
配置
下面的示例要求您在各个配置层级中进行导航。有关作说明,请参阅在 配置模式下使用 CLI 编辑器。
要将静态 N:1 多路分离 VLAN 配置到用户家庭的 ANCP 网络,请执行以下任务:
CLI 快速配置
要快速配置此示例中所述的 ANCP 网络,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,然后将命令复制并粘贴到 CLI 中。
# Dynamic Profiles edit dynamic-profiles ancp-10301 set interfaces interface-set 10301 interface pp0 unit "$junos-interface-unit" edit interfaces pp0 unit "$junos-interface-unit" set ppp-options chap set ppp-options pap set pppoe-options underlying-interface "$junos-underlying-interface" set keepalives interval 30 set family inet unnumbered-address lo0.0 top edit dynamic-profiles ancp-10302 set interfaces interface-set 10302 interface pp0 unit "$junos-interface-unit" edit interfaces pp0 unit "$junos-interface-unit" set ppp-options chap set ppp-options pap set pppoe-options underlying-interface "$junos-underlying-interface" set keepalives interval 30 set family inet unnumbered-address lo0.0 top edit dynamic-profiles ancp-10303 set interfaces interface-set 10303 interface pp0 unit "$junos-interface-unit" edit interfaces pp0 unit "$junos-interface-unit" set ppp-options chap set ppp-options pap set pppoe-options underlying-interface "$junos-underlying-interface" set keepalives interval 30 set family inet unnumbered-address lo0.0 top # # Aggregated Ethernet Interfaces and VLAN Demux Interfaces set interfaces ge-1/0/1 hierarchical-scheduler set interfaces ge-1/0/1 gigether-options 802.3ad ae0 set interfaces ge-1/0/1 gigether-options 802.3ad primary set interfaces ge-1/0/2 hierarchical-scheduler set interfaces ge-1/0/2 gigether-options 802.3ad ae0 set interfaces ge-1/0/2 gigether-options 802.3ad backup set interfaces ae0 hierarchical-scheduler set interfaces ae0 stacked-vlan-tagging set interfaces ae0 aggregated-ether-options link-protection set interfaces demux0 unit 10301 proxy-arp set interfaces demux0 unit 10301 vlan-tags outer 103 set interfaces demux0 unit 10301 vlan-tags inner 1 set interfaces demux0 unit 10301 demux-options underlying-interface ae0 set interfaces demux0 unit 10301 family pppoe duplicate-protection set interfaces demux0 unit 10301 family pppoe dynamic-profile ancp-10301 set interfaces demux0 unit 10301 advisory-options downstream-rate 16m set interfaces demux0 unit 10301 advisory-options upstream-rate 1m set interfaces demux0 unit 10302 proxy-arp set interfaces demux0 unit 10302 vlan-tags outer 103 set interfaces demux0 unit 10302 vlan-tags inner 2 set interfaces demux0 unit 10302 demux-options underlying-interface ae0 set interfaces demux0 unit 10302 family pppoe duplicate-protection set interfaces demux0 unit 10302 family pppoe dynamic-profile ancp-10302 set interfaces demux0 unit 10302 advisory-options downstream-rate 16m set interfaces demux0 unit 10302 advisory-options upstream-rate 1m set interfaces demux0 unit 10303 proxy-arp set interfaces demux0 unit 10303 vlan-tags outer 103 set interfaces demux0 unit 10303 vlan-tags inner 3 set interfaces demux0 unit 10303 demux-options underlying-interface ae0 set interfaces demux0 unit 10303 family pppoe duplicate-protection set interfaces demux0 unit 10303 family pppoe dynamic-profile ancp-10303 set interfaces demux0 unit 10303 advisory-options downstream-rate 16m set interfaces demux0 unit 10303 advisory-options upstream-rate 1m set interfaces lo0 unit 0 family inet address 127.0.50.1/28 top # # Class of Service edit class-of-service set traffic-control-profiles tcp1 shaping-rate 16m set traffic-control-profiles tcp1 overhead-accounting cell-mode set interfaces interface-set 10301 output-traffic-control-profile tcp1 set interfaces interface-set 10302 output-traffic-control-profile tcp1 set interfaces interface-set 10303 output-traffic-control-profile tcp1 top # # ANCP edit protocols ancp set traceoptions file ancpd set traceoptions file size 512m set traceoptions flag config set traceoptions flag cos set qos-adjust set adjacency-timer 5 set maximum-helper-restart-time 90 set qos-adjust-adsl 90 set qos-adjust-adsl2 95 set interfaces interface-set 10301 access-identifier "192.168.61.65/0.0.0.0 eth 1/1:7;" set interfaces interface-set 10302 access-identifier "192.168.61.65/0.0.0.0 eth 1/2:7;" set interfaces interface-set 10303 access-identifier "192.168.61.65/0.0.0.0 eth 1/3:7;" set interfaces interface-set 10301 underlying-interface demux0.10301 set interfaces interface-set 10302 underlying-interface demux0.10302 set interfaces interface-set 10303 underlying-interface demux0.10303 set neighbor 203.0.113.1 top # # RADIUS edit access set radius-server 198.51.100.191 secret "$ABC123$ABC123$ABC123" edit access profile radius-profile set authentication-order radius set radius authentication-server 198.51.100.191 set radius accounting-server 198.51.100.191 set radius options accounting-session-id-format decimal set radius options juniper-dsl-attributes set radius attributes exclude dsl-forum-attributes access-request set radius attributes exclude dsl-forum-attributes accounting-start set radius attributes exclude dsl-forum-attributes accounting-stop top
配置动态 PPPoE 配置文件
分步程序
在此过程中,您将为每个 C-VLAN 配置一个动态配置文件:ancp-10301、ancp-10302 和 ancp-1033。
配置此 C-VLAN 上的 PPPoE 会话所在的接口集。
[edit dynamic-profiles ancp-10301] user@host1# edit interfaces interface-set 10301
配置要为接口集动态实例化的逻辑接口。
[edit dynamic-profiles ancp-10301 interfaces interface-set 10301] user@host1# set interface pp0 unit “$junos-interface-unit”
将 CHAP 和 PAP 身份验证配置为动态 PPPoE 逻辑接口的属性。
[edit dynamic-profiles ancp-10301 interfaces pp0 unit “$junos-interface-unit”] user@host1# set ppp-options chap user@host1# set ppp-options pap
配置路由器在其上创建动态 PPPoE 逻辑接口的逻辑底层接口;这是用户登录的接口。
[edit dynamic-profiles ancp-10301 interfaces pp0 unit “$junos-interface-unit”] user@host1# set pppoe-options underlying-interface “$junos-underlying-interface”
指定连续激活请求之间的间隔。
[edit dynamic-profiles ancp-10301 interfaces pp0 unit “$junos-interface-unit”] user@host1# set keepalives interval 30
配置 IPv4 协议家族,本地(未编号)地址可从动态 PPPoE 逻辑接口的环路地址派生。
[edit dynamic-profiles ancp-10301 interfaces pp0 unit “$junos-interface-unit”] user@host1# set family inet unnumbered-address lo0.0
对第二个动态配置文件 ancp-10302 和第三个动态配置文件 ancp-10303 重复步骤 1 到 6。
结果
在配置模式下,输入 show dynamic-profiles 命令以确认动态配置文件配置。
[edit]
user@host# show dynamic-profiles
ancp-10301 {
interfaces {
interface-set 10301 {
interface pp0 {
unit "$junos-interface-unit";
}
}
pp0 {
unit "$junos-interface-unit" {
ppp-options {
chap;
pap;
}
pppoe-options {
underlying-interface "$junos-underlying-interface";
}
keepalives interval 30;
family inet {
unnumbered-address lo0.0;
}
}
}
}
}
ancp-10302 {
interfaces {
interface-set 10302 {
interface pp0 {
unit "$junos-interface-unit";
}
}
pp0 {
unit "$junos-interface-unit" {
ppp-options {
chap;
pap;
}
pppoe-options {
underlying-interface "$junos-underlying-interface";
}
keepalives interval 30;
family inet {
unnumbered-address lo0.0;
}
}
}
}
}
ancp-10303 {
interfaces {
interface-set 10303 {
interface pp0 {
unit "$junos-interface-unit";
}
}
pp0 {
unit "$junos-interface-unit" {
ppp-options {
chap;
pap;
}
pppoe-options {
underlying-interface "$junos-underlying-interface";
}
keepalives interval 30;
family inet {
unnumbered-address lo0.0;
}
}
}
}
}
完成设备配置后,从配置模式进入。commit
通过聚合以太网配置静态 VLAN 多路分离接口
分步程序
在此接口上启用分层调度。
[edit interfaces ge-1/0/1] user@host1# set hierarchical-scheduler
将此接口指定为聚合以太网捆绑包的主要成员。
[edit interfaces ge-1/0/1] user@host1# set gigether-options 802.3ad ae0 primary
在第二个接口上启用分层调度。
[edit interfaces ge-1/0/2] user@host1# set hierarchical-scheduler
将此接口指定为聚合以太网捆绑包的备份成员。
[edit interfaces ge-1/0/2] user@host1# set gigether-options 802.3ad ae0 backup
在聚合以太网接口上启用分层调度。
[edit interfaces ae0] user@host1# set hierarchical-scheduler
为聚合以太网接口上的所有逻辑接口启用堆叠 VLAN 标记。
[edit interfaces ae0] user@host1# set stacked-vlan-tagging
将链路保护作为聚合以太网接口的属性启用。
[edit interfaces ae0] user@host1# set aggregated-ether-options link-protection
配置 VLAN 多路分离接口 demux0.10301。
将路由器配置为响应接口上的 ARP 请求。
[edit interfaces demux0 unit 10301] user@host1# set proxy-arp
配置外部 VLAN 标记用于识别接入节点 (S-VLAN),配置内部 VLAN 标记用于识别接入节点 (C-VLAN) 上的用户端口。
[edit interfaces demux0 unit 10301] user@host1# set vlan tags outer 103 inner 1
指定 VLAN 多路分离接口在底层聚合以太网接口上运行。
[edit interfaces demux0 unit 10301] user@host1# set demux-options underlying-interface ae0
防止在此 VLAN 多路分离接口上为同一 PPPoE 用户创建多个 PPPoE 会话。
[edit interfaces demux0 unit 10301] user@host1# set family pppoe duplicate-protection
配置在 VLAN 多路分离接口上实例化的动态配置文件。
[edit interfaces demux0 unit 10301] user@host1# set family pppoe dynamic-profile ancp-10301
配置建议的上行和下行流量速率。
[edit interfaces demux0 unit 10301] user@host1# set advisory-options upstream-rate 1m user@host1# set advisory-options downstream-rate 16m
配置 VLAN 多路分离接口 demux0.10302。
将路由器配置为响应接口上的 ARP 请求。
[edit interfaces demux0 unit 10302] user@host1# set proxy-arp
配置外部 VLAN 标记用于识别接入节点 (S-VLAN),配置内部 VLAN 标记用于识别接入节点 (C-VLAN) 上的用户端口。
[edit interfaces demux0 unit 10302] user@host1# set vlan tags outer 103 inner 2
指定 VLAN 多路分离接口在底层聚合以太网接口上运行。
[edit interfaces demux0 unit 10302] user@host1# set demux-options underlying-interface ae0
防止在此 VLAN 多路分离接口上为同一 PPPoE 用户创建多个 PPPoE 会话。
[edit interfaces demux0 unit 10302] user@host1# set family pppoe duplicate-protection
配置在 VLAN 多路分离接口上实例化的动态配置文件。
[edit interfaces demux0 unit 10302] user@host1# set family pppoe dynamic-profile ancp-10302
配置建议的上行和下行流量速率。
[edit interfaces demux0 unit 10302] user@host1# set advisory-options upstream-rate 1m user@host1# set advisory-options downstream-rate 16m
配置 VLAN 多路分离接口 demux0.10303。
将路由器配置为响应接口上的 ARP 请求。
[edit interfaces demux0 unit 10303] user@host1# set proxy-arp
配置外部 VLAN 标记用于识别接入节点 (S-VLAN),配置内部 VLAN 标记用于识别接入节点 (C-VLAN) 上的用户端口。
[edit interfaces demux0 unit 10303] user@host1# set vlan tags outer 103 inner 3
指定 VLAN 多路分离接口在底层聚合以太网接口上运行。
[edit interfaces demux0 unit 10303] user@host1# set demux-options underlying-interface ae0
防止在此 VLAN 多路分离接口上为同一 PPPoE 用户创建多个 PPPoE 会话。
[edit interfaces demux0 unit 10303] user@host1# set family pppoe duplicate-protection
配置在 VLAN 多路分离接口上实例化的动态配置文件。
[edit interfaces demux0 unit 10303] user@host1# set family pppoe dynamic-profile ancp-10303
配置建议的上行和下行流量速率。
[edit interfaces demux0 unit 10303] user@host1# set advisory-options upstream-rate 1m user@host1# set advisory-options downstream-rate 16m
配置 IPv4 协议家族和环路接口的地址。
[edit interfaces lo0] user@host1# set unit 0 family inet address 127.0.50.1/28
结果
在配置模式下,输入 show interfaces 命令以确认静态 VLAN 多路分离配置。
[edit]
user@host# show interfaces
ge-1/0/1 {
hierarchical-scheduler;
gigether-options {
802.3ad {
ae0;
primary;
}
}
}
ge-1/0/2 {
hierarchical-scheduler;
gigether-options {
802.3ad {
ae0;
backup;
}
}
}
ae0 {
hierarchical-scheduler;
stacked-vlan-tagging;
aggregated-ether-options {
link-protection;
}
}
demux0 {
unit 10301 {
proxy-arp;
vlan-tags outer 103 inner 1;
demux-options {
underlying-interface ae0;
}
family pppoe {
duplicate-protection;
dynamic-profile ancp-10301;
}
advisory-options {
downstream-rate 16m;
upstream-rate 1m;
}
}
unit 10302 {
proxy-arp;
vlan-tags outer 103 inner 2;
demux-options {
underlying-interface ae0;
}
family pppoe {
duplicate-protection;
dynamic-profile ancp-10302;
}
advisory-options {
downstream-rate 16m;
upstream-rate 1m;
}
}
unit 10303 {
proxy-arp;
vlan-tags outer 103 inner 3;
demux-options {
underlying-interface ae0;
}
family pppoe {
duplicate-protection;
dynamic-profile ancp-10303;
}
advisory-options {
downstream-rate 16m;
upstream-rate 1m;
}
}
lo0 {
unit 0 {
family inet {
address 127.0.50.1/28
}
}
}
}
完成设备配置后,从配置模式进入。commit
配置服务等级
分步程序
使用整形速率配置流量控制配置文件,并指定要考虑 ATM 信元封装的开销核算模式。
[edit class-of-service] user@host1# set traffic-control-profiles tcp1 shaping-rate 16m user@host1# set traffic-control-profiles tcp1 overhead-accounting cell-mode
将流量控制配置文件应用于接口集。
[edit class-of-service] user@host1# set interfaces interface-set 10301 output-traffic-control-profile tcp1 user@host1# set interfaces interface-set 10302 output-traffic-control-profile tcp1 user@host1# set interfaces interface-set 10303 output-traffic-control-profile tcp1
结果
在配置模式下,输入 show class-of-service 命令以确认服务等级配置。
[edit]
user@host# show class-of-service
traffic-control-profiles {
tcp1 {
shaping-rate 16m;
overhead-accounting cell-mode;
}
}
interfaces {
interface-set 10301 {
output-traffic-control-profile tcp1;
}
interface-set 10302 {
output-traffic-control-profile tcp1;
}
interface-set 10303 {
output-traffic-control-profile tcp1;
}
}
完成设备配置后,从配置模式进入。commit
配置 ANCP
分步程序
配置访问节点地址。
[edit protocols ancp] user@host1# set neighbor 203.0.113.1
配置 ANCP 代理以向 CoS 报告调整后的下游流量速率。
[edit protocols ancp] user@host1# set qos-adjust
将 ADSL 和 ADSL2 线路上的流量分别指定为净数据速率的 90% 和 95% 的开销调整。
[edit protocols ancp] user@host1# set qos-adjust-adsl 90 user@host1# set qos-adjust-adsl2 95
指定发送至所有 ANCP 邻接方的邻接消息之间的间隔为 5 秒。
[edit protocols ancp] user@host1# set adjacency-timer 5
将 ACI 与每个 C-VLAN 的接口集相关联。
[edit protocols ancp] user@host1# set interfaces interface-set 10301 access-identifier "192.168.61.65/0.0.0.0 eth 1/1:7;" user@host1# set interfaces interface-set 10302 access-identifier "192.168.61.65/0.0.0.0 eth 1/2:7;" user@host1# set interfaces interface-set 10303 access-identifier "192.168.61.65/0.0.0.0 eth 1/3:7;"
为接口集指定底层接口。
[edit protocols ancp] user@host1# set interfaces interface-set 10301 underlying-interface demux0.10301 user@host1# set interfaces interface-set 10302 underlying-interface demux0.10302 user@host1# set interfaces interface-set 10303 underlying-interface demux0.10303
配置 ANCP 跟踪日志文件的大小。
[edit protocols ancp traceoptions] user@host1# set file ancpd size 512m
配置用于跟踪 ANCP 配置和 CoS作的标志。
[edit protocols ancp traceoptions] user@host1# set flag config user@host1# set flag cos
结果
在配置模式下,输入 show ancp 命令以确认 ANCP 代理配置。
[edit]
user@host# show ancp
traceoptions {
file ancpd size 512m;
flag config;
flag cos;
}
qos-adjust;
adjacency-timer 5;
qos-adjust-adsl 90;
qos-adjust-adsl2 95;
interfaces {
interface-set {
10301 {
access-identifier "192.168.61.65/0.0.0.0 eth 1/1:7;";
underlying-interface demux0.10301;
}
10302 {
access-identifier "192.168.61.65/0.0.0.0 eth 1/2:7;";
underlying-interface demux0.10302;
}
10303 {
access-identifier "192.168.61.65/0.0.0.0 eth 1/3:7;";
underlying-interface demux0.10303;
}
}
}
neighbor 203.0.113.1;
完成设备配置后,从配置模式进入。commit
配置 RADIUS 身份验证和计费
分步程序
配置 RADIUS 服务器的密码。
[edit access] user@host1# set radius-server 198.51.100.191 secret "$ABC123$ABC123$ABC123"
指定使用 RADIUS 对订阅者进行身份验证。
[edit access] user@host1# set profile radius-profile authentication-order radius
配置 RADIUS 身份验证和计费服务器。
[edit access] user@host1# set profile radius-profile radius authentication-server 198.51.100.191 user@host1# set profile radius-profile radius accounting-server 198.51.100.191
为 RADIUS 服务器配置选项:用于识别计费会话的格式,以及将瞻博网络 DSL VSA 添加到 RADIUS 请求消息的格式。
[edit access] user@host1# set profile radius-profile radius options accounting-session-id-format decimal user@host1# set profile radius-profile radius options juniper-dsl-attributes
排除 DSL 论坛 VSA 属性,使其不包含在 RADIUS 消息中。
[edit access] user@host1# set profile radius-profile radius attribute exclude dsl-forum-attributes access-request user@host1# set profile radius-profile radius attribute exclude dsl-forum-attributes accounting-start user@host1# set profile radius-profile radius attribute exclude dsl-forum-attributes accounting-stop
结果
在配置模式下,输入 show access 命令以确认 RADIUS 配置。
[edit]
user@host# show access
radius-server {
198.51.100.191 secret "$ABC123$ABC123$ABC123"; ## SECRET-DATA
}
profile radius-profile {
radius {
authentication-server 198.51.100.191;
accounting-server 198.51.100.191;
options {
accounting-session-id-format decimal;
juniper-dsl-attributes;
}
attributes {
exclude {
dsl-forum-attributes [ access-request accounting-start accounting-stop ];
}
}
}
}
完成设备配置后,从配置模式进入。commit
验证
要确认配置工作正常,请执行以下任务:
验证聚合以太网接口配置
目的
验证接口值是否与您的配置匹配,链路是否已开启,以及流量是否正常流动。
行动
在作模式下,输入命令 show interfaces redundancy 。
user@host> show interfaces redundancy Interface State Last change Primary Secondary Current status ae0 On primary ge-1/0/1 ge-1/0/2 both up
在作模式下,输入命令 show interfaces ae0 。
user@host> show interfaces ae0
Physical interface: ae0, Enabled, Physical link is Up
Interface index: 128, SNMP ifIndex: 606
Link-level type: Ethernet, MTU: 1522, Speed: 1Gbps, BPDU Error: None,
MAC-REWRITE Error: None, Loopback: Disabled, Source filtering: Disabled,
Flow control: Disabled, Minimum links needed: 1, Minimum bandwidth needed: 0
Device flags : Present Running
Interface flags: SNMP-Traps Internal: 0x4000
Current address: 00:00:5E:00:53:c0, Hardware address: 00:00:5E:00:53:c0
Last flapped : 2012-03-11 13:24:18 PST (2d 03:34 ago)
Input rate : 1984 bps (2 pps)
Output rate : 0 bps (0 pps)
Logical interface ae0.32767 (Index 69) (SNMP ifIndex 709)
Flags: SNMP-Traps 0x4004000 VLAN-Tag [ 0x0000.0 ] Encapsulation: ENET2
Statistics Packets pps Bytes bps
Bundle:
Input : 371259 2 46036116 1984
Output: 0 0 0 0
Protocol multiservice, MTU: Unlimited
Flags: Is-Primary
意义
输出显示 show interfaces redundancy 冗余链路配置,并且两个链路接口均已开启。 show interfaces ae0 输出显示聚合以太网接口已开启,并且正在逻辑接口上接收流量。
验证 demux0 接口配置
目的
验证 VLAN 多路分离接口是否显示聚合以太网捆绑包中配置的 PPPoE 家族属性和成员链路。
行动
在作模式下,为每个 VLAN 输入 show interfaces demux0 命令。
user@host> show interfaces demux0.10301
Logical interface demux0.10301 (Index 76) (SNMP ifIndex 61160)
Flags: SNMP-Traps 0x4000 VLAN-Tag [ 0x8100.100 ]
Encapsulation: ENET2
Demux:
Underlying interface: ae0 (Index 199)
Link:
ge-1/0/1
ge-1/0/2
Input packets : 2
Output packets: 18575
Protocol pppoe
Dynamic Profile: ancp-10301,
Service Name Table: None,
Max Sessions: 16000, Duplicate Protection: On,
AC Name: pppoe-server-1
或者,也可以进入 以 show pppoe underlying-interfaces detail 显示所有已配置底层接口的状态和 PPPoE 家族配置。
意义
输出显示底层接口的名称、聚合捆绑包的成员链路以及 PPPoE 家族配置。当逻辑接口上存在流量时,输出显示数据包计数。
验证 pp0 接口配置
目的
验证接口值是否与您的配置匹配。
行动
在作模式下,输入命令 show interfaces pp0 。
user@host> show interfaces pp0.100
Logical interface pp0.100 (Index 71) (SNMP ifIndex 710)
Flags: Point-To-Point SNMP-Traps 0x4000 Encapsulation: PPPoE
PPPoE:
State: SessionUp, Session ID: 1,
Session AC name: pppoe-server-1, Remote MAC address: 00:00:5E:00:53:34,
Underlying interface: demux0.10301 (Index 70)
Link:
ge-5/0/3.32767
ge-5/1/2.32767
Input packets : 18572
Output packets: 18572
Keepalive settings: Interval 10 seconds, Up-count 1, Down-count 3
Keepalive: Input: 0 (never), Output: 18566 (00:00:02 ago)
LCP state: Opened
NCP state: inet: Opened, inet6: Not-configured, iso: Not-configured, mpls:
Not-configured
CHAP state: Closed
PAP state: Success
Protocol inet, MTU: 1500
Flags: Sendbcast-pkt-to-re
Addresses, Flags: Is-Primary
Local: 203.0.113.45
意义
此输出显示有关在底层 VLAN 多路分离接口上创建的 PPPoE 逻辑接口的信息。输出包括 PPPoE 系列和聚合以太网冗余链路信息,并显示 PPPoE 接口的输入和输出流量。
验证 ANCP 代理配置
目的
验证 ANCP 值是否与您的配置匹配,以及流量是否正在流动。
行动
在作模式下,输入命令 show ancp subscriber 。
user@host> show ancp subscriber detail Interface State Last change Primary Secondary Current status ae0 On primary ge-1/0/1 ge-1/0/2 both up
在作模式下,输入命令 show ancp cos 。
user@host> show ancp cos Qos Adjust Flag: TRUE Keepalive Timer: 30 secs Cos State: WRITE_READY Connect Time: Mon Mar 19 15:03:01 2012 Session Time: Mon Mar 19 15:03:13 2012 Routing Instance Time: Mon Mar 19 15:03:14 2012 Keepalive Time: Not Set Rate Update Time: Mon Mar 19 15:03:15 2012 Type Name Index Pending Update Last Update iflset 10301 1 None 64 Kbps iflset 10302 2 None 64 Kbps iflset 10303 71 None 64 Kbps
意义
show ancp subscriber输出显示用户线路信息,例如状态和 ANCP 代理收集的各种流量速率,针对 ACI 标识的每个用户显示。show ancp cos输出显示,ANCP 代理配置为将调整后的速率数据发送到 CoS,激活配置为 30 秒间隔,接口集 10301、10302 和 10303 已配置,其流量速率正在更新