本博文出自51CTO博客赵玉强,有任何问题请进入博主页面互动讨论!
博文地址:http://zhaoyuqiang.blog.51cto.com/6328846/1570684
PPP协议的组成
● 数据链路层协议可以用于异步串行或同步串行介质
● 使用LCP建立并维护数据链路连接
● NCP允许在点到点连接上使用多种网路层协议,如:
● IP、IPX、AppleTalk等。
如果拨号身份验证成功了,则LCP负责建立数据链路,当LCP建立好了链路后,那么NCP就可以通了 ,NCP就分配一个IP给我们上网。
使用场合
用户通过拨号连入ISP(电信、联通),点对点的。ISP给用户分配IP地址。PPP协议作用于之间,为用户和ISP提供规则:在连上网线的基础上还需要遵守拨号和利用IP地址才能上网的规则。
PPP能够计费,能够显示上网时间和上网流量等等
PPP协议帧的格式
PPP协议是面向字节的,所以PPP帧的长度都是整字节数
● PPP议应该满足的要求:
简单:对帧不需要纠错,不需要流量控制,在接收方收到帧后用CRC检测,正确接收,错误就丢弃
多种网络层协议:能够支持多种高层协议的运行,比如IP协议等。
多种类型链路:支持在光线等不同物理链路。
差错检测:能够利用CRC进行差错检测。
检测连接状态:当拨号密码错误、连接错误时,PPP协议会提示错误信息。
***传送单元: 一般要传输的数据不能超过1500个字节。
网络层地址协商:拨号成功后,PPP协议能给用户分配网络层的IP地址。
数据压缩协商:比如要传0000000011111111,16个比特。经过压缩算法后,只需要告诉对方要传8个0,8个1。接收方收到后再根据算法将16个0,16个1解压成0000000011111111。这样能够节省带宽。
封装成帧:从PPP协议的帧格式可以看出PPP协议封装成帧。在数据链路层以帧为单位进行传输。
透明性:为了防止信息部分出现帧定界序列7E,而使网络误以为帧结束。#p#
● 字节填充(以字节为单位,应用于异步网络中)
规则:发送的信息部分内容出现以下3种情况就变成相应的字节
在接收端收到7D 5E FE 7D 23 27 7D 5D 7D 5D 64 7D 5E后再按照规则变成7E FE 03 27 7D 7D 64 7E。
零比特填充(以比特为单位,应用于同步网络中)
在同步网络中传的比特流,所以不一定是8的倍数了。需要解决比特流的透明传输
规则:
在发送端,只要发现有 5 个连续 1,则立即填入一个 0。接收端对帧中的比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除
PPP协议不需要满足的要求:
不用使用序号和确认机制原因;
● 在数据链路层出现差错的概率不大时,使用比较简单的 PPP 协议较为合理。
● 在因特网环境下,PPP 的信息字段放入的数据是 IP 数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。
● 帧检验序列 FCS 字段可保证无差错接收
PPP协议的工作状态
当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接PC 机向路由器发送一系列的 LCP分组(封装成多个 PPP 帧)。
这些分组及其响应选择一些 PPP 参数,和进行网络层配置,NCP 给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主。
通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放据链路层连接。***释放的是物理层的连接。
【解疑答惑心得】
(本心得只表示个人看法,可能并不是正规解释,只供参考理解)
异步和同步
同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。
异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。
所以,要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法,这样你可以省钱。
举个例子 打电话时同步 发消息是异步
异步传输是以字符为传输单位,每个字符都要附加 1 位起始位和 1 位停止位,以标记一个字符的开始和结束,并以此实现数据传输同步。异步传输又称为起止式异步通信方式,其优点是简单、可靠,适用于面向字符的、低速的异步通信场合。
同步传输是以数据块为传输单位。每个数据块的头部和尾部都要附加一个特殊的字符或比特序列,标记一个数据块的开始和结束,一般还要附加一个校验序列(如16位或32位CRC校验码),以便对数据块进行差错控制。所谓同步传输是指数据块与数据块之间的时间间隔是固定的,必须严格地规定它们的时间关系。
【扩展之打破PPP的神秘面纱】实战Cisco----路由器使用PPP协议封装成帧
- Router>enable
- Router#config t
- RouterA(config)#hostname Router0
- Router0(config)#interface s 2/0
- Router0(config-if)#clock rate 64000
- Router0(config-if)#ip add 192.168.1.1 255.255.255.0
- Router0(config-if)#no shutdown
- Router0(config-if)#exit
- Router0#show interface s 2/0
- Serial2/0 is up, line protocol is up (connected)
- Hardware is HD64570
- Internet address is 192.168.1.1/24
- MTU 1500 bytes, BW 128 Kbit, DLY 20000 usec,
- reliability 255/255, txload 1/255, rxload 1/255
- Encapsulation HDLC, loopback not set, keepalive set (10 sec)//链路默认HDLC协议
- Router0(config)#inter s 2/0
- Router0(config-if)#encapsulation ppp //改为PPP协议
- Router0(config-if)#exit
- Router0#show inter s2/0
- Serial2/0 is up, line protocol is down (disabled)
- Hardware is HD64570
- Internet address is 192.168.1.1/24
- MTU 1500 bytes, BW 128 Kbit, DLY 20000 usec,
- reliability 255/255, txload 1/255, rxload 1/255
- Encapsulation PPP, loopback not set, keepalive set (10 sec) //已经更改为PPP协议
- Router0#config t
- Router0(config)#username Router1 password todd //通过密码todd通信
- Router0(config)#inter s 2/0
- Router0(config-if)#ppp authentication chap //设定认证模式为chap