PPP协议详细分析

PPP数据帧的格式

PPP协议也许大家都听说过,可以说现在家里的ADSL都是通过PPP协议进行链

路的搭建,今天就说说PPP到底是个啥东东。

想要了解PPP,个人认为有3个关键的知识点。

1、PPP数据帧的格式;

2、PPP的几种报文;

3、PPP的状态转移

首先说说的PPP数据帧的格式,因为PPP是链路层协议,所以我们将它的数

容易区分出每个PPP帧)

紧接在起始标志字节后的一个字节是地址域,该字节为0xFF。我们熟知网络是分层的,且对等层之间进行相互通信,而下层为上层提供服务。当对等层进行通信时首先需获知对方的地址,而对不同的网络,在数据链路层则表现为需要知道对方的MAC地址、X.121地址、ATM地址等;在网络层则表现为需要知道对方的IP地址、IPX地址等;而在传输层则需要知道对方的协议端口号。例如如果

两个以太网上的主机希望能够通信的话,首先发送端需获知对端的MAC地址。但由于PPP协议是被运用在点对点的链路上的特殊性,它不像广播或多点访问的网络一样,因为点对点的链路就可以唯一标示对方,因此使用PPP协议互连的通信设备的两端无须知道对方的数据链路层地址,所以该字节已无任何意义,按照协议的规定将该字节填充为全1的广播地址。同地址域一样,PPP数据帧的控制域也没有实际意义,按照协议的规定通信双方将该字节的内容填充为0x03。(既

然无意义,就可以随便赋值了吧,呵呵,只要大家都遵守一个标准就行)

就PPP协议本身而言,我们最关心的内容应该是它的协议域和信息域。协议域可用来区分PPP数据帧中信息域所承载的数据报文的内容。协议域的内容必须依据ISO 3309的地址扩展机制所给出的规定。该机制规定协议域所填充的内容必须为奇数,也即是要求低字节的最低位为“1”,高字节的最低位为“0”。如果当发送端发送的PPP数据帧的协议域字段不符合上述规定,则接收端会认为此数据帧是不可识别的,那么接收端会向发送端发送一个Protocol-Reject报文,在该报文尾部将完整地填充被拒绝的报文。

信息域缺省时最大长度不能超过1500字节,其中包括填充域的内容,1500字节大小等于PPP协议中配置参数选项MRU(Maximum Receive Unit)的缺省值,在实际应用当中可根据实际需要进行信息域最大封装长度选项的协商。信息域如果不足1500字节时可被填充,但不是必须的,如果填充则需通信双方的两端能辨认出有用与无用的信息方可正常通信。

协议域和信息域是需要合在一起看的,目前主要用到的协议类型有LCP、NCP 和普通的IP协议,而他们相对应的协议域字段则为0×C021、0×8021和0×0021,可以看到应证了这句话:也即是要求低字节的最低位为“1”,高字节的最低位为“0”。而后面的信息根据不同协议包含了不同的报文内容。

其实这3PPP

状态转移中介绍到,我们可以很容易根据PPP帧的协议域就判断目前处于PPP 的哪个阶段。遇到PPP问题,我们通常通过抓包,然后判断PPP哪个阶段有问题,再进行分析和问题定位。注意一点的就是,NCP不是一种协议,它的全称是网络控制协议,也就是说最后双方都遵循的数据传输协议,可以是IPCP,也可以是IPXCP。

CRC校验域主要是对PPP数据帧传输的正确性进行检测的,当然在数据帧中引入了一些传输的保证机制是好的,但可以反过来说,同样我们会引入更多的开销,这样可能会增加应用层交互的延迟。

最后给大家一个通过Ethereal抓下来的PPP帧,对应上面的说明,看看大家是否可以看懂:

7E FF03C021 01 01 00 17 02 06 00 0A 00 00 05 06 00 0B 42 CB 07 02 08 02 0D 03 067E

1.1 PPP概述

点到点协议(Point to Point Protocol,PPP)是IETF(Internet Engineering Task Force,因特网工程任务组)推出的点到点类型线路的数据链路层协议。它解决了SLIP中的问题,并成为正式的因特网标准。

PPP协议在RFC 1661、RFC 1662和RFC 1663中进行了描述。

PPP支持在各种物理类型的点到点串行线路上传输上层协议报文。PPP有很多丰富的可选特性,如支持多协议、提供可选的身份认证服务、可以以各种方式压缩数据、支持动态地址协商、支持多链路捆绑等等。这些丰富的选项增强了PPP的功能。同时,不论是异步拨号线路还是路由器之间的同步链路均可使用。因此,应用十分广泛。

1 PPP的层次结构

PPP支持各种类型的硬件,包括EIA/TIA 232、EIA/TIA 449、EIA/TIA 530、V.35、V.21等。只要是点到点类型的线路都可以运行PPP。在数据链路层,PPP 通过LCP协议进行链路管理,相当于以太网数据链路层的MAC子层。而在网络层,由NCP为不同的协议提供服务。这里的NCP相当于以太网数据链路层的LLC子层。如图1所示。

图1 PPP的层次结构

2 PPP的功能

