数据链路层 点对点信道 PPP协议HDLC协议 特点 数据链路层协议的基本问题 循环冗余检验原理 HDLC的帧格式 PPP与HDLC比较 数据链路 帧 图解 新手入门 保姆式解析 表情包理解

                                         粉丝不过W

数据链路层使用信道:

         点对点信道,一对一的点对点通信方式

         广播信道, 一对多的广播通信方式,由于复杂,要 共享信道协议来协调主机得数据发送

  数据发送概况:

     数据的流向:     

           路由器在转发分组时,只使用的三层协议栈

     数据链路层的数据流动:     

          不同的链路层可能采用不同的数据链路层协议

 

点对点信道的数据链路层

    数据链路和帧

           链路( link ):从一个结点到相邻结点的一段物理线路( 有线或无线) , 而中间没有任何其他的交换结点

           数据链路( data link ):实现这些协议的硬件和软件加到链路上

         也可把 链路分为物理链路和逻辑链路:

                  物理链路:上面的链路

                  逻辑链路:上面的数据链路, 是物理链路加上必要的通信协议

      点对点信道的数据链路层的协议数据单元:帧

       网络层协议数据单元:IP数据报( 数据报、分组、包 )

 

       点对点信道的数据链路层的通信过程:

            结点A的网络层交下IP数据报,数据链路层把IP数据报添加首部和尾部封装成

           结点A把封装好的发给 结点B的数据链路层

            若结点B的数据链路层收到的帧无差错, 就从中提取出IP数据报交给上面的网络层

                    否则丢弃这个帧

   数据链路层协议的基本问题: 封装成帧、 透明传输、差错检测

      封装成帧:

                  帧:数据的前后分别添加首部和尾部

                帧的帧长:帧的数据部分长度加上帧首部和帧尾部的长度

                帧的数据部分长度上限:最大传送单元MTU( Maximum Transfer Unit )

 

             帧的首部开始:控制字符SOH( Start Of Header )

             帧的结束:控制字符EOT( End Of Transmission )

   透明传输:

        当数据是文本文件中的字符:透明传输

        非透明传输:数据部分是非ASCII码的文本文件时,可能与帧边界一样,就会发生错误

           字节填充( byte stuffing) 或字符填充( character stuffing):解决了这个问题

                     发送端的数据中有控制字符“SOH” 或“EOT” 的在前面插入转义字符

                     接收端把数据送往网络层之前删除插入的转义字符

      字节填充法:

 

     差错检测:

            比特差错:1可能会变成0, 而0也可能变成1

           误码率BER( Bit ErrorRate ):传输错误的比特 占 传输比特总数 的比率

           循环冗余检验CRC( Cyclic Redundancy Check )解决这个问题

           帧检验序列FCS( Frame Check Sequence):为检错而添加的冗余码

        循环冗余检验原理:

       接收端:数据以帧为单位进行CRC检验

                余数R= 0, 帧无差错, 就接受( accept )

                余数R≠0, 帧有差错, 就丢弃

            发送端帧检验序列FCS的生成和接收端的CRC检验由硬件完成

           帧可能出现比特差错、帧丢失、 帧重复、帧失序

            数据链路层协议都是不可靠传输的协议

点对点协议PPP

       PPP协议的特点

               PPP协议:用户计算机和ISP进行通信时,使用的数据链路层协议

       PPP协议需求

               简单:网际协议IP 简单, 提供不可靠的数据报对数据链路层的帧, 不纠错, 不序号, 不流量控制

              封装成帧:规定特殊的字符作为帧定界符

              透明性:数据传输的透明性

             多种网络层协议:支持链路连接的局域网或 路由器上运行的各种网络层协议

             多种类型链路:串行的( 一次只发送一个比特 )、并行的( 一次并行地发送多个比特 )、同步的、异步的, 低速的、高速的, 电的、光的, 交换的( 动态的 ) 、非交换的( 静态的 ) 点对点链路

             差错检测( error detection ):对接收端的帧进行检测,丢弃差错的帧

             检测连接状态:自动检测 链路是否处于正常工作状态

             最大传送单元:设置最大传送单元MTU

           网络层地址协商:知道通信双方的网络层地址

           数据压缩协商

    PPP协议 不支持多点线路, 只支持<stron>的链路通信,只支持全双工链路</stron>

      PPP协议的组成

             将IP数据报封装到串行链路( 同步串行/异步串行 ),PPP 支持异步链路( 无奇偶检验的8比特数据 ), 支持面向比特的同步链路

            链路控制协议LCP( Link Control Protocol ):建立、 配置、测试数据链路连接

            网络控制协议NCP( Network Control Protocol ):支持不同的网络层协议

     PPP协议状态图:

PPP帧的格式:

                 F:帧定界符:标识字段 01111110

                协议:IP数据报、LCP的数据、网络层控制数据

                信息部分:可能插入了转义字符 7D:01111101

HDLC协议

      高级数据链路控制(High-level data link control、HDLC):同步网上传输数据、面向比特的数据链路层协议

     数据报文可透明传输,用于实现透明传输的“ 0比特 插入法 ”易于硬件实现

    采用全双工通信

     帧采用CRC检验,对信息帧进行顺序编号,可防止漏收、重份,传输可靠性高

HDLC站:

      主站、从站、复合站

   主站:发送命令(包括 数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、流程的控制、差错检测、恢复

   从站:接收由主站发来的命令帧,向主站发送响应帧,并配合主站参与差错恢复等 链路控制

   复合站:既能发送,又接收命令帧,响应帧,并负责整个链路的控制

         数据操作方式:

               正常响应方式

               异步平衡方式

               异步响应方式

   HDLC的帧格式:

           标志F:01111110

           零比特传输:5  1  1  0 

              信息帧( I )  第1位为0,用来传输数据信息、使用捎带技术对数据进行确认

              监督帧( S ) 10,用于流量控制,差错控制,执行对信息帧的确认、请求重发,请求暂停发送等功能

              无编号帧( U ) 11,用于提供对链路的建立、拆除等多种控制功能

PPP与HDLC比较

          HDLC、PPP只支持全双工链路

          都可 透明传输

          都可 差错检测,但 不纠正差错

PPP协议 面向字节 2B协议字段 无序号、确认机制 不可靠
HDLC协议 面向比特 有编号和确认 可靠

全部评论

相关推荐

牛舌:如果我不想去,不管对方给了多少,我一般都会说你们给得太低了。这样他们就会给下一个offer的人更高的薪资了。
点赞 评论 收藏
分享
10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务