数据链路层

信道分类:

  • 点对点信道:这种信道使用一对一的点对点通信方式
  • 广播信道:这种信道使用一对多的广播通信方式

数据链路层的位置及数据在数据链路层的流动

不同的链路层可能使用不同的数据链路层协议

使用点对点的数据链路层

  • 链路
    • 就是从一个结点到相邻结点的一段物理线路(有线或无线)
    • 链路只是一条路径的组成部分
    • 数据链路
      • 当需要在一条线路上传送数据时,出了必须有一条物理线路外,还必须有一些的必要的通信协议来控制这些数据的传输
      • 一般的网络适配器都包括了数据链路层物理层这两层的功能
    • 若把链路分为物理链路和逻辑链路:
      • 物理链路就是上面所说的链路
      • 逻辑链路就是上面的数据链路,即物理链路加上必要的通信协议
  • :点对点信道的数据链路层的协议数据单元
    • 数据链路层把网络层交下来的数据构成发送到链路上,以及把接收到的中的数据取出并上交给网络层。
    • 网络层协议数据单元是IP 数据报(简称数据报分组

使用点对点信道的数据链路层

点对点信道的数据链路层在进行通信时的主要步骤如下:

  1. 结点 A 的数据链路层把网络层交下来的 IP 数据报添加首部和尾部封装成
  2. 结点 A 把封装好的帧发送给结点 B 的数据链路层
  3. 若结点 B 的数据链路层收到的帧无差错,则从收到的帧中提取出 IP 数据报交给上面的网络层;否则丢弃这个帧

数据链路层不必考虑物理层如何实现比特传输的细节。

数据链路层协议有许多种,但有三个问题则是共同的:

  1. 封装成帧:就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧
    • 分组交换的一个重要概念:所有在互联网上传送的数据都以分组(即 IP 数据报)为传送单位
    • 网络层的 IP 数据报传送到数据链路层就成为帧的数据部分
    • 在帧的数据部分的前面和后面分别添加上首部和尾部,就构成了一个完整的帧
      • 首部和尾部一个重要作用就是进行帧定界(即确定帧的界限)
      • 首部和尾部包括许多必要的控制信息
      • 为了提高帧的传输效率,应当使帧的数据部分长度尽可能地大于首部和尾部的长度
    • 每一种链路层协议都规定了所能传送的帧的数据部分长度上限——最大传送单元 MTU(Maximum Transfer Unit)
  2. 透明传输
    • 由于帧的开始和结束的标记使用专门指明的控制字符。因此,所传输的数据中的任何 8 比特的组合一定不允许和用作帧定界的控制字符的比特编码一样,否则就会出现帧定界的错误
    • 透明是指:某一个实际存在的事物看起来却好像不存在一样
    • “在数据链路层透明传送数据”表示无论什么样的比特组合的数据,都能够按照原样没有差错地通过这个数据链路层。或者说,数据链路层对这些数据来说是透明的。
  3. 差错控制
    • 比特差错
      • 比特在传输过程中可能会产生差错:1 可能变成 0,0 可能变成 1
    • 误码率 BER(Bit Error Rate):在一段时间内,传输错误的比特占所传输比特总数的比率
      • 若设法提高信噪比,就可以使误码率减小
    • 凡是接收端数据链路层接收的帧,我们都能以非常接近于 1 的概率认为这些帧在传输过程没有产生差错
      • 接收端丢弃的帧虽然曾收到了,但最终还是因为有差错被丢弃,即没有被接受
      • 也可近似地表述为“凡是接收端数据链路层接受的帧均无差错”
    • 可靠传输:数据链路层的发送端发送什么,在接收端就收到什么
    • 传输差错可分为两类:
      • 一类即前面的最基本的比特差错
      • 另一类传输差错更复杂些,虽然收到的帧没有出现比特差错,但却出现了帧丢失帧重复帧失序

点对点协议 PPP

PPP 协议就是用户计算机和 ISP 进行通信时所使用的数据链路层协议

  • PPP 协议应满足的需求
    1. 简单
      • 接收方每收到一个帧,就进行 CRC 检验。入如 CRC 检验正确,就收下这个帧;反之,就丢弃这个帧,其他什么也不做
    2. 封装成帧
      • PPP 协议必须规定特殊的宇符作为帧定界符(即标志一个帧的开始和结束的字符),以便使接收端从收到的比特流中能准确地找出帧的开始和结束位置。
    3. 透明性
      • PPP 协议必须保证数据传输的透明性
    4. 多种网络层协议
      • PPP 协议必须能够在同一条物理链路上同时支持多种网络层协议
    5. 多种类型链路
      • 除了要支持多种网络层的协议外, PPP 还必须能够在多种类型的链路上运行
    6. 差错检测
      • PPP 协议必须能够对接收端收到的帧进行检测,并立即丢弃有差错的帧
    7. 检测链接状态
      • PPP 协议必须具有一种机制能够及时(不超过几分钟)自动检测出链路是否处于正常工作状态
    8. 最大传送单元
      • PPP 协议必须对每 → 种类型的点对点链路设置最大传送单元 MTU 的标准默认值。这样做是为了促进各种实现之间的互操作性
      • MTU 是数据链路层的帧可以载荷的数据部分的最大长度,而不是帧的总长度
    9. 网络层地址协商 - PPP 协议必须提供一种机制使通信的两个网络层(例如,两个 IP 层)的实体能够通过协商知道或能够配置彼此的网络层地址。 10. 数据压缩协商 - PPP 协议必须提供一种方法来协商使用数据压缩算法
  • PPP 协议的组成
    1. 一个将 IP 数据报封装到串行链路的方法。 PPP 既支持异步链路(无奇偶检验的 8 比特数据),也支持面向比特的同步链路。 IP 数据报在 PPP 帧中就是其信息部分。这个信息部分的长度受最大传送单元 MTU 的限制。
    2. 一个用来建立、配置和测试数据链路连接的链路控制协议 LCP (Link Control Protocol)。通信的双方可协商一些选项。
    3. 一套网络控制协议 NCP (Network Control Protocol),其中的每一个协议支持不同的网络层协议。

使用广播信道的数据链路层

  • 局域网
    • 最主要的特点:网络为一个单位所拥有,且地理范围和站点数目均有限
    • 主要优点:
      1. 具有广播功能,从一个站点可很方便地访问全网
      2. 便于系统的扩展和逐渐演变,各设备的位置可灵活调整和改变
      3. 提高了系统的可靠性、可用性和生存性
    • 共享信道要着重考虑的一个问题就是如何使众多用户能够合理而方便地共享通信媒体资源。这在技术上有两种方法:
      • 静态划分信道。用户只要分配到了信道就不会和其他用户发生冲突。
      • 动态媒体介入控制,又称为多点接入
        • 特点:信道并非在用户通信时固定分配给用户
        • 分为两类:
          • 随机接入
          • 受控接入
  • 适配器
    • 作用:计算机与外界局域网的连接是通过通信适配器进行的。
      • 适配器和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的
      • 适配器与计算机之间的通信是通过计算机主板上的 I/O 总线以并行传输方式进行的
    • 适配器在接收和发送各种帧时,不使用计算机的 CPU
  • CSMA/CD 协议:
    • CSMA/CD 指载波监听多点接入/碰撞检测(Carrier Sense Multiple Access with Collision Detection)
    • 为了通信的简便,以太网采取以下两种措施:
      1. 采用较为灵活的无连接的工作方式,即不必先建立连接就可以直接发送数据
        • 适配器对发送的数据帧不进行编号,也不要求对方发回确认
          • 原因:局域网信道的质量很好,因通信质量不好产生差错的概率是很小的。
          • 以太网提供的服务是尽最大努力的交付,即不可靠的交付
        • 对有差错帧是否需要重传则由高层来决定
        • 总线上,在同一时间只能允许一台计算机发送数据,否则各计算机之间就会相互干扰。
      2. 以太网发送的数据都使用曼彻斯特编码的信号。
        • 曼彻斯特编码的编码方法:把每一个码元再分成两个相等的间隔
        • 优点:保证了每一个码元的正中间出现一次电压的转换,而接收端就利用这种电压的转换很方便地把位同步信号提取出来
        • 缺点:它所占的频带宽度比原始的基带信号增加了一倍(因为每秒传送的码元数加倍了)
    • CSMA/CD 协议的要点:
      • “多点接入”
        • 许多计算机以多点接入的方式连接在一根总线上
        • 协议的实质是:“载波监听”和“碰撞检测”
      • “载波监听”
        • 用电子技术检测总线上有没有其他计算机也在发送,即检测信号
        • 不管在发送前,还是在发送中,每个站都必须不停地检测信道
      • “碰撞检测”
        • “边发送边监听”。即适配器边发送数据边检测信道上的信号电压的变化情况,一边判断自己在发送数据时其他站是否也在发送数据。
    • 在使用 CSMA/CD 协议时,一个站不可能同时进行发送和接收。因此使用该协议的以太网不可能进行全双工通信而只能进行双向交替通信(半双工通信)
  • 集线器
    • 双绞线以太网总是和集线器配合使用的
    • 集线器的特点:
      • 使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是 CSMA/CD 协议。
        • 网络中的各站必须竞争对传输媒体的控制,并且在同一时刻至多只允许一个站发送数据
      • 一个集线器有许多接口
      • 集线器工作在物理层。它的每个接口仅仅简单地转发比特不进行碰撞检测
      • 集线器采用了专门的芯片,进行自适应传音回波抵消。
        • 这样可以使接口转发出去的较强信号不致对该接口接收到的较弱信号产生干扰
  • MAC 层的硬件地址
    • 硬件地址又称为物理地址MAC 地址,实际上就是适配器地址
    • 在标识系统中,地址是识别某个系统的一个非常重要的标识符
    • “名字指出我们所要寻找的那个资源,地址指出那个资源在何处,路由告诉我们如何到达该处”
    • 严格地讲,名字应当与系统所在地无关

扩展的以太网

  • 常用方法:
    • 网桥:对收到的额帧根据其 MAC 帧的地址进行转发过滤
      • 一次只能分析和转发一个帧
    • 交换式集线器:常称为第二层交换机或以太网交换机
      • 这种交换机工作在数据链路层
      • 特点
        • 实质上就是一个多接口的网桥
          • 每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式。
        • 具有并行性。能同时连通多对接口,使多对主机能同时通信。
        • 相互通信的主机都是独占传输媒体,无碰撞地传输数据
        • 以太网交换机地接口还有存储器,能在输出端口繁忙时把到来的帧进行缓存,以获取目的 MAC 地址
        • 以太网交换机是一种即插即用设备。
      • 以太网交换机处理帧的方法:
        1. 对收到的帧采用存储转发方式进行转发
        2. 对收到的帧采用直通交换方式
  • 虚拟局域网 VLAN
    • 虚拟局域网是由一些局域网网段构成的与物理位置无关的逻辑组
    • 每一个 VLAN 帧都有一个明确的标识符,指明发送这个帧的计算机属于哪一个 VLAN