数据链路层(一)

362 阅读6分钟

这是我参与11月更文挑战的第19天,活动详情查看:2021最后一次更文挑战

1. 数据链路层解决的问题

分装成帧

透明传输

差错控制

2. 数据链路层的简单模型

3. 数据链路层的信道类型

1) 、点对点信道:这种信道使用一对一的点对点的通信方式;

2) 、广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。

4. 链路与数据链路

链路是一条点到点的物理线路段,中间没有任何其他的交换节点。(一条链路只是一条通路的一个组成部分)

数据链路除了物理路线外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路(现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件;一般的适配器都包括了数据链路层和物理层这两层的功能)

5. 帧

6. 封装成帧

分装成帧就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。 首部和尾部的一个重要作用就是进行帧定界。

7. 透明传输

若传输的数据是ASSCII码中“可打印字符”集时,一切正常。

若传输的数据不是仅有“可打印字符”组成时,就会出问题,如下图

1) 、用字节填充法解决透明传输的问题

发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(期十六进制编码是1B)。

字节填充或字符填充--接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。

如果转义字符也出现数据当中,那么应在转移字符前插入一个转义字符。当接收端收到连续的两个转移字符时i,就删除之中前面的一个。

8. 差错检测

传输过程中可能会产生比特差错:1可能会变成0而0也可能变成1.

在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率(BER, bit error rate)。

误码率和信噪比有很大的关心。

为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。

1) 、循环冗余检验CRC的计算过程 2) 、帧检验序列FCS

在数据后面添加上的冗余码称为帧检验序列FCS(frame check sequence)。

循环冗余检验CRC和帧检验序列FCS并不等同。

  CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码。

  FCS可以用CRC这种方法得出,单CRC并非用力爱获得FCS的唯一方法。

3) 、接收端对收到的每一帧进行CRC检查

检验:

  若得出的余数R=0,则判断这个帧没有差错,就接受。

  若余数R不等于0,则判断这个帧有差错,就丢弃。

特点:

  这种检验方法并不能确定究竟是哪一个或那几个比特出现了差错。

  只有经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小。

9. PPP协议

现在全世界使用的最多的数据链路层协议是点对点协议PPP(point to point protrcol)。

用户使用拨号电话线接入因特网时,一般都是使用PPP协议。

1) 、PPP协议的组成

1992年制定了PPP协议,经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准。

PPP协议有三个组成部分

  数据链路层协议可以用于异步串行或同步串行介质。

  它使用LCP(链路控制协议)建立并维护数据链路连接。

  网络控制协议(NCP)允许在点到点连接上使用多种网络协议,如图。

image.png 2) 、PPP协议帧格式

image.png

标志字段F=0x7E(符号“0x”表示后面的字符是用十六进制表示,十六进制的7E的二进制表示是01111110)。

地址字段A只置为0xFF。地址字段实际上并不起作用。

控制字段C通常置为0x03.

PPP是面向字节的,所有的PPP帧的长度都是整数字节。

image.png

3) 、 字节填充

信息字段出现了标志字段的值,可能会被误认为是“标志”,解决办法:

  将信息字段中出现的每一个0x7E字节转变为2字节序列(0x7D,0x5E)。

  若信息字段中出现一个0x7D的字节,则将其转变为2字节序列(0x7D,0x5D)。

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

4) 、 零比特填充方法

PPP协议用在SONET/SDH链路时,是使用同步传输(一连串的比特连续传送)。这时PPP协议采用领比特填充方法来实现透明传输

在发送端,只要出现有5个连续1,则立即填入一个0。接收端对帧中的比特流进行扫描。 每当发现5个连续1时,就把这5个连续1后的一个0删除。

image.png

5) 、 不使用序号和确认机制

PPP协议之所以不使用序号和确认机制是出于以下的考虑:

  在数据链路层出现差错概率不大时,使用比较简单的PPP协议较为合理。

  在因特网环境下,PPP的信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。

  帧检验序列FCS字段可保证无差错接受。

6) 、PPP协议的工作状态 当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,建立一条物理连接。 PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。

这些分组及其响应选择一些PPP参数,和进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC机成为因特网上的一个主机。

通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着。LCP释放数据链路层连接。最后释放的是物理层的连接。

  1. 互联网的拓扑