PPPoE 拔号过程——发现阶段解析
文档编号:834
浏览:14295 评分:73
最后更新于:2011-02-11
PPPoE拔号的发现阶段(Discovery):
PPPoE的发现阶段一共分为
4步,分别是:PADI(PPPoE Active Discovery Initiation),PADO(PPPoE Active Discovery Offer),PADR(PPPoE Active Discovery Request),PADS(PPPoE Active Discovery Session-confirmation)。当完成这四步之后,用户主机(PC)和访问集中器(AC)双方就能获知对方唯一的MAC地址和唯一的会话ID。MAC地址和会话ID 共同定义了唯一的PPPoE会话。PPPoE Discovery的以太网类型域为0x8863。
1. PADI:PPPoE发现阶段的第一步。用户主机以广播的方式发送
PADI数报包,请求建立链路。Code域置为0x09,会话ID域必须置为0x0000。
2. PADO:PPPoE发现阶段的第二步。访问集中器(
AC)以单播的方式发送一个PADO数据包对主机的请求做出应答。目的地址为主机的MAC地址,Code域置为0x07,会话ID域必须置为0x0000。PADO数据包必须包含一个类型为AC-Name的Tag(包含了访问集中器的名字)。
3. PADR:PPPoE发现阶段的第三步。因为
PADI数据包是广播的,所以主机可能收到不止一个的PADO报文。主机在收到报文后,会根据AC-Name或者PADO所提供的服务来选择一个AC,然后主机向选中的AC单播一个PADR数据包。目的地址域为AC的MAC地址,Code域置为0x19,会话ID域必须置为0x0000。PADR报文必须且只能包含一个Tag_Type为Service-Name的Tag,表明主机请求的服务。
4. PADS:PPPoE发现阶段最后一步。当
AC在收到PADR报文时,就准备开始一个PPP的会话了。它为PPPoE会话创建一个唯一的会话ID并用单播一个PADS数据包来给主机做出响应。目的地址域为主机的MAC地址,Code域置为0x65,会话ID必须设置为所创建好的会话ID。
艾泰路由器PPPOE拔号的过程:
06:29:38
Client Connecting //eth2 sends PADI by 'PPPOE'——“
WAN1口以广播的方式发送PADI数据包”
06:29:38
Client Connecting //eth2 recv PADO, AC-Name:FZ-TJ-SN-MA5200G-A-1.MAN, AC-Mac:0——“
WAN1口接收到集中器(AC为福州-电信-华为的MA5200G交换机)以单播的方式发送的PADO数据包”
06:29:38
Client Connecting //eth2 sends PADR(PPPOE)——“
WAN1口以单播的方式向AC发送PADR数据包”
06:29:38
Client Connecting, Session-ID 2491, on eth2 //recv PADS(PPPOE)——“
AC创建唯一的会话ID以单播方式发送给WAN1口”
06:29:38
Client Connecting, Session-ID 2491, on eth2 //VCS registered(PPPOE)
06:29:40
Client Connecting //ifnum:5 get ip(Local:222.76.91.203-Remote:222.76.88.1)——“获取
IP地址为222.76.91.203,网关为222.76.88.1”
06:29:40
Client Connecting //ifnum:5 get dns(Pri:218.85.157.99-Sec:218.85.152.99)——“获取到
DNS地址”
06:29:40
Client, Session-ID 2491, on eth2 //ready for Fast-Forward——“进入快速转发”