3.1 数据链路层的功能

向上层下层要做的事情

物理链路:传输介质(0层)+ 物理层(1层)实现了相邻节点之间的“物理链路”

逻辑链路:数据链路层基于“物理链路”,添加了实现通信协议的软硬件,实现相邻节点之间逻辑上无差错的“数据链路/逻辑链路”

**==数据链路层向下(使用服务)==**:使用物理层提供的 “比特传输” 服务。

==数据链路层向上(提供服务)==:为网络层提供服务,将网络层的 分组(IP数据报) 封装成,传输给下一个相邻节点。

  • 帧 = 首部 + 数据 + 尾部
  • 首部和尾部包含各种控制信息

image-20260601114905419

数据链路层实现的功能(5)

之后一小节就是跟一个功能相关。

①封装成帧(组帧):⭐

组帧即:定义数据格式。

  • 帧定界:即如何让 接收方(对面的数据链路层) 能够 确定帧的界限。
  • 透明传输:接收方 要能从收到的帧内恢复原始SDU,让网络层“感受不到”将分组封装成帧的过程。(即把帧定阶的附加信息去除,把帧“恢复原貌”)
    • (透明性的拓展,其实数据链路层对上层是透明的。)

②差错控制:发现并解决一个帧 内部的 “位错误”。

  • sol1:接收方 发现比特错后 丢弃帧,发送方 重传帧。(仅需采用 检错编码)
  • sol2:接收方 发现并纠正比特错误。(需采用 纠错编码)

③可靠传输:发现并解决“帧错误”。

  • eg 帧丢失,帧重复,帧失序。

④流量控制:控制 发送方 发送帧的速率别太快,让 接收方 有时间接收。(or会导致帧丢失)

⑤介质访问控制

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

  • “广播信道” 需要实现此功能。因为广播信道在逻辑上是总线型拓扑,多个节点需争抢传输介质的使用权。
  • “点对点信道” 不需要实现此功能。点对点信道意味着两个节点之间有专属的传输介质,不用争抢。

image-20260601120331680

3.2 组帧(的方法)(4)

把 网络层 交给的数据打包成帧的过程。

组帧的好处:数据出错,也只需重发出错的帧,无需重发全部数据。

image-20260601120756552

① 字符计数法

在每一个帧的开头,用一个 定长计数字段 ,记录帧长

  • 帧长是包括首部分的计数字段的段长度的。即 帧长 = 定长计数字段长度 + 帧的数据部分的长度

超级无敌大的缺点:任何一个计数字段出错,会导致后续 所有帧 无法定界。(健壮性差)

image-20260601121527561

② 字节填充法

控制字符SOH表示帧的开始,控制字符EOT表示帧的结束。

插入转义字符ESC,防止SOH/EOT和某些数据段歧义。(接收方做的是逆处理)

再次插入一个转义字符,防止转义字符和某些数据段歧义。(接收方做的是逆处理)

原理:(接收方的逆处理)发现转义字符,会把转义字符去除,后面部分就是数据,以此类推。

image-20260601122057272

③ 零比特填充法

HDLC协议和PPP协议使用的组帧方法就是零比特填充法。

以一串特殊比特串(01111110,连续有6个1)表示帧的开始和结束。

解决和上个方法一样的问题:

  • 发送方需要对帧的数据部分进行处理:每当遇到了连续的5个1,就填充一个0
  • 接收方需要对帧的数据部分进行处理:每当遇到了连续的5个1,就删去后面的0

image-20260601122712751

④ 违规编码法

eg看曼切斯特编码(中间跳变作为正常信号,中间不跳变作为违规信号)

用违规信号,表示帧的开始/结束。(需要物理层的配合,因为涉及到了编码)

适用:仅适用于冗余编码?的编码环境。

image-20260601122918248

回顾

(字节填充法太复杂,字符计数法缺陷大,采用的组帧方法是零比特填充法和违规编码法)

image-20260601123732828

3.3 差错控制(2+1)

==发现并解决帧内部的位错误。==

sol1:接收方 发现比特错后 丢弃,发送方 重传。(仅需采用 检错编码)

  • 奇偶校验码
  • ORC校验码

sol2:接收方 发现并纠正 比特错误。(需采用 纠错编码)

  • 海明校验码

image-20260602115007037

0 补充知识

a.码距:两个码字在对应位置取值不同的比特数量。

编码集的码距是里面出现的最小码距。

  • 码距 = 检错的位数 + 纠错的位数 + 1

  • 检错的位数 ≥ 纠错的位数。

  • 为检测d位错误:码距起码为d+1

  • 为纠正c位错误:码距起码为2c+1

