学习记录——数据链路层(2)

来源:互联网 发布:帆布包推荐 知乎 编辑:程序博客网 时间:2024/06/06 18:27
所用教材为: 计算机网络(第六版) 谢希仁 编著

一、点对点协议PPP(PPP协议就是计算机和ISP进行通信时所使用的数据链路层协议)

            1、PPP协议的特点

                      (1)简单、提供不可靠的数据报服务、对数据链路层的帧进行CRC检验、(TCP/IP协议中可靠传输由运输层的TCP协议负责,因此)不需要纠错、不需要设置序 号、不需要流量控制
                      (2)PPP协议不支持多点线路(即一个主站轮流和链路上的多个从站进行通信),而只支持点对点的链路通信。
                      (3)PPP协议只支持全双工链路。

         2、PPP协议的组成(三部分)

                       (1)一个将IP数据报封装到串行链路的方法。
                                PPP既支持异步链路,也支持面向比特的同步链路。IP数据报在PPP帧中就是其信息部分。这个信息部分的长度受最大传送单元MTU的限制。
                       (2)一个用来建立、配置和测试数据链路连接的链路控制协议LCP。
                       (3)一套网络控制协议NCP,其中的每一个协议支持不同的网络层协议,如IP、OSI的网络层、DECnet,以及AppleTalk等。

        3、PPP协议的帧格式

                  (1)各字段的意义。
                       PPP帧的首部和尾部分别为四个字段和两个字段。
                       首部的第一个字段(F)和第二个字段都是标志字段(地址字段A),第三个字段(C)控制字段,第四个字段是2字节的协议字段。当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。若为0xC021时,则信息字段是PPP链路控制协议LCP的数据,而0x8021表示这是网络层的控制数据。信息字段的长度是可变的,不超过1500字节。
                 (2)字节填充
                         当信息字段中出现和标志字段一样的比特组合时,就必须采取一些措施使这种形式上和标志字段一样的比特组合不出现在信息字段中。
                         当PPP使用异步传输时,它把转义符定义为0x7D,并使用字节填充。由于在发送端进行了字节填充,因此在链路上传送的信息字节数就超过了原来的信息字节数,但接收端在收到数据后再进行与发送端字节填充相反的变换,就可以正确地恢复出原来的信息。
                (3)零比特填充
                         PPP协议用在SONET/SDH(光纤)链路时,是使用同步传输(一连串的比特连续传送)而不是异步传输(逐个字符传送)。这种情况下,PPP协议采用零比特填充实现透明传输。具体做法是:在发送端先扫描整个信息字段(通常硬件实现,也可以用软件实现,只是慢一些),只要发现有5个连续的1,则立即填入一个0,保证信息字段中国不会出现6个连续1。接收端在收到一个帧时,先找到标志字段F 以确定一个帧的边界,再用硬件对其中的比特流进行扫描,每当发现5个连续1时,就把这5个连续1后的一个0删除,以还原成原来的信息比特流。

     4、PPP协议的工作状态


                                                                                         PPP协议的状态图
           关于鉴别:
                           口令鉴别协议PAP:需要发起通信的一方发送身份标识符和口令,系统可允许用户尝试若干次。
                            口令握手鉴别协议CHAP:安全性更好,更加复杂。
           其他:PPP协议两端的网络层可以运行不同的网络层协议,但仍然可使用同一个PPP协议进行通信。



                       
0 0
原创粉丝点击