PPP

(点对点协议(Point to Point Protocol))

语音

编辑

锁定

讨论

上传视频

上传视频

点对点协议(Point to Point Protocol,PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP 最初设计是为两个对等节点之间的 IP 流量传输提供一种封装协议。在 TCP-IP 协议集中它是一种用来同步调制连接的数据链路层协议(OSI模式中的第二层),替代了原来非标准的第二层协议,即 SLIP。除了 IP 以外 PPP 还可以携带其它协议,包括 DECnet 和 Novell 的 Internet 网包交换(IPX)。

中文名

点对点协议

外文名

Point to Point Protocol

学    科类    别

数据链路层协议

要    求

简单、封装成帧

简    写

PPP

PPP简介

编辑

语音

点到点协议(Point to Point Protocol,PPP)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。[1]

这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。PPP具有以下功能:

(1)PPP具有动态分配IP地址的能力,允许在连接时刻协商IP地址;

(3)PPP具有错误检测能力,但不具备纠错能力,所以ppp是不可靠传输协议;

(4)无重传的机制,网络开销小,速度快。

(5)PPP具有身份验证功能。

(6) PPP可以用于多种类型的物理介质上,包括串口线、电话线、移动电话和光纤(例如SDH),PPP也用于Internet接入。

PPP帧格式

编辑

语音

PPP的帧格式

7EFF03协议信息FCS7E

字节111221

PPP采用7EH作为一帧的开始和结束标志(F);其中地址域(A)和控制域(C)取固定值(A=FFH,C=03H) ;协议域(两个字节)取0021H表示IP分组,取8021H表示网络控制数据,取C021H表示链路控制数据;帧校验域(FCS)也为两个字节,它用于对信息域的校验。若信息域中出现7EH,则转换为(7DH,5EH)两个字符。当信息域出现7DH时,则转换为(7DH,5DH)。当信息流中出现ASCII码的控制字符(即小于20H),即在该字符前加入一个7DH字符。

PPP部分组成

编辑

语音

封装:一种封装多协议数据报的方法。PPP 封装提供了不同网络层协议同时在同一链路传输的多路复用技术。PPP 封装精心设计,能保持对大多数常用硬件的兼容性,克服了SLIP不足之处的一种多用途、点到点协议,它提供的WAN数据链接封装服务类似于LAN所提供的封闭服务。所以,PPP不仅仅提供帧定界,而且提供协议标识和位级完整性检查服务。

链路控制协议(LCP):一种扩展链路控制协议,用于建立、配置、测试和管理数据链路连接。

网络控制协议(NCP):协商该链路上所传输的数据包格式与类型,建立、配置不同的网络层协议;

配置:使用链路控制协议的简单和自制机制。该机制也应用于其它控制协议,例如:网络控制协议(NCP)。

为了建立点对点链路通信,PPP 链路的每一端,必须首先发送 LCP 包以便设定和测试数据链路。在链路建立,LCP 所需的可选功能被选定之后,PPP 必须发送 NCP 包以便选择和设定一个或更多的网络层协议。一旦每个被选择的网络层协议都被设定好了,来自每个网络层协议的数据报就能在链路上发送了。

链路将保持通信设定不变,直到有 LCP 和 NCP 数据包关闭链路,或者是发生一些外部事件的时候(如,休止状态的定时器期满或者网络管理员干涉)。

应 用:假设同样是在Windows 98,并且已经创建好“拨号连接”。那么可以通过下面的方法来设置PPP协议:首先,打开“拨号连接”属性,同样选择“服务器类型”选项卡;然后,选择默认的“PPP:Internet,Windows NT Server,Windows 98”,在高级选项中可以设置该协议其它功能选项;最后,单击“确定”按钮即可。

PPP工作流程

编辑

语音

话流程当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接(底层up)。PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。

这些分组及其响应选择一些 PPP 参数,和进行网络层配置(此前如有PAP或CHAP验证先要通过验证),NCP 给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。

通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。

PPP特点与认证方式

编辑

语音

特点

PPP协议是一种点——点串行通信协议。PPP具有处理错误检测、支持多个协议、允许在连接时刻协商IP地址、允许身份认证等功能,还有其他。PPP提供了3类功能:成帧;链路控制协议LCP;网络控制协议NCP。PPP是面向字符类型的协议。

PPP协议的帧格式标志字段地址字段控制字段协议信息部 分FCS标志字段

PPP是一种多协议成帧机制,它适合于调制解调器、HDLC位序列线路、SONET和其它的物理层上使用。它支持错误检测、选项协商、头部压缩以及使用HDLC类型帧格式(可选)的可靠传输。PPP提供了三类功能:

1 成帧:他可以毫无歧义的分割出一帧的起始和结束。

2 链路控制:有一个称为LCP的链路控制协议,支持同步和异步线路,也支持面向字节的和面向位的编码方式,可用于启动路线、测试线路、协商参数、以及关闭线路。链路控制协议(LCP) LCP 建立点对点链路,是 PPP 中实际工作的部分。LCP 位于物理层的上方,负责建立、配置和测试数据链路连接。LCP 还负责协商和设置 WAN 数据链路上的控制选项,这些选项由 NCP 处理。

3 网络控制:具有协商网络层选项的方法,并且协商方法与使用的网络层协议独立。PPP允许多个网络协议共用一个链路,网络控制协议 (NCP) 负责连接PPP(第二层)和网络协议 (第三层)。对于所使用的每个网络层协议,PPP 都分别使用独立的 NCP来连接。例如,IP 使用 IP 控制协议 (IPCP),IPX 使用 Novell IPX 控制协议 (IPXCP)。

认证方式

一种是PAP,一种是CHAP。相对来说PAP的认证方式安全性没有CHAP高。PAP在传输password是明文的,而CHAP在传输过程中不传输密码,取代密码的是hash(哈希值)。PAP认证是通过两次握手实现的,而CHAP则是通过3次握手实现的。PAP认证是被叫提出连接请求,主叫响应。而CHAP则是主叫发出请求,被叫回复一个数据包,这个包里面有主叫发送的随机的哈希值,主叫在数据库中确认无误后发送一个连接成功的数据包连接。

PPP要求

编辑

语音

简单:因IETF在设计因特网体系结构时,把最复杂的部分放在了TCP协议中,网际协议IP相对比较简单,所以对数据链路层的帧,不需要纠错,不需要序号,也不需要流量控制。简单为首要要求

简单的设计还可以是协议在实现时不容易出错,从而不同厂商在协议的不同实现上互操作性提高了。

封装成帧:PPP协议必须规定特殊字符作为帧定界符(标志一个帧的开始和结束的字符),以便接收端从收到的比特流中能准确地找出帧的开始和结束位置。

透明性:PPP协议必须保证数据传输的透明性。(即如果数据中碰巧出现了和帧界定符一样的比特组合时要采取有效的措施来解决这个问题)

多种网络层协议:PPP协议必须能够在同一条物理链路上同时支持多种网络层协议(例如IP和IPX等)的运行[2]

当点对点链路所连接的是局域网或路由器时,PPP协议必须同时支持在链路所连接的局域网或路由器上运行的各种网络层协议。

多种类型链路:除了要支持多种网络层协议外,PPP还必须能够在多种类型的链路上运行。

差错检测:PPP协议必须能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。

检测连接状态:PPP协议必须具有一种机制能够及时自动检测出链路是否处于正常工作状态。

最大传送单元: PPP协议必须对每一种类型的点对点链路设置最大传送单元MTU的标准默认值(至少是1500字节),如果高层协议发送的分组过长并超过MTU的数值,PPP就要丢弃这样的帧,并返回差错。MTU是数据链路层的帧可以载荷的数据部分的最大长度,而不是帧的总长度。

网络层地址协商:PPP协议必须提供一种机制使通信的两个网络层(例如两个IP层)的实体能够通过协商知道或能够配置彼此的网络层地址。协商的算法应尽可能的简单,且能在所有的情况下得出协商结果。

数据压缩协商:PPP协议必须提供一种方法来协商使用数据压缩算法,但PPP协议并不要求将数据压缩算法进行标准化。在TCP/IP协议族中,可靠运输由运输层的TCP协议负责,因此数据链路层的PPP协议不需要进行纠错,不需要设置序号,也不需要进行流量控制。PPP协议不支持多点线路(即一个主站轮流和链路上的多个从站进行通信),而只支持点对点的链路通信,此外PPP协议只支持全双工链路。

PPP配置方法

编辑

语音

PPP基本配置

1, 启用ppp

RouterTest#config terminal

Enter configuration commands,one per line. End with CNTL/Z.

RouterTest(config)#interface serial 0/0

RouterTest(config-if)#encapsulation ppp

RouterTest(config-if)#

2, 地址配置命令

RouterTest(config-if)#ip address 10.1.1.1 255.255.255.0

PAP配置实例

Router(config)#hostname RouterA

RouterA(config)#RouterB password itsasecret

RouterA(config)#interface Async 0

RouterA(config-if)#encapsulation ppp

RouterA(config-if)#ip address 10.0.0.1 255.255.255.0

RouterA(config-if)#dialer-map ip 10.0.0.2 name RouterB 5551234

RouterA(config-if)#username RouterA password itsasecret2

Router(config)#hostname RouterB

RouterB (config)#RouterA password itsasecret

RouterB (config)#interface Async 0

RouterB (config-if)#encapsulation ppp

RouterB (config-if)#ip address 10.0.0.2 255.255.255.0

RouterB (config-if)#dialer-map ip 10.0.0.1 name RouterA 5551234

RouterB (config-if)#username RouterB password itsasecret2

PPPCHAP配置实例

Router(config)#hostname RouterA

RouterA(config)#RouterB password itsasecret

RouterA(config)#interface Async 0

RouterA(config-if)dialer in-band

RouterA(config-if)#encapsulation ppp

RouterA(config-if)#ppp authentication chap

RouterA(config-if)#ip address 10.0.0.1 255.255.255.0

RouterA(config-if)#dialer-map ip 10.0.0.2 name RouterB 5551234

RouterA(config-if)#username RouterA password itsasecret2

Router(config)#hostname RouterB

RouterB (config)#RouterA password itsasecret

RouterB (config)#interface Async 0

RouterB(config-if)dialer in-band

RouterB (config-if)#encapsulation ppp

RouterB (config-if)#ppp authentication chap

RouterB (config-if)#ip address 10.0.0.2 255.255.255.0

RouterB (config-if)#dialer-map ip 10.0.0.1 name RouterA 5551234

RouterB (config-if)#username RouterB password itsasecret2

PPPCHAP和PAP

Router(config-if)#ppp authentication chap pap

配置PPP回拨

PPP使用压缩

cisco支持的压缩方法:

Predictor:先判断数据是否已经被压缩过。如果数据被压缩过,则立即将其发送出去,而不浪费时间对已经压缩过的数据进行压缩。

Stacker:一种基于Lempel-Ziv(LZ)的压缩算法,对每种数据类型,只发送一次有关其在数据流中的位置。接收方根据这些信息重新组织数据流。

MPPC:MPPC协议(RFC2118)让cisco路由器器能够与microsoft客户端交换压缩后的数据,它使用一种基于LZ的压缩算法

TCP报头压缩:也叫Van Jacobson压缩,只用于压缩tcp报头。

PPP配置压缩

Router(config)#interface serial2

Router(config-if)#compress {predictor|stac|mppc}

Or

Router(config)#interface async

Router(config-if)#ip tcp header-compression

Or

Router(config)#interface async

Router(config-if)#ip tcp header-compression passive

该命令告诉路由器,仅当从对方那里收到压缩后的报头后,才使用tcp报头压缩。

多链路PPP

通过使用多链路PPP,可以将多条连接捆绑成一条虚拟连接。

Router(config-if)#ppp multilink

Router(config-if)#dialer load-threshold load [outbound | inbound | either]

命令dialer load-threshol load指定在什么情况下将更多的B信道加入到MLP链路束中。当所有B信道的总负载超过指定的阀值后,拨号接口(BRI或PRI)将信道加入到多链路束中。

同样,如果总负载低于阀值,将拆除B信道。

参数load是接口的平均负载,其取值为1(没有负载)到255(满载)。

参数outbound(默认值)指定计算负载时只考虑出站数据流;参数inbound指定只考虑入站数据流;either指定计算负载时,选择出站负载和入站负载中较大的那个。

PPP故障排查命令

编辑

语音

debug ppp negotiation-确定客户端是否可以通过PPP协商; 这是您检查地址协商的时候。

debug ppp authentication-确定客户端是否可以通过验证。如果您在使用Cisco IOS软件版本11.2之前的一个版本,请发出debug ppp chap命令。

debug ppp error - 显示和PPP连接协商与操作相关的协议错误以及统计错误。

debug aaa authentication-要确定在使用哪个方法进行验证(应该是RADIUS,除非RADIUS服务器发生故障),以及用户是否通过验证。

debug aaa authorization-要确定在使用哪个方法进行验证,并且用户是否通过验证。

debug aaa accounting-查看发送的记录。

debug radius-查看用户和服务器交换的属性。

词条图册

更多图册

ppp协议 服务器,PPP(点对点协议(Point to Point Protocol))_百度百科相关推荐

  1. 【计算机网络】数据链路层 : 广域网 ( 广域网概念 | PPP 协议 | PPP 协议功能 | PPP 协议组成 | PPP 协议帧格式 )

    文章目录 一.广域网 二.广域网 与 局域网 对比 三.PPP 协议 四.PPP 协议 需要实现的功能 五.PPP 协议 不需要实现的功能 六.PPP 协议 组成部分 七.PPP 协议 示例 八.PP ...

  2. PPP协议(PPP协议链路建立过程、PAP、CHAP、华为虚拟网络设备配置)

    PPP协议是点到点传输协议. PPP协议 PPP协议帧 协议字段封装数据字段的上层协议(LCP.IPCP.PAP.CHAP). PPP协议链路建立过程 PPP协议的身份认证方式 PAP认证过程 认证过 ...

  3. cip协议服务器,CIP(通用工业协议)_百度百科

    通用工业协议(Common Industrial Protocol,CIP)是一种应用在工业自动化的通信协定,由开放DeviceNet厂商协会(Open DeviceNet Vendors Assoc ...

  4. 罗宁服务器位置,罗宁(网络游戏《魔兽世界》中的角色)_百度百科

    罗宁 (网络游戏<魔兽世界>中的角色) 语音 编辑 锁定 讨论 上传视频 上传视频 罗宁是暴雪娱乐开发的著名游戏<魔兽世界>及其衍生小说中的角色.罗宁是曾是达拉然首席大法师,肯 ...

  5. pbe更新服务器不在线是什么意思,PBE(公开测试服务器)_百度百科

    本词条缺少信息栏.概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! PBE即英文Public Beta Environment的缩写,意思是公开测试服. PBE概念 编辑 语音 这是一个 ...

  6. minecraft国内的正版服务器,【图片】【Minecraft正版联盟】优秀正版服务器整合【minecraft正版吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 服务器名称:Rev-Craft 北美正版生存服务器 服务器类型:原版公益服 服务器Q群:256836796 服务器介绍: Rev-Craft背景 我接触M ...

  7. ppp协议提供什么服务器,PPP的工作原理是什么?单片机PPP协议有什么应用?

    PPP协议(Point-to-Point Protocol)提供了在串行点对点链路上传输数据报的方法,支持异步8位数据及位导向的同步连接(如ISDN).它提供了一种管理两点间会话的有效方法,正在取代S ...

  8. 计算机网络之数据链路层:17、PPP协议、HDLC协议

    数据链路层:17.PPP协议.DHLC协议 思维导图: 广域网: PPP协议:(点对点协议) PPP协议需要满足的要求: PPP协议需要满足的要求: PPP协议的组成: PPP协议状态图: PPP协议 ...

  9. 广域网技术-PPP协议

    广域网技术-PPP协议 前言 PPP协议 (一)使用PPP协议的目的 (二)PPP协议的优点 (三)PPP架构和报文格式 1.基本架构 2.报文格式 3.PPP基本原理 PPP的建链过程 4.LCP协 ...

最新文章

  1. Java-ORM数据库框架CDM介绍
  2. java fileupload 进度_Java上传文件进度条的实现方法(附demo源码下载)
  3. Sql Server海量数据插入
  4. swiper高度自适应_小程序自定义导航自适应高度
  5. Raft算法和开源实现
  6. VS CRT C标准库函数strrev解析
  7. 信息学奥赛一本通(1219:马走日)
  8. python语言适合哪些领域的计算问题数据处理和文本挖掘_R和Python中文本挖掘8大入门指南...
  9. 关于css的一切(updating...)
  10. 动态规划之背包问题 - 01背包+完全背包+多重背包
  11. Flash之swf文件的加密与破解
  12. TP-LINK无线上网短信Wifi认证配置流程
  13. 支持向量机(SVM)的原理推导及解释
  14. sqlite报错database is locked
  15. 不出门远程控制公司电脑,这7个工具让你不用来回跑。
  16. 5.5 Go语言项目实战:多人聊天室
  17. Auto CAD:CAD绘图设计以项目为导向,实战案例布局作图运用技巧经验总结之详细攻略
  18. IDEA 一直卡在Buil(编译 write classes)报错资源不足
  19. MSDN无法打开的解决办法
  20. Android Webview使用自定义字体加载网页

热门文章

  1. php生成统计图类pchart---中文翻译手册
  2. phpstorm+xdebug远程调试
  3. wlan协议—802.11n—802.11ac 5G和2.4G
  4. CIO Mini MBA 阅读管理书籍
  5. 踏上Oracle ebs的道路
  6. class与subclass分析
  7. Spring项目-在线五子棋
  8. 【RL】3.基于表格方法求解RL
  9. python中function takes exactly_Python error TypeError: function takes exactly 1 argument (5 given)
  10. Git合并单个文件和[y,n,q,a,d,/,K,j,J,g,e,?]