PPP主要完成了以下功能:

链路控制

PPP为用户发起呼叫以建立链路;在建立链路时协商参数选择;通信过程中随时测试线路,当线路空闲时释放链路等。PPP中完成上述工作的组件是链路控制协议LCP(Link Control Protocol,LCP)。

网络控制

当LCP将链路建立好了以后,PPP要开始根据不同用户的需要,配置上层协议所需的环境。PPP使用网络控制协议NCP(Network Control Protocol,NCP)来为上层提供服务接口。针对上层不同的协议类型,会使用不同的NCP组件。如对于IP提供IPCP接口,对于IPX提供IPXCP接口,对于APPLETALK提供ATCP 接口等。

1.2 PPP过程

从开始发起呼叫到最终通信完成后释放链路,PPP的工作经历了一系列的过程。下面,是这一过程的描述。

当一个PC终端拨号用户发起一次拨号后,此PC终端首先通过调制解调器呼叫远程访问服务器,如提供拨号服务的路由器。

当路由器上的远程访问模块应答了这个呼叫后,就建立起一个初始的物理连接。

接下来,PC终端和远程访问服务器之间开始传送一系列经过PPP封装的LCP 分组,用于协商选择将要采用的PPP参数。

如果上一步中有一方要求认证,接下来就开始认证过程。如果认证失败,如错误的用户名、密码,则链路被终止,双方负责通信的设备或模块(如用户端的调制解调器或服务器端的远程访问模块)关闭物理链路回到空闲状态。如果认证成功则进行下一步。

在这步骤中,通信双方开始交换一系列的NCP分组来配置网络层。对于上层使用的是IP协议的情形来说,此过程是由IPCP完成的。

当NCP配置完成后,双方的逻辑通信链路就建立好了,双方可以开始在此链路上交换上层数据。

当数据传送完成后,一方会发起断开连接的请求。这时,首先使用NCP来释放网络层的连接,归还IP地址;然后利用LCP来关闭数据链路层连接;最后,双方的通信设备或模块关闭物理链路回到空闲状态。

图2给出了上述过程的示意图。

图2 PPP过程

1.3 PPP帧格式

PPP帧格式以HDLC帧格式为基础,做了很少的改动。二者的主要区别是:PPP是面向字符的,而HDLC是面向位的。PPP在点到点串行线路上使用字符填充技术。所以,所有的帧的大小都是字节的整数倍。

图3中给出了PPP的帧格式。

图3 PPP的帧格式

PPP帧是以标准HDLC标志字节(01111110)开始和结束的。

接下来是地址字段,缺省情况下,被固定设成二进制数11111111,因为点到点线路的一个方向上只有一个接收方。

地址字段后面是控制字段,缺省情况下,被固定设成二进制数00000011。

因为缺省情况下,地址字段、控制字段总是常数。因此,这两部分实际可以省略不要(需要通过LCP进行协商)。

接下来是协议字段。用来标明后面携带的是什么类型的数据。其缺省大小为2个字节。但如果是LCP包,则可以是1字节。

接下来是数据字段。其长度可变,缺省最大长度为1500字节。

接下来是校验和字段,通常情况下是2个字节,但也可以是4字节。

1.4 LCP协商选项

LCP用来在通信链路建立初期,在通信双方之间协议功能选项。表1列出了其中主要的选项。它们是身份验证、压缩、回叫、多链路。

表1 PPP LCP协商选项

除了身份认证方法之外,PPP的LCP还提供了链路压缩、回叫、多链路捆绑等选项。

1 链路压缩

PPP协议运行在速率十分有限的点到点串行链路上。为了提高数据发送效率,可以采用对数据进行压缩后再传送的方法,我们将其称为链路压缩。

LCP支持以下一些链路压缩方法:Stac、Predictor、MPPC以及TCP头部压缩。不同的方法对CPU及内存的需求并不相同。有些需要更多的内存(内存密集型),有些则需要占用更多的CPU时间(CPU密集型)。压缩原理和效果也不相同。

Stac:Stac压缩算法基于Lempel-Ziv理论,它通过查找、替换传送内容中的重复字符串的方法达到压缩数据的目的。使用Stac压缩算法可以选择由各种硬件(适配器、模块等)压缩或者由软件进行压缩,还可以选择压缩的比率。Stac 压缩算法需要占用较多的CPU时间。

MPPC:MPPC是微软的压缩算法实现,它也是基于Lempel-Ziv理论,也需要占用较多的CPU时间。

Predictor:Predictor—预测算法通过检查数据的压缩状态(是否已被压缩过)来决定是否进行压缩。因为,对数据的二次压缩一般不会有更大的压缩率。

相反,有时经过二次压缩的数据反而比一次压缩后的数据更大。Predictor算法需要占用更多的内存。

TCP头部压缩:TCP头部压缩基于Van Jacobson算法,该算法通过删除TCP 头部一些不必要的字节来实现数据压缩的目的。

2 回叫

回叫又称为回拨,是指当通信一方拨号到另一方后,由另一方断开拨号连接并进行反向的拨号。

