抓包解析PPPOE交互流程

PPPOE协商过程

在这里插入图片描述

以Cisco ASA5506防火墙为例debug抓包

在这里插入图片描述

解析

PPPOE分为三个阶段:发现阶段(Discovery)、会话阶段(Session)、终止阶段(Terminate)。

Discovery阶段:

PADI: PPPoE活动发现发起报文,PPPoE Client 广播发送一个PADI 报文,在此报文中包含PPPoE Client 想要得到的服务类型信息。

PADO: PPPoE活动发现提供报文,所有的PPPoE Server 收到PADI 报文之后,将其中请求的服务与自己能够提供的服务进行比较,如果可以提供,则单播回复一个PADO 报文。

PADR: PPPoE活动发现请求报文,根据网络的拓扑结构,PPPoE Client 可能收到多个PPPoE Server 发送的PADO 报文,PPPoE Client 选择最先收到的PADO 报文对应的PPPoE Server 作为自己的PPPoE Server,并单播发送一个PADR报文。

PADS: PPPoE活动发现会话报文,PPPoE Server 产生一个唯一的会话ID(SESSION ID),标识和PPPoE Client 的这个会话,通过发送一个PADS 报文把会话ID 发送给PPPoE Client,如果没有错误,会话建立后便进入PPPoE Session 阶段。

Session阶段

会话阶段主要分为协商和报文传输两部分。PPPoE 会话上的PPP协商和普通的PPP协商方式一致,分为LCP、认证、NCP 三个阶段。

(1) LCP阶段主要完成建立、配置和检测数据链路连接。

(2) 协商成功后,开始进行认证工作,认证协议类型由LCP 协商结果(CHAP 或者PAP)决定。

(3) 认证成功后,PPP 进入NCP 阶段,NCP 用于配置不同的网络层协议,常用的是IP 控制协议(IPCP),它负责配置用户的IP 和DNS等工作。PPPoE Session的PPP协商成功后,其上就可以承载PPP数据报文。在PPPoE 会话阶段所有的以太网数据包都是单播发送的。

Terminate阶段:

PADT: PPPoE活动发现终结报文,PPP通信双方应该使用PPP协议自身(比如PPP终结报文)来结PPPoE会话,但在无法使用PPP协议结束会话时可以使用PADT报文。进入PPPoE Session阶段后,PPPoE Client和PPPoE Server都可以通过发送PADT报文的方式来结束PPPoE连接。PADT数据包可以在会话建立以后的任意时刻单播发送。在发送或接收到PADT后,就不允许再使用该会话发送PPP流量了,即使是常规的PPP结束数据包也不允许发送。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茉清语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值