数据链路层基本概念及简单模型 @

数据链路层的简单模型:

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

  • 点对点信道。这种信道使用一对一的点对点通信方式。
  • 广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂,广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
  • 一条点到点的物理线路段,中间没有任何其他的交换结点。
  • 一条链路只是一条通路的一个组成部分

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

帧:数据,帧头,帧尾,物理层地址 校验值

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

封装成帧 @

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

透明传输 @

透明传输,如果传输的数据是 ascii 码中 95 个字符集时,一切正常,若传输的数据出现了 EOT,被接收端误认为 EOT 前是一个帧,后面的当作无效帧丢弃。

字节填充法解决透明传输的问题 @

发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转移字符“ESC”(16 进制编码是 1b).

字节填充或字符填充:接收端的数据链路层在将数据送往网络层之前删除插入的转义字符,如果转义字符也出现数据当中,那么应在转义字符前插入一个转义字符。

当接受端收到连续的两个转义字符时,就删除其中前面的一个。

差错控制 @

传输过程中可能会产生比特差错,在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER,误码率与信噪比 有很大的关系。

为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测错数。常用循环冗余检验,在数据后面添加冗余码称为帧检验序列 FCS(Frame Check Sequence).

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

FCS 可以用 CRC 方法得出,但 CRC 并非用来获得 FCS 的唯一方法.

使用点对点信道的数据链路层(广域网) @

1992 年制定了 ppp(Point-to-Point Protocol)协议,经过 1993 年和 1994 年的修订,现在的 ppp 协议已经成为因特网的正式标准,ppp 协议有三个组成部分:

  • 数据链路层协议可以用于异步串行或同步串行介质
  • 它使用 LCP(链路控制协议)建立并维护数据链路连接
  • 网络控制协议(NCP)允许在点到点连接上使用多种网络层协议

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

ppp 协议应该满足的要求:

  • 简单—首要要求
  • 封装成帧
  • 透明性
  • 多种网络层协议
  • 多种类型链路
  • 差错检测
  • 检测连接状态
  • 最大传送单元
  • 网络层地址协商
  • 数据压缩协商

ppp 协议不需要满足的要求:

  • 纠错
  • 流量控制
  • 序号
  • 多点线路
  • 半双工或单工链路

ppp 协议帧格式

  • 标志字段 F = 0x7E
  • 地址字段 A 只置为 0xFF 地址字段实际并不起作用
  • 控制字段 C 通常置为 0x03
  • ppp 是面向字节的,所有的 ppp 帧长度都是整数字节

字节填充 @

  • 将信息字段中出现的每个 0x7E 字节转变称为 2 字节序列 0x7D 0x5E
  • 若信息字段中出现一个 0x7D 的字节,则将其转变成为 2 字节序列 0x7D 0x5D
  • 若信息字段出现 ascii 码的控制字符,则在该字符前面加入一个 0x7D,同时将该字符的编码加以改变

零比特填充 @

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

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

ppp 协议不使用序号和确认机制的原因 @

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

ppp 协议工作状态 @

  1. 当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接
  2. PC 机向路由器发送一系列的 LCP 分组(封装成多个 ppp 帧)。 这些分组及其响应选择一些 ppp 参数,和进行网络层配置,NCP 给新接入的 PC 机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
  3. 通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址,接着,LCP 释放数据链路层连接,最后释放的时物理层的连接。