这对于从甲地到乙地的电话费大于从乙地到甲地的电话费的情形。这时,可以由甲方首先发起到乙方的呼叫连接,当乙方收到甲方的呼叫请求后,断开乙方的呼叫。然后,从乙方发起到甲方的回叫。甲方应答后,双方的通信链路就建立起来了。

回叫还有更安全的优点。因为乙方在回叫之前可以验证对方是否是合法用户,或者可以用口令数据库的方法或者可以用检验对方电话号码的方法。

3 多链路捆绑

LCP的多链路捆绑(MP)选项通过将通信两端之间的多条通信链路捆绑成一条虚拟的链路而达到扩充链路可用带宽的目的。

LCP的多链路捆绑可以在多种类型的物理接口上实现,包括异步串行接口、同步串行接口、ISDN基本速率接口BRI、ISDN主速率接口PRI。LCP的多链路捆绑也支持不同的上层协议封装类型,如X.25、ISDN、帧中继等。

限于篇幅,关于以上LCP协商选项的配置这里就不再详细介绍了。

2 PPP配置(Cisco) 2.1 PPP基本配置 1 封装

对于同步串行接口,默认的封装格式是HDLC(Cisco私有实现)。可以使用命令encapsulation ppp将封装格式改为PPP。如图4所示。

图4 PPP串行封装

当通信双方的某一方封装格式为HDLC,而另一方为PPP时,双方关于封装

协议的协商将失败。此时,此链路处于协议性关闭(protocol down)状态,通信无法进行。如图5所示。

图5 两端路由器串行接口封装格式不一致

这时,在路由器RouterA与路由器RouterB的链路没有成功建立之前,路由器RouterA及RouterB的路由表将为空。

当路由器RouterA的串行接口Serial 0/0又改为封装成PPP协议时,双方的通信将恢复正常。如图6所示,是在路由器RouterA上产生的debug ppp events

的输出。可以发现,成功地安装了此链路的路由条目。同时,系统提示该链路协议被激活,链路可用。

图6 命令debug ppp events的输出

同时,使用show ip route命令可以看到RouterA安装了两条路由条目,一条是到达网络192.168.0.0/24的一条直连路由,另一条是到达主机

192.168.0.2/32的一条直连主机路由。如图7所示。

图7 命令show ip route的输出

当将路由器RouterA的Serial 0/0的封装格式再次改为HDLC时,命令debug ppp events将给出如图8所示的提示信息,提示该链路上的路由条目被删除。同时,系统通告该接口协议性关闭。

图8 命令debug ppp events的输出

同时,debug ppp negotiation的输出也表明了这一点,如图9所示。

图9 命令debug ppp negotiation的输出

2 autoselect

可以配置一个接口根据接收到的字符自动判断远程拨号用户协议类型并调

用相应的处理过程。如图10所示。

图10 autoselect命令过程

例如,如果远程拨号用户使用PPP协议拨入线路,线路将检测到PPP帧的起始字符0x7E(01111110),并调用PPP处理过程。又如,当线路检测到“回车”符后将开始一个Exec会话过程等。

autoselect命令允许线路被设置成可以接受多种类型协议的连接,如PPP、SLIP、ARAP等。以下是Autoselect命令的使用格式。

autoselect [arap|ppp|slip|during-login]

其中,命令中的during-login选项将提示用户输入用户名和口令而不需要按“回车”键(否则,一个会话过程将自动开始而不会给出用户名和口令的提示)。

PPP协议详细分析

PPP数据帧的格式 PPP协议也许大家都听说过,可以说现在家里的ADSL都是通过PPP协议进行链 路的搭建,今天就说说PPP到底是个啥东东。 想要了解PPP,个人认为有3个关键的知识点。 1、PPP数据帧的格式; 2、PPP的几种报文; 3、PPP的状态转移 首先说说的PPP数据帧的格式,因为PPP是链路层协议,所以我们将它的数 容易区分出每个PPP帧) 紧接在起始标志字节后的一个字节是地址域,该字节为0xFF。我们熟知网络是分层的,且对等层之间进行相互通信,而下层为上层提供服务。当对等层进行通信时首先需获知对方的地址,而对不同的网络,在数据链路层则表现为需要知道对方的MAC地址、X.121地址、ATM地址等;在网络层则表现为需要知道对方的IP地址、IPX地址等;而在传输层则需要知道对方的协议端口号。例如如果 两个以太网上的主机希望能够通信的话,首先发送端需获知对端的MAC地址。但由于PPP协议是被运用在点对点的链路上的特殊性,它不像广播或多点访问的网络一样,因为点对点的链路就可以唯一标示对方,因此使用PPP协议互连的通信设备的两端无须知道对方的数据链路层地址,所以该字节已无任何意义,按照协议的规定将该字节填充为全1的广播地址。同地址域一样,PPP数据帧的控制域也没有实际意义,按照协议的规定通信双方将该字节的内容填充为0x03。(既 然无意义,就可以随便赋值了吧,呵呵,只要大家都遵守一个标准就行) 就PPP协议本身而言,我们最关心的内容应该是它的协议域和信息域。协议域可用来区分PPP数据帧中信息域所承载的数据报文的内容。协议域的内容必须依据ISO 3309的地址扩展机制所给出的规定。该机制规定协议域所填充的内容必须为奇数,也即是要求低字节的最低位为“1”,高字节的最低位为“0”。如果当发送端发送的PPP数据帧的协议域字段不符合上述规定,则接收端会认为此数据帧是不可识别的,那么接收端会向发送端发送一个Protocol-Reject报文,在该报文尾部将完整地填充被拒绝的报文。 信息域缺省时最大长度不能超过1500字节,其中包括填充域的内容,1500字节大小等于PPP协议中配置参数选项MRU(Maximum Receive Unit)的缺省值,在实际应用当中可根据实际需要进行信息域最大封装长度选项的协商。信息域如果不足1500字节时可被填充,但不是必须的,如果填充则需通信双方的两端能辨认出有用与无用的信息方可正常通信。 协议域和信息域是需要合在一起看的,目前主要用到的协议类型有LCP、NCP 和普通的IP协议,而他们相对应的协议域字段则为0×C021、0×8021和0×0021,可以看到应证了这句话:也即是要求低字节的最低位为“1”,高字节的最低位为“0”。而后面的信息根据不同协议包含了不同的报文内容。

