PADI数据包必须包含且仅包含一个TAG_TYPE为Service-Name的TAG,以表明主机请求的服务,以及任意数目的其它类型的TAG 。整个PADI数据包(包括PPPoE头部)不答应超过1484个字节,以留足空间让中继代理(向数据包中)增加类型为Relay-Session-Id的TAG 。
5.2ThePPPoEActiveDiscoveryOffer数据包(PADO)
假如访问集中器能够为收到的PADI请求提供服务,它将通过发送一个PADO数据包来做出应答 。DESTINATION_ADDR为发送PADI的主机的单播地址,CODE域为0x07,SESSION_ID域必须设置为0x0000 。
PADO数据包必须包含一个类型为AC-Name的TAG(包含了访问集中器的名字),与PADI中相同的Service-Name,以及任意数目的类型为Service-Name的TAG表明访问集中器提供的其它服务 。假如访问集中器不能为PADI提供服务,则不答应用PADO作响应 。
5.3ThePPPoEActiveDiscoveryRequest数据包(PADR)
由于PADI是广播的,主机可能收到不止一个PADO,它将审查接收到的所有PADO并从中选择一个 。可以根据其中的AC-Name或PADO所提供的服务来作出选择 。然后主机向选中的访问集中器发送一个PADR数据包 。其中,DESTINATION_ADDR域设置为发送PADO的访问集中器的单播地址,CODE域设置为0x19,SESSION_ID必须设置为0x0000 。
PADR必须包含且仅包含一个TAG_TYPE为Service-Name的TAG,表明主机请求的服务,以及任意数目其他类型的TAG 。
5.4ThePPPoEActiveDiscoverySession-confirmation数据包(PADS)
当访问集中器收到一个PADR数据包,它就预备开始一个PPP会话 。它为PPPoE会话创建一个唯一的SESSION_ID并用一个PADS数据包来给主机作出响应 。DESTINATION_ADDR域为发送PADR数据包的主机的单播以太网地址,CODE域设置为0x65,SESSION_ID必须设置为所创建好的PPPoE会话标识符 。
PADS数据包包含且仅包含一个TAG_TYPE为Service-Name的TAG,表明访问集中器已经接受的该PPPoE会话的服务类型,以及任意数目的其他类型的TAG 。
假如访问集中器不喜欢PADR中的Service-Name,那么它必须用一个带有类型为Service-Name-Error的TAG(以及任意数目的其它TAG类型)的PADS来作出应答 。这种情况下,SESSION_ID必须设置为0x0000 。
5.5ThePPPoEActiveDiscoveryTerminate数据包(PADT)
这种数据包可以在会话建立以后的任意时刻发送,表明PPPoE会话已经终止 。它可以由主机或访问集中器发送,DESTINATION_ADDR域为单播以太网地址,CODE域设置为0xa7,SESSION_ID必须表明终止的会话,这种数据包不需要任何TAG 。
当收到PADT以后,就不答应再使用该会话发送PPP流量了 。在发送或接收到PADT后,即使是常规的PPP结束数据包也不答应发送 。PPP通信双方应该使用PPP协议自身来结束PPPoE会话,但在无法使用PPP时可以使用PADT 。
6.PPP会话阶段
一旦PPPoE会话开始,PPP数据就像其它PPP封装一样发送 。所有的以太网数据包都是单播的 。ETHER_TYPE域设置为0x8864 。PPPoE的CODE必须设置为0x00 。PPPoE会话的SESSION_ID不答应发生改变,必须是Discovery阶段所指定的值 。PPPoE的payload包含一个PPP帧,帧始于PPPProtocol-ID 。
附录B中给出了数据包的一个实例 。
7.LCP方面的考虑
推荐使用MagicNumberLCP配置选项,不推荐使用协议域压缩(ProtocolFieldCompression,PFC)选项 。不答应实现请求使用下面的任何一个选项,对此必须作出拒绝:
FieldCheckSequence(FCS)Alternatives,
Address-and-Control-Field-Compression(ACFC),
Asynchronous-Control-Character-Map(ACCM)
协商后(PPPoE)的最大接收单元(MRU)不答应超过1492 。因为以太网的最大净载为1500字节,而PPPoE头部为6个字节,PPPProtocol-ID为2个字节,所以PPP的MTU不答应超过1492 。
推荐访问集中器不时向主机发送回声请求(Echo-Request)数据包,以确定会话的状态 。否则假如主机在没有发送结束请求(Terminate-Request)数据包的情况下终止会话,则访问集中器将无法得知该会话已经“死去” 。
推荐阅读
- iPhone/iPad升级iOS8一直显示正在检查更新怎么办
- win7系统中提示未授予用户在此计算机上的请求登录类型的具体处理方法
- 在Word里怎么改变文字方向
- 文本IPv6地址在URL上的格式
- 手机上的回收站在哪里找
- 野生羊肚菌一般长在什么地方
- Excel中如何对人名进行排序
- 金龙面包车obd接口在哪
- 云在地上是什么现象
- 学英烈手抄报 学英烈手抄报画报