b.冗余编码技术:在有效数据(信息位)发送前,增加若干冗余位(检验位)

①奇偶校验码(检错编码)

奇校验码:确保整个校验码【(首部/尾部)校验位+有效信息位】中1的个数为奇数。

偶校验码:确保整个校验码【(首部/尾部)校验位+有效信息位】中1的个数为偶数。

(校验位首部或者尾部都行)

  • (发送方)偶校验的实现如下:
    • 逐个信息位进行异或运算(相异为1),最终的结果即为偶校验位。
  • (接收方)结果 = 校验位 ⊕ 所有信息位
    • 结果1,奇数位错误。
    • 结果0,无奇数位错误,也可能偶数位错误漏检

奇偶校验特点:

  • 奇偶校验法通过一位冗余,使整体 1 的个数为奇 / 偶。
  • 只能检测奇数个位错误(1,3,5…位),不能检测偶数个错误。
  • 无纠错能力。

image-20260602115700978

image-20260602120344143

回顾

image-20260602120640875

②循环冗余校验码(CRC校验码)(检错编码)

image-20260602120743489

原理

数据发送、接收方 约定一个 除数

(==K个信息位+R个校验位==)作为 被除数,添加的校验位是为了保证除法的 余数 为0。

收到数据后,进行除法检查看余数是否为0。

若余数非0说明出错,则进行重传或者纠错。

image-20260602124323969

例题

image-20260602124511194

image-20260602124843899

除数位数 = 生成多项式的最高次幂+1(因为x的0次方也有常数c哈哈哈)

除数内容的确定:由生成多项式确定。

校验位的位数R = 生成多项式的最高次幂

校验位的内容的确定:

  • 用移位(移R位)后的信息码做被除数,用生成多项式做除数,
  • 进行模2除,模2减(等同于异或运算),得到的 R位余数 就是校验位。
  • image-20260602124722340

==拓展:出错位置和余数之间的关系:==

  • 检验算得的 余数(n+1位)和 n进制的数,一定没有对应关系!

  • 检验算得的 余数(n位)n进制的数可能相对应(如果有循环的话就没有)。

    • (eg余数三位)
    • 000-正确。001-出错位位1(从后往前数)。110-出错位置8。001-出错位置9,形成一个循环…
  • 如果CRC码很短(位数没有超过余数所能表示的范围,即没到一轮循环),就真的是一一对应了!

  • 因此循环冗余校验码是可以有纠错能力的(if信息位不多)

    • image-20260602124149073