PPP协议的5种模式

PPP协议的5种模式 对于PPP协议来说,它最为有特点的就是5种不同的状态了。那么对于它的状态和它的应用方面有什么联系呢?这里我们就来详细谈一谈这方面的知识。现在让我们来具体了解一下吧。 首先双方都处于链路不可用阶段,接着会有一方提出链路请求,如果希望通过PPP协议建立点对点的通信,无论哪一端的设备都需发送LCP数据报文来配置链路,一旦LCP的配置参数选项协商完后,通信的双方就会根据LCP配置请求报文中所协商的认证配置参数选项来决定链路两端设备所采用的认证方式。协议缺省情况下双方是不进行认证的,而直接进入到NCP配置参数选项的协商,直至所经历的几个配置过程全部完成后,点对点的双方就可以开始通过已建立好的链路进行网络层数据报文的传送了,整个链路就处于可用状态。只有当任何一端收到LCP或NCP的链路关闭报文时(一般而言协议是不要求NCP有关闭链路的能力的,因此通常情况下关闭链路的数据报文是在LCP协商阶段或应用程序会话阶段发出的);物理层无法检测到载波或管理人员对该链路进行关闭操作,都会将该条链路断开,从而终止PPP 会话。 以下是PPP协议整个链路过程需经历阶段的状态转移说明:在点对点链路的配置、维护和终止过程中,PPP需经历以下几个阶段: 链路不可用阶段。有时也称为物理层不可用阶段,PPP链路都需从这个阶段开始和结束。(即使双方已经有物理连接,但没有激活PPP,也可以算不可用阶段)当通信双方的两端检测到物理线路激活(通常是检测到链路上有载波信号)时,就会从当前这个阶段跃迁至下一个阶段(即链路建立阶段)。先简单提一下链路建立阶段,在这个阶段主要是通过LCP协议(需要在PPP帧的协议域内填充C021)进行链路参数的配置,LCP在此阶段的状态机也会根据不同的事件发生变化。当处于在链路不可用阶段时,LCP的状态机是处于initial(初始化状态)或starting(准备启动状态),一旦检测到物理线路可用,则LCP的状态机就要发生改变。当然链路被断开后也同样会返回到这个阶段,往往在实际过程中这个阶段所停留的时间是很短的,仅仅是检测到对方设备的存在。 链路建立阶段。是PPP协议最关键和最复杂的阶段。这是在数据链路层进行。该阶段主要是发送一些配置报文来配置数据链路,这些配置的参数不包括网络层协议所需的参数。当完成数据报文的交换后,则会继续向下一个阶段跃迁,该下一个阶段既可是验证阶段,也可是网络层协议阶段,下一阶段的选择是依据链路两端的设备配置的(通常是由用户来配置,但对NAS或BAS设备(这些设备主要是用来进行3A:认证、授权和计费)的PPP模块缺省就需要支持PAP或CHAP中的一种认证方式)。在此阶段LCP的状态机会发生两次改变,前面我们说了当链路处于不可用阶段时,此时LCP的状态机处于initial或starting,当检

H3C路由器ppp协议配置

一、实验原理、目的和要求 概念:PPP(Point_to_Point Protocol)协议是在点到点链路上承载网络层数据包的一种链路层协议,由于它能够提供用户验证,且易于扩充、支持同/异步物理链路,因厕而获得广泛的应用;FR(帧中继技术)是数据链路层简化的方法转发和交换数据单元的快速分组交换技术,帧中继采用虚电路技术,能充分利用网络资源,具有知吐量高、延时短、适合突发性业务等特点。 目的:通过教学要求学生掌握ppp(点对点链路)和FR(帧中继)概念、学会封装链路层协议为PPP、并启用PAP或CHAP验证和帧中继封装。 要求:学会封装链路层协议为PPP、并启用PAP或CHAP验证和帧中继封装。 二、重点和难点 重点:正确理解ppp(点对点链路)和FR(帧中继)概念、学会封装链路层协议为PPP、并启用PAP或CHAP验证和帧中继封装。 难点:封装链路层协议为PPP、并启用PAP或CHAP验证和帧中继封装。 三、网络拓扑图

