1.PPP协议的基本概念
1.1 概念:
PPP协议是提供在点到点链路上传递、封装网络层数据包的一种数据链路层协议。PPP主要由两类协议组成:链路控制协议族(LCP)和网络层控制协议族(NCP),链路控制协议主要用于建立,拆除和监控PPP数据链路,网络层控制协议族主要用于协商在该数据链路上所传输的数据包的格式与类型。同时,PPP还提供了用于网络安全方面的验证协议族(PAP和CHAP)。PPP由于能够提供验证,易扩充,支持同异步而获得较广泛的应用。
1.2 PPP协议的特点:
导热胶带PPP协议是数据链路层协议;
支持点到点的连接(不同于X.25, framerelay等数据链路层协议);
物理层可以是同步电路或异步电路(如framerelay必须为同步电路);手动甘蔗榨汁机
具有各种NCP协议,如IPCP, IPXCP更好地支持了网络层协议;
具有验证协议CHAP,PAP,更好了保证了网络的安全性。
1.3 PPP 协议在协议栈中的位置:
图例:
1.4 PPP 协议的帧格式:
帧格式
常用protocol 代码: 0021
Internet Protocol
002b Novell IPX
002d Van Jacobson Compressed TCP/IP
002f Van Jacobson Uncompressed TCP/IP
8021 Internet Protocol Control Protocol
802b Novell IPX Control Protocol
8031 Bridging NC
C021 Link Control Protocol
C023 Password Authentication Protocol
C223 Challenge Handshake Authentication Protocol 常用code值:
0x01 Configure-Request
Configure-Ack
0x02
Configure-Nak
0x03
Configure-Reject
0x04
Terminate-Request
0x05
Terminate-Ack胸片数据库
0x06
Code-Reject
0x07
0x08 Protocol-Reject
0x09 Echo-Request
0x10 Echo-Reply
0x11 Discard-Request
0x12 RESERVED电视制作
常用协商type值:
0x01 Maximum-Receive-Unit
0x02 Async-Control-Character-Map
0x03 Authentication-Protocol
0x04 Quality-Protocol
0x05 Magic-Number
0x06 RESERVED
0x07 Protocol-Field-Compression
0x08 Address-and-Control-Field-Compression
| State
| 0 1 2 3 4 5 6 7 8 9 Events| Initial Starting Closed Stopped Closing Stopping Req-Sent Ack-Rcvd Ack-Sent Opened ------+------------------------------------------------------------------------------------------------------- Up | 2 irc,scr/6 - - - - - - - - Down | - - 0 tls/1 0 1 1 1 1 tld/1 Open | tls/1 1 irc,scr/6 3r 5r 5r 6 7 8 9r Close| 0 tlf/0 2 2 4 4 irc,str/4 irc,str/4 irc,str/4 tld,irc,str/4 | TO+ | - - - - str/4 str/5 scr/6 scr/6 scr/8 - TO- | - - - - tlf/2 tlf/3 tlf/3p tlf/3p tlf/3p - | RCR+ | - - sta/2 irc,scr,sca/8 4 5 sca/8 sca,tlu/9 sca/8 tld,scr,sca/8 RCR- | - - sta/2 irc,scr,scn/6 4 5 scn/6 scn/7 scn/6 tld,scr,scn/6 RCA | - - sta/2 sta/3 4 5 irc/7 scr/6x irc,tlu/9 tl
d,scr/6x RCN | - - sta/2 sta/3 4 5 irc,scr/6 scr/6x irc,scr/8 tld,scr/6x | RTR | - - sta/2 sta/3 sta/4 sta/5 sta/6 sta/6 sta/6 tld,zrc,sta/5 RTA | - - 2 3 tlf/2 tlf/3 6 6 8 tld,scr/6 | RUC | - - scj/2 scj/3 scj/4 scj/5 scj/6 scj/7 scj/8 scj/9 RXJ+ | - - 2 3 4 5 6 6 8 9 RXJ- | - - tlf/2 tlf/3 tlf/2 tlf/3 tlf/3 tlf/3 tlf/3 tld,irc,str/5 | RXR | - - 2 3 4 5 6 7 8 ser/9 Events Actions
Up = lower layer is Up tlu = This-Layer-Up
Down = lower layer is Down tld = This-Layer-Down
Open = administrative Open tls = This-Layer-Started
Close= administrative Close tlf = This-Layer-Finished
TO+ = Timeout with counter > 0 irc = Initialize-Restart-Count
TO- = Timeout with counter expired zrc = Zero-Restart-Count
RCR+ = Receive-Configure-Request (Good) scr = Send-Configure-Request
RCR- = Receive-Configure-Request (Bad)
支承辊
RCA = Receive-Configure-Ack sca = Send-Configure-Ack
RCN = Receive-Configure-Nak/Rej scn = Send-Configure-Nak/Rej
RTR = Receive-Terminate-Request str = Send-Terminate-Request
RTA = Receive-Terminate-Ack sta = Send-Terminate-Ack
RUC = Receive-Unknown-Code scj = Send-Code-Reject
RXJ+ = Receive-Code-Reject (permitted)
or Receive-Protocol-Reject
RXJ- = Receive-Code-Reject (catastrophic)
or Receive-Protocol-Reject
RXR = Receive-Echo-Request ser = Send-Echo-Reply
or Receive-Echo-Reply
or Receive-Discard-Request
大尺寸触摸屏
PPP所有的协商都是通过状态机(FSM)实现的。因此,从某种意义上来说,状态机是 PPP的核心部分,所以对状态机的理解至关重要。
简略的说,状态机是一种描述系统事件和系统状态之间转换关系的机制。PPP状态机有如下十个状态:
Initial初始状态。此时低层不可用,且无Open事件发生。在此状态重启计数器(Restart Timer)不运行。 Starting启动状态。此时低层协议已激活,但没有Up(例如低层协商遭对端拒绝),所以,低层仍不可用。当低层可用时,则将发送Configure-Request报文。在此状态重启计数器(Restart Timer)不运行。
Closed 关闭状态。此时链路可用,但无Open事件发生。重启计数器不运行。
Stopped 停止状态。在Terminate-Ack或This-layer-Finished事件发生后,自动机等待一个"Down"事件,这时便处于此状态。重启计数器不运行。如在此状态收到配置请求报文,自动机应产生适当的响应。链路终止、链路配置失败和其它状态机错误模式都可能导致此状态产生。
Closing正关闭状态。在此状态,将试图终止连接。此时,终止请求已发送且重启计数器正运行,但尚未收到Terminate-Ack报文。一旦接收到Terminate-Ack报文,状态机将转入Closed 状态。若没有接收到Terminate-Ack报文,且重启计数器超时,一个新的Terminate-Reques t报文应被发送,并重置重启计数器,如此重复直至重启计数器超过最大终止计数次数,然后立即转入Closed 状态。
Stopping 正停止状态。此时,Terminate-Request报文已发送,重启计数器处于运行状态,但尚未收到Terminate-Ack报文。当链路终止后,可通过Stopped或Starting状态重新配置