PPP协议
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
同步和异步串行通信
串行通信由分为同步传输和异步传输 一、 同步传输: 同步传输是以数据块为传输单位,每个数据块的头部 和尾部都要附加一个特殊的字符或比特序列,标记一个 数据块的开始与结束。 所谓同步传输是指数据块与数据块之间的时间间隔是 固定的,必须严格规定它们的时间关系。 同步传输中,发送方发出数据后等接收方发回响应以 后才发下一个数据包。路由器的串口属于快速的同步接口, 所以需要在DCE端配置时钟进行信号同步。
PPP协议
点到点协议(Point to Point PRotocol,PPP)是IETF(Internet Engineering Task Force,因特网工程任 务组)推出的点到点类型线路的数据链路 层协议,已成为正式的因特网标准。PPP 支持在各种物理类型的点到点串行线路上 传输上层协议报文。
PPP协议
一、SLIP(串行线路互连协议)
SLIP也叫IETF RFC 1055,用来在点到点链路中承载 TCP/IP数据。最初用在低速专用线路上,经常部署在拨号 网络中。但它没有数据包类型识别和差错控制功能,也不 提供对数据的压缩功能,在大多数领域已经被PPP代替了。
二、PPP
1、标准PPP是IETF RFC 1660与RFC 1661定义的点 到点线路的数据链路层协议。 2、PPP能够承载多种不同的三层协议数据。 3、PPP可被配置在同步串口、异步串口、高速串口 (HSSI)和ISDN接口上。只要是点到点链路都可运行 PPP
HDLC(高级数据链路控制协议)
HDLC是思科路由器串口的默认封装协议。特权模式下 用show interfaces serial 命令可查看。 1979年,ISO将HDLC作为同步线路上数据链路层的标 准协议。 标准HDLC帧格式如图:
标志字段 (8位) 地址字段 (8/16位) 控制字段 (8位) 信息字段(长 校验字段 度可变) (16位) 标志字段 (8位)
PPP用来解决网络连接的三个组件:
1、在点到点链路上使用HDLC封装数据。PPP帧格式 是以HDLC帧格式为基础,做了很少的改动。 2、使用LCP(链路控制协议)来建立、设定和测试数 据链路连接。 3、使用NCPs(网络控制协议系列)给不同的网络层 协议建立连接以及配置它们。
PPP帧结构:
标志字段 地址字段 控制字段 (8位)7E (8位)FF (8位)03
二、异步传输 异步传输是以字符为传输单位,每个字符都要加1位 起始位和一位停止位,以标记一个字符的开始与结束,并 以此实现数据传输同步。 所谓异步是指字符与字符之间的时间间隔是可变的, 不需严格限制它们的时间关系。 异步传输中,发送方发出数据后,不等接收方发出响 应接着就发下个数据包。适合拨号这种慢速的连接方式。 异步传输简单、可靠,计算机与MODEM之间的通信 就采用异步传输。其缺点是开销大,每传输一个字符就要 额外附加2~3位,效率低。
PPP--点到点协议
复习
• 点到点传输与广播传输
采用点对点传输网络拓扑构型主要有4种: 星形、树型、环型和网状型。 其中网状拓扑构型又称之为无规则型,在网 状拓扑结构中,节点之间的连接是任意的,没有 规律。 网状拓扑的主要优点是系统可靠性高,但是 结构复杂。目前实际存在和使用的广域网基本上 都是采用网状拓扑构型。
协议字段 信息字段 校验字段 标志字段 (16位) (长度可变) (16位) (8位)7E
协议字段标识PPP帧的用途。如果PPP帧是数 据帧,它标识数据报所属网络层协议。如0021H 表示TCP/IP,0023H表示OSI。否则它标识为控 制协议,如果协议字段在Cxxx-Exxx范围内。如 C021H表示连接控制协议,C023H表示口令验证 协议。如果协议字段在8xxx-Bxxx范围内,则表示 是与网络控制协议有关的数据报。如8021H表示 因特网协议控制协议。
根据控制字段,HDLC帧又分为3种类型:
b0 信息帧: b1 b2 b3 b4 b5 b6 b7
0 1 1 0 1
N(S) 监控
P/F P/F
N(R) N(R) 未分配
监控帧:
无编号帧:
未分配 P/F
HDLC 控制字段结构
其中:
信息帧承载实际的数据。 监控帧用于差错和流量控制。 无编号帧用来管理连接。
Leabharlann Baidu 03
ID
接受信息
04
ID
拒绝信息
CHAP帧格式
标志字段 (8位) 7E 地址字段 (8位) FF 控制字段 (8位) 03 协议字段 信息字段 校验字段 标志字段 (16位) (长度可变) (16位) (8位) C223 FCS 7E
代码(1B) 标识符(1B) 长度(2B)
(01-04)
其它
PPP基本配置
串行与并行:
一、串行通信中数据按位传输,即一次传输一位; 二、并行传输中数据按字节传输,即一次传输8位 三、并行速度快,但造价高,内部的多根线缆同步较困 难,相互之间易产生干扰,在远距离通信中多用串 行通信,计算机内部大多使用并行通信。 四、使用串行通信的接口是串行接口,使用并行通信的 接口是并行接口。
PPP的分层体系结构和OSI模型的对比:
IP IPX 其它三层协议 网络层
PPP
IPCP IPXCP 其他CP NCP LCP和验证及其他选项 同步或异步网络介质
数据链路层
物理层
LCP相当于以太网的MAC子层,NCP相当于LLC子层。
LCP子层功能:
PPP使用LCP(链路控制协议)来建立、测试数据链 路连接。此外还提供协商封装格式的可选选项,具体包括 以下内容: ● 验证----验证过程要求主叫方输入身份信息,让被叫 方验证是否建立这个呼叫。 ● 压缩-----减少帧中的数据量从而提高效率。 ● 差错检测-----用Quality选项来检测链路质量,进行 差错检测 。 ● 多连接----多链路捆绑,在一条链路负载达到一定数 值的情况下,启用第二条链路。多条链路间可实现负载均 衡。 ●PPP回拨----允许路由器作为回叫服务器。客户端发 起初始的呼叫并请求回叫。初始呼叫被终止,回叫服务器 根据配置回叫客户端。这种机制增强了安全性。
二、验证及确认阶段 这属于LCP的可选功能。LCP在初始建立连 接时根据协商可进行验证,而且必须在网络层协 议配置前完成。 PPP连接有两种可用的验证类型:PAP和 CHAP。
在进入网络层协议阶段之前根据LCP协商结 果,也可以执行链路质量测试等选项。检测主要 是测试链路的质量能否满足要求。如果链路质量 不能满足要求,则建立链路失败。
四、链路终止 当数据传输完成后或一些外部事件发生(如 空闲时间超长或用户打断)时,一方会发出断开 连接的请求。这时,首先NCP来释放网络层的连 接,然后LCP来关闭数据链路层的连接;最后, 双方的通信设备或模块关闭物理链路回到空闲状 态。
PPP的两种验证协议
1、PAP(口令验证协议)
PAP是一种两次握手验证协议,仅在初始连接建立时 候完成。PAP验证帧的协议字段的值设置为C023。 验证过程如下: (1)被验证方主动重复发起验证请求,将本端的用 户名和口令发送到验证方,直到验证被确认或连接终止。 (2)验证方接到被验证方的验证请求后,检查此用 户名是否存在及密码是否正确。如果用户名存在且口令正 确,验证方返回接受报文,表示验证通过;否则用户方返 回拒绝报文,表示验证不通过。
标准HDLC的不足与改进:
标准的HDLC封装只支持高层的IP协议,不支持其他 高层协议。思科对标准帧协议进行了改进,增加了协议域 字段,来支持多种网络层协议。 思科改进的HDLC可用于在思科的设备之间进行点到 点连接。当连接非思科的设备时,PPP是比较可行的,因 为所有厂家实现的PPP都是相同的。 PPP协议和大多数硬件兼容,且PPP协议能够承载多 种三层协议的数据。
CHAP验证过程: (1)在PPP链路建立阶段完成时,验证方主动 发起验证挑战(Challenge),向被验证方发送本路 由器的主机名和一些随机产生的报文。格式如下:
被验证方主机名:R1 ;验证方主机名:R2
01
ID
random R2
(2)被验证方接到验证方的验证请求(01号报 文)后,根据报文中的主机名在本路由器的数据库 中查找用户名和口令。找到相同的用户名,便利用 对应的口令和01号报文中的ID、random,以某种 散列算法(常用MD5算法)生成一个Hash 值,组 成如下02号报文发给验证方。
02 ID Hash 值 R1
(3)验证方收到应答后,利用ID找到保存在 本地的01号报文中的随机数,并根据02号报文中 的被验证路由器的名字在本地数据库中查找用户 名对应的密码,然后 用ID、随机数和密码生成一 个Hash值,与02号报文中的比较,相同则返回03 号接收报文;不同则返回04号拒绝报文。 03、04号报文格式如下:
PAP缺点: 不是一个强壮的验证法。 (1)PAP过程中密码在链路上直接传输,极 易被捕获造成泄密。 (2)无法防止重复攻击和试错法攻击。被验 证者控制验证的频率和次数,验证通过后,不再 需要验证,使打开的连接不能抵御恶意攻击。
2、CHAP(质询握手验证协议) (1)CHAP由IETF RFC 1994定义并克服了很 多PAP的缺点。 (2)CHAP使用三次握手的方式,并且只在 线路上传送用户名而不在线路上直接传送口令。 (3)CHAP验证帧的协议字段值都被设置为 C223。
3.配置链路质量控制 在链路质量控制阶段,LCP测试链路并决定 链路的质量能否满足三层协议的需求,如不能, 链路被关闭。 操作如下: 进入R1的S2/0的配置模式下,使用“ppp quality n%”。 此命令的功能是计算数据包发送和接收的成 功率。如达不到要求则断开链路。
4、配置链路负载均衡 Multilink ppp(多链路PPP)允许包被分 段,多段在到对方的多条点到点链路上同 时被发送。配置命令如下: PPP multilink(在端口配置模式下执行)
拓扑如图:PPP.pkt 1、PPP封装配置 (1)配IP、时钟,启动接口,测试连通性。 (2)分别show R1、R2相连的串口。同步串口默认封 装格式是HDLC。(show int s2/0) (3)用encapsulation ppp将R1的连接串口封装格式改 为PPP。 观察两对端串口信息,处于协议关闭状态,Ping对端 接口,不通。 原因:双方关于封装协议协商失败。 (4)用encapsulation ppp将R2的连接串口封装格式 也改为PPP。 • 观察两对端串口信息,处于协议开启状态,显示 “LCP Open” 和 “ Open: IPCP, CDPCP” 信息,表示链 路协商成功,NCP也建立成功。Ping对端接口,连通。
三、网络层协议配置阶段 本阶段主要是NCP的功能。LCP初步建立好 链路后,通信双方开始交换一系列NCP分组为上 层不同协议数据包配置不同的环境。比如上层传 下IP协议数据包,则由NCP的IPCP负责完成这部 分配置。当NCP配置完后,双方的通信链路才完 全建立好,双方可以在链路上交换上层数据。 期间,任何阶段的协商失败都将导致链路的 失败。
2、配置压缩 压缩会影响路由器的性能,如要传输的文件 已是压缩文件,则不要使用压缩选项。 (1)进入R1的S2/0端口配置模式下,用 “compress ?”命令显示可用压缩的类型并选其一。 (2)执行“compress ”加压缩类型命令。如: compress predictor。 (3)同样配R2的S2/0口。
NCP子层功能: 当LCP将链路建立好后,PPP使用NCP根据不 同的需求,配置上层协议所需的环境,为上层提 供服务接口。针对上层不同的协议类型会使用不 同的NCP组件。比如对IP提供IPCP接口。
PPP会话建立过程:
从开始发起呼叫到最终通信完成后释放链路, PPP工作经历4个阶段: 一、链路的建立与配置协商。 这主要是LCP的功能,在连接建立阶段,通 信的发起方发送LCP帧来配置和测试数据链路。 这些LCP帧中包含配置选项字段,允许他们利用 这些选项协商压缩和验证协议。如果LCP帧里不 包含配置选项,则使用配置选项的默认值。