四、远程登录网络设备的流程图 五、配置步骤 (一)配置各 PC 的 IP 地址 首先按照上图连接各实验设备,然后配置计算机名称 IP 地址子网掩码 PC1 193.1.1.2 255.255.255.0 PC2 193.1.3.2 255.255.255.0 (二)配置路由器端口的 IP 地址

配置路由器Route_A IP 地址子网掩码 Ethernet 0/0 193.1.1.1 255.255.255.0 Serial 1/0 192.1.2.254 255.255.255.0 配置路由器Route_B Ethernet 0/0 193.1.3.1 255.255.255.0 Serial 1/0 192.1.2.1 255.255.255.0 (三)配置参考 (一)PPP 验证配置 1、配置端口 IP 地址 (1)配置路由器Route_A < H3C> 启动进入状态,用户视图 system-view 进入系统视图 [H3C]sysname Route_A 修改交换机名称Route_A [Route_A]interface Ethernet 0/0 进入以太网 0/0 端口视图 [Route_A-Ethernet0/0]ip add 193.1.1.1 255.255.255.0 配置 IP 地址为 193.1.1.1,子网掩码为 255.255.255.0 [Route_A-Ethernet0/0]quit 返回系统视图 [Route_A]interface Serial 1/0 设置进入串口 1/0 视图 [Route_A-Serial1/0]ip add 192.1.2.254 255.255.255.0 配置 IP 地址为 192.1.2.254,子网掩码为 255.255.255.0

详解PPP及PPPoE协议,文章写得通俗易懂

PPP(Point-to-Point Protocol点到点协议),一种二层协议,通常部署在专线网和按需电路网上面,PPP 有很多丰富的可选特性,如支持多协议、提供可选的身份认证服务、可以以各种方式压缩数据、支持动态地址协商、支持多链路捆绑等等。这些丰富的选项增强了PPP的功能。同时,不论是异步拨号线路还是路由器之间的同步链路均可使用。因此,应用十分广泛 当然,在专线网上我们也可以使用HDLC二层协议,但用的并不多,原因有三: 1.不支持验证,一层通二层就通 2.不支持多种上层协议(ip/ipx/appletalk等),而PPP帧中专门有一个字段用来标示上层协议类型 3.HDLC协议为厂商私有协议,各个厂商互不兼容,但HDLC是cisco产品的默认广域网封装方式, 要使用PPP协议需要encapsulation ppp 命令改变接口封装协议 我们家庭拨号上网就是通过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协议和以太网上的PPPoE协议为例,详细介绍它们的工作原理、验证过程及其配置方法 一、点到点专线上的PPP协议 PPP特性有很多,但主要的特性是具备验证技术,所以在此我们主要是讨论PPP的验证。PPP的验证方式分为两种:PAP和CHAP PAP( 密码验证协议):客户端向服务器端发送验证信息,包含用户名和密码。如果用户名和密码与服务器里保存的一致,那就通过验证,否则就不能通过(通过两次握手)。 CHAP(挑战握手验证协议):CHAP首先是由服务器发起的,它向客户端发送含有random值(随机生成)、id号、用户名和密码的数据,客户端收到数据后提取random、id和用户所对应的密码使用MD5算法进行哈希(hash)得到hash值。然后再把自己保存的用户名连同id和刚得到的hash值一起发送给服务器。服务器再收到数据后也进行以上操作得到hash值,再把算得的hash值与从客户端得到的hash 值进行比较:两值相同服务器就发送一个通过的信息;两值不同服务器就发送一个拒绝的信息。可以看出,CHAP在整个验证过程中是不发送密码的,所以是一种安全的认证。 好的,下面我们就以实例来演示PAP和CHAP的配置过程 1、实验拓朴 2、配置步骤 首先我们来做个PAP认证

计算机网络原理 PPP协议

