数据链路层

来源:互联网 发布:报网络教育怎样不被骗 编辑:程序博客网 时间:2024/05/29 02:14

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

  1. 点对点信道。使用一对一的点对点通信方式
  2. 广播信道。使用一对多的广播通信方式
链路:从一个节点到相邻节点的一段物理线路(有线或无线)而中间没有任何其他的交换节点

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

数据链路:除了物理线路外,还需有通信协议来控制数据的传输。若把视线这些协议的硬件和软件加到链路上就构成了数据链路

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

数据链路层传送的是帧

网络层协议数据单元就是IP数据报(或简称为数据报,分组或包)

数据链路层的三个基本问题:

  1. 封装成帧
  2. 透明传输
  3. 差错检测
封装成帧就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。首部和尾部的一个重要作用就是进行帧定界(即确定帧的界限)
每一种数据链路层的协议都规定了所能传送的帧的数据部分长度的上限-最大传送单元MTU
帧定界可以使用特殊的帧定界符
控制字符SOH表示帧的首部开始
控制字符EOT表示帧的结束


用字节填充(或字符填充)法解决透明传输的问题
发送前对数据作处理,发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制是1B,二进制是00011011)
而在接收端的数据链路层在把数据送往网络层之前删除这个插入的转移字符
如果转义字符也出现在数据当中,那么解决方法任然是在转移字符的前面插入一个转义字符。当接收端接到连续的两个转义字符时,就删除其中其那面一个。
在传输过程中可能会产生比特差错。1可能会变成0,而0肯能会变成1
在一段时间内,传输错误的比特占所传输比特总数的比特率成为误码率(BER)
为了保证数据传输的可靠性,在计算机网络传输数据时必须采取各种差错检测的措施
目前在数据链路层广泛使用了循环冗余检测CRC的检错技术
注意:
使用循环冗余检验CRC差错检测技术只能做到无差错接受
在数据链路层使用CRC检验,能够实现误比特差错的传输,但这不是可靠传输
要做到可靠传输(即发送什么就收到什么)就必须再加上确认和重传机制
0 0