计算机网络(十五)——数据链路服务

文章目录

  • 1. 概述
  • 2. 差错检测和纠正技术
    • 2.1 奇偶校验码
    • 2.2 检验和方法
    • 2.3 循环冗余校验码(CRC)
  • 3. 多路访问链路和协议

1. 概述

网络层提供了两台主机之间的通信服务。链路层提供了将数据报通过单一通信链路从一个结点传送到相邻结点的功能
(1)术语

  • 结点:主机和路由器
  • 链路:相邻结点的通信信道
    ①有线②无线③局域网
  • :封装网络层数据报

(2)链路层提供的服务

  • 组帧:封装网络层数据报,加上首部和尾部。
  • 链路接入:MAC协议用于协调多个节点的帧传输。
  • 差错检验和纠正:可能会由信号衰减和电磁噪声导致比特差错,传输一个有差错的数据报是没有必要的,
  • 可靠传输:对于高误码率的链路需要提供可靠传输服务。

(3)实现

  • 链路层的主体部分是网络适配器。网络适配器的核心是链路层控制器。

2. 差错检测和纠正技术

(1)差错编码

  • 基本原理:在数据中增加冗余比特,将数据和冗余比特发送到接收方。
    计算机网络(十五)——数据链路服务_第1张图片
  • 差错编码不能保证一定可靠。

2.1 奇偶校验码

(1)单个奇偶校验位

  • 偶校验
    ①发送方附加一个比特,使d+1个比特中1的个数为偶数个
    ②接收方检验d+1个比特中1的数目是否仍为偶数,不是则出现奇数个差错

  • 奇校验
    ①发送方附加一个比特,使d+1个比特中1的个数为奇数个
    ②接收方检验d+1个比特中1的数目是否为奇数,不是则出现了奇数个差错

  • 问题:单个奇偶校验位不能成功检测出偶数个比特差错。

(2)二维奇偶校验

  • 增加了i+j+1个奇偶校验位。
  • 接收方不仅可以检测到一个分组的单个比特差错,还能根据行列索引纠正比特差错。
  • 接收方也能够检测一个分组中的两个比特差错,但不能纠正差错。
    计算机网络(十五)——数据链路服务_第2张图片

2.2 检验和方法

接收方在分组首部增加校验和(求和取反),接收方将接收到的数据和与检验和求和,若检测到全为1则无比特差错,否则有比特差错。

2.3 循环冗余校验码(CRC)

  • 定义:将数据比特D视为二进制数,选择r+1位的比特模式G,选择r位的CRC比特R,满足刚好被G整除。
    利用G去除 D ∗ 2 r D * 2^r D2r,则余式即为R
  • 广泛应用于实际网络(以太网, WIFI, ATM)
    计算机网络(十五)——数据链路服务_第3张图片

3. 多路访问链路和协议

网络链路可以分为两种类型:

  • 点对点链路:由单个发送方和单个接收方组成。
  • 广播链路多个发送和接收方连接到相同的、共享的信道上。
    ①任何一个结点传输发送一个帧,信道会广播该帧,所有其他结点都会收到一个副本。

在单一共享广播信道中,当两个或两个以上节点同时传输数据时,可能导致碰撞,即当结点同时收到两条或更多的信号时,会接收失败。从而导致碰撞时间间隔中的广播信道也被浪费了。
因此我们需要多路访问控制协议。因为广播链路是由主机共享的介值,因此需要一种策略选择谁应该使用介质。多路访问协议用来规范结点在共享信道上的传播行为,协议可以被分为三种类型:

  • 信道划分协议
  • 随机接入协议
  • 轮流协议

理想的多路访问协议应该具有以下特性:

  • 只有一个结点传输数据时,可以以速度R发送。
  • 有M个结点传输数据时,可以以R/M速度发送。
  • 完全分散控制。
  • 简单。

接下来我们将对这三种协议进行逐一说明。

你可能感兴趣的:(计算机网络,网络,网络协议,链路层协议)