数据链路层

一、数据链路层的基本概念

1、链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。

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

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

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

注:数据链路层传输的是帧

二、链路层环境

1、链路层协议

  • 任务:通过单段链路,点到点传送上层数据报
  • 定义了链路两端结点间交互的帧格式,以及发送和接收帧时的操作

2、两种网络链路类型

  • 点对点链路:由链路一端的单个发送结点和链路另一端的单个接收结点组成。这种链路使用一对一的点对点通信方式。
  • 广播链路:能够让多个发送结点和接收结点都连接到单一的,共享的广播信道上。这种链路使用一对多的广播通信方式。因广播链路上连接的主机很多,必须使用专用的共享链路协议来协调这些主机的数据发送。

3、链路层环境重要特点

  • 一条路径上的不同链路可运行不同的链路层协议
  • 链路层协议提供的服务可以不同
  • 通信环境较为简单

三、链路层协议的设计问题

1.成帧

将数据报封装进帧,加上首部和尾部,帧定界问题

2.媒体访问

规定了结点在链路上传输帧的规则

如何共享媒体,如何访问信道?

媒体访问控制(MAC)协议协调结点之间的帧传输

3.相连结点间的可靠交付

  • 是网络中基础性问题(无差错的传输每个帧)
  • 在比特差错低的链路很少使用 (光纤,双绞线)
  • 无线链路: 高差错率则需要

4.流量控制

相邻发送和接收结点间的步调协调(防止接收结点缓冲区溢出)

5.差错检测

  • 差错由信号衰减、噪声所致
  • 接收方检测出差错,将帧丢弃
  • 发送方负责重传
  • 通常用硬件实现

6.纠错

接收方识别和纠正比特差错,而不采取重传

三、数据链路层协议的三个基本问题

1、封装成帧

1)在一段数据的前后分别添加首部和尾部,构成一个帧。

2)首部和尾部的一个重要作用就是进行帧定界(即确定帧的界限)。

(1)面向字节的协议——用控制字符作为帧定界符

  • 控制字符 SOH (Start Of Header) 放在一帧的最前面,表示帧的首部开始。
  • 控制字符 EOT (End Of Transmission) 放在一帧的末尾,表示帧的结束。

(2)面向比特的协议

  • 面向比特的协议把帧看成比特的集合
  • 用特别的比特序列表示帧的开始和结束(01111110)

2、透明传输

指某一个实际存在的事物看起来却好像不存在一样。

注:“在数据链路层透明传送数据”表示:无论发送什么样的比特组合的数据,这些数据都能够按照原样没有差错地通过这个数据链路层。

3、差错控制

1)在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。

2)为了保证数据的可靠传输,在数据传输出现错误后,有两种处理方法,一是检错重发;二是前向纠错

3)两种检错方法比较

 

注:1、差错检测不是100%可靠! 协议可能漏掉某些差错,但是非常少 较大的EDC字段产生更好的检测和纠正

2、 一种优秀的差错检测方法应当满足: 加入的冗余信息较少,而能检测出所有的差错。

 

posted on 2022-03-26 20:13  辰逸1  阅读(66)  评论(0编辑  收藏  举报