附件2
PPPoE+技术原理及其标准化
基于PPPoE认证的用户线路及端口标识技术主要有VBRAS和PPPoE+技术。其中,VBRAS主要是华为等个别厂商的私有实现,难以在BRAS种类丰富的大型城域网中推广。
PPPoE+技术的思路是接入中继设备(如DSLAM或PON)收到用户发送的PADI或PADR报文后,在报文中增加表示用户物理端口和逻辑端口(如VLAN)的PPPoE+ TAG。上游BRAS设备识别出PPPoE+ TAG后,把用户物理位置信息提取出来,用Radius NAS-Port-ID属性发给Radius服务器,从而实现用户识别与用户管理。
与VBRAS相比,PPPoE+则相对很成熟,相关国际标准和企业规范都已有定义。 一、PPPoE+相关国际标准定义
在国际标准中,PPPoE+又称为PPPoE中继代理。BBF WT-101_Issue-2中 3.9.2定义了PPPoE代理实现线路接入线路标识。PPPoE中继代理支持PPPoE接入方式,且是接入节点(Access Node)的一种功能,以实现插入接入线路标识。其中规定:
1. PPPoE中继代理介入PPPoE发现阶段的上行流量PADI、PDAR及PADT报文,但不修改这些报文的源及目的MAC地址。一旦接收到终端发送的PADI、PDAR及PADT报文,PPPoE中继NG不必在下行反馈的PADO或PADS报文中发送此TAG。
具体而言,BBF WT-101_Issue-2定义了PPPoE接入线路标识句法和PPPoE+ 的Agent Circuit ID生成及句法。
1. PPPoE接入线路标识句法(参见附图1)
附图1PPPoE接入线路标识句法 (参照 BBF WT-101_ISSUE-2)
? 接入设备(即中继设备,在光网中一般指PON设备)和BNG(在光网中一般指BRAS设备)都必须支持 PPPoE+TAG。
? 中继设备必须可以将接入线路标识编码到“Agent Circuit
ID”sub-option (sub-option 1)。编码必须可以唯一标识中继设备。同时,也需要标识在PPPoE发现阶段,中继设备收到PADI或PADR报文时相应的用户接入线路逻辑接口。Agent Circuit ID包含了由中继设备生成的本地有效的ASCII字符串,代表了相关的接入线路逻辑接口(U接口)。
? 中继设备必须可选实现在“Agent Remote ID” sub-option (sub-option
2)中进行用户标识编码。“Agent Remote ID”包含一个最长63个字符的字符串,表示中继设备上相关的用户接入线路逻辑接口标识。BBF WT101_ISSUE-2文档没有定义“Agent Remote ID”中的用户标识实际句法。
2. PPPoE+ 的Agent Circuit ID生成及句法
为了与电信运营商现有多样化的OSS环境融合,运营商必须可以灵活地定义Agent Circuit ID。BBF定义运营商可以通过缺省自动生成或人工配置两种方式来定义Agent Circuit ID。一般地,中继设备的Agent Circuit ID默认句法可以参照BNG Radius Client利用NAS-Port-Id 属性标识。
根据BBF WT101_ISSUE-2文档3.9.3节定义,“Agent Circuit ID”中的用户接入线路标识的实际句法如下(参见附图2):
? PPPoE中继代理插入 的“Agent Circuit ID”不能超过63字符。 ? “Agent Circuit ID”必须明确配置每个用户接入线路及其逻辑端口 ? 当不采用明确配置方式时,“Agent Circuit ID”必须可以通过默认或
灵活的方式自动生成。
? PPPoE中继代理必须可以利用如下缺省句法自动生成 “Agent Circuit ID”。
Access-Node-Identifier eth slot/port[:vlan-id]” (Ethernet接入) ,其中Access-Node-Identifier必须唯一;slot identifier不能超过 6个字符长度,port identifier不能超过3个字符长度,而且必须采用“/”作为定界符;vlan-id域与给定的接入线路相关。
附图2 Circuit ID 句法(参考BBF WT-101_ISSUE-2 )
而在RFC 2516: A Method for Transmitting PPP over Ethernet (PPPoE) 中定义了,一个PPPoE的PADI长度(包括PPPoE header)不能超过1484byte,以便为PPPoE中继代理增加“Relay-Session-Id TAG” 留有足够字节空间。 二、PPPoE+国内标准定义
通信协会行业标准规范了IPv4 和IPv6 环境下的DSL、PON、LAN 等宽带接入网中用户接入线路(端口)标识的实现方法,制定了YD/T 2275-2011《接入网技术要求——宽带用户接入线路(端口)标识的行标规范》,并于2011年5月正式发布。其中,定义了DSL和PON用户接入线路(端口)标识信息编码格式及其实现方式。
1.DSL 用户接入线路(端口)标识编码格式定义 DSL用户接入线路(端口)标识的编码格式如下: ? 字符串1:{atm|eth|trk}
? 字符串2:NAS_slot/NAS_subslot/NAS_port:XPI.XCI
? 字符串3:AccessNodeIdentifier/ANI_rack/ANI_frame/ANI_slot/ ANI_subslot/ANI_port:ANI_XPI.ANI_XCI
? 字符串4:{AD|V2} 说明:
? 编码方式采用ASCII码。
? 编码时字符串之间用一个空格隔开,字符串中间不能有空格。 ? “{ }”表示其中的内容为直接编码的字符,若存在“|”,表示并列的关系,多选一;“[ ]”表示其中的内容是可选项。“{ }”、“|”、“[ ]”不出现在编码中。
? “/”、“:”、“.”是保留字符,直接进行编码。
? atm|eth|trk:BRAS/SR接口类型,atm指ATM接口、eth指普通以太网接口,trk指链路聚合的以太网接口。
? NAS_slot:BRAS/SR槽号,最多2个字符,取值范围为0~31。 ? NAS_subslot:BRAS/SR子槽号,最多2个字符,取值范围为0~31。 ? NAS_Port:BRAS/SR端口号,最多2个字符,取值范围为0~63。 ? XPI:如接口类型为atm,XPI对应于VPI,最多3个字符,取值范围为0~255;如接口类型为eth(或trunk),XPI对应于SVLAN,最多4个字符,取值范围为0~4095,如果未使用SVLAN,则XPI=4096。
? XCI:如接口类型为atm,XCI对应于VCI,最多5个字符,取值范围为0~65535;如接口类型为eth(或trunk),XCI对应于CVLAN,最多4个字符,取值范围为0~4095,如果未使用CVLAN,则XCI=4096。
? AccessNodeIdentifier:接入节点(DSLAM)标识,长度不超过50个字符的字串,字
? 符串中间不能有空格,具体标识方法本标准不作规定。 ? ANI_rack:接入节点机架号,最多2个字符,取值范围为0~15。 ? ANI_frame:接入节点机框号,最多2个字符,取值范围为0~31。 ? ANI_slot:接入节点槽号,最多3个字符,取值范围为0~127。 ? ANI_subslot:接入节点子槽号,最多2个字符,取值范围为0~31。 ? ANI_port:接入节点端口号,最多3个字符,取值范围为0~255。 ? ANI_XPI:如用户侧接口类型为ADSL/ADSL2+,XPI对应于VPI,最多3个字符,取值范围为0~255;如用户侧接口类型为VDSL2(PTM模式),XPI对应于SVLAN,,最多4个字符,取值范围为0~4095,如果未使用SVLAN,则XPI=4096。
? ANI_XCI:如用户侧接口类型为ADSL/ADSL2+,XCI对应于VCI,最多5个字符,取值范围为0~65535;如用户侧接口类型为VDSL2(PTM模式),XCI对应于CVLAN,
最多4个字符,取值范围为0~4095,如果未使用CVLAN,则XCI=4096。
? 当用户侧接口类型为VDSL2,如果对VLAN进行了处理(标记、转换等),那么ANI_XPI.ANI_XCI字段的值为处理前的SVLAN.CVLAN。
? AD|V2:表示该用户采用的接入技术;AD表示ADSL/ADSL2+接入,V2表示VDSL2接入。
? 对于某些设备没有机架、框、子槽的概念,相应位置应统一填0。 2.PON接入网中的宽带用户接入线路(端口)信息编码格式 PON用户接入线路(端口)标识的编码格式如下: ? 字符串1:{eth|trk}
? 字符串2:NAS_slot/NAS_subslot/NAS_port:SVLAN.CVLAN ? 字符串3:
AccessNodeIdentifier/ANI_rack/ANI_frame/ANI_slot/ANI_subslot/ ? ANI_port/ONU_ID ? 字符串4:
[ONU_Slot/ONU_Subslot/Port_ID:{atm|eth}/Port_XPI.Port_XCI] ? 字符串5:{EP|GP|XE|XG} 说明:
? 编码方式采用ASCII码。
? 编码时字符串之间用一个空格隔开,字符串中间不能有空格。 ? “{ }”表示其中的内容为直接编码的字符,若存在“|”,表示并列的关系,多选一;“[ ]”表示其中的内容是可选项。“{ }”、“|”、“[ ]”不出现在编码中。
? “/”、“:”、“.”是保留字符,直接进行编码。
? eth|trk:BRAS/SR接口类型,eth指普通以太网接口,trk指链路聚合的以太网接口。
? NAS_slot: BRAS/SR槽号,最多2个字符,取值范围0~31。 ? NAS_subslot:BRAS/SR子槽号,最多2个字符,取值范围0~31。 ? NAS_Port:BRAS/SR端口号,最多2个字符,取值范围0~63。
? SVLAN:表示用户的SVLAN,最多4个字符,有效值为0~4095;如未使用SVLAN,