收藏 分销(赏)

PPP协议简介.doc

上传人:快乐****生活 文档编号:3367189 上传时间:2024-07-03 格式:DOC 页数:20 大小:509.04KB 下载积分:10 金币
下载 相关 举报
PPP协议简介.doc_第1页
第1页 / 共20页
PPP协议简介.doc_第2页
第2页 / 共20页


点击查看更多>>
资源描述
第一章 PPP协议简介: 1.1.1 PPP封装 PPP封装格式如下,其在链路上从左传至右 地址FF 控制03 协议8或16位 信 息 填 充 1.1.1.1 协议域 协议域是一或两个八位位组,其值标记了封装在数据包里信息域的内容为哪一个协议的数据报,最新的协议域的类型值在最近的RFC1700“Assigned Numbers”可见到,下面为其中一部分值的定义: 值(16进制) 协议名 C021 链路控制协议(LCP) C023 口令认证协议(PAP) C025 链路质量报告(LQR) C223 握手认证协议(CHAP) C02B 带宽分派控制协议(BACP) C02D 带宽分派协议(BAP) 003D 多链路点到点协议(MP) 8021 IP控制协议(IPCP) 0021 IP 002D Van Jacobson Compressed TCP/IP 假如要开发新的协议,必须向IANA(Internet Assigned Numbers Authority)获得一个号码。 1.1.1.2 信息域 信息域为零或多个八位位组,其内容为在协议域中指定协议的数据报,信息域的最大长度(涉及填充部分,但不涉及协议域),称为最大接受单元长度(MRU),默认为1500个八位位组,但PPP协议可通过协商来拟定MRU的值。 1.1.1.3 填充域 在传输时,信息域长度也许达不到MRU值,此时,在信息域之后须加上填充域,以使信息域加填充域长度达成MRU值,各个协议须负责将填充域与真正的信息域区分开来。 1.1.2 PPP链路操作 可将PPP链路通信提成5个阶段,未通、建立、认证、连通、终止阶段。各个阶段关系如下: 1.1.2.1 未通阶段 链路最初及最终均处在该阶段,当一个外部事件指示物理层已准备好,可被链路层使用时,PPP进入链路建立阶段。 1.1.2.2 建立阶段 在该阶段,链路互换一些配置包以拟定配置数据。 1.1.2.3 认证阶段 配置拟定以后,就进入了认证阶段,在该阶段,一方规定另一方给出认证信息,以便确认对方是合法的,允许对方与本方通信。 1.1.2.4 连通阶段 认证通过以后,链路就进入连通阶段,在该阶段达成开放状态(OPENED STATE)后,上层协议可通过本链路进行通信。所需注意的是,该阶段对于每一控制协议,各自单独进行打开过程,某一控制协议OPENED,只能使该控制协议所相应的上层协议可通过本链路进行通信。 1.1.2.5 终止阶段 PPP可在任何时候终止链路,这也许由于认证失败,链路的质量规定达不到,空闲时间计数器超时,管理层规定关闭等因素引起。 1.1.3 LCP选项协商自动机 1.1.3.1 状态 状态 状态描述 0 Initial态 低层不可用(Down态),高层无Open发给信息 1 Starting态 低层不可用(Down态),高层发出Open(是Initial的Open相应态) 2 Closed态 低层可用(Up态),高层无Open发本层 3 Stopped态 低层可用(Up态),本层已收到Open,且又发出了tlf事件,或收到 Terminate_Ack事件(是Closed的Open相应态) 4 Closing态 本层发出了Terminate_Request试图终止连接,尚未收Terminate_Ack,计时器处在工作状态 5 Stopping态 是Closing的Open相应态 6 Request_Sent态 发出Configure_Request,未收到Configure_Ack,计时器处在工作状态 7 Ack_Received态 Configure_Request已发出,Configure_Ack也已收到,Configure_Ack未发出,计时器处在工作状态 8 Ack_Sent态 已发出Configure_Request和Configure_Ack,尚未收到Configure_ack,计时器处在工作状态 9 Opened态 Configure_Ack已发送,也已接受到对方发来的Configure_Ack,计时器不工作 1.1.3.2 收到事件 Event Description 1 UP 低层指示它已准备好接受或发送数据包 2 DOWN 低层指示它已不能发送或接受数据包 3 OPEN 高层规定建立一条链路 4 CLOSE 高层指示关闭一条链路 5 TO+ 计时器超时,尚有重发机会 6 TO- 计时器超时,已无重发机会 7 RCR+ 收到Configure_Request,并且其配置数据是可接受的 8 RCR- 收到Configure_Request,并且其配置数据是不可接受的 9 RCA 收到Configure_Ack 10 RCN 收到Configure_Nak或收到Configure_Reject 11 RTR 收到Terminate_Request 12 RTA 收到Terminate_Ack 13 RUC 收到不能解释的包(Receive_Unknown_Code) 14 Rxj+ 收到Code_Reject或Protocol_Reject,但拒绝的值可接受,不引起本链路断开 15 Rxj- 收到Code_Reject或Protocol_Reject,且其结果是严重的,使本链路断开 16 RXR 收到Echo_Request或Echo_Reply或Discard_Request 1.1.3.3 本层需做动作 1 tlu:This_Layer_Up 告知上层本层已进入Opened态 2 tld:This_Layer_Down 告知上层本层已离开Opened态 3 tls:This_Layer_started 告知上层本层已进入Staring态 4 tlf:This_Layer_Finished 告知上层本层已进入Initial态,Closed或Stopped态 5 irc:Initialize_Restart_Count 初始化重启动计数器 6 zrc:Zero_Restart_Count 将重启动计数器置零 7 scr:Send_Configure_Requset 发出配置请求 8 sca:Send_Configure_Ack 发出Configure_Ack 9 scn:Send_Configure_Nak 发出Configure_Nak或Configure_Reject 10 str:Send_Terminate_Request 发出Terminate_Request 11 sta:Send_Terminate_Ack 发出Terminate_Ack 12 scj:Send_Code_Reject 发出Code_Reject 13 ser:Send_Echo_Reply 发出Echo_Reply 1.1.3.4 状态转换图 状态 0 1 2 3 4 5 6 7 8 9 事件 Initial Staring Closed Stopped Closeing Stopping Req_sent Ack_Rcvd Ack_sent Opened Up 2 irc,ser/6 - - - - - - - - Down - - 0 tls/1 0 1 1 1 1 tld/1 Open tls/1 1 icr,ser/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+ - - - - scr/4 scr/5 scr/6 scr/6 scr8 -- TO- - - - - tlf/2 tlf/3 tlf/3p tlf/3p tlf/3p - RCR+ - - sta/2 irc,sct, sca/8 4 5 sca/8 sca,tlu/9 sca/8 tld,scr, sca/8 RCR- - - sta/2 irc,scr, scn/6 4 5 scr/6 scr/7 scr/6 tld,scr, scr/6 RCA - - sta/2 sta/3 4 5 irc/7 scr/6x irc,tlu/9 tld,scr/6x RCN - - sta/2 sta/3 4 5 irc,scr/6 scr/6x icr,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/2 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 7 8 9 Rxj- - - tlf/w tlf/3 tlf/2 tlf/3 tlf/3 tlf/3 tlf/3 tld,irc, str/5 RXR - - 2 3 4 5 6 7 8 scr/9 p:被动选项,等待对方发配置请求 r:重新启动选项,上层希望对一些参数重新协商 x:交叉连接,多点希望与本点相连 1.1.4 LCP包格式 共有三种类型的LCP包 链路配置包,用于建立和配置链路 (Configure_Request,Configure_Ack,Configure_Nak及Configure_Reject) 链路终止包,用于终止一条链路(Terminate_Request,Terminate_Ack) 链路维护包,用于管理和监测链路 (Code_Reject,Protlcol_Reject,Echo_Request,Echo_Reply及Discard_Request) LCP包封装在PPP信息域中,而PPP的协议域为C021(链路控制协议) LCP包的格式如下: 代码CODE 标记ID 长度LEN 数据DATA 一个八位位组 一个八位位组 两个八位位组 零或多个八位位组 代码: 代码域为一个八位位组,标记了LCP包的种类,最新的LCP代码值定义在最的RFC“Assigred Numbers”中,下面为一些代码值的定义: 1 Configure_Request 2 Configure_Ack 3 Configure_Nak 4 Configure_Reject 5 Terminate_Request 6 Terminate_Ack 7 Code_Reject 8 Protlcol_Reject 9 Echo_Requset 10 Echo_Reply 11 Discard_Request 标记: 标记域为一个八位位组,用于辅助匹配请求(requests)和回答(replys)假如收到一个包具有无效的标记,该包将被丢弃,而不影响LCP自动机。 长度: 长度域为二个八位位组,它表达LCP包的长度,涉及代码、标记、长度和数据四部分,该长度不能超过链路规定的MRU值,超过长度部分的八位位组被作为填充部分而忽略掉,假如长度无效(如该值大于MRU),该包将被丢弃。 数据: 数据域为零或多个八位位组,由长度域的值可知其为几个八位位组,根据代码域的不同可对数据域的数据作不同的解释。 1.1.5 LCP配置选项 LCP配置选项允许对点对点链路的默认特性作协商,修改假如在Configure_Request包中没有某配置选项,那么就采用默认的配置。 配置选项格式如下: 类型TYPE 长度LEN 数据DATA 一个八位位组 一个八位位组 零或多个八位位组 类型: 类型域为一个八位位组,指明配置选项的类型,最新的LCP选项类型值可参见最近的RFC1700“Assigned Numbers”下面为一些类型值的定义: 1 保存 2 最大接受单元长度(MRU) 3 认证协议 4 质量协议 5 魔数 6 协议域压缩 7 地址和控制域压缩 长度: 长度域为一个八位位组,指明该配置选项的长度,涉及类型、长度和数据三部分。 数据: 数据域为零或多个八位位组,包具有配置选项的具体值,数据域的格式由类型域决定,假如数据的长度超过了整个包的信息域长度时,整个包将被丢弃。 1.2 各解决进程的流程图(主流程) 1.3 PPPD_Daemon实体 PPPD是一个后台任务, 当收到网络接口的初始化请求时,PPPD_task要在ISL上完毕每一个通道的初始化,并登记异步指示回叫函数PPPCALLBACK,在通道初始化后PPPD_task完毕PPP协议协商以建立数据链路。 当数据从网络接口发向物理接口时,假如链路尚未建立,网络接口将会把数据以消息形式发向PPPD,PPPD则将数据暂存在缓冲队列中,然后启动LCP进行链路建立过程,直到链路层面向网络层OPENED以后,再启动缓冲队列数据发送。这就是支持按需拨号(Dial On Demand)的必然规定。 当数据从物理接口接受,即DISI Plus接口收到数据包后,所有递交给PPPD,由PPPD分析该数据包的信息域为哪一个协议的数据报,假如是PPP协议族的数据报,则启动相应的协议解决实体,对该数据报进行解决,假如是IP数据报,则直接递交给IP。 当PPPD收到或产生各种异常时,将直接以消息方式发送给Local_Agent任务。对于不能即时完毕的操作,也以异步信息发送方式告知Local_Agent任务。 PPPcallback(Uid uid, ULONG command, void *arg);为链路层实现的供DISI ISL调用的回叫函数,以用于指示PPPD一些重要消息,如MSG_RCVPKT,MSG_LINKUP,MSG_LINKDOWN,MSG_LINKCLOSE,或向数据库记录或向人机命令接口报告异常情况。 PPPD后台任务的解决流程如下图所示: 以下是PPPD后台任务与DISI ISL的接口流程详述: AnalysisofPPPBasedonGPRS ZENGGang Abstract:OnthebasisofresearchingthePPP,thecommunicatingprocessofPPPbasedonGPRSisanalyzed,andcomponentofPPP,contentofPPP,connectingprocessofPPP,etcaredepicted.Theprocessofdatainter󰀁changebasedonPPPnegotiationisanalyzed.Agoodfoundationforfurthermakingawirelesstransmissionter󰀁minalusingPPPisprovided.Keywords:GPRS;PPP;LCP ZENGGang:Lec.t;SchoolofInformationEngineering,WUT,Wuhan430070,China.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服