目录

简介

PPP定义的一整套协议(3大部分)

PPP建立连接的五种状态(阶段)

Establish阶段

LCP简介

LCP报文类型---3大类报文

LCP协商报文交互过程

LCP协商状态—5种状态

Authenticate验证阶段(可选)

PAP认证报文交互过程

CHAP认证报文交互过程

Network网络层协商阶段

IPCP简介

IPCP报文类型

IPCP协商报文交互过程

IPCP协商状态

PPP报文

PPP头部

LCP报文格式

PAP报文格式

CHAP报文格式

IPCP报文格式

PPP排错


简介

PPP(点对点协议)为在点对点连接上传输多协议数据包提供了一个标准方法,是数据链路层封装协议的一种方法,支持同步和异步两种传输方式。(除了PPP还有HDLC等,不过HDLC只支持同步方式)

PPP优点:

1、支持同步传输和异步传输
2、具有良好的扩展性,当需要在以太网链路上承载PPP协议时,可扩展为PPPoE
3、提供了LCP(Link Control Protocol)协议,用于各种链路层参数协商
4、提供了各种NCP(Network Control Protocol),用于网络层参数协商(支持多种网络层协议,例如IP、IPX协议)
5、提供了认证:CHAP 、PAP
6、没有重传机制,网络开销小,速度快


PPP定义的一整套协议(3大部分)

LCP                 用于各种链路层协商参数(MTU、是否身份验证、CHAP还是PAP等),主要用来建立、监控和拆除数据链路

PAP/CHAP:        验证认证,保护网络安全性

各种NCP协议:  用于网络层参数协商,更好的支持了网络层协议(例如IP的NCP协议为IPCP、IPX的NCP协议为IPXCP等)


PPP建立连接的五种状态(阶段)

Dead                  链路不可用阶段

Establish           链路建立阶段(链路层协商阶段)--进行LCP协商

Authenticate     验证阶段(可选阶段)-----进行PAP/CHAP认证

Network             网络层协议阶段-----------进行NCP协商

Terminate          网络终止阶段

Establish阶段(链路的建立和配置协商)

PPP协议最关键和最复杂的阶段,主要是LCP协商

LCP简介

链路控制协议,简称LCP(Link Control Protocol)。它是PPP协议的一个子集,在PPP通信中,发送端和接收端通过发送LCP包来确定那些在数据传输中的必要信息

主要的协商内容

工作方式----SP(Single-link PPP)单链路、MP(Multilink PPP)多链路

最大接受单元MRU

验证方式----不验证、PAP、CHAP          

魔术字等----魔术字主要用于检查环路

    在进行链路协商时,如果魔术字一样,会重新进行协商并更换魔术字

    但是只要LCP链接建立成功,魔术字就不会改变

LCP报文类型---3大类报文

1.链路配置包—用来建立和配置链路

链路配置包的报文类型功能描述
Configure-Request包含发送者使用的、没有使用的默认值的参数列表
Configure-Ack表示完全接受对端发送的Configuer-Request的参数取值
Configure-Nak表示对端发送的Request在本端不合法
Configure-Reject表示对端发送的Request在本端不能识别

2.链路结束包—用来结束一个链路

链路结束包的报文类型功能描述
Terminate-Request终止请求
Terminate-Ack终止确认

3.链路维修包—用来管理和调试一个链路

链路维修包的报文类型功能描述
Code-Reject代码拒绝
当接收到的LCP报文的Code是一个不合法的值时发送
Code存在于LCP协议头部中
Protocol-Reject协议拒绝
当接收到的PPP数据帧的协议域Protocol是一个不合法的值时发送
发送端收到后将停止发送该协议类型的数据把我嗯
Protocol存在于PPP协议头中
Echo-Request回波请求--检测双向链路上的自环问题
Echo-Reply回波应答-- 检测双向链路上的自环问题
只有LCP在Opened状态下才会回应回波请求
其它状态下丢弃回波请求
Discard-Request抛弃请求

LCP协商报文交互过程

LCP协商状态—5种状态

Authenticate验证阶段(可选)

主要进行PAP、CHAP认证

PAP认证报文交互过程

PAP验证协议为两次握手验证,密码为明文。被验证方发起认证,认证通过后不再认证

CHAP认证报文交互过程

CHAP验证协议为三次握手验证协议。它只在网络上传输用户名,而并不传输用户密码,因此安全性要比PAP高。验证方发起认证挑战,认证成功后,再次连接还需要认证。

