网络笔记 P02:数据链路层

1.概述

数据链路层的功能:为网络层提供服务、成帧、差错控制、流量控制。

数据链路层为网络层提供:

  • 无确认的无连接服务,如以太网
  • 有确认的无连接服务,如 WiFi
  • 有确认的面向连接服务

局域网相关协议:以太网 802.3,无线局域网 802.11,蓝牙,无线射频识别 RFID;

广域网相关协议:PPP 协议(SONET 光纤链路),HDLC 协议,ADSL 协议。

工作在数据链路层的设备是网桥和交换机,可以连接使用不同物理层的多个网络,可以隔离冲突域,但是仍在一个广播域。交换机可以分为直通式交换机和存储转发式交换机。

2.成帧

帧定界的方式:

  • 字节记数法:在帧头部添加一个字段来标识该帧有多少字节。如果丢失一个比特,其后的传输都会定界错误,基本不使用。
  • 字节填充的标志字节法:用一些特殊的字节(flag)包裹有效载荷,如 PPP 协议。当需要在有效载荷中添加一个 flag 时,在其前面添加一个转义字节;当需要在有效载荷中添加一个转义字节时,在其前面添加一个转义字节。
  • 比特填充的标志比特法:用比特模式 01111110 包裹有效载荷,在有效载荷中遇到连续 5 个 1 就添加一个 0。
  • 物理层编码违禁法:用物理层不应该出现的比特编码模式来区分帧边界。

帧中的帧头记录了帧的协议、序号、校验等信息。

3.差错控制

  • 对于出现位错误,通常采用校验码来发现错误,通过自动重传请求 ARQ 重传帧。

    纠正单个错误所需的最少校验位个数\(r\)满足:\((m + r + 1) \le 2^r\),其中\(m\)位需要校验的位数。

    检错码的种类:奇偶校验码、校验和、循环冗余校验 CRC;

    纠错码的种类:海明码、二进制卷积码、里德所罗门码、低密度奇偶校验码。

  • 对于出现帧错误,如帧的丢失、重复或失序等,引入定时器和编号机制,保证帧的有序、正确交付。

4.流量控制与滑动窗口协议

停止-等待协议

发送方和接收方都只有一个窗口,发送方每发送一帧就停止等待,接收方每接收一帧就反馈一个应答信号。此时只需要 1 位帧序号,出现错误使用 ARQ(快速重传)。

滑动窗口协议

发送方有一定大小的发送窗口,接收方有一定大小的接收窗口。发送方发送一帧会占用一个发送窗口,只有在收该帧的确认后才让出该窗口;当没有空闲的发送窗口,发送方停止发送。接收方接收到的帧放入接收窗口,当该帧传入上层后,才会对该帧确认并让出该窗口;当没有空闲的接收窗口,接收方停止接收帧,即丢弃窗口外的帧。

因网络通信都是双向的,帧的确认可以捎带在接收方给发送方发送的帧中,称为捎带确认。确认的方式有两种,形成了两种不同的协议。

  • 回退 N 协议:接收方只会按帧序号的顺序确认帧,如没有收到 3 号帧,即使收到 4 号、5 号帧也不会对它们进行确认。此时发送方的计时器超时,会按顺序重传 3 号、4 号、5 号帧,即发送方回退的 3 号。这种方式下可以累计确认,即确认 5 号帧也就表明 5 号之前的也确认。

    接收窗口大小\(\ge 1\)即可,发送窗口大小\(1 \le W \le 2^n - 1\),其中\(n\)位帧号的长度。

  • 选择重传协议:接收方会确认接收到的所有正确的帧,如没有收到 3 号帧,但是收到了 4 号、5 号帧,接收方仍会确认 4 号、5 号。此时发送方的 3 号帧的计时器超时,但是收到了 4 号、5 号帧的确认,只会重传 3 号帧。

    接收窗口和发送窗口的最大值均为\(2^{(n-1)}\),一般情况下大小相等。

5.介质访问控制子层 MAC

介质访问控制子层用于广播信道中的信道分配。分为信道划分介质访问控制和随机访问介质访问控制。

数据链路层在 IEEE 标准中分为两个子层:链路控制子层 LLC 和介质访问子层 MAC。

信道划分介质访问控制

将信道划分成多个,不需要考虑冲突。

  • 频分多路复用 FDM
  • 时分多路复用 TDM
  • 波分多路复用 WDM,实质是光的频分多路复用
  • 码分多路复用 CDM,码分多址 CDMA

随机访问介质访问控制

