access和tagware_PPPOE协议

PPPOE发现阶段数据的以太类型是0x8863。

3.1 TAG

在发现阶段用于交换客户机和AC的信息,建立PPPOE通道,负载信息都是PPPOE信息,并没有上层协议数据。

发现阶段的负载称为TAG,一个TAG信息格式如下,负载信息中可能会包含多个TAG:0 12 34 56 78 90 12 34 56 78 90 12 34 56 78 90 1

TAG_TYPETAG_LENGTH

TAG_VALUE

TAG_TYPE:16位,表示TAG类型

TAG_LENGTH:16位,表示TAG_VALUE部分的长度

TAG_VALUE:TAG值

TAG_TYPE可取以下值(注意第一字节为2表示是错误信息):

0x0000 End-Of-List

0x0101 Service-Name

0x0102 AC-Name

0x0103 Host-Uniq

0x0104 AC-Cookie

0x0105 Vendor-Specific

0x0110 Relay-Session-Id

0x0201 Service-Name-Error

0x0202 AC-System-Error

0x0203 Generic-Error

3.2 PPPOE主动发现初始包

PPPOE主动发现初始包(PPPoE Active Discovery Initiation,PADI)由客户机发出,以太头中的目的地址是以太广播地址FF:FF:FF:FF:FF:FF,PPPOE头中的CODE为0x09,SESSION_ID值必须为0,负载部分必须只包含一个Service-Name类型的TAG表示请求的服务类型,另外可以包含其他TAG,整个PPPOE包不能超过1484字节,这样省出的16字节可以由ADSL中继设备添加中继TAG。

一个PADI包的例子为:012 34 56 78 90 12 34 56 78 90 12 34 56 78 90 1

0xffffffff

0xffffHost_mac_addr

Host_mac_addr (cont)

ETHER_TYPE = 0x8863v=1t=1CODE=0x09

SESSION_ID=0x0000LENGTH =0x0004

TAG_TYPE = 0x0101TAG_LENGTH = 0x0000

3.3 PPPOE主动发现提议包

PPPOE主动发现提议包(PPPoE Active Discovery Offer,PADO)由AC发出,用来回应客户机的PADI包,以太头中的目的地址是客户机的MAC地址,PPPOE头中的CODE为0x07,SESSION_ID值必须为0,负载部分必须包含一个AC-Name类型的TAG,用来指示本AC的名称,一个在PADI包中指定的Service-Name的TAG,另外可以包含其他Service-Name的TAG。如果AC不对该客户机提供服务,AC就不回应PADO包。一个PADO包的例子为:

012 34 56 78 90 12 34 56 78 90 12 34 56 78 90 1

Host_mac_addr

Host_mac_addr (cont)Access_Concentrator_mac_addr

Access_Concentrator_mac_addr (cont)

ETHER_TYPE = 0x8863v=1t=1CODE=0x07

SESSION_ID=0x0000LENGTH =0x0020

TAG_TYPE = 0x0101TAG_LENGTH = 0x0000

TAG_TYPE = 0x0102TAG_LENGTH = 0x0018

0x470x6f0x200x52

0x650x640x420x61

0x630x6b0x200x2d

0x200x650x730x68

0x730x680x650x73

0x680x6f0x6f0x74

展开

3.4 PPPOE主动发现请求包

PPPOE主动发现请求包(PPPoE Active Discovery Request,PADR)由客户机发出,因为可能会有多个AC对客户机发出的PADI包回应了PADO包,客户机从回应的PADO包中选择一个AC发送PADR包,以太头中的目的地址是该AC的MAC地址,PPPOE头中的CODE为0x19,SESSION_ID值必须为0,负载部分必须只包含一个Service-Name类型的TAG表示请求的服务类型,另外可以包含其他TAG。

3.5 PPPOE主动发现会话确认包

PPPOE主动发现会话确认包(PPPoE Active Discovery Session-confirmation,PADS)由AC发出,收到客户机的PADR包后,AC将产生一个SEESSION_ID值用来标志本次PPP会话,以PADR包方式发送给客户机。以太头中的目的地址是客户机的MAC地址,PPPOE头中的CODE为0x65,SESSION_ID值必须为所生成的那个SESSION_ID,负载部分必须只包含一个Service-Name类型的TAG,表示该服务类型被AC接受,另外可以包含其他TAG。如果AC不接受PADR中的Server-Name,PADS中则包含一个Service-Name-Error类型的TAG,这时SESSION_ID设置为0。

3.6 PPPOE主动发现停止包

PPPOE主动发现停止包(PPPoE Active Discovery Terminate,PADT)表示PPPOE会话过程的结束,AC和客户机都可以主动发出。以太头中的目的地址是对方的MAC地址,PPPOE头中的CODE为0xa7,SESSION_ID值必须为PPPOE会话过程的SESSION_ID,不需要TAG。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值