认证方先发送一个随机数给请求方(可以选择是否携带用户名)

请求方收到之后用密码把随机数加密(hash),哈希完成之后把密文发送给认证方(携带用户名)
认证方同样把随机数通过密码进行hash,然后比较,如果一致则认证成功

Network网络层协商阶段

进行各种NCP协议协商,主要协商双方的IP地址(以下主要介绍IPCP)

IPCP简介

IPCP是一个网络控制协议,用来在点对点协议连接上建立和配置网际协议。 IPCP负责在点对点连接的两端配置、使能和去使能IP协议模块。

IPCP报文类型

IPCP的数据的报文同LCP的数据报文非常类似,不同之处有两点:

  • 协议字段。IPCP是在网络层协议阶段协商配置参数选项,协议字段为0x8021

而LCP协议则是在链路建立阶段协商配置参数选项的,协议字段为0xC021

  • code域字段。LCP共包括十几种报文,而IPCP只包括7种报文

但它的报文类型只是LCP数据报文的一个子集(只有LCP代码域从1到7这七种报文:Config-Request,Config-Ack,Config-Nak,Config-Reject,Terminate-Request,Terminate-Ack和Code-Reject),而且实际的数据报文交换过程中链路终止报文一般而言是不在网络协议阶段使用的

IPCP协商报文交互过程

静态IP地址协商

动态IP地址协商

IPCP协商状态

类似于LCP协商状态


PPP报文

PPP头部

Address:由于点对点链路无需知道对方数据链路层地址,所以没有意义。按照规定为0xff

Control无实际意义,规定为0x03(该域与Address域一起标识了PPP报文,即PPP报文头为FF03)

Protocol协议域,区分数据帧中信息域所承载的数据报文的内容

0021IP报文
002bNovell IPX
002dVan Jacobson Compressed TCP/IP
002fVan Jacobson Uncompressed TCP/IP
0057IPV6报文
8021IPCP报文
802bNovell IPX Control Protocol
8031Bridging NC
8057IPv6 CP报文
c021LCP报文
c023Password Authentication Protocol
c223Challenge Handshake Authentication Protocol

Information信息域,最大长度1500字节

LCP报文格式

Code:代码域名,主要标识LCP数据报文的类型

0x01Configure-Request
0x02Configure-Ack
0x03Configure-Nak
0x04Configure-Reject
0x05Terminate-Request
0x06Terminate-Ack
0x07Code-Reject
0x08Protocol-Reject
0x09Echo-Request
0x0aEcho-Replyt
0x0bDiscard-Request
0x0cReserved(保留)

Identifier标识域,标识进行协商报文的匹配关系(匹配请求报文和响应报文)。当连续发送多个配置请求报文时,这些报文数据域的值可能完全一样,但是标志域是不同的

Length长度域,此协商报文的长度

Data(可变):数据域,携带的是协商报文的内容

PAP报文格式

CHAP报文格式

IPCP报文格式


PPP排错

PPP的协议一般排错故障:

 a、线检查LCP协议是否为Opened状态

 b、检查PPP协议是否配置Auth,并且配置的认证模式是什么

华为设备配置
debugging ppp pap all
debugging ppp chap all

 c、检查PPP的IPCP协议是否为Opened

华为设备配置
debugging ppp ipcp all
是否有大量的IPCP的报文,IPCP的状态是否为Req_Send或Ack_Rcvd 

 d、检查PPP的NCP;查看是否有路由通过该接口

PPP常见故障的解决措施::

1、LCP如果不是Opened 可能是物理线路的问题(debug ppp all或者打环测试)

2、当LCP协议发送了大量Confreq,收不到Ack_Recv可能是Link封装不匹配(检查对端路由器的协议封装)

3、当LCP状态为Opened,但是IPCP协议为Inital初始化,可能是PPP的认证出现问题(检查设备的认证配置)

4、当LCP状态为Opened,但是发送了大量的IPCP的报文,可能是IP地址Pool分配的问题(检查IPCP是否与认证结合使用)

5、当LCP状态为Opened,IPCP的状态为Opened,可能是由于路由的问题(检查是否有路由条目)

6、当配置单向认证的时候,被认证方是不需要配置[R1-Serial0/0]ppp authen pap

7、认证密码不对的时候,密码可能会被加入"空格"

PPPoE---共享DCC实验配置_绑定物理接口_静下心来敲木鱼的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_49864110/article/details/125010122

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