pppoe
PPPOE+测试总结PPPOE+测试总结
一、PPPoE+概述
PPPoE+ 又称为PPPoE Intermediate Agent,和DHCP option82类似,它对PPPoE协议报文进行了扩充。接入设备截获PPPoE发现阶段的协议报文,在上行方向插入用户物理信息,在下行方向剥离掉用户的物理信息,然后再进行转发。
二.PPPoE+处理流程
PPPoE+方案的原始思路是,DSLAM(DSL Access Multiplier 数字用户线接入复用器,是ADSL系统中的局端设备,其功能是接纳所有的DSL线路,汇聚流量,相当于一个二层交换机)在收到用户的PPPoE PADI和PPPoE PADR报文以后,在报文里增加表示用户物理端口号和PVC的PPPoE+ tag。上游BRAS(BRAS Broadband Remote Access Server 宽带远程接入服务器,是指在宽带网上提供用户上网的接入认证设备)识别出PPPoE+ Tag以后,会把用户的物理位置信息提取出来,用Radius NAS-Port-ID属性发给Radius Server,用来做用户识别和用户管理。
PPPoE+的具体流程如下:
1)用户终端发起PPPOE请求,发送PPPOE PADI报文
2)DSLAM捕捉到PADI报文,送给PPPoE Intermediate Agent处理
3)PPPoE Intermediate Agent按照用户的物理位置,把用户的物理位置信息当作VSA(Vendor Specified Attribute)写入PADI报文里。这个VSA,就是PPPoE+ Tag。
4)BRAS收到PADI+VSA以后,给用户回应PADO报文。
5)终端按照正常流程,发送PADR报文,请求MA5200G接入。
6)DSLAM捕捉PADR报文,把PPPoE+ Tag插入到PADR报文里。
7)BRAS接受到PADR+VSA以后,为这个STB分配一个PPP session ID,把这个PPPoE+ Tag和PPP Session ID绑定起来。
8)BRAS这时可以正常处理PPP流程。PPP流程完成以后,BRAS通过Radius NAS-Port-ID把PPPoE+ Tag发送给IPTV业务系统和Radius Server。
三、PPPoE+配置及格式
在以下的配置中,用的设备为3750-48S,版本为V100R001B01D004P002。设备端口0/0/1连接BAS,端口0/0/4连接PC.MAC地址为04-05-06-07-08-09.抓包分析字段为PPPoE+ tag中的circuit-id和remote-id。
1)PPPoE+格式
PPPoE+配置分为全局和端口配置。我们公司的做法是,在全局模式下配置PPPoE+的相关信息,例如类型、格式、分隔符等,在端口模式下设置开关,确定经过此端口的报文是否携带PPPoE+tag信息,默认为关闭。
PPPoE+有三种类型:标准(stardard)、华为(huawei)和自定义(self-defined)。默认为标准类型。
1.标准类型加入标签格式为中国电信标准:
01 18 30 30 30 31 20 30 34 30 35 30 36 30 37 30 38 30 39 2f 30 2f 30 2f 30 34
02 06 04 05 06 07 08 09
01代表circuit-id,02代表remote-id。紧接其后的为十六进制18,表示后面有24个字节。四个字节的VLAN信息(30 30 30 31表示VLAN 1),空格(20),12个字节的MAC地址表,斜线(2f),端口信息(0/0/04).在circuit-id中,所有信息均为固定格式(字符串),与设置的format为二进制或字符型无关。Remote-id包含MAC,为二进制格式。
2.Huawei类型格式加入标签中含有hostname信息:
01 1e 30 30 30 31 20 30 34 30 35 30 36 30 37 30 38 30 39 2f 72 65 6c 61 79 2f 30 2f 30 2f 30 34
02 06 04 05 06 07 08 09
解析成:circuit-id+长度+vlan(30 30 30 31)+空格+mac+斜线+hostname(relay)+斜线+端口;remote字段和标准格式一样,都是填充设备mac。由此可以发现,huawei类型与标准类型的区别是标签中有hostname信息。
3.自定义类型:用户可以自定义circuit-id字段和remote-id字段。
例如定义如下:(默认为二进制)
pppoeplus type self-defined circuit-id "123456" client-mac hostname port switch-mac vlan
pppoeplus type self-defined remote-id "987654" client-mac hostname switch-mac
相对应字段为:
01 1b 31 32 33 34 35 36 74 ea 3a 71 65 7a 72 65 6c 61 79 00 04 04 05 06 07 08 09 00 01
02 17 39 38 37 36 35 34 74 ea 3a 71 65 7a 72 65 6c 61 79 04 05 06 07 08 09
即circuit-id+长度+string(123456)+pc地址+hostname(72 65 6c 61 79)+端口+mac+vlan;remote-id+长度+string(987654)+pc mac+hostname(72 65 6c 61 79)+mac
从上面的字段可以看出,在二进制且自定义类型下,配置的字符串,仍用字符串;hosname 仍用字符串; vlan,port,mac用二进制;所有字符串,vlan,port,mac之间不用任何分隔符隔开。如果格式配置为字符串格式,则所有信息全用ASCII表示,且选项之间用分隔符隔开,分隔符类型在全局模式下用pppoeplus delimiter命令配置。
若在端口0/0/4上也有配置circuit-id,则字段中体现的是端口上的circuit-id。Remote-id字段与全局配置的一致。当然对于标准类型和huawei类型也一样,circuit-id字段端口配置优先,若无则用默认配置。这两种类型下remote均为设备mac。
总的来说:
1. 二进制格式并且自定义格式时,配置的字符串,仍用字符串;hosname 仍用字符串; vlan,port,mac用二进制;所有字符串,vlan,port,mac之间不用任何分隔符隔开
2. huawei,standard格式时,circuit-id部分为固定格式(字符串格式),与 format 为ascii或者hex无关;remote-id 取决于端口配置,端口无配置时使用默认值(交换机mac)。
2)PPPoE+策略
在端口模式下可以配置PPPoE+策略:replace(替换)、keep(保持)还是drop(丢弃)。
当携带PPPoE+ tag信息的报文经过某一端口时,若端口模式为replace,则会把tag里的信息替换成本机设备信息;若端口模式为keep,则保持原有的不变;若端口模式为drop,则把此报文丢弃。
特别注意的是,端口上的PPPoE+开关仅仅决定是否带上PPPoE+ tag信息,而对获取地址没有影响。
文章最后发布于: 2018-06-14 15:30:47
相关阅读
PPPoE(英语:Point-to-Point Protocol Over Ethernet) 以太网上的点对点协议,是将点对点协议(PPP)封装在以太网(Ethernet)框架中的一种网络