检错纠错能力

  • 可以检测出 所有奇数位错误(IF生成多项式包含因子 (x+1)
  • 可以检测出 所有双比特的错误
  • 可以检测出 所有≤ 校验位长度R 的连续错误
  • 若选择合适的生成多项式,且2^R ≥ K+R-1,则可以纠正单比特错误。

③海明校验码(纠错编码)

基本思想

奇偶校验(单个校验位)只能发现奇数位错误,无法发现是哪一位错误。且无法重传。

==海明码思路==:将信息位分成k个分组,每个分组分别进行偶校验→多个校验位→通过多个校验位,可以标记出错位置(单比特)

需要多少校验位:2^k ≥ n+k+1

image-20260602132456356

海明码求解步骤

1.确定海明码的位数。

  • n+k,其中(2^k ≥ n+k+1)

2.确定校验位的分布。

  • 校验位Pi放在海明位号为2^(i-1)的位置上。(P1,P2,P3…在1,2,4,8..位置)
  • 信息位Di按顺序放到其余位置。

3.求校验位Pi的值。

  • 将信息位的位置序号用 k位二进制 表示出来。(十进制→二进制)

  • 将校验位的位置序号Pi 与 位置序号第i位为1的信息位归为一组,

  • 之后进行偶校验

image-20260602133406458

4.纠错

  • 对P1,P2,P3…所属各分组进行异或==(相当于分组偶校验)==,==求得S1,S2,S3==

    • 可见分组实际上是对各个P组合的分组,为了找到出错的比特的位置!
  • S3,S2,S1 = 000,说明无错误。

  • S3,S2,S1 ≠ 000,其值反映出出错位置。

image-20260602133718791

5.补充

海明码有==1==位纠错能力,==2==位检错能力。

为了区分1位错还是2位错,可以在首部加上一个“全 校验位”,对整体进行偶校验。

image-20260602134259076

回顾

image-20260602135156223

3.4 流量控制和可靠传输(3)

image-20260602151812331

滑动窗口机制

  • 流量控制:方法有两种:停止等待协议和滑动窗口协议。

    • 数据链路层和传输层都有流量控制的功能,但是有区别:
      • 数据链路层:控制的是相邻节点的流量。当接收方无法接收时,不返回数据帧。
      • 传输层:控制的是端到端的流量。接收方在确认报文段中携带窗口字段值,动态调整发送方的窗口大小。
  • 可靠传输:方法有两种:确认ACK和超时重传两种机制。

    • ARQ自动重传请求结合了这两种。注意的是:数据帧和确认帧必须编号。
      • ARQ协议主要有三种类型:停止等待协议,后退N帧协议,选择重传协议。

image-20260602151928179

【实际上,停止-等待协议不属于 滑动窗口协议】

发送窗口Wt:发送窗口里包含了当前允许发送的帧。(transmit)

接收窗口Wr:接收窗口里包含了当前允许接收的帧。(receive)

  • 若收到了窗口之外的帧,直接丢弃。

==接收方通过“确认机制”,控制发送方的窗口往前移动,从而实现流量控制。==

image-20260602152455600

⭐每种协议都要关注的四个内容

滑动窗口机制,确认机制,重传机制,帧编号。

image-20260602152653646

停止-等待协议(S-W)

发送窗口=接收窗口=1。确认帧ACK_i。超时重传。仅需1bit给帧编号。

image-20260602152823260

数据帧,确认帧,帧序号的概念

帧类型:实际应用中可能双向都有数据帧和确认帧,所以需要“帧类型”这个概念。防止混淆。

确认帧:数据部分可以为空,很短的。

帧序号:此处是0,1,0,1,0,1,…

image-20260602153614995

传输的可能情况

①正常传输

image-20260602154056125

②数据帧丢失:超时重传(到点了,发送方重传)

③确认帧丢失:接收方已经收到之前的帧,会往右滑动。在之后收到了重传信息,接收方会:①丢弃重复帧。②返回重复帧的ACK(让接收方放心)

image-20260602154606738

为什么需要帧编号?

因为因此接收方无法判别重复帧。

且用1bit表示帧序号足矣,简单的。

image-20260602154829272

④数据帧有差错:接收方丢弃且不返回ACK,发送方超时重传。

⑤发送窗口=接收窗口=1,不存在数据帧失序的问题。

回顾

image-20260602155240080

后退N帧协议(GBN)

名字由来:后退N帧协议。原本已经发送了0号1号帧,现在却后退回0号帧重新传送。也顺便实现了“流量控制”。

GBN:

  • 发送窗口>1,接收窗口=1。

  • 关于确认帧:接收方可以==“累积确认”==。(即仅返回最后一个帧的ACK)(对于超时重传有很大影响!!!)

  • 关于超时重传:重传i号帧,及其之后的所有帧。

    • (因为之后的帧并没有在接收窗口(=1)内,会被接受方丢弃,此时接收方会返回目前已正确的最后一个帧的ACK。而发送方收到后,会往右滑动到i号帧处,重新发送。)
    • (重传帧的同时,也需要重置计时器)
  • 关于计时器:仅为最早未确认的帧维护一个超时计时器。(该帧被确认后,计时器可以移到下一个未确认帧)

  • 至少用 2bit(0,1,2,3)给帧编号。

  • 缺点:如果接收方收取帧的速率很慢,或者信道误码率很高,会导致经常后退,传输效率低。

image-20260602171324930

正常情况(注意看新的帧序号)

image-20260602171919273

①数据帧丢失:超时重传。

image-20260602172759390

②确认帧丢失:超时重传。本质上像是退化成了①,因为第一个计数器最先到时间。

image-20260602173022305

③如果不满足Wt+Wr ≤ 2^n 会有什么问题?

  • 后果:后退不回去原来的起点(eg上一轮的0号帧),因为接收方到达了新一轮的0号帧。

image-20260602173347485

回顾

image-20260602173423259

选择重传协议(SR)

SR不同之处:

  • 发送窗口和接收窗口都>1。且:发送窗口Wt>接收窗口Wr。【Wr ≤ 2^(n-1)】【窗口总大小 = Wr+Wt】
  • 确认机制:
    • 否认帧NAK_i:若接收方收到有差错的i号帧,丢弃,并给发送方返回否认帧NAK_i。
    • 确认帧的不同:不支持“累积确认”,只能一帧一帧确认。(也有好处,即使中间有格子出错,也能移动前面成功的几格)
  • 请求重传机制:若发送方收到NAK_i,则重传i号帧。(发送方就不用等到超时才重发了)
  • 关于计时器:每一个未确认的帧都有一个超时计时器。

image-20260602174046091

窗口大小的变化

image-20260602174854156

(如果发送窗口<接收窗口)造成:D格子利用率不高,资源浪费。(所以 Wt=Wr=2^(n-1) 是比较合适的)

image-20260602174948384

正常情况

image-20260602175124855

①数据帧丢失:超时重传

image-20260602175427419

image-20260602175447555

②数据帧有差错:丢弃,请求重传

image-20260602175809048

image-20260602175835331

③确认帧丢失:超时重传+接收方判别为重复帧,返回重复帧的ACK。

image-20260602180212833

image-20260602180302432

④如果不满足Wt+Wr ≤ 2^n 会有什么问题?

  • 会导致发送方和接收方都无法正确判别“重复帧”。

image-20260602180729314

回顾

image-20260602180750971

三种协议的信道利用率分析

会理解图画图比记公式主要多了,真的。⭐

image-20260602180852203

S-W协议的信道利用率

==信道利用率U = 数据帧传播时延Td / 数据帧传播时延Td+2倍单向传播时延RTT + 确认帧传播时延Ta==

Td是单个帧-的传输时延

image-20260602184325697

image-20260602184449034

GBN,SR协议的信道利用率

共同点:Wt>1,理想情况下不考虑接收窗口情况。

==与S-W不同的是,数据帧传播时延N,因为*发送窗口大小是N==

==若分子大于分母,说明信道利用率=1==

image-20260602185029625

image-20260602185146705

发送方在发送数据期间,以==信道带宽的速率(最大数据传输速率)==发送比特;

但整个发送周期(包括等待确认的时间)平均下来的速率,称为==实际数据传输速率==。

(信道)实际数据传输速率 = 信道利用率 * 信道带宽

(信道)实际数据传输速率 = 发生周期内发送的数据量 / 发送周期

(第一题是求带宽)

image-20260602185845257

image-20260602190609780

补充的知识点:

滑动窗口协议:实际上不包括S-W协议。

ARQ协议(自动重传协议):包括S-W,GBN,SR三种协议。

连续ARQ协议:发送窗口大于1的ARQ协议。(GBN,SR)

回顾

image-20260602190630961

3.5 介质访问控制(3)

介质访问控制 (MAC)

多个节点共享一“总线型”广播信道时,可能发生“信号冲突”。

  • 为了控制各个节点对传输介质的访问,达到减少甚至是避免冲突,
  • 这就是:==介质访问控制==(Medium Access Control)
  • (无论是有线通信还是无线通信,都会造成==MAC==)

image-20260603125938615

sol1 - 信道划分(4)

image-20260603130124555

① 时分复用 TDM(time division multiplexing)

轮流发言,固定发言时间。

时分复用:

  • 将时间分成,多个TDM帧,(此处的TDM帧是一段固定长度的时间间隔,不同于数据链路层的帧)
  • 每一个TDM帧分成m个的间隙,
  • 每一个间隙给一对用户节点使用。

缺点:

  • 每个节点最多只能分配到信道总带宽的1/m
  • 如果某个节点暂不发送数据,会导致被分配的时隙闲置,导致使用率低。

传输介质的性质:

  • ①介质的位速率>单个信号的位速率
  • ②介质的带宽>结合信道的带宽

①-② 统计时分复用(STDM,statistic)

解决方法:统计每个节点对信道的使用需求动态按需分配时隙。

  • 这就是统计信道时分复用

优点:

  • 如果需要,一个节点可以在一段时间内获得所有信道的带宽资源。
  • 如果某节点暂不发送数据,可以不分配“时隙”,信道利用率高。

image-20260603131200689

② 频分复用(FDM,frequency division multiplexing)

如果两个信号频率区别很大,就容易分辨出来。

且不同信号之间留出频率隔离带,减少混淆。

频分复用:

  • 把信道的总频带划分为多个子频带,
  • 每一个子频带作为一个子信道,
  • 每对用户使用一个子信道进行通信。

image-20260603132006103

优点:①各个节点可以同时发送信道。②(比较)充分利用了信道带宽Hz。

缺点:FDM技术只能用于 模拟信号的传输(不适用于数字信号的传输)

③ 波分复用(WDM,wave division multiplexing)

用于光信号的传输,适合光纤使用。原理同频分复用。

image-20260603132446522

④ 码分复用(CDM,code division multiplexing)

CDM即共享信道频率,又共享时间

image-20260603133021417

各节点用专属的“码片序列”发送数据

码片序列就是一个m维正交向量(α表示1,-α(对调1/-1)表示0)

每个站点之间事先是知道对方的””码片序列””长啥样的(α,β…)

所以各个站点收到不同的“码片序列”,就知道是谁发的,内容是0还是1。

不同信号在传输过程中产生叠加怎么办?

​ – 即如何分离不同的信号?

通过:规格化内积

(1/m) * α(或β) * (第一组叠加信号值对应的码片序列的加减情况)= 1还是0

image-20260603134442486

image-20260603134600895

回顾

image-20260603134913793

sol2 - 随机访问(4)

通过争用信道使用权,胜者可发送数据。

随机访问:通过允许冲突,引入竞争解决机制,将广播信道变成点对点信道。

信道访问:通过共享时间或空间,把广播信道变成点对点信道。

image-20260603135600555

① ALOHA协议

纯ALOHA协议:

  • 如果准备好数据帧,就立刻发送
  • 类似 停止-等待协议
    • 发送方需要收到接收方的确认帧。
    • if超时:随机等待一段时间重传(不是固定是防止再次冲突)

时隙ALOHA协议:

  • 准备好数据后,等到最近的一个时隙再发送。
    • (时隙大小固定 = 传输一个最长帧所需时间)
  • 优点:稍微降低冲突概率,提高信道利用率。

image-20260603135616295

② CSMA协议(载波监听机制)

ALOHA协议的改进,增加了监听功能。

监听:在发送数据之前,先监听信道是否空闲。只有信道空闲时,才会尝试发送数据。

  • (网络适配器(网卡)需要安装一个“载波监听装置”)

1-坚持CSMA协议

坚持监听,直到信道空闲。

优点:信道利用率高。

缺点:监听的节点可能有多个,同时发送数据会造成冲突。

image-20260603141455165

1-非坚持CSMA协议

如果信道不空闲,先放弃监听,过一会再监听。

优点:比1-坚持CSMA更不容易冲突。

缺点:信道利用率比1-坚持CSMA低一点。

image-20260603141628093

p-坚持CSMA协议

1-坚持CSMA协议和非坚持CSMA协议的综合版本

p就像是概率为p,1就是概率为1哈哈哈。

坚持监听,直到信道空闲。

有p的概率会立即把数据帧发送到信道上,有1-p的概率过一段时间再把数据帧发送到信道上。

优点: 折中的方案。

image-20260603142119155

回顾

image-20260603142800193

==③ CSMA/CD协议==

用于早期的有线以太网(总线型的)

  • 【用同轴电缆或者集线器连接多个节点组成的有线局域网】
  • 现在的有线以太网(星形的)【用交换机连接组成】

image-20260603143453112

CSMA – 监听 的特性。

CD(collision detection,冲突检测)

==先听后发,边听边发,冲突停发,随机重发。==

  • 先听后发:监听到信道空闲再发送数据。
  • 边听边发:a节点发送数据时,监听其他节点有没有发送数据到信道上。
  • 冲突重发:a节点发送的时候监听到发生冲突,停止发送数据。
    • 同时检测是第几次发生冲突,如果次数k>15,放弃传输,并报告网络层。
  • 随机重发:如果k≤15,随机等待一段时间 ,重新发送数据。
    • image-20260603144256904
    • (k=10,k=16,是两个分水岭)

image-20260603145003190

拓展:强化碰撞机制。

  • 一旦检测到冲突,站点除了立即停止发送数据外,还需发送32或48bit的人为干扰信号,以确保所有站点都能感知到冲突。

争用期

CSMA/CD协议 没有ACK机制,用的是争用期机制

==争用期==:一个节点最多需要多少时间可以确定自己的占领地盘。(信号在最远两个端点之间往返传输的时间)

  • === 2 * 最大单向传播时延==

争用期机制原理:如果在争用期内没有发生冲突,说明就不会再有冲突了。

以太网规定的争用期:争用期内可发送512bit/64B数据。

  • eg:10Mbps时,51.2μs。100Mbps时,5.12μs。

image-20260603150321191

image-20260603150837144

==最短帧长==

==①==最短帧长 = 2 * 最大单向传播时延 * 信道带宽

(或者说 === 争用期时间 * 信道带宽==,为争用期内可发送的数据量)

  • 若接收方收到的帧小于最短帧长,视为无效帧
  • 为什么?因为如果实际上发生了冲突,但是节点“误以为”发送过程没有冲突。
    • 根本原因是帧长太短了,发送全部数据的10Mbps,每段最大长度500m时间也短,节点是发送完就不监听有无冲突了,(争用期是 监听过程 中来检测冲突的),所以发送总时间短,也听不到后面的冲突信号了。

==②==:==发送帧时间 ≥ 争用期时间==(①②式子的桥梁是争用期时间)

image-20260603152014353

最长帧长

规定最长帧长的原因:防止某些节点一直占用信道。

以太网规定:最短帧长64B,最长帧长1518B

帧间最小间隔

9.6μs(10Mbps),一遍接收站有足够时间清空缓存,为接收下一帧做准备。

回顾

image-20260603152533257

==④ CSMA/CA协议==

image-20260604200128759

CSMA 载波监听多路访问

CSMA/CD 冲突检测 (边发送边监听,检测到冲突立即重发)(适用于有线网络,如以太网技术)

CAMA/CA 冲突避免 (发送过程中不用检测冲突,发送前想办法尽量避免冲突(但不是完全避免)(适用于无线网络,如WiFi)

AP(接入点)

就是无线WiFi热点。

image-20260604200624792

image-20260605153751796

无线局域网(WiFi)面临的问题

为什么不能使用CSMA/CD协议?无线网络无法实现冲突检测

  • ① 硬件很难实现“边听边发,冲突检测”。(无线网络上接收信号强度<发送信号强度,且无线介质上信号强度变化大)
  • ② 存在“隐藏站”问题。(A无法监听到BC信号,BC对A而言就是隐藏站,导致没检测到冲突(而实际是有的))

所以只能使用冲突避免(or完整发送帧的代价太大了)

image-20260604201300338

①CSMA/CA协议(先不考虑隐藏站)

==发送方:先监听后发送,忙则退避。==

  • 监听到信道空闲,间隔DIPS后,一口气发完全部帧。
  • 若发送方超时未收到ACK,则进行随机退避。

==接收方:停止等待协议(每收到一个正确数据帧都返回ACK)==

随机退避:

  • 用算法确定一段随机退避时间(倒计时)

    • [0,(2^4+k - 1)],第六次重传后就不再增加(1023)
  • 发送方会一直监听信道,只有信道空闲时才扣除倒计时。倒计时结束后立即发送帧。

帧间间隔:

  • DIFS(分布式协调)>PIFS>SIFS(短IFS)

image-20260604202236172

image-20260604202214777

②信道预约机制(解决屏蔽站问题)

key:先预约再发送。

  • ① 发送方广播RTS控制帧(先听后发,忙则退避)【预约】

  • ② AP广播CTS控制帧给所有节点(告知无关节点,勿扰)

  • ③ 无关节点收到CTS后自觉“禁言”一段时间(即 虚拟载波监听机制)。发送方收到CTS后,就可以发送数据帧了。

  • ④ AP收到数据帧后,进行CRC校验,无差错则返回ACK帧。

  • NAV:X在xxx帧中填写的时间

    • 微信图片_20260611150831_1330_2

image-20260604202823829

image-20260604202731543

回顾

image-20260604200128759

sol3 - 轮询访问(1)

令牌传递协议

令牌环网技术:环形结构,各节点(通过令牌token)“轮询访问”信道,不会发生信道冲突。

  • 适用于:高负载的广播信道
  • 该协议不会发生冲突。
  • 比(总线型)以太网技术好,比(星型)以太网技术差,所以被历史淘汰了。

令牌环网工作原理

image-20260604204138071

节点每次只能传一个帧,传完就要释放令牌给下一个节点。

如果获得令牌的节点没有数据要发送,立刻传递下去,把令牌传给下一个节点。

如果令牌回到原来的节点了,节点不再转发该帧,并重新产生一个令牌。

image-20260604204316918

令牌帧,数据帧

(令牌是一个特殊的控制帧)

image-20260604204532041

MAU – 实现令牌环网的集中控制

image-20260604204658213

回顾

image-20260604204713757

3.6 局域网(3)

以太网与IEEE 802.3

无线局域网与IEEE 802.11

VLAN与IEEE 802.1Q

前言

电气电子工程师学会 – IEEE802委员会 – 802.3/802.11工作组

不同的局域网技术多是科技公司推出的,收到市场行业好评,保留下来。(如:以太网技术,WiFi技术)

image-20260605144705912

802委员会把数据链路层分成:

  • MAC子层(介质访问控制子层,与访问传输介质有关的功能,eg组帧,比特传输的差错控制,透明传输等)
  • LLC子层(逻辑链路控制子层,eg提供有无确认有无连接的服务等,已经名存实亡了)(802.2工作组已解散)
    • 有线局域网已被802.3垄断
    • 无线局域网已被802.1垄断

局域网的基本概念和体系结构

image-20260605145758312

除了以太网,别的局域网有:

  • 令牌环网:物理是星型结构,逻辑是环形结构
  • 光纤分布数字接口:物理是双环结构,逻辑是环形结构

以太网 与 IEEE 802.3

EEE 802.3 推出的 以太网物理层标准

以太网常用的传输介质有四种:粗缆(5),细缆(2),双绞线(T)和光纤(F)。

同轴电缆分为:

  • 50Ω基带电缆:
    • 细缆(10Mbps,每段最大长度185m
    • 粗缆(10Mbps,每段最大长度500m
  • 75Ω宽带电缆

同轴电缆只能半双工,双绞线可半双工(集线器),可全双工(交换机)。光纤必须全双工。

image-20260605162105592

(高速以太网:V≥100Mbps)

同轴电缆以太网(中继器连接)

image-20260605162205669

双绞线以太网(集线器 / 交换机连接)

image-20260605162506522

网卡(网络适配器)

网卡实现的主要功能在物理层和数据链路层。

计算机与外界局域网的连接,借助于主板上嵌入的网络适配器实现。

适配器与局域网之间通过电缆或者双绞线以串行方式通信。

适配器与计算机之间通过IO总线以并行方式通信。

两种 以太网MAC层标准

MAC层≈数据链路层(因为LLC层名存实亡了)

image-20260605162602695

(在802.3 标准中,LLC子层才关心为哪个网络层服务,所以IEEE 802.3 标准,不用指明网络层协议,MAC帧中填写的是数据部分的长度。V2标准中是填写网络层协议)

  • image-20260605163426113

V2标准的 以太网MAC帧

口诀:662N4,收发协数验。N=【46,1500】

  • (6+6+2+4+46=64),最小MAC帧长是64B

  • MAC地址固定48位(6B)(高24位位厂商代码,低24位厂商自己分配。)

  • MAC地址固定在网卡的ROM中,也称为**==物理地址==**。

    • 直通方式输入接口收到数据帧,只检查其MAC地址,6B。转发时延为读取MAC地址的时间。(6*8bit/100Mbps=0.48μs)
  • 数据报太长就分片,太短就补充。【即使用了分组交换技术

image-20260605164135942

(以太网帧不需要结束定界符,因为每一帧之间会有96μs的间隙,且用的是曼切斯特编码。)

单播帧和广播帧如何传播?

前提:

  • 路由器,交换机,各个终端有MAC地址。

  • 集线器没有MAC地址。(只能广播而不是单播)。(和冲突域有关)

  • 集线器:不能分割冲突域,不能分割广播域。

  • 交换机:能分割冲突域,不能分割广播域。

  • 路由器:能分割冲突域,能分割广播域。(路由器不会把帧转发到其他网络)

image-20260605165040023

image-20260605165249728

回顾

image-20260605165302662

虚拟局域网 与 IEEE 802.1Q

虚拟局域网VLAN,由IEEE 802.1Q负责

一个大型局域网(eg校园网)面临的问题

  • 广播节点多了,造成“广播风暴”
  • 局域网可能有一些敏感节点,存在安全问题

image-20260605170741282

VLAN

  • 将一个大型局域网分割成多个小的VLAN,每一个VLAN是一个广播域

  • 每一个VLAN对应一个VID

  • (需要支持VLAN功能的交换机来实现)

  • 属于同一个VLAN的主机,无论是否连接到同一台交换机上,都能互相通信。

  • 属于不同的VLAN的主机即使连接到同一个交换机上,也不能直接在数据链路层通信。

    • ⭐不同广播域的站点,需要路由器 / 支持三层功能的交换机完成第三层转发,普通以太网交换机不行)

image-20260605171149649

VLAN的划分方式

① 基于接口

image-20260605171425286

② 基于MAC地址

image-20260605171704532

③ 基于IP地址

  • 需要网络层功能的支持
  • 这种方式可以让多个局域网的主机组成一个VLAN(虚拟局域网跨越了路由器了)

image-20260606133717573

802.1Q帧

  • 802.1Q帧(比标准的以太网帧)多了4个字节,记录VID的信息。
    • 为保持最小帧长64B不变,数据字段的最小长度46B→42B,最大长度仍为1500B。也因此最大帧长1518B→1522B
  • 如果帧的传输需要跨越交换机,需指明VID。且通过干线链路传输。
  • 交换机与交换机之间,传输802.1Q帧
  • 主机与交换机之间,传输标准以太网帧

image-20260605172303236

image-20260605172530000

回顾

image-20260605172843225

无线局域网 与 IEEE 802.11

image-20260605173153093

(第二种无线局域网不包含AP,是由若干平等地位的移动站临时组成的对等网络,能独立于互联网运行)

一台家用路由器的硬件架构

家用路由器 = 路由器 + 以太网交换机 + AP (AP可以看成是无线交换机)

通过门户Portal设备将两类局域网连接,变成一个更大的局域网。(EG:将802.11无线局域网接入802.3有线以太网)

image-20260605173441020

802.11无线局域网的基本概念

(通过CSMA/CA协议实现介质访问控制。)

基站:接入点AP(或者叫无线接入点WAP),可以看成是WiFi热点

移动站:连接了同一个WiFi的多个设备

基本服务集BSS = 1个基站+多个移动站

  • 服务集标识符SSID(就是WIFI名字,不超过32字节)
  • 基本服务区BSA(就是站在哪可以搜到WiFi)

拓展服务集ESS:(就像是全屋WiFi)将多个AP连接到同一个分配系统,组成一个更大的服务集。

  • (无线)子母路由器
  • image-20260605174251006

漫游:一个移动站从一个基本服务集切换到另一个基本服务集,仍然可以保持通信。(就是丝滑切换不同的WiFi热点)

image-20260605174659826

802.11帧的分类

  • 数据帧

  • 控制帧:如ACK,RTS,CTS帧

  • 管理帧:eg探测请求和探测响应帧(就是用于发现WiFi的帧)

数据帧

image-20260605175920354

image-20260605180238170

回顾

image-20260605180548083

拓展:控制帧(格式)

image-20260605180755078

以太网交换机

集线器无法隔离冲突域。且带宽平分1/N。

网桥可以隔离冲突域(替代集线器)

以太网交换机是多端口网桥,也能隔离冲突域。各个接口带宽都为N。

中继器和集线器属于物理层设备,网桥和交换机属于数据链路层设备 (因为前者只起到放大信号,广播信号的作用)

以太网交换机特点:

  • 交换机端口连接集线器时,必须使用CSMA CD协议,且只能是半双工的方式
  • 交换机端口连接主机或其他交换机时,工作在全双工方式(默认)(因此也无需使用CSMA CD协议)
  • 交换机有自学习功能(支持即插即用)
  • (交换机可以互连不同物理层,不同MAC子层及不同速率的以太网)

image-20260608142658889

以太网交换机的自学习功能

记录下当前地址的始址。

image-20260608144943500

直接交换 VS 存储转发交换

image-20260608145723733

image-20260608145815186

共享式以太网

指的是以集线器为中心连接设备构建的局域网

所有主机(通过双绞线接入集线器)共享同一物理传输介质和总带宽。(好惨哈哈哈)

特点:

  • 工作在物理层!
  • 采用半双工通信和CSMA CD协议
  • 单一冲突域和广播域
  • 盲目广播所有帧

3.7 广域网

广域网的任务是 长距离传输主机发送的数据,

使得一个局域网可以通过广域网与另一个远程局域网通信。

广域网 - WAN

各个节点之间是 点对点 高速链路

  • 广域网 点对点链路 使用的协议是 PPP协议。强调资源共享。
  • 以太网 总线型链路 使用的协议是 CSMA CD协议。强调数据传输。
  • 广域网不同于局域网,OSI层次是三层

image-20260611180141823

image-20260608140045218

PPP协议

(point to point protocol,点对点协议)

image-20260608140241756

image-20260608141222654

(PPP协议提供差错 检测,但是不提供 纠错 哦)

(PPP协议提供的是 有连接 不可靠 的服务)

PPP工作过程示例

LCP - 链路控制协议,建立的配置LCP链路

NCP - 网络控制协议,为网络层协议建立配置逻辑链接

image-20260608142222811

other

无确认的无连接服务:指的是主机发送帧时不需要先建立逻辑连接,目的主机收到帧时也不需要发回确认。

  • 如果是帧丢失,也不检测也不回复。
  • 适合:①错误率很低的时候。②实时通信(毕竟数据迟到才是最糟的)
  • 无连接是之后才学习的内容,不用深究。

服务接入点:层与层之间的接口地址