计算机网络原理PPP协议 为了解决SLIP存在的的问题,Internet IETF成立了一个组制定(point-to-point protocol, PPP)协议。该协议文本描述于RFC1661,以及改进后的文本RFC1662,RFC1663。PPP能支持差错检测,支持各种协议,在连接时IP地址可赋值,具有身份验证功能,以及很多对SLIP 的改进功能。虽然目前很多Internet服务提供者ISP同时支持SLIP和PPP这两种协议,但从今后发展看,很明显PPP是主流,它不仅适用于拨号用户,且适用于租用的路由器对路由器线路。 PPP是个协议簇,它由以下三个部分组成: (1)在串行链路上封装IP数据报的方法:PPP既支持异步链路(无奇偶校验的8比特数据),也支持面向比特的同步链路。 (2)链路控制协议(link control protocol, LCP)用于启动线路、测试、任选功能的协商以及关闭连接。 (3)网络层任选功能的协商方法独立于使用的网络层协议,因此可适用于不同的网络控制协议(network control protocol, NCP)。 1.PPP协议基本特点 (1)PPP是个直接互连两个设备的点到点的链路协议,可以配置和自动封装多种网络层协议。 (2)PPP能对任何属于物理层的DTE/DCE接口进行操作。这些接口包括:EIA/TIA的RS232/RS422/RS423和ITU-T的V.35。 (3)PPP的链路可以是专线方式或交换方式,但必须是全双工的。 (4)PPP可支持同步串行模式,也可支持异步串行模式,或同时支持两者。 (5)PPP对数据传输的速率没有任何限制。可在电话线上进行低速传输,也可使用T1/E1作为点到点链路介质。 T1的传输速率为1.544Mbit/s;在欧洲把T1称为E1,E1的传输速率为2.048Mbit/s。 为了使用T1/E1需在路由器/主机处连入DSU/CSU设备,DSU/CSU设备为在广域网链路上传输进行编码。 PPP的帧格式很像HDLC的帧格式。PPP和HDLC的主要区别是:PPP是面向字符的,而不是面向位的。PPP在拨号调制解调器线路上使用字符填充技术,所以所有的帧都是字节的整数。PPP帧不仅能够通过拨号电话线发送出去,而且还能够通过真正的面向位的HDLC线路(即路由器与路由器相连)发送出去。 计算机网络原理点对点的PPP协议 为了改进SLIP的缺点,人们制订了点对点协议(point-to-point protocol,PPP),它所起的作用与OSI/RM中的数据链路层一致,可以完成链路的操作、维护和管理功能。并且支持任何种类的DTE-DCE接口(包括EIA RS-232、EIA-449与ITU-TV.35)。运行PPP协议只需要提供全双工的电路(专用的或者交换式的)以实现双向的数据传输,它对数据传输速率没有太严格的限制,所以能适用于多种远程接入的情形。PPP灵活的选项配置、多协议的封闭机制、良好的选项协商机制以及丰富的认证协议,使得它在远程接入技术中得到了广泛的应用。 1.PPP协议的构成 PPP由以下三个部分组成: (1)在串行链路上封装IP数据报的方法:PPP既支持异步链路(无奇偶校验的8比特数据),也支持面向比特的同步链路。

PPP协议的配置与认证的课程设计

