网络五层模型之二:数据链路层

共3200词,阅读大约需要25分钟

3.1基本概念

3.1.1信道类型

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

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

3.1.2链路与数据链路

链路(link)是一条点对点的物理线路段,之间没有其他点。

  • 一条链路只是一条通路的一个组成部分。

数据链路(data link)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

  • 现最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。
  • 一般的适配器都包括了数据链路层和物理层这两层的功能。

3.1.3传送帧的过程

image.png

数据链路层像一个数据管道,常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧

3.2三个基本问题

3.2.1封装成帧

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

MTU:最大传输单元,以太网最大不能超过1500Byte

image.png

扩展:如果帧未发送完,发送端出了问题,只能重发该帧。接收端收到这 “不完整的帧“ ,它会抛弃吗?为什么?

答:会抛弃,因为没有收到帧首部或尾部,该帧的数据部分不完整,收下后无法使用,只好扔掉。

3.2.2透明传输

1、透明传输的问题

如果使用可打印字符(键盘可输入)作为数据部分,不可打印字符作为帧首部或尾部

  • 传输的数据是ASCII码中 ”可打印字符(共95个)“ 集时,没有问题;
  • 若传输的数据包含 ”不可打印字符“ 时(比如传输图片),就会出问题,如下图:

image.png

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

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

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

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

image.png

3.2.3差错控制

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

误码率:在一段时间内,传输错误的比特占所占传输比特总数的比率。误码率与信噪比有很大的关系。

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

在数据链路层若仅仅使用循环冗余检测 CRC 差错检测技术,则只能做到对帧的无差错接受,即:“凡是接收端数据链路层接受的帧,我们都能以非常接近1的概率认为这些帧在传输过程中没有产生差错。” 接收端丢弃的帧虽然曾收到了,但最终还是因为有差错被丢弃,即没有被接受。以上所述的可以近似地表述为:“凡是接收端数据链路层接受的帧均无差错”

3.3使用点对点信道

3.3.1PPP协议

现在全世界使用得最多的数据链路层协议,用户使用拨号电话线接入因特网时,一般都是使用PPP协议。

3.3.2PPP协议应该满足的要求

确定、封装成帧、透明性、多种网络层协议、多种类型链路、差错检测、检测连接状态、最大传送单元、网络层地址协商、数据压缩协商。

3.3.3填充法

信息字段中出现标志字段的值,可能会被误认为是“标志”怎么办?

  • 字节填充法

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

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

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

  • 零比特填充法:发送端遇到5个连续的1就在后面添加一个0,接收端遇到5个连续的1就把后面的一个0去掉

3.3.4不使用序号和确认机制

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

  • 在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理。
  • 在因特网环境下,PPP的信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能够保证网络层的参数也是可靠的。
  • 帧检验序列FCS字段可保证无差错接受。

3.4使用广播信道

3.4.1局域网的特点与优点

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

局域网具有如下的一些主要优点

  • 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
  • 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
  • 提高了系统的可靠性、可用性和生存性

3.4.2CSMA/CD协议

(1)载波监听多点接入/碰撞检测

  • 多点接入表示许多计算机以多点接入的方式连接在一根总线上
  • 载波监听是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发送碰撞。载波监听就是用电子技术检测总线上有没有其他计算机发送的数据信号。(检测信道上的信号电压大小)

(2)检测到碰撞后

在发生碰撞时,总线上传输的信号产生了严重的失真无法从中恢复出有用的信息来。

每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

(2.1)二进制子树类型退避算法

发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能发送数据

  • 确定基本退避时间,一般是取为争用期2t。
  • 定义参数k,k=Min[ 重传次数, 10 ]
  • 从整数集合 [ 0,1,…,(2^k-1) ] 中随机地取出一个数,记为r。重传所需的时延就是r倍的基本退避时间
  • 当重传达16次仍不能成功时即丢弃该帧,并向高层报告。

(3)争用期

最先发送数据帧的站,在发送数据帧后至多经过时间2t(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。

经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

(3.1)以太网的争用期

  • 以太网的端到端往返时延2t称为争用期,或碰撞窗口。通常,取51.2us为争用期的长度。
  • 对于10Mb/s以太网,在争用期内可发送512bit,即后续的数据就不会发生冲突。
  • 以太网在发送数据时,若前64字节为发生冲突,则后续的数据就不会发生冲突。

(3.2)最短有效帧长

  • 如果发生冲突,就一定是在发送的前64字节之内。
  • 由于一检测到冲突就立即终止发送,这时已经发送出去的数据一定小于64字节。
  • 以太网规定了最短有效帧长为64字节(如果不足64字节则填充0),凡长度小于64字节的帧都是冲突而异常终止的无效帧。

3.5以太网

  1. 以太网提供的服务是不可靠的交付,即尽最大努力的交付
  2. 当接收站收到有差错的数据帧时就丢弃此帧,其他说明也不做。差错的纠正由高层来决定
  3. 如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当做一个新的数据帧来发送。

3.5.1以太网的信道利用率

以太网的信道被占用的情况:

  • 争用期长度为2t,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号
  • 帧长为L(bit),数据发送速率为C(bit/s),因而帧的发送时间为L / C = T(s)

一个帧从开始发送,经可能发送的碰撞后,将再重传数次,到发送成功且信道转为空闲(即再经过时间t,使得信道上无信号在传播)时为止,是发送一帧所需的平均时间。

image.png

(1)参数a

要提高以太网的信道利用率,就必须减少 t 与 T0 之比,在以太网下定义了参数a,它是以太网单程端到端时延t与帧的发送时间T0之比:

a = t / T0

  • a->0表示一发生碰撞就立即可以检测出来,并立即停止发送,因而信道利用率很高。
  • a越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。
(2)信道利用率的最大值

1.对以太网参数的要求

当数据率一定时,以太网的连线的长度受到限制,否则t的数值会太大

以太网的帧长不能太短,否则T0的值会太小,使a值太大。

2.信道利用率的最大值

在理想化的情况下,以太网上的各站发送数据都不会产生碰撞(这显然已经不是CSMA/CD,而是需要使用一种特殊的调度方法),即总线一旦空闲就有某一个站立即发送数据。

发送一帧占用线路的时间是 T0+t,而帧本身的发送时间是T0。于是我们可计算出理想情况下的极限信道利用率S max为:

S max = T0 / (T0+t) = 1 / (1+a)

3.5.2以太网的MAC层

MAC层的硬件地址(MAC地址)

局域网中,硬件地址又称为物理地址 或 MAC 地址

MAC地址由48位的bit位组成,前24位是分配给厂家的地址字段,MAC地址的后24位由厂家自行指派。

(1)适配器检查MAC地址

适配器从网络上没收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址:

  • 如果是发往本站的帧则收下,然后再进行其他的处理。
  • 否则就将此帧丢弃,不再进行其他的处理。
(2)发往本站的帧的类型
  • 单播帧:一对一
  • 广播帧:一对全体
  • 多播帧:一对多
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享