ppp协议解析一

小僧的功课 小僧的功课     2022-09-21     285

关键词:

转:http://blog.csdn.net/yangzheng_yz/article/details/11526475

在网上搜集了一些有关PPP的资料,整理了一下,不能说是原创,仅供大家学习研究。
 
PPP(Point-to-Point Protocol点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。
 
PPP的特点:1)明确地划分出一帧的尾部和下一帧的头部的成帧方式,这种帧格式也处理错误检测工作  2)PPP帧不仅能通过拨号电话线发送出去,而且还能通过SONET或真正面向位的HDLC线路(即路由器与路由器相连)发送出去。
 
PPP协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题。具体包含这样几个部分:链路控制协议LCP(Link Control Protocol);网络控制协议NCP(Network Control Protocol);认证协议,最常用的包括口令验证协议PAP(Password Authentication Protocol)和挑战握手验证协议CHAP(Challenge-Handshake Authentication Protocol)。
 
LCP负责创建,维护或终止一次物理连接。NCP是一族协议,负责解决物理连接上运行什么网络协议,以及解决上层网络协议发生的问题。PPP拥有一个将IP数据报封到串行链路的能力,既支持异步链路(无奇偶校验的8比特数据),也支持面向比特的同步链路。
 
PPP帧格式和HDLC帧格式相似,二者主要区别在于:PPP是面向字符的,而HDLC是面向位的。PPP帧中地址字段和控制字段都是固定不变的,分别为0xFF、0x03。由于PPP协议不面向比特,因而所有的PPP帧长度都是整数个字节。与HDLC不同的是多了2个字节的协议字段。协议字段不同,后面的信息字段类型就不同。如:

0x0021——信息字段是IP数据报
0xC021——信息字段是链路控制数据LCP
0x8021——信息字段是网络控制数据NCP
0xC023——信息字段是安全性认证PAP
0xC025——信息字段是LQR
0xC223——信息字段是安全性认证CHAP

当信息字段中出现和标志字段一样的比特0x7E时,就必须采取一些措施。因PPP协议是面向字符型的,所以它不能采用HDLC所使用的零比特插入法,而是使用一种特殊的字符填充。具体的做法是将信息字段中出现的每一个0x7E字节转变成2字节序列(0x7D,0x5E)。若信息字段中出现一个0x7D的字节,则将其转变成2字节序列(0x7D,0x5D)。若信息字段中出现ASCII码的控制字符,则在该字符前面要加入一个0x7D字节。这样做的目的是防止这些表面上的ASCII码控制字符被错误地解释为控制字符。
 
典型的链路建立过程分为三个阶段:创建阶段、认证阶段和网络协商阶段。
 
阶段1:创建PPP链路
 
LCP负责创建链路。在这个阶段,将对基本的通讯方式进行选择。链路两端设备通过LCP向对方发送配置信息报文(Configure Packets)。一旦一个配置成功信息包(Configure-Ack packet)被发送且被接收,就完成了交换,进入了LCP开启状态。应当注意,在链路创建阶段,只是对验证协议进行选择,用户验证将在第2阶段实现。

阶段2:用户验证
 
在这个阶段,客户端会将自己的身份发送给远端的接入服务器。该阶段使用一种安全验证方式避免第三方窃取数据或冒充远程客户接管与客户端的连接。在认证完成之前,禁止从认证阶段前进到网络层协议阶段。如果认证失败,认证者应该跃迁到链路终止阶段。
 
在这一阶段里,只有链路控制协议、认证协议,和链路质量监视协议的packets是被允许的。在该阶段里接收到的其他的packets必须被静静的丢弃。
 
最常用的认证协议有口令验证协议(PAP)和挑战握手验证协议(CHAP)。 
 
阶段3:调用网络层协议

认证阶段完成之后,PPP将调用在链路创建阶段(阶段1)选定的各种网络控制协议(NCP)。选定的NCP解决PPP链路之上的高层协议问题,例如,在该阶段IP控制协议(IPCP)可以向拨入用户分配动态地址。这样,经过三个阶段以后,一条完整的PPP链路就建立起来了。
 
PPP认证方式
 
1)口令验证协议(PAP)
 