多个端共享同一个信道,可能发生冲突。

  • ALOHA 协议:发送数据前不检测冲突直接发送,一段时间没有收到确认即认为发生冲突,等待随机的时间后重新发送数据。

  • 分槽 ALOHA 协议:划分时间槽,发送数据不检测冲突,在时间槽开始时开始发送,一个时间槽内发送完一帧,同样的一段时间没有收到确认即认为发生冲突,等待随机数量的时间槽后重新发送数据。利用率比纯 ALOHA 协议要好,\(1/e\)

  • 载波侦听多路访问 CSMA 协议

    • 1-坚持型:发送数据前侦听信道,若信道空闲则发送,若信道忙则持续侦听至信道空闲后发送。若发送后发生冲突,在等待随机时间后重复上述过程。
    • 非坚持型:发送数据前侦听信道,若信道空闲则发送,若信道忙则放弃侦听,等待随机时间后再次侦听。若发送后发生冲突,在等待随机时间后重复上述过程。
    • p 坚持型:适用于分时间槽的信道。发送数据前侦听信道,若信道空闲,则以概率 p 发送数据,以概率(1-p)推迟到下一个时间槽,在下一个时间槽重复此判断,直至帧被发送出去。若信道忙,则等到下个时间槽重复此过程。
  • 带冲突检测的 CSMA CSMA/CD 协议:与 CSMA 类似,发送前先侦听信道,发送后继续侦听,一旦检测到冲突就立刻停止发送,等待随机时间后重发。假设广播域内两个相距最远的站之间信号传播时延为\(\tau\),则发送方开始发送经过\(2\tau\)后没有检测到冲突,此时广播域内的所有站点都已经知道信道被占用,就不会再发生冲突。开始发送至\(2 \tau\)称为争用期,一帧的发送时延要大于\(2 \tau\)

    一旦检测到冲突,CSMA/CD 采用二进制指数退避算法来决定重发的时延。基本退避时间取\(2 \tau\),重传次数记为\(k\),当重传次数大于 10 时,\(k\)始终记为 10。当检测到冲突,从\(0,1,2,3,\cdots,2^k-1\)中随机取一个数\(r\),所需重传时间为\(2r \tau\)。当重传 16 次仍不成功,向上层报告错误。

    主要用于总线式以太网。

  • 带冲突避免的 CSMA CSMA/CA 协议:无线通信中并非所有站点都能听见对方,存在隐蔽站,此时冲突检测就失效了。当发送方需要发送数据时,首先发送一个 RTS 短帧询问接收方,包含需要发送的数据的长度;接收方收到之后会发送一个 CTS 帧作为应答。其它的站不管是收到 RTS 帧还是 CTS 帧,都延缓发送请求。但是仍然可能发生冲突。

    检测对冲突后和带冲突检测的 CSMA 一样,使用二进制指数退避算法。

    主要用于无线局域网 802.11abgn。

轮询访问介质访问控制

令牌传递协议中只有持有令牌的站才能使用信道,使用完之后将令牌传给下一个站。

6.以太网 IEEE 802.3

经典以太网和交换式以太网。现在只使用交换式以太网。

以太网采用无连接的工作方式,不对数据帧编号,也不要求确认,以广播的形式进行。

以太网的帧格式:

  • 8 个字节的前导码,用于界定帧起始位置,模式是 010101...,用于同步时钟。最后两位均为 1,表明开始一个帧。
  • 6 个字节的目标地址和 6 个字节的源地址,该地址有硬件确定,出厂时分配。
  • 2 个字节的类型/长度:值小于等于 0x600 的,为长度字段,是一个 IEEE 802.3 标准的帧;大于 0x600 的,为类型字段,是一个 DIX 以太网帧。
  • 0~1500 个字节的数据。
  • 0~46 个字节的填充,要求帧最小为 64 字节
  • 4 个字节的校验和,采用 32 位的 CRC。

速率:

  • 交换式以太网:10Mbps
  • 快速以太网:100Mbps,使用 100Base-TX/FX(五类线/光纤)可达到
  • 千兆以太网:1000Mbps,使用 1000Base-
  • 万兆以太网:10000Mbps,使用 10GBase-

7.无线局域网 IEEE 802.11

物理层采用正交频分复用,数据链路层采用 CSMA/CA 协议。

分为有固定基础设施(AP)的无线局域网和无固定基础设施的自组织网络。

posted @ 2020-07-30 16:12  ixtwuko  阅读(429)  评论(0编辑  收藏  举报