- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PPP協议详解
第一章:PPP协议简介
PPP协议是数据链路层协议,因此我们应该对数据链路层有简单的了解。数据链路层在OSI七层模型中位于最底层物理层之上,网络层之下(如图1.1)。它一方面从物理层的SAP(服务访问点)得到物理层的服务,主要是信号的编码和译码、为进行同步用的前同步码的产生和去除、比特的传输和接收等;另一方面也通过本层的SAP向网络层提供服务,主要是数据链路的建立和释放帧的封装与拆卸、差错控制等。
数据路层主要讨论在数据链路上帧流的传输问题。这一层协议的内容包括:帧的格式,帧的类型,比特填充技术,数据链路的建立和终止信息流量控制,差错控制,向物理层报告一个不可恢复的错误等。这一层协议的目的是保障在相邻的站与节点或节点与节点之间正确地、有次序、有节奏地传输数据帧。常见的数据链路协议有两类:一是面向字符的传输控制规程,如基本型传输控制规程(BSC);另一类是面向比特的传输控制规程,如高级数据链路控制规程(HDLC)。主要是后一类。
用户接入Internet,在传送数据时都需要有数据链路层协议,其中最为广泛的是串行线路网际协议(SLIP)和点对点协议(PPP)。SLIP(Serial Line Internet Protocol)意为串行线路Internet协议。它是通过直接连接和用调制解调器连接的TCP/IP。由于SLIP具有仅支持IP等缺点,主要用于低速(不超过19.2kbit/s)的交互性业务,它并未成为Internet的标准协议。为了改进SLIP,人们制订了点对点PPP(Point-to-Point Protocol)协议。PPP协议用于实现与SLIP一样的目的和作用,它在实现其作用的方式上比SLIP要优越得多。PPP连接协议包括出错检测和纠正,以及分组验证,这是一个安全性特征,它能确保接收的数据分组确实来自于发送者。这些特性合起来使得通过电话线可以建立更为安全的连接。PPP是一种被认可的Internet标准协议,所以目前得到最广泛的开发支持。
PPP点到点协议是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。
其功能有以下几点:
(1)PPP具有动态分配IP地址的能力;
(2)PPP支持多种网络协议,比如TCP/IP、NetBEUI、NWLINK等;
(3)PPP具有错误检测以及纠错能力,支持数据压缩;
(4)PPP具有身份验证功能。
PPP协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题。PPP协议包含这样几个部分:链路控制协议LCP(Link Control Protocol);网络控制协议NCP(Network Control Protocol);认证协议,最常用的包括口令验证协议PAP(Password Authentication Protocol)和挑战握手验证协议CHAP(Challenge-Handshake Authentication Protocol)。LCP负责创建,维护或终止一次物理连接。NCP是一族协议,负责解决物理连接上运行什么网络协议,以及解决上层网络协议发生的问题。
第二章:PPP封装
PPP协议为串行链路上传输的数据报定义了一种封装方法,它基于高层数据链路控制(HDLC)标准。PPP数据帧的格式如表格所示:
标志
0x7E
1Byte 地址
0xff
1Byte 控制
0x03
1Byte 协议
2 Byte 数据(1500字节)
FCS
2 Byte 标志
0x7E
1 Byte
(1)PPP的帧格式前3个字段固定为:0x7E、0xFF和0x03。
(2)PPP帧的长度都是整数个字节。
(3)若封装在PPP帧中的数据出现字节0x7E,则用2字节序列0x7D、0x5E取代; 若出现字节0x7D,则用2字节序列0x7D、0x5D取代;
(4)若信息字段中出现ASCII码的控制字符(即小于0x20的字符),则在该字符前面要加入一个0x7D字节,并且要将该字符转为与0x20进行与操作后的结果。这样做的目的是防止这些表面上的ASCII码控制符(在这里实际上已不是控制符了)被错误地解释为控制符。
(5)协议字段由两个字节组成。字段中第八位必须是0,最后一位必须为1。链路若收到不符合这些规则的帧,必须被视为带有不被承认的协议。
在范围0x0***到0x3***内的协议字段,标志着特殊数据包的网络层协议。
在范围0x8*** 到0xb***内的协议字段,标志着数据包属于网络控制协议
文档评论(0)