数据链路层

2021-08-04  本文已影响0人  一萍之春

数据链路层

数据链路层使用的信道主要以下两种类型:

  1. 点对点信道。这种信道使用的一对一的点对点通信方式
  2. 广播信道。 这种信道使用的一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
    在互联网进行通信的过程中所处的地位如图:
    数据链路层的地位.png
    从数据链路层来看,H1到H2的通信可以看成由四段不同的链路层通信组成。如图:
    只考虑数据在链路层流动.png

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

数据链路和帧

链路(link)就是从一个结点到相邻结点的一段物理线路(有线或无线),而中间没有王何其他的交换结点。在进行数据通信时,两台计算机之间的通信路径往往要经过许多段这样的链路。可见链路只是一条路径的组成部分。
数据链路(data link则是另一拿概念。这是因为当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输(这将在后面几节讨论),若把实现这些协议的硬件和软件加到链路上,就构成了数据链略。现在最常用的方法是使用网络适配器(既有硬件,也包括软件)来实现这些协议。一般的适配器都包括了数据链路层和物理层这两层的功能。
数据链路层的协议数据单元——帧。

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

三个基本问题

数据链路层协议有许多种,但有三个基本问题则是共同的。这三个基本问题是:封装成帧、透明传输和差错检测。

  1. 封装成帧
    封装成帧就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。帧的数据部分的长度应该尽可能的大于首部和尾部的长度。SOH添加在首部,EOT在尾部。ASCII码分别为01 ,04 并不是字符SHO 以及EOT。
  2. 透明传输
    如果在二进制代码中恰好出现和SHO或者EOT中间一样的数据链路层会错误的找帧边界。所以要使数据中的相应字符成为一个透明的数据。
    前面提到的“透明”是一个很重要的术语,它表示:某一个实际存在的事物看起来却好像不存在一样(例如,你看不见在你前面有块100%透明的玻璃的存在)。 “在数据链路层透明传送数据”表示无论什么样的比特组合的数据,都能够按照原样没有差错地通过这个数据链路层。因此,对所传送的数据来说,这些数据就“看不见”数据链路层有什么妨碍数据传输的东西。或者说,数据链路层对这些数据来说是透明的。
    为了解决透明传输问题,就必须设法使数据中可能出现的控制字符"SOH"和"EOT"在接收端不被解释为控制字符。具体的方法是:发送端的数据链路层在数据中出现控制字符"SOH"或"EOT"的前面插入一个转义字符"ESC" (其十六进制编码是IB,二进制是00011011)而在接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符。这种方法称为字节填充(byte stuffing)或字符填充(characte stuffing)如果转义字符也出现在数据当中,那么解决方法仍然是在转义字符的前面插入一个转义字符。因此,当接收端收到连续的两个转义字符时,就删除其中前面的一个。
  3. 差错检测
    现实的通信链路都不会是理想的,这就是说,比特在传输过程中可能会产生差错: 1可能会变成0,而0也可能变成1,这就叫做比特差错,比特差错是传输差错中的一种。本小节所说的“差错”,如无特殊说明,就是指“比特差错”.在一段时间内,传输错误的比特占所专输比特总数的比率称为误码率BER (Bit Err Rate),例如,误码率为101时,表示平均每传送1010个比特就会出现一个比特的差错。误码率与信噪比有很大的关系。如果设法提高信噪比,就可以使误码率减小。实阿的通信链路并非是理想的,它不可能使误码率下降到零。
    因此,为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。
    目前在数据链路层广泛使用了循环冗余检验CRC (Cyclic Redundancy Check)的检错技术。

点对点协议PPP

能实现可靠传输的高级数据链路控制HDLC当初比较流行的。对于点对点协议PPP则是目前使用的最广泛的数据链路协议。

PPP协议的特点

PPP协议就是用户计算机和ISP进行通信时的数据链路层的协议。


用户到ISP的链路使用PPP协议.png

1. PPP协议满足的需求

2. PPP协议组成

PPP协议有三个组成部分:

PPP协议的帧格式

  1. 各字段的意义
    PPP的帧格式如图:


    PPP帧的格式.png
  1. 字节填充
    当信息字段中出现和标志字段一样的比特(OxTE)组合时,就必须采取一些措施使这种形式上和标志字段一样的比特组合不出现在信息字段中。
    当PPP使用异步传输时,它把转义符定义为OxTD (即011111,并使用字节填充,RFC 1662规定了如下所述的填充方法:

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

  1. 零比特填充

PPP协议用在SONET/SDH链路时,使用同步传输(一连串的比特连续传送)而不是异步传输(逐个字符地传送),在这种情况下, PP协议采用零比特填充方法来实现透明传输。
零比特填充的具体做法是:在发送端,先扫描整个信息字段(通常用硬件实现,但也可用软件实现,只是会慢些),只要发现有S个连续1,则立即填入一个0,因此经过这种零比特填充后的数据,就可以保证在信息字段中不会出现6个连续1,接收端在收到一个额时,先找到标志字段F以确定一个帧的边界,接着再用硬件对其中的比特流进行扫描。垂当发现5个连续1时,就把这5个连续1后的一个0删除,以还原成原来的信息比特流(图3-11),这样就保证了透明传输;在所传送的数据比特流中可以传送任意组合的比特流,而不会引起对帧边界的错误判断

PPP协议工作状态

PPP协议的状态图.png

使用广播信道的数据链路层

局域网的数据链路层

局域网的特点:网络为一个单位所拥有,且地理范围和站点数目均有限。
局域网所具有的主要优点:

局域网的拓扑结构有:星形网、环形网,总线网。
共享信道对于共享通信媒体资源的两种方法;

  1. 以太网的两个标准


    局域网对LLC子层是透明的.png

    后面的局域网一般只适配了MAC协议不在装LCC协议了

  2. 适配器的作用

计算机与外界局域网的连接是通过通信适配器进行。


计算机通过适配器和局域网进行通信.png

CSMA/CD协议

为了通信的方便以太网采取两种措施:

CSMA/CD协议的要点:

可以把CSMA/CD协议的要点归纳如下:

本章重点

上一篇 下一篇

猜你喜欢

热点阅读