PPPOE拨号全过程Wireshark抓包报文解读

PPPOE是宽带拨号上网协议,用户通过电脑宽带拨号功能可以快速访问Internet网络。

在IPv6没有盛行的前提下,PPPOE获取的地址一般都是私网地址,然后通过目的NAT出网,有的访问公网得经过多次NAT,也即NAT444(这样防火墙得支持NAT444功能)。

下面看看电脑拨号到拿到IP地址访问公网的PPPOE全过程抓包:

一、发现阶段


1、PADI(PPPoE Active Discovery Initiation):PPPOE发现初始报文

用户主机以广播形式去发送PADI数据包,请求建立链路。

PPPOE拨号全过程Wireshark抓包报文解读

主机主动以广播形式发送PADI报文

2、PADO(PPPoE Active Discovery Offer):

访问集线器(AC)此处为xx-BRAS-06-QINQ(主备都会发),以单播的方式发送一个PADO数据包对主机的请求做出应答。目的地址为主机的mac地址。AC-tag包含了集线器(AC)的名字。

PPPOE拨号全过程Wireshark抓包报文解读

BRAS回应PADO报文,带上自己的AC-name

3、PADR(PPPoE Active Discovery Request):

PADI数据包是广播的,主机不止收到一个PADO回应报文。主机收到PADO报文后,会根据AC-Name或者PADO提供的服务选择一个AC。之后主机向选中的AC单播一个PADR数据包,目的地址为AC的MAC地址。(主备AC看谁先做出响应)

PPPOE拨号全过程Wireshark抓包报文解读

主机在收到PADO后,会向最先响应PADI报文的BRAS回个PADR请求报文。

PPPOE拨号全过程Wireshark抓包报文解读

哪台BRAS响应快,主机就选这台。(竞争原则,但是一般响应时间都差不多的,不然就存在单边跑的节奏了。)

4、PADS(PPPoE Active Discovery Session-confirmation):

AC在收到PADR报文时,就准备开始一个PPP的会话了。它为pppoe会话创建一个唯一的会话ID并用单播一个PADS数据包来给主机做出响应。

PPPOE拨号全过程Wireshark抓包报文解读

BRAS回应一个PADS,建立了唯一的session。

5、PADT(PPPoE Active Discovery Termination):
  这个报文终结用户计算机与BRAS的连接,可由用户计算机或DSL-AC(也即BRAS)任意一方发送。

二、会话阶段

PPP会话建立必须要两端设备都发送LCP(Link Control Protocol)数据包来配置和测试数据通信链路。

PPPOE拨号全过程Wireshark抓包报文解读

协商LCP的各项参数

  • LCP协商出最大传输单元,是否进行认证和采取的认证方式等。

认证阶段:会话双方通过LCP协商好的认证方式进行认证,通过后才进行网络层的协商。

两种认证方式:CHAP、PAP,为了秘钥的安全性,我们一般使用CHAP认证。(报文显示“Auth OK!”表示认证通过。)

PPPOE拨号全过程Wireshark抓包报文解读

LCP协商成功并且认证通过。

  • 拿IP 阶段–> IPCP(IP控制协议)协商
PPPOE拨号全过程Wireshark抓包报文解读

IPCC配置请求去获取IP地址。

上图为何有个NAK的非应答报文,设备不提供IPV6协议支持,所以重新申请。

三、访问互联网

PPPOE拨号全过程Wireshark抓包报文解读

访问sina.com的报文,建立TCP链路,HTTP协议

以上就是用户拨号到访问互联网的整个过程,如有疑问的可在下发留言。

对网络技术感兴趣的可加关注,我会不定期分享相关的技术内容。


分享到:


相關文章: