分享

PPP协议

 黄金割 2018-10-13

PPP协议是一种在串行链路上传输IP数据包的一种方法,是一个协议的集合,不是单一的协议,支持建立链路的链路控制协议LCP以及一系列的NCP

PPP帧格式:

  • 标志字段F=0x7E(01111110),定界符

    如果0x7E出现在帧内部的话,需要出现问题,所以有两种解决方案:

    • 在异步链路上使用字符填充,即把0x7E用0x7D5E替换
    • 在同步链路上使用位填充,即在连续的5个1之后填充一个0
  • 地址字段A:用于指定那个站正在处理,但是PPP只关心一个站,所以设置了0xFF(所有站)

  • 控制字段C:用于帧序列和重传行为,PPP中没有用,设为固定值0x03

  • 协议(指示在信息字段中封装的数据类型):

    • 0x0021时,数据部分是IP数据报。
    • 0xC021时,数据部分是LCP数据(链路控制协议)。
    • 0x8021时,数据部分是NCP(网络控制协议)数据。
    • 0xC023 时,数据部分是PAP数据。
    • 0xC025时: LCP中链路质量报告LQR
    • 0xC223 时,数据部分是CHAP数据
  • 数据部分 最大长度不能超过1500字节,1500字节大小等于PPP协议中配置参数选项MRU

  • FCS(校验): 用于差错检测的冗余循环校验码

PPP的应用

PPP协议的层次模型

LCP

LCP帧格式:在PPP分组上进行简单的封装

  • 标识字段:LCP请求帧的发送方提供的序列号,在生成一个回复(ACK,NACK,REJECT)时,这个字段通过复制响应分组请求中包含的值来构造,请求方可通过匹配标识符来识别相应请求的应答

  • 代码字段:给出请求或者响应的操作类型

    • 配置请求(0x01):使链路两端开始基本的配置过程,并建立商定的选项
    • 配置ACK(0x02):接受一组选项
    • 配置NACK(0x03):用建议选项表明部分拒绝
    • 配置REJECT(0x04):完全拒绝一个或多个选项
    • 终止请求(0x05):在完成后清除一条链路
    • 终止ACK(0x06)
    • 代码REJECT(0x07):表明前一个分组包含的某些字段值未知
    • 协议REJECT(0x08)
    • 回送请求(0x09):在一条活跃的链路上随时交换,验证对方的操作
    • 回送应答(0x0A):在一条活跃的链路上随时交换,验证对方的操作
    • 放弃请求(0x0B):用于性能测试,指示对方丢弃没有响应的分组
    • 标识(0x0C):了解对方的系统类型
    • 剩余时间(0x0D):指出链路保持建立的时间
  • 长度字段:LCP分组的字节长度,不能超过最大接收单元(MRU),长度字段是LCP协议的一部分,PPP协议不提供这些字段。

LCP协商过程

PPP认证

PPP的会话建立过程

PAP

认证方式:一端发送明文口令至对等端,由对方认证; 特性:明文传输,不安全。

PAP认证过程

PAP包格式

CHAP

CHAP是双方都把随机数+密码通过散列函数来运算,所以网路上只会监看到杂凑函数的种类及随机数,不会看到密码,安全性很高.

CHAP认证过程

CHAP包格式

CHAP认证过程报文交换过程

NCP

在LCP完成链路建立和认证之后,该链路每端都进入网络状态,并使用一个或者多个NCP进行网络层的相关协商。

对于IPv4,NCP被称为IP控制协议(IPCP) 对于IPv6,NCP被称为IPV6CP

PPPOE协议

PPP 协议要求进行通信的双方之间是点到点的关系,不适于广播型的以太网和另外一些多点访问型的网络,于是就产生了PPPOE协议。PPPOE不仅为使用桥接以太网接入的用户提供了一种宽带接入手段,同时还能提供方便的接入控制和计费

PPPoE报文

  • VER:固定为1;
  • TYPE:固定为1;
  • CODE:
    • 发现阶段:
      • 0x09 PADI:PPPOE Active Discovery Initiation
      • 0x07 PADO:PPPOE Active Discovery Offer
      • 0x19 PADR:PPPOE Active Discovery Request
      • 0x65 PADS:PAD Session-confirmation
      • 0xa7 PADT:PPPOE Active Discovery Terminate
    • 会话阶段: 0x00 Session ID:PPP会话的唯一标识。

 

以太网帧、PPPOE和PPP直接的封装关系

 

PPPOE的两个阶段:

  • 发现阶段

    • 一个主机发现一个接入集中器,发现AC的MAC;
    • 确定会话标识Session ID。

    报文格式

  • 会话阶段

    • 主机和接入集中器之间依据PPP协议传送PPP数据,进行PPP的各项协商和数据传输。
    • 传输的数据包中必须包含在发现阶段确定的会话标识并保持不变。

    报文格式

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多