PPP/PPPoE

PPP(点到点协议 ),该协议支持认证(PAP、CHAP)、该协议中还包括LCP、NCP协议

PPP链路的建立有三个阶段的协商过程,链路层协商、认证协商(可选)和网络层协商。
1)链路层协商:通过LCP报文进行链路参数协商,建立链路层连接。

链路层协议(LCP)协商的参数有MRU(最大接收单元)、认证方式(不认证、PAP、CHAP)、魔术字(检测是否有环路)

微信截图_20240531153136

img

img

img

2)认证协商(可选):通过链路建立阶段协商的认证方式进行链路认证。

img

img

3)网络层协商 :通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商。

img

img

PPP协商时接口状态的变化:

img

正常PPP链路建立需要经历链路建立阶段、认证阶段和网络层协商阶段,详细过程如下:
通信双方开始建立PPP链路时,先进入到Establish阶段。
在Establish阶段,进行LCP协商:协商通信双方的MRU(Maximum Receive Unit,最大接收单元)、认证方式和魔术字(Magic Number)等选项。协商成功后进入Opened状态,表示底层链路已建立。
如果配置了认证,将进入Authenticate阶段。否则直接进入Network阶段。
在Authenticate阶段,会根据连接建立阶段协商的认证方式进行链路认证。认证方式有两种:PAP和CHAP。如果认证成功,进入Network阶段,否则进入Terminate阶段,拆除链路,LCP状态转为Down。
在Network阶段,PPP链路进行NCP协商。通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商。最常见的NCP协议是IPCP,用来协商IP参数。
在Terminate阶段,如果所有的资源都被释放,通信双方将回到Dead阶段。
PPP运行过程中,可以随时中断连接,物理链路断开、认证失败、超时定时器时间到、管理员通过配置关闭连接等动作都可能导致链路进入Terminate阶段。

网络运营商如何对用户上网行为进行收费和控制 ? 针对特定的数据包,就必须识别发送方的身份。

  1. 在以太网链路上,以太网技术虽然具有简单易用,成本低等特点,但是以太网广播网络的属性,使得其通信双方无法相互验证对方的身份,因而通信是不安全的。
  2. 在PPP链路上,由于PPP协议自带认证功能,因此可以完美的解决上述问题。但是,PPP链路又无法实现多用户上网的需求。
  3. 为了解决这个矛盾问题,解决用户上网行为管理和收费的问题,提出了将PPP数据帧封装在以太网数据帧里边从而在以太网网络中传输的技术——PPPoE技术。

这里的PPP,就是指的PPP协议数据帧,而o就是over的意思,E就是Ethernet的意思,因此,PPPoE形象的说就是“在以太网上的PPP协议”

PPPoE技术可以将用户连接到远程接入设备上,并提供良好访问控制功能,提供了一种经济的用户接入技术,并实现了对用户的控制。

PPPoE协议采用Client/Server模式,普通用户一般为Client,而运营商为Server。

PPPoE的建立分为Discover阶段PPP Session阶段

  • Discover阶段:主要是选择PPPoE服务器,并确定所要建立的会话标识符Session ID。

    当Client要运行PPPoE时,首先以广播的形式发送一个PADI(PPPoE Active Discovery Initiation)报文,该报文中含有Client端要请求的服务信息

    PPPoE服务器在收到该报文后,会以单播的方式发送一个PADO(PPPoE Active Discovery Offer)报文,对Client端的PADI报文进行回应。

    PPPoE Client端在收到这个报文后,会向PPPoE Server发送PADR(PPPoE Active Discovery Request)报文。在这个报文中,PPPoE Client会创建并携带一个PPPoE Session

    PPPoE Server还会向客户端发送PADS(PPPoE Active Discovery Session-confirmation)报文,表示收到了该Session ID。

    发送PADT(PPPOE Active Discovery Terminate)报文,终止连接

  • PPP Session阶段:即执行标准的PPP过程,包括LCP协商、PAP/CHAP认证、NCP协商等阶段。

    PPP会话阶段包括LCP协商、PAP/CHAP认证、NCP协商等阶段。需结合PPP链路建立过程来分析

  • wc07_r