数据通信——数据链路层(PPP帧格式和工作流程)

引言

    之前的PPP协议太过于简单,并没有深度仔细研究,说实话书上和华为的PPT上解释的也是云里雾里。这篇说下PPP工作流程。

 

PPP帧格式

    PPP报文时面向字节的,因而所有的PPP帧的长度都是整数字节。

    PPP报文可由Protocol字段表示不同类型的PPP报文。例如:当Protocol字段为0xC021时,代表的是LCP报文。此时又由Code字段来表示不同类型的LCP报文。

PPP报文格式如下:

0x7E 0xFF 0x03 0xC021 0—1500Byte 4Byte 0x7E
Flag Address Control Protocol Information FCS Flag

其中,Protocol报文中包含:IP报文(0x0021),IPCP报文(0x8021),LCP报文(0xC021),PAP报文(0xCo23),CHAP报文(0xC223)。

PPP的帧格式:

  • Flag字段标识一个物理帧的起始和结束

  • Address字段代表一个广播地址

  • Control字段代表无序号帧

  • FCS代表帧校验序列,用来检查PPP完整性。

  • Information字段所包含的东西较多,包含:

    • Identifier(用来匹配响应请求)

    • Length(当前LCP报文的总字节数目)

    • Data(用来协商配置,最大接受单元和认证协议等)

    • Data中又包含:Type(数据类型),Length(数据长度),Value (数值)它们三个包含LCP协商中的常用参数,像MRU,认证协议和魔术字等。

数据通信——数据链路层(PPP帧格式和工作流程)_第1张图片

以上这些东西能记就多记些,包含的东西确实也很杂乱。但是Protocol报文一定要记住,后续会详细介绍这些Protocol报文,因为它们是报文的核心。 

PPP协议工作流程

PPP协议需要经历链路建立阶段,认证阶段和网络层协商阶段共这三个阶段。

先来个简单的流程介绍

(1)首先,在两台调制解调器(modem)上建立物理连接;

(2)然后使用LCP完成逻辑链路的建立,并进行认证检查。

(3)随后通过NCP完成网络协议的配置对接

(4)此时,PC就在Internet上了 

(5)完成工作后先拆除NCP,释放IP地址,再拆除LCP关闭数据链路连接

(6)释放物理连接(拔线)

上述流程是简易版本,我也觉得这个太low,体现不出你的水平。自然还有个详细版,它更加具体详细。

(1)通信双方开始建立PPP链路时,先进入到Establish阶段。

(2)在Establish阶段,进行LCP协商(协商双方的最大接受单元,认证方式和魔术字等选项)协商成功后进入OPENED状态,表示底层链路已经建立。

(3)如果配置了认证,将进入Authenticate阶段。否则直接进入Network阶段。

(4)在Authenticate阶段会根据连接建立阶段协商的认证方式进行链路认证,认证方式有两种:PAPCHAP。如果认证成功,进入Network阶段,否则进入Terminate阶段,拆除链路,LCP状态转为Down。

(5)在Network阶段,PPP链路进行NCP协商。通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商。最常见的NCP协议是IPCP,用来协商IP参数。

(6)在Terminate阶段,如果所有的资源都被释放,通信双方将回到Dead阶段。

注:PPP运行过程中,随时的中断连接,物理链路断开,认证失败,超时定时器时间到和手动关闭连接动作等都会导致链路进入Terminate阶段。

数据通信——数据链路层(PPP帧格式和工作流程)_第2张图片

以上是流程图

后续

这章没有太多废话,因为没啥好说的,基本都是重点,流程也很详细明确。不过后续要说几个IPCP报文,LCP报文,PAP报文,CHAP报文和NCP报文

你可能感兴趣的:(数据通信,网络,计算机网络,信息与通信)