PAP是一种简单的明文验证方式。NAS(网络接入服务器,Network Access Server)要求用户提供用户名和口令,PAP以明文方式返回用户信息。很明显,这种验证方式的安全性较差,第三方可以很容易的获取被传送的用户名和口令,并利用这些信息与NAS建立连接获取NAS提供的所有资源。所以,一旦用户密码被第三方窃取,PAP无法提供避免受到第三方攻击的保障措施。
 
2)挑战-握手验证协议(CHAP)
 
CHAP是一种加密的验证方式,能够避免建立连接时传送用户的真实密码。NAS向远程用户发送一个挑战口令(challenge),其中包括会话ID和一个任意生成的挑战字串(arbitrary challengestring)。远程客户必须使用MD5单向哈希算法(one-way hashing algorithm)返回用户名和加密的挑战口令,会话ID以及用户口令,其中用户名以非哈希方式发送。
 
CHAP对PAP进行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密。因为服务器端存有客户的明文口令,所以服务器可以重复客户端进行的操作,并将结果与用户返回的口令进行对照。CHAP为每一次验证任意生成一个挑战字串来防止受到再现攻击(replay attack)。在整个连接过程中,CHAP将不定时的向客户端重复发送挑战口令,从而避免第3方冒充远程客户(remote client impersonation)进行攻击。
 
PPP协议的应用
 
PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。
 
家庭拨号上网就是通过PPP在用户端和运营商的接入服务器之间建立通信链路。 目前,宽带接入正在成为取代拨号上网的趋势,在宽带接入技术日新月异的今天,PPP也衍生出新的应用。典型的应用是在ADSL(非对称数据用户环线,Asymmetrical Digital Subscriber Loop)接入方式当中,PPP与其他的协议共同派生出了符合宽带接入要求的新的协议,如PPPoE(PPP over Ethernet),PPPoA(PPP over ATM)。
 
利用以太网(Ethernet)资源,在以太网上运行PPP来进行用户认证接入的方式称为PPPoE。PPPoE即保护了用户方的以太网资源,又完成了ADSL的接入要求,是目前ADSL接入方式中应用最广泛的技术标准。
 
同样,在ATM(异步传输模式,Asynchronous Transfer Mode)网络上运行PPP协议来管理用户认证的方式称为PPPoA。它与PPPoE的原理相同,作用相同;不同的是它是在ATM网络上,而PPPoE是在以太网网络上运行,所以要分别适应ATM标准和以太网标准。

ppp点对点协议

一、PPP概述1)PPP基本概念PPP(PointtoPointProtocol)点对点协议,是提供在点到点链路上传递、封装网络层数据包的一种数据链路层协议PPP处于OSI参考模型的数据链路层,主要用于支持全双工的同异步链路上,进行点到点之间的数据... 查看详情

ppp协议的概念

