• 在数据链路层,除了停等协议之外。...目前应用于很多类型的物理网络,比如串行电缆,电话线等。 PPP协议的需求:framing;bit transparency;error detection;connection liveness;network laye

                在数据链路层,除了停等协议之外。还有比较难懂的就是PPP协议(点对点协议)。在这里特别总结一下PPP协议。


    PPP协议作用:PPP协议可应用于连接认证,传输封装和压缩。目前应用于很多类型的物理网络,比如串行电缆,电话线等。

    PPP协议的需求:framing;bit transparency;error detection;connection liveness;network layer address negotiation

    PPP帧的格式:

    这里就设计了帧的格式,协议包括:LCP、IP、IPCP等等。没有标号的帧:connectionless service。

    上面的protocol对应如下:

    NCP:获取IP地址,在多层网络链路上封装和协商。在IP协议里面,使用IPCP来作为NCP来得到IP地址,子网掩码和DNS地址。

    LCP协议进行确认是否需要认证;PAP、CHAP就是进行认证的协议。


    特别注意:

    PPP协议允许在同一个通信链路上有多个链路。



    展开全文
  • 1.PPP协议是计算机网络体系中第二层(数据链路层)的协议 2.PPP帧格式是以HDLC帧格式为基础,做了很少的改动(区别:PPP是面向字符的,而HDLC是面向位的) 3.PPP协议使用了LCP协议和NCP协议。用LCP(链路控制协议...

    一、基本特点

    1.PPP协议是计算机网络体系中第二层(数据链路层)的协议

    2.PPP帧格式是以HDLC帧格式为基础,做了很少的改动(区别:PPP是面向字符的,而HDLC是面向位的)

    3.PPP协议使用了LCP协议和NCP协议。用LCP(链路控制协议)来建立、设定和测试数据链路连接。用NCP(网络控制协议)给不同的网络层协议建立连接以及配置它们。

    二、必备特点与功能

    1.简单

    2.封装成帧

    3.差错控制

    5.流量控制

    6.接入控制 ===> 实际上就是LCP链路控制协议

    7.透明性 ===>发送方接受什么数据,接收方就接收什么数据

    8.多种网络层协议 ===> 支持多种上层协议

    9.多种类型的链路 ===> 可以支持串行、并行等等链路层协议

    10.检测连接状态

    11.最大传送单元

    12.网络层地址协商

    13.数据压缩协商

    三、不需要的功能

    .纠错 ===> 能够查错就行,不必具备纠错(改错)的功能

    流量控制 ===> 因为是两点间的通信,所以不需要进行流量控制来实现负载均衡

    ·序号

    ·多点线路

    ·半双工或单工链路 ===> PPP协议是全双工

    四、PPP协议的组成

    1.将IP数据报封装到串行链路的方法

    2.链路控制协议LCP(Link Control Protocol)

    3.网络控制协议 NCP(Network Control Protocol)

    五、PPP帧格式

    =======================================================================================================

    帧头、帧尾 ===> 各占1byte; 这两字段都是7E,也就是说7E是PPP帧的开始与结尾的标志

    =======================================================================================================

    地址字段(A) ===> 1byte; 该字段尚未被用到(点到点通信,不需要寻址过程),固定为 1111 1111

    =======================================================================================================

    控制字段(C) ===> 1byte; 该字段尚未被用到,为后续准备,固定值为 0000 0011

    =======================================================================================================

    协议字段 ===> 2byte; 指明该帧封装数据类型

    协议字段由两个字节组成。字段中第八位必须是0,最后一位必须为1。若不符合这些规则,则被视为带有不被承认的协议

    在范围“0x0***“到“0x3***“内的协议字段,标志着特殊数据包的网络层协议

    在范围“0x8***·到“0xb***”内的协议字段,标志着数据包属于网络控制协议(NCP)

    在范围“0x4***“到“0x7***“内的协议字段,用于没有相关NCP的低通信量协议

    在范围“0xc***“到“0xf***”内的协议字段,标志着使用链路层控制协议(LCP)的包

    • 0xC021链路控制协议LCP(Link control protocol)
    • 0xC023密码认证协议PAP(Password authentication protocol)
    • 0xC025链路品质报告Link Quality Report
    • 0xC223挑战握手验证协议CHAP(Challenge handshake authentication protocol)
    • 0x8021IP控制协议IPCP(Internet protocol control protocol)
    • 0x0021 Internet protocol(IP)
    • 0x0001填料协议(Padding Protocol)
    • 0x0003~0x001F reserved(transparency inefficient)保留(透明度效率低的)
    • 0x007Dreserved(Control Escape)保留(控制逃逸)
    • 0x00CF reserved(PPP NLPID)保留(PPP NLPID)
    • 0x00FF reserved(compression inefficient)保留(压缩效率低的)
    • 0x8001~0x801F未使用
    • 0x807D未使用
    • 0x80CF未使用
    • 0X8OFF未使用

    =======================================================================================================

    信息部分 ===> 数据报,长度不固定,不超过1500 byte

    =======================================================================================================

    FCS ===> 2byte; 使用CRC的帧检验序列FCS

    =======================================================================================================

    六、注意事项

    我们知道,PPP协议规定,7E是PPP帧的开始及结尾标记,那么如果数据中出现7E字段,该如何呢?处理方法取决于PPP协议的传输类型——异步传输 VS 同步传输

    1.当传输类型是异步传输时

    异步传输:按字符传输,单位是字符,速率教慢

    将转义符定义为0x7D(即01111101),并使用如下字节填充法:

    (1)把信息字段中出现的每一个0x7E字节转变成为2字节序列(0×7D,0x5E)

    (2)若信息字段中出现一个0x7D的字节(即出现了和转义字符一样的比特组合),则把0x7D转变成为2字节序列(0x7D,0x5D)

    (3)若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变

    由于在发送端进行了字节填充,因此在链路上传送的信息字节数就超过了原来的信息字节数。但接收端在收到数据后再进行与发送端字节填充相反的变换,就可以正确地恢复出原来的信息

    2.当传输类型是同步传输时

    同步传输:按一连串的比特位连续传输,单位是帧,速率较快

    PPP协议用在SONET/SDH链路时,使用同步传输方式;在这种情况下,PPP协议采用零比特填充方法来实现透明传输:

    透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使接收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的

    在发送端,先扫描整个信息字段(通常用硬件实现,但也可用软件实现,只是会慢些)。只要发现有5个连续1,则立即填入一个0。接收端在收到一个帧时,先找到标志字段F以确定一个帧的边界,接着再用硬件对其中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除,以还原成原来的信息比特流

    六、用途

    互联网用户都要连接到某个ISP才能接入到互联网,PPP协议是用户计算机和ISP进行通信时所使用的数据链路层协议

    展开全文
  • PPP介绍 计算机网络

    2019-09-07 16:45:26
    fromhttp://xiyudan1988.blog.163.com/blog/static/95993114200810145047212/ PPP是链路层协议,所以我们将它的数据单位称为帧: ...
    from http://xiyudan1988.blog.163.com/blog/static/95993114200810145047212/

     

    PPP是链路层协议,所以我们将它的数据单位称为帧:

    7E FF 03 XXXX X..X XXXX 7E
    标志 地址 控制 协议域 信息域 校验 标志
    1B 1B 1B 2B 缺省1500B 2B 1B
    每一个PPP数据帧均是以一个标志字节起始和结束的,该字节为0x7E(这样很容易区分出每个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”。而后面的信息根据不同协议包含了不同的报文内容。

    0×C021 LCP数据报文 校验
    0×8021 NCP数据报文 校验
    0×0021 IP数据报文 校验

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

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

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

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

    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所示。

    计算机网络PPP包讲解 - 艾叶草 - 艾叶草的博客

    图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给出了上述过程的示意图。

    计算机网络PPP包讲解 - 艾叶草 - 艾叶草的博客

    图2 PPP过程

      1.3 PPP帧格式

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

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

    计算机网络PPP包讲解 - 艾叶草 - 艾叶草的博客

    图3 PPP的帧格式

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

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

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

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

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

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

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

      1.4 LCP协商选项

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

    表1 PPP LCP协商选项

    特 性

    解释

    协议

    身份验证

    链路建立成功前要求提供正确的密码

    PAP,CHAP

    压缩

    在带宽有限的链路提供对数据的压缩功能

    Predictor,Stacker, MPPC

    回叫

    由被叫方重新呼叫原呼叫发起方

    Cisco Callback,MS Callback

    多链路

    需要的时候进行多链路捆绑、负载均衡

    MP

      1.5 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、帧中继等。

    转载于:https://my.oschina.net/u/584403/blog/173763

    展开全文
  • 计算机网络实验之PPP协议的配置

    一、知识背景

    PPP(Point to Point Protocal,点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。点对点协议(PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。

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

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

    二、实验任务

    通过路由器的配置,实现两路由器的PPP专线连接
    要求:

    1. 在给定192.168.1.0 的网络上配置
    2. 路由器采用静态路由
    3. 在两路由器之间实现PPP协议

    三、实验步骤

    1.创建实验拓扑

    在这里插入图片描述

    2、实验主要配置

    (1)Luan路由器上的配置

    Router>en
    Router#conf t
    Router(config)#hostname Luan			//更改路由器名为Luan
    Luan(config)#int s0/3/0
    Luan(config-if)#descrip link to Heifei			//描述串口s0/3/0连接到Hefei路由器
    Luan(config-if)#ip add 192.168.1.65  255.255.255.192	//给串口s0/3/0配置IP地址
    Luan(config-if)#encap ppp			//用PPP协议封装串口s0/3/0
    Luan(config-if)#ppp authen chap	//设置PPP协议的验证方式为chap
    Luan(config-if)#no shut				//打开串口s0/3/0
    Luan(config-if)#exit
    Luan(config)#username Hefei password 123		//在路由器上创建一组账户
    Luan(config)#int f0/0
    Luan(config-if)#ip add 192.168.1.1  255.255.255.192	//该f0/0端口配置IP
    Luan(config-if)#no shut
    Luan(config-if)#exit
    Luan(config)#
    Luan(config)#ip route 192.168.1.128  255.255.255.192  192.168.1.66	//在路由器上启用静态路由协议
    

    (2)Hefei路由器上的配置

    Router>en
    Router#conf t
    Router(config)#host Hefei			//更改路由器名为Hefei	
    Hefei(config)#int s0/3/0
    Hefei(config-if)#descrip link to Luan		//描述串口s0/3/0连接到Hefei路由器
    Hefei(config-if)#ip add 192.168.1.66 255.255.255.192		//给串口s0/3/0配置IP地址
    Hefei(config-if)#encap ppp		//用PPP协议封装串口s0/3/0
    Heifei(config-if)#ppp authen chap	//设置PPP协议的验证方式为chap
    Hefei(config-if)#no shut			//打开串口s0/3/0
    Hefei(config-if)#clock rate 64000		//配置串口s0/3/0的时钟频率
    Hefei(config-if)#exit
    Hefei(config)#user Luan pass 123		//在路由器上创建一组账户
    Hefei(config)#int f0/0
    Hefei(config-if)#ip add 192.168.1.129 255.255.255.192	//该f0/0端口配置IP
    Hefei(config-if)#no shut
    Hefei(config-if)#exit
    //在路由器上启用静态路由协议
    Hefei(config)#ip route 192.168.1.0 255.255.255.192 192.168.1.65	
    				
    

    (3)给终端PC配置IP地址

    PC IP地址 子网掩码 默认网关
    PC0 192.168.1.2 255.255.255.192 192.168.1.1
    PC1 192.168.1.3 255.255.255.192 192.168.1.1
    PC2 192.168.1.130 255.255.255.192 192.168.1.129
    PC3 192.168.1.131 255.255.255.192 192.168.1.129

    3、结果验证

    在这里插入图片描述

    4、 实验总结

    通过本次实验,理解了PPP协议的工作原理,学会了子网划分方法,再次熟悉了静态路由的配置,并且,掌握了PPP协议的配置方法。

    展开全文
  • 数据链路层使用的信道主要有以下两种类型: (1)点对点信道 (2)广播信道使用点对点信道的数据链路层首先明确一下“链路”和“数据链路”并不是一回事。 所谓链路,指的是从一个结点到相邻结点的一段物理线路,...

    数据链路层使用的信道主要有以下两种类型:
    (1)点对点信道
    (2)广播信道

    使用点对点信道的数据链路层

    首先明确一下“链路”和“数据链路”并不是一回事。
    所谓链路,指的是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。
    数据链路除了必须有一条物理线路以外,还必须有一些必要的通信协议来控制这些数据的传输。若把视线这些协议的硬件和软件加到链路上,就构成了数据链路。
    点对点信道的数据链路层的协议数据单元为

    点对点信道的数据链路层在进行通信时的主要步骤:
    (1)结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧。
    (2)结点A把封装好的帧发送给结点B的数据链路层。
    (3)若结点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报上交给上面的网络层;否则丢弃这个帧。

    三个基本问题

    封装成帧

    封装成帧就是在一段数据的前后分别添加首部和尾部。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
    一个帧的长度等于帧的数据部分长度加上帧首部和帧尾部的长度。
    每一种链路层协议都规定了所能传送的帧的数据部分长度上限——最大传送单元MTU

    透明传输

    由于帧的开始和结束标记是使用专门指明的控制字符( SOT和EOT),因此,所传输的数据中的任何8比特的组合一定不允许使用和用作帧定界的控制字符,否则就会出现帧定界的错误。
    为了解决透明传输的问题,就必须设法使数据中可能出现的控制字符在接收端不被解释为控制字符。具体方法是:发送端的数据链路层在数据中出现控制字符的前面插入一个转义字符(ESC)。而在接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符。

    差错检测

    比特在传输过程中可能会产生差错。
    在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER。为保证数据的可靠性,在计算机传输数据时,必须采用各种差错检测措施。目前数据链路层广泛使用了循环冗余检测CRC
    M长数据,n位冗余码计算:
    用二进制的模2(不进位加法)运算进行2^n乘M的运算,这相当于在M后面添加n个0。得到的(k+n)位的数除以收发双方事先商定的长度为(n+1)的除数P,得出商是Q而余数是R。这个余数R就作为冗余码拼接在数据M的后面发送出去。
    接收端把接收到的数据以帧为单位进行CRC检验:把收到的每个帧都除以同样的除数P(模2运算),然后检查得到余数P。
    如果传输无差错,则CRC检验后得出的余数R一定是0.

    注意:我们现在并没有要求数据链路层向网络层提供可靠传输服务。

    点对点协议PPP

    PPP协议有三个组成部分
    (1)一个将IP数据报封装到串行链路的方法。
    (2)一个用来建立、配置和测试数据链路连接的链路控制协议LCP
    (3)一套网络控制协议NCP,其中的每一个协议支持不同的网络层协议。

    PPP协议的帧格式

    PPP帧的首部和尾部分别为四个字段和两个字段。
    首部第一个字段和尾部第二个字段都是标志字段F(Flag)规定为“0x7E”。标志一个帧的开始或结束。因此标志字段就是PPP帧的定界符。
    连续两个帧之间只需要一个标志字段。如果连续出现两个标志字段,就表示这是一个空帧,应当丢弃。
    首部中第二个字段A规定为“0xFF”第三个字段C规定为“0x03”并无意义。
    PPP首部第四个字段是2字节协议字段。
    IANA网站公布的定义:
    http://www.iana.org/assignments/ppp-numbers/ppp-numbers.xhtml#ppp-numbers-2

    RFC1662规定如下填充方法:
    (1)把信息字段中出现的每一个0x7E字节转变为2字节序列(0x7D,0x5E)
    (2)若信息字段中出现了一个0x7D的字节(即出现了转义字符一样的比特组合),则把0x7D转变成2字节序列(0x7D,0x5D)
    (3)若信息字段中出现ASCII码的控制字符(即数值小于0x20)则在前面加入0x7D,同时将该字符的编码加以改变。

    零比特填充(针对于异步传输的解决方案)
    在发送端,先扫描整个信息字段,只要发现5个连续1,则立即填入一个0.因此经过零比特填充数据后的数据,就可以保证信息字段中不会出现6个连续1.

    PPP协议的工作状态

    PPP链路的起始和终止状态永远是“链路静止”状态。
    当用户PC通过调制解调器呼叫路由器的时候,路由器能够检测到调制解调器发出的载波信号,在双方建立了物理层链接之后,PPP就进入“链路建立”状态,其目的是建立链路层的LCP连接。
    LCP开始协商配置选项,即发送LCP的配置请求帧。其协议字段置为LCP对应的代码,而信息字段包含特定的配置请求。
    协商结束后,双方建立了LCP链路,进入“鉴别”状态。只允许传送LCP协议的分组、鉴别协议的分组。若鉴别身份失败,则转到“链路终止”状态,若鉴别成功,则进入“网络层协议”状态。
    PPP链路两端的网络控制协议NCP根据网络层的不同协议相互交换网络层特定的网络控制分组。
    当网络层配置完毕后,链路进入可进行数据通信的“链路打开”状态。
    数据传输结束后,可以由链路的一端发出终止请求LCP分组。

    展开全文
  • 大部分用户使用电话线拨号入网的,从用户计算机到ISP的链路所使用的数据链路层协议就是PPP协议。 首先介绍下拨号入网的过程。因特网服务提供者ISP是一个能够提供用户拨号入网的经营机构。ISP的路由器与因特网通过...
  • 计算机网络》复习笔记 本复习笔记基于谢希仁的《计算机网络》第五版教材整理。 计算机网络复习笔记 绪论 1 计算机网络 2 因特网概述 3 互联网的组成 P8 4 计算机网络的类别 P17 5 计算机网络的体系结构 P25 ...
  • 接口的网络层地址 用于标识网络层(第3层)分组,支持分组转发 MAC地址(或称LAN地址,物理地址,以太网地址) 作用:用于局域网内标识一个帧从哪个接口发出,到达哪个物理相连的其他接口 48位MAC地址(用于大...
  • PPP 协议的帧格式 PPP 帧的首部和尾部分别为 4 个字段和 2 个字段。标志字段F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。十六进制的7E的二进制表示是 01111110)。地址字段A只置为0xFF。地址字段实际上...
  • **我们知道因特网用户通常需要连接到某个ISP才能接入到因特网,PPP协议就是用计算机和ISP进行通信时所使用的数据链路层协议。 (1)简单:接收方每收到一个帧,就进行CRC检验,如CRC检验正确,就收下这个帧;反之,...
  • 计算机网络第七版答案 第一章 概述 1-01 计算机网络向用户可以提供那些服务?答: 连通性和共享 1-02 简述分组交换的要点。答:(1)报文分组,加首部(2)经路由器储存转发(3)在目的地合并 1-03 试从多个方面...
  • 数据链路层属于计算机网络的低层,数据链路层使用的信道的类型有以下两种: (1)点对点通信:这种信道使用一对一的点对点通信方式 (2)广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂,广播信道上...
  • 第一章问:请就计算机网络基本定义中提到的资源共享与信息交换,根据每一种情况分别再举至少2个例子。答: 使用共享网络上的... 答: 电路交换必须经过建立连接、通话、释放连接三个过程,而计算机网络的通...
  • 计算机网络历史 第一代:50年代中至60年代初,以单计算机为中心的联机系统 第二代:60年代中至70年代初期。此时叫做计算机与计算机互联网络,这个时候主机既数据处理又做通信交互,出现不同网络结构。 第三代:70...
  • 计算机网络体系结构

    2020-01-04 20:42:06
    计算机网络体系结构(一)计算机网络概述1.计算机网络的概念、组成与功能2.计算机网络的分类3.计算机网络的标准化工作及相关组织成与功能(二)计算机网络体系结构与参考模型1.计算机网络分层结构2.计算机网络协议、接口...
  • 计算机网络》课后习题答案 第一章 概述 1-1计算机网络向用户可以提供哪些服务? 答:计算机网络向用户提供的最重要的功能有两个,连通性和共享。   1-2试简述分组交换的特点 答:分组交换实质上是在“存储...
  • 计算机网络体系结构的形成1.1 计算机网络体系结构形成的原因:计算机网络是个复杂的系统,现举一个最简单的计算机网络应用例子:两个连接在网络上的计算机要传送文件,首先要在两个计算机之间建立一条通路,之后还有...
  • 计算机网络学习总结

    2018-04-23 15:00:31
    计算机网络学习总结~1. OSI,TCP/IP,五层协议的体系结构,以及各层协议:OSI 分层:7层,物理层,数据链路层,网络层,传输层,会话层,表示层,应用层TCP/IP分层:4层,网络接口层,网际层,运输层,应用层五层协议...
  • 网络中的结点可以是计算机,集线器,交换机或路由器等。 链路(link ): 从一个结点到另一个结点的一段物理线路。中间没有任何其他交点。 主机(host): 连接在因特网上的计算机. I...
  • 计算机网络-网络层-详细总结 相关博文: 三言两语轻松计算机网络入门 走进科学之-计算机网络物理层-硬核扫盲 走进科学之计算机网络-数据链路层-硬核扫盲 文章目录计算机网络-网络层-详细总结网络层提供的服务互联...
1 2 3 4 5 ... 20
收藏数 11,333
精华内容 4,533