PPP协议的配置与认证 摘要本课程设计主要是利用Boson模拟器Netsim搭建一个网络模拟环境,在此环境中建立一个的路由器的拓扑网,并对路由器进行PPP协议配置,待所有的路由器配置好后,利用PAP和CHAP对路由器进行认证,并分别对其进行测试。根据认证和测试结果来分析该PPP协议的配置和认证的正确性。若使用Ping命令后两者是连通的说明该配置和认证是成功的。 关键词BosonNetsim;网络仿真;PPP协议;PAP认证;CHAP认证 1 引言 广域网协议指Internet上负责路由器与路由器之间连接的数据链路层协议。而常用的广域网有点对点的协议、高级数据链路控制协议、帧中继交换网、同步数据链路控制(SDLC)协议。点对点协议(PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP 最初设计是为两个对等节点之间的IP 流量传输提供一种封装协议。在TCP-IP 协议集中它是一种用来同步调制连接的数据链路层协议(OSI 模式中的第二层),替代了原来非标准的第二层协议,即SLIP。除了IP 以外PPP 还可以携带其它协议,包括DECnet 和Novell 的Internet 网包交换(IPX)。本课程设计是搭建一个模拟环境,并在路由器上进行PPP配置,用PAP和CHAP对其进行认证和测试。 1.1课程设计的背景和目的 计算机网络课程设计是《计算机网络》理论课的辅助环节。PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配 等。家庭拨号上网就是通过PPP在用户端和运营商的接入服务器之间建立通信链路。目前,宽带接入正在成为取代拨号上网的趋势,在宽带接入技术日新月异的今天,PPP

一CISCO路由器ppp协议配置和认证

路由器ppp协议配置和认证: Router 0 的配置: --- System Configuration Dialog --- Continue with configuration dialog? [yes/no]: no Press RETURN to get started! Router>en Router>enable Router#conf Router#configure Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#int Router(config)#interface f Router(config)#interface fastEthernet 0/0 Router(config-if)#ip add Router(config-if)#ip address 2.2.2.1 255.0.0.0 Router(config-if)#no shut Router(config-if)#no shutdown %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up Router(config-if)#exit Router(config)#int Router(config)#interface s Router(config)#interface serial 0/0 Router(config-if)#ip add

PPP协议规范

PPP协议规范 1 介绍 PPP是为在同等单元之间传输数据包如此的简单的链路而设计的。这种链路提供全双工操作,并按照顺序传递数据包。(人们)有意让PPP为基于各种主机、网桥和路由器的简单连接提供一种共通的解决方案。 封装: PPP封装提供了不同网络层协议同时通过统一链路的多路技术。精心的设计PPP封装,使其保有对常用支持硬件的兼容性。当使用默认的类HDLC帧(HDLC-like framing)时,仅需要8个额外的字节,就能够形成封装。在带宽需要付费时,封装和帧能够减少到2或4个字节。为了支持高速的执行,默认的封装只使用简单的字段,多路分解只需要对其中的一个字段进行检验。默认的头和信息字段落在32-bit边界上,尾字节能够被填补到任意的边界。

链路操纵协议(LCP): 为了在一个专门宽广的环境内能足够方便的使用,PPP提供了LCP。LCP用于就封装格式选项自动的达成一致,处理数据包大小的变化,探测looped-back链路和其他一般的配置错误,以及终止链路。提供的其他可选设备有:对链路中同等单元标识的认证,和当链路功能正常或链路失败时的决定。 网络操纵协议: 点对点连接可能和当前的一族网络协议产生许多问题。例如,基于电路交换的点对点连接(比如拨号模式服务),分配和治理IP地址,即使在LAN环境中,也特不困难。这些问题由一族网络操纵协议(NCP)来处理,每一个协议治理着各自的网络层协议的专门需求。 配置: 有意使PPP链路专门容易配置。通过设计,标准的默认值处理全部的配置。执行者能够对默认配置进行改进,它被自动的通知给其同

等单元而无需操作员的干涉。最终,操作员能够明确的为链路设定选项,以便其正常工作。 2 PPP封装 PPP封装用于消除多协议datagrams的歧义。封装需要帧同步以确定封装的开始和结束。提供帧同步的方法在参考文档中。 PPP封装的概要如下所示。字段的传输从左到右。 协议字段: 协议字段由一个或两个字节组成。它的值标识着压缩在packet的信息字段里的datagram。字段中最有意义位(最高位)被首先传输。该字段结构与ISO 3309地址字段扩充机制相一致。该字段必须是奇数:最轻意义字 节的最轻意义位(最低位)必须等于1。另外,字段必须被赋值,以便最有意义字节的最轻意义位为0。收到的不符合这些规则的frames,必须被视为带有不被承认的协议。

PPP协议简介

第一章PPP协议简介: 1.1.1PPP封装 PPP封装格式如下,其在链路上从左传至右 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.2PPP链路操作 可将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

PPP-PAP-CHAP-封装协议-配置命令

通过独臂路由实现Vlan之间互访(实验成功) 一、实验目的 1、理解路由器以太网端口的特殊连网方式。 2、进一步理解IEEE802.1q封装过程。 二、应用环境: 路由器以太网端口直连多个二层交换机,并划分多个VLAN,为了实现外网的互相通信。 三、实验设备 1、1702路由器一台或2631路由器一台。 2、DCS二层交换机一台 3、直通双绞线3条 四、实验拓扑 五、实验要求 1、交换机划分为VLAN10和VLAN20,端口1-8和9-16分别属于VLAN10和VLAN20,24口为trunk端口。 2、路由器f0/0与交换机24口连接,打封装。 六、实验步骤: 1、交换机配置: Switch(conifg)#vlan 10 Switch(conifg-Vlan10)#switchport interface Ethernet 0/0/1-8 Switch(conifg)#vlan 20 Switch(conifg-Vlan20)#switchport interface Ethernet 0/0/9-16 Switch(conifg)#interface ehternet 0/0/24 Switch(conifg-ethernet0/0/24)#switchport mode trunk 2、DCR2631 配置 Router_config#interface f0/0.1

Router_config_f0/0.1#encapsulation dot1q 100 Router_config_f0/0.1#ip address 192.168.100.1 Router_config#interface f0/0.2 Router_config_f0/0.1#encapsulation dot1q 200 Router_config_f0/0.1#ip address 192.168.200.1 七、注意事项和排错 1、f0/0已作为二层链路通道存大,不是三层接口。 路由器广域网HDLC封装配置 一、实验目的 1、掌握广域网HDLC封装配置 2、理解DCE和DTE的区别 3、理解封装匹配 二、应用环境: 企业环境中异地互连通经过第三方的网络,本实验模拟广域网的互连 三、实验设备 1、1702路由器一台和2631路由器一台。 2、CR-V35MT线一条 3、CR-V35FC线一条 四、实验拓扑

cisco PPP协议

实验四PPP的PAP和CHAP认证 1、实验目的 掌握PPP PAP认证和PPP CHAP认证的过程及配置。 2、实验内容 (1)在路由器上配置PPP PAP认证; (2)在路由器上配置PPP CHAP认证。 3、实验要求 (1)写出在路由器上配置PPP PAP认证的过程; (2)写出在路由器上配置PPP CHAP认证的过程 4、实验拓扑 5、实验步骤 一、PPP PAP认证 本实验要求配置路由器R1和路由器R2双向PAP验证 (1)配置两台路由器 R1(config)#username R2 password cisco//以对方的主机名作为用户名,密码和对方路由器一致,在验证方配置被验证方用户名密码 R1(config)#int loop0 R1(config-if)#ip add 1.1.1.1 255.255.255.0 R1(config)#int s1/0 R1(config-if)#ip add 192.168.1.1 255.255.255.0 R1(config-if)#encapsulation ppp //接口下封装数据链路层PPP协议 R1(config-if)#ppp authentication pap //PPP启用PAP认证方式 R1(config-if)#ppp pap sent-username R1 password cisco//PAP认证的用户名、密码R1(config-if)#no sh R2参考R1配置 (2)实验调试 R1#debug ppp authentication //打开PPP认证调试 R1(config)#int s1/0 R1(config-if)#shutdown

关于PPP_Multilink协议及E1专线调试报告

关于PPP Multilink协议的配置 PPP Multilink协议(MP)是PPP(点对点协议)的扩展,它具有绑定两条或多条同步并 连接的能力。所产生的虚拟连接拥有的带宽等于各条独立连接的带宽的总和。 PPP包含有用来重组和排序的信息。 MP在需要时可以把包切割成碎片(fragment)以符合MTU(最大传输单元)的值,或者也可选择把整个包发送到可用的链路上。MP沿着首选的可用链路传输每一个单独的包或碎片,附带有额外的信息,以使接受端可以把这些碎片重新组合成单个包,再进行路由转发。MP是包含绑定的带宽整合的一种形式,它是RFC 1990.MP所定义的非专有TCP/IP标准的一个组成部分。 工作原理 PPP Multilink把单个PPP连接分割为两条独立的物理链路,然后以正确的顺序重新组合它们。要实现这一点的话必须在链路的两端都有一个遵从MP协议的硬件设备或软件程序。MP是这样来执行以上功能的: l 源端的MP收到数据包 l 把它们切割成碎片(可选) l 决定下一条可用的链路 l 添加一个包含顺序号和其它信息的PPP Multilink包头 l 把数据包或碎片转发到可用的链路上 l 接受端的MP收到数据包或数据包碎片 l 移去MP包头 l 重新把碎片组合成完整的包 l 转发数据包到相应的IP地址 结果是,不管这些链路在容量上有多大的差别,也不管可用带宽浮动得多么厉害,也能在可用的链路上平滑地分配流量。 主要优势 PPP Multilink的主要优势在于:它是公开的标准,因此至少在理论上提供了跨厂商的协同工作能力和兼容性。甚至对于单条TCP/IP连接也同样具有优势,例如一个FTP下载,就能够从多链路中得到好处。假如你透过绑定两条链路的一个PPP Multilink连接下载一个文件,下载的速度将会快两倍。不管是FTP客户端还是服务器端都不会知道中间是一个多链路的连接。简单来说,由于PPP Multilink是透明的协议,任何在主机和客户端之间使用单连接的协议,例如终端仿真,都将从多链路所提供的带宽整合中得益。 使用2个E1捆绑实现4M的数据传输,我把文档写出来供大家参考能有错误的地方。 某项目部内网实施 调试报告

实验一 点到点协议PPP

实验一点到点协议PPP 实验目的 1.理解PPP协议的工作原理及作用。 2.练习PPP,CHAP的配置。 3.验证PPP,CHAP的工作原理。 实验环境 1.安装Windows操作系统的PC计算机。 2.Boson NetSim模拟仿真软件。 实验原理 点对点协议(Point-to-Point Protocol, PPP)是一个工作在数据链路层的广域网协议。它为路由器到路由器、主机到网络之间使用串行接口、通过同步链路或异步链路进行连接提供了OSI第二层的服务。例如利用Modem进行拨号上网就是使用PPP在异步链路上实现连接的功能(同步传输与异步传输是串行传输的两种不同方式。在路由器上,通常既提供同步传输的串行口如Serial接口,也提供异步传输口如AUX口与Console口)。 PPP由因特网工程任务组(Internet Engeineering Task Force,IETF)开发,目前已被广泛使用并成为国际标准。PPP作为第二层的协议,在物理上可使用各种不同的传输介质,包括双绞线、光纤及无线传输介质;对网络层协议的支持包括多种不同的主流协议,如IP和IPX等。从这个意义上讲,有时可以将PPP视为TCP/IP 协议族的一部分。 PPP的基本组件除了用于点对点链路的数据帧封装格式外,还包括了LCP与NCP协议。链路控制协议(Link Control Protocol, LCP)用于数据链路连接的建立、配置与测试,网络控制协议(Network Control Protocol, NCP)则是一组用于为不同的网络层协议建立支持和配置的协议,包括IPCP,IPXCP和BCP等。 PPP的连接一般要经历链路建立、链路质量协商、网络层协议选择和链路拆除4个阶段。在链路建立阶段主要是通过发送LCP帧来对链路进行相关的配置,包括数据的最大传输单元、是否采用PPP的压缩、PPP的认证方式等;链路质量协商阶段作为一个可选的阶段主要用于对链路质量进行测试,以确定其能否为上层所选定的网络协议提供足够的支持。另外,若连接双方要求采用安全认证,则也在该阶段按所选定的认证方式进行相应的身份认证;在网络层协议这个阶段通过发送NCP包来选择网络层协议并进行相应的配置,不同的网络层协议要分别进行配置;在第三个阶段完成后,即可在所建立的PPP链路上进行数据传输。任何时候只要用户请求或者由于链路故障,PPP的连接都会被终止。 尽管PPP的验证是一个可选项,但一旦选择了采用身份认证,则其必在网络协议分阶段之前进行。有两种类型的PPP验证,即口令认证协议(Password

相关主题
相关文档
最新文档