点对点协议(PointtoPointProtocol,PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP最初设计是为两个对等节点之间的IP流量传输提供一种封装协议。在TCP-IP协议集中它是一种用来同步调制连接的数据链路层协议(OS... 查看详情

ppp协议

PPP协议简介  点到点协议(Point-to-PointProtocol,PPP)提供了一种在点到点链路上封装网络层协议信息的标准方法。PPP最初设计是为两个对等节点之间的IP流量传输提供一种封装协议,在TCP-IP协议集中它是一种用来同步调制连接的... 查看详情

ppp方式是何种上网方式?

...是什么呀?首先要明确什么是PPP?PPP的中文翻译是点对点协议。PPP是一种明文认证方式具体的含义是“在点对点连接上传输多协议数据包提供了一个标准方法。PPP最初设计是为两个对等节点之间的IP流量传输提供一种封装协议。... 查看详情

数据链路层-第五节:点对点协议ppp(代码片段)

...科大教书匠计算机网络笔记导航文章目录一:点对点协议(PPP)概述二:PPP协议组成部分三:PPP协议帧格式四:PPP协议的透明传输(1)字节填充法(2)比特填充法五:PPP协议的差错检测... 查看详情

ppp协议是什么

PPP(点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网... 查看详情

配置ppp封装和认证(代码片段)

ppp点对点协议(PointtoPointProtocol,PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP最初设计是为两个对等节点之间的IP流量传输提供一种封装协议。在TCP-IP协议集中它是一种用来同步调制连接的数据链路层协议... 查看详情

12ppp和hdlc

...文的方法2.   LCP(linkcontrolprotocals):链路控制协议来配置和测试数据通信链路,协商PPP协议的配置参数。3.   NCP(networkcontrolprotocals):根据不同的网络层协议可提供一簇网络控制协议(tcp 查看详情

配置交换机和路由器中的ppp协议是啥意思

1.PPP协议是点到点协议,是用于连接到广域网的协议。2.连接到点到点还可以用帧中继和HDLC等3.ppp还可已使用pap和chap认证方式。分别是2次握手和3次握手方式chap比较安全。他不传输明文密码。参考技术APPP是一种得到广泛应用的广... 查看详情

数据链路层点对点协议ppp

点对点协议PPP一、PPP协议应满足的需求简单。提供不可靠的数据报服务,比IP协议简单,不需要纠错,不需要序号,不需要流量控制。工作方式:接收方每收到一个帧就进行CRC校验,如正确就接受该帧,如错误就丢弃该帧,其他... 查看详情

如何验证ppp协议

...做的公司总部路由器与分部路由器上面的配置,具体的PPP协议都配置过,但是不知道如何验证。使用showinterface端口号,显示配置已启动;使用debugpppauthentication,显示pppauthenticationdebuggingison求教.........1、第一步RA与RB互相进行连... 查看详情

计算机网络王道考研2021第三章:数据链路层--ppp协议&hdlc协议(这2个协议常用于广域网当中)

1.PPP协议&高级数据链路控制协议(HDLC协议)1.1广域网1.2PPP协议的特点1.2PPP协议应满足的要求1.3PPP协议无需满足的要求纠错流量控制序号不支持多点线路1.4PPP协议的三个组成部分1.5PPP协议的状态图1.6PPP协议的帧格式1.7HDL... 查看详情

ppp协议(代码片段)

PPP协议点到点的协议(PointtoPointprotocol,PPP)是IEFI(InternetENgineeringTaskFoerce,英特网工程任务组)突出的点到点类型线路的数据链路层协议。它解决了SLIP中的问题,并成为正式的英特网标准PPP协议在RFC1661、RFC1662和RFC1663中进行了... 查看详情

计算机网络(谢希仁第七版)第三章(数据链路层)--3.2点对点协议ppp(ppp协议的特点&ppp协议的帧格式&ppp协议的工作状态)

1.点对点协议PPP1.1PPP协议的特点我们知道,互联网用户通常都要连接到某个ISP才能接入到互联网。PPP协议就是用户计算机和ISP(互联网服务提供者)进行通信时所使用的数据链路层协议。1.1.1PPP协议应满足的需求支持... 查看详情

ppp协议

PPP协议帧格式PPP数据帧格式如下所示:7EFF03   7E标志地址控制协议域信息域校验标志1B1B1B2B缺省1500B2B1B每个PPP数据帧都是以一个标志字节开始和结束的,该字节为0x7E.接下来分别为地址域,值固定位0xFF(因为点对点协... 查看详情

ppp(p2p)协议

P2P协议(PPP)。常见的P2P应用,还记得我们的快播吗? P2P是一类允许一组用户互相连接并直接從用户硬盘上获取文件的网络。P2P应用可以通过网络在用户间分享文件。P2P网络通过连接个人电脑分享文件而不是通过中央服务器... 查看详情

ppp协议

PPP协议是计算机用户和ISP进行通信所使用的数据链路层协议  PPP协议的要求:  ?     简单:接收端每接收一个帧进行CRC 检验,正确就接收,错误则丢弃  ?     封装成帧  ?    ... 查看详情

数据链路层

...信道的数据链路层 数据链路和帧 三个基本问题2-点对点协议PPP PPP协议的特点 PPP协议的帧格式 PPP协议的工作状态3-使用广播信道的数据链路层 局域网的数据链路层 CSMA/CD协议4-使用广播信道的以太网使用集线器的星形拓扑以... 查看详情