网络协议分析-PPP与PPPOE

2019-12-09  本文已影响0人  Odinmx

PPP与PPPOE协议

PPP二层协议,支持多协议,提供身份认证,支持数据压缩,支持动态地址协商,支持多链路捆绑。

协议帧格式:

PPP帧格式

|标志|地址|控制|协议类型|信息域|校验和|标志|

ppp 帧以0x7E 为标志开始和结束。

地址域固定值为0xFF 这是因为点到点链路对方地址固定。

控制域固定位是0x3,协议域用来区分信息域中承载的信息类型:

信息类型

PPP协议包含以下三个组件:

    1.链路控制协议LCP

    2.网路控制协议NCP

    3.ppp扩展协议(主要用于链路捆绑)

其中LCP 完成数据链路的配置和测试,由NCP完成通信参数的配置。

在LCP阶段配置链路上最大帧长,使用的鉴别协议(身份验证是在LCP阶段完成的)

NCP阶段配置客户端的IP地址。

    LCP报文主要分为:

        1.链路配置报文

            ▪ Config-request 发起配置过程

            ▪ config-ACK  所有选项都被接受和识别

            ▪ config-Nak  如果协商参数全部被识别但有部分被接受,会返回这种数据包(其中包含否认的选项)

            ▪ config-reject  如果也有协商参数不被识别或不被接受则返回这个数据,其中不包含拒绝的选项

                当通信双方需要建立链路时,无论哪一方都需要发送config-Request报文并携带希望协商的参数

        2.链路终止报文

            a.Terminate-Request

            b.Terminate-ACK

        链路要关闭一个连接时,想要关闭的一端会持续发送 Terminate-Request 数据包,直到收到一个Terminate-ACK数据包,这时候发起端将断开连接。

      3.链路维护报文

Magic Number: 用来防止环路,当接收端收到一个Config-Request时,会将此报文与上一次接受到的Config-Request报文相比较,如果两个报文中携带的magic number 不一致,则认为链路没有环路,否则会认为链路存在环路。

IPCP:含有三个配置选项,多个IP地址,IP压缩,IP地址

CHAP认证:

        主认证方向被认证方发送一个随机数C,被认证方将这个随机数C+密钥 作为Hash函数的输入,计算出一个散列值,然后将这个散列值发送给 主认证方,主认证方也这样计算散列值,然后比较。

PPPOE:

    工作流程:

        发现阶段,会话阶段

        发现阶段:获取PPPOE终端的以太网MAC地址,并建立一个唯一的PPPOE session-id,PPPOE 发现阶段结束后,进入标准PPP会话阶段。

        发起:客户端通过广播获取可用的AC。

        提供:收到请求后,如果AC可以提供服务,则返回 PPPOE active Discovery offer 报文

        请求:如果客户端收到来自多个AC的应答,则必须选择其中一个,并向该AC发起请求。

        确认:收到请求的AC向客户端返回确认,从而建立ppp连接与会话。

     PPPOE 报文格式:

PPPOE报文格式

         Ver : PPPOE 版本号 值为0x1

        Type:PPPOE类型 值为0x1

        Code:PPPOE报文类型

PPPOE报文类型

        Session_ID: 对于一个给定的PPP会话,该值是一个固定值,并且与以太网S_add 和 D_add 一起实际定义了一个ppp会话,值0xffff 为将来的使用保留,不允许使用

        length: PPPOE payload域长度


文章不正确之处,欢迎指出,谢谢

上一篇 下一篇

猜你喜欢

热点阅读