Point-to-Point Protocol Over Ethernet协议,以太网上的点对点协议,是将点对点协议(PPP)封装在以太网(Ethernet)框架中的一种网络隧道协议。服务器
可使用ros 软路由在虚拟机中搭建PPPoE服务器网络
PPPOE发现阶段和会话阶段。
打开wireshark,选择要目标网卡->设置路由器的上网方式PPPoE,设置帐号密码。接下来抓包分析协议:session
该阶段目标:客户端和服务器确认彼此的Mac地址,创建PPPoE的Session_ID框架
发现阶段主要四个过程:PADI,PADO,PADR,PADS:3d
wireshark抓包查看发现阶段:调试
发送广播PADI报文,请求创建连接。blog
若是服务器端配置了service name,服务器端配置的service name和PADI报文中的service name相同则进行下一步交互,不然交互终止。ip
服务器对请求给出响应。路由
选择一个AC,发送PADR报文,请求与该服务器创建连接。虚拟机
目标服务器建立Seesion Id,单播给该客户端做为响应。发现阶段完成。
客户端和服务器互相发送LCP Request以确认发送的最大传输单元,认证方式等,协商的内容写在option字段中,会话阶段的SESSION ID必须是发现阶段分配的ID。
协商阶段的报文分为如下几种:
服务器->客户端: Configuration Request 认证方式
客户端->服务器:Configuration Request 最大传输单元
服务器->客户端:Configuration Ack 最大传输单元
服务器->客户端: Configuration Request 认证方式
客户端->服务器:Configuration Ack 认证方式
认证方式有4种:
上面协商的为 MS-CHAP-2
响应报文有如下几种:
以上只演示了ACK报文
chap认证
wireshark查看
challenge:
response:
success:
包括动态分配IP,DNS功能,也会进行屡次协商,若是不一样意就会出现NAK或者Reject报文。
过程:
客户端->服务器ACK确认ip
最后服务器->客户端ACK确认了分配的IP 和 DNS,网关等:
客户端发送Echo Request进行PPPoE心跳保活,若3次未获得服务器的响应,则客户端主动释放地址。发LCP Echo Request 的时候,Magic Number字段要和以前的Configure Request使用的Configure Request一致。
客户端->服务器:Echo Request
服务端->客户端:Echo Reply
发送PADT(PPPOE Active Discovery Terminate)请求和响应。