数据链路层(四)---PPP协议的工作状态

1 PPP链路的初始化

通过前面几章的学习,我们学了了PPP协议帧的格式以及组成,那么对于使用PPP协议的链路是怎么初始化的呢?

当用户拨号上网接入到ISP后,就建立起了一条个人用户到ISP的物理链路。这时,用户向ISP发送一系列的链路控制协议LCP分组(封装成多个PPP帧),以便建立起LCP连接。这些分组及相应选择了将要使用的一些PPP参数。接着还要进行网络层配置,网络控制协议NCP给新接入的用户个人电脑分配一个临时的IP地址,这样,用户就完成了与互联网的初始化连接。当用户通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址,LCP释放数据链路层连接,最后释放物理层的连接。

2 PPP链路的详细工作过程

(1)PPP链路的起始和终止状态永远时链路静止状态,这个时候用户与ISP的路由器不存在任何物理层上的连接;

(2)当用户通过调制解调器发出载波信号呼叫路由器时,路由器就能够检测到调制解调器的信号,双方开始建立物理连接。比如,你打开了百度搜索;

(3)双方完成物理层连接以后,PPP进入链路建立状态,其目的是为了建立数据链路层的LCP连接:用户侧会发送LCP的配置请求帧(封装成多个PPP协议帧,此时PPP协议帧中的协议字段为LCP对应的代码:0xC021),而信息字段包含特定的信息配置(包括:最大帧长、所使用的鉴别协议的规定、不使用PPP帧中的地址和控制字段等)。链路另一端在收到LCP配置请求帧后,可以响应以下几种协议帧的一种:

配置确认帧(Configure-ACK):所有选项都接受

配置否认帧(Configure-NCK):所有选项都理解但不接受

配置拒绝帧(Configure-Reject):选项有的无法识别或不能接受,需要协商。

(4)双方协商结束后,即建立起了LCP链路,紧接着进入"鉴别"状态。在此状态下,只允许传送LCP协议的分组、鉴别协议的分组以及检测链路质量的分组。鉴别状态下可以使用两种鉴别协议:PAP(口令鉴别协议)和CHAP(口令鉴别协议)。其中,CHAP更见安全、可靠。

PAP:认证过程比较简单,发起方发送用户名/密码至服务端做请求认真,服务器处理并做出回应,整个过程明文传输,安全性低。

CHAP:全程采用加密传输,需要做三次认证,过程比较复杂。具体过程如下:

  1. 在LCP协商完成之后,服务端(认证方)会发送一个challenage报文给用户端(被认证方);

  2. 用户端在收到challenage报文以后,根据challenage报文对用户名/密码进行md5加密,然后将加密后的数据发送给服务端;

3)服务端收到数据后,从本地数据库调取对应用户名密码,同样进行md5加密,与收到的用户名密码进行比对,如果一样,则表示鉴别成功,向用户端回复认可消息,否则失败。

(5)链路鉴别失败,则直接进入链路终止,如果链路鉴别成功,则进入"网络层协议"状态,开始准备NCP配置协商。PPP链路的两端网络控制协议NCP根据网络层的不同协议互相交换网络层特定的网络控制分组,保证在两端运行不同网络层协议的数据可以使用同一个PPP协议进行通信。

(6)当网络层配置完毕后,链路就进入可进行数据通信的"链路打开"状态。链路的两个PPP端点可以进行彼此向对方发送数据分组。两个PPP端点可以发送会送请求LCP分组和回送回答LCP分组,以来检车链路的状态。

(7)数据传输结束后,可以由链路的一端发出中止请求LCP分组请求链路中止连接,在收到对方发来的终止确认LCP分组后,转到"链路终止"状态。

(8)当链路终止,调制解调器的载波停止后,则回到"链路静止"状态。

相关推荐
wadesir2 小时前
当前位置:首页 > 服务器技术 > 正文Linux网络HSRP协议(实现路由器热备份与高可用性的实用指南)
linux·服务器·网络
带土12 小时前
4. 两台win11 笔记本局域网内文件传输
网络
xixixi777773 小时前
“C2隐藏”——命令与控制服务器的隐藏技术
网络·学习·安全·代理·隐藏·合法服务·c2隐藏
在多学一点4 小时前
iptables的源地址转换和iptables的目标地址转换
网络
Xの哲學5 小时前
Linux 分区表深度技术剖析
linux·网络·算法·架构·边缘计算
fei_sun5 小时前
【复习】计网每日一题1124---UDP首部检验和计算、检验和特殊含义
网络·网络协议·udp
2***57426 小时前
前端WebSocket案例
网络·websocket·网络协议
百***81276 小时前
《计算机网络》(B)复习
网络·计算机网络
赖small强7 小时前
【Linux 网络基础】网络通信中的组播与广播:基础概念、原理、抓包与应用
linux·网络·broadcast·组播·广播·multicast
陌路207 小时前
Linux是如何收发网络包的?
linux·网络