数据链路层

9/4/2021 Network

数据链路层概述

五星重难点

传输的基本单位是 帧,在对等的数据链路层之间的数字管道中传输,注意他并不必考虑比特的传输

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

广域网中的主机、路由器等都必须实现数据链路层(还包括网络层和物理层)

  • 广域网中实现的点对点通信

局域网中的主机、交换机等都必须实现数据链路层(不包括网络层)

  • 局域网内部往往刺采用广播通信

数据链路层的功能

也是数据链路层的基本问题

  • 封装成帧
  • 透明传输
  • 差错控制
  • 流量控制

封装成帧

物理层接收到的比特会上传到数据链路层,链路层会对这串比特加上帧首部和尾部,表明这是一段帧,最常用的办法是加上控制字符 SOH(start of header) / EOT(end of transmission),表示帧的开头和结尾

两种封装方法:

  • 字符计数法:在首部加入内容比特的长度,一旦出错,对正确性的影响最大,一般不用
  • 字符填充的首尾定界符法:加入帧头(DLE STX)和帧尾(DLE ETX)
  • 比特填充的首位标志法
  • 违规编码法

透明传输

若数据中某个字节的二进制代码切好为 SOH / EOT,链路层就会找到错误的帧边界

为了处理以上问题,在处理数据的时候使用字节填充,碰到 SOH 的数据,就在原数据前加上 ESC,碰到 ESC、EOT 同理,这样就避免了错误边界的产生(就像反斜杠转义)

差错控制

数据传输过程中可能会出现比特差错,即1变为0,0变为1

  • 误码率:传输错误的比特占比特总数的比率
  • 在数据链路层中广泛使用循环冗余检验 CRC 的检错技术

CRC 技术:在原始数据,k 位数据位后添加 n 位冗余码,一起发送,在接收端检测冗余位的误码率

  • 补 3 位 0 的数据,设原始数据 101001,补3位0则为 101001000
  • 给定除数 P = 1101,用 101001000 除以 P,这里注意,二进制除法,实际上就是在各位上进行异或操作(不同为1,相同为0)
  • 得到余数 R = 001,商 Q = 110100
  • 用余数 011 代替原先补的3位0,得到所需数据 CRC = 101001011
  • 再用 CRC 除以 P,若余数为 0,则接受,反之则丢弃数据(认为失真严重)

两次除以 P,第一次得到 CRC,第二次用 CRC 补全判断余数是否为 0

注意:CRC 循环冗余技术只能做到无差错接受(发送什么就收到什么),但无法提供可靠传输(没有确认和重传机制)

  • CRC 无法决定数据之间的传输顺序
  • CRC 不能保证数据传输过程中不丢失
  • CRC 无法判断重复数据

数据链路层协议都是不可靠的传输协议

流量控制

相对重要,频率高难度大

停止-等待协议

循环队列

  • 线性结构:首、尾、前驱和后继
  • 队列:尾进头出(排队出站)

避免队列的假溢出(尾指针超过上界,但元素未满,因为添加/删除过程中头/尾指针不断后移) ——> 循环队列

流量控制:让接收方来控制发送方发送数据的速度,避免发的太快,接收方无法有效、准确的处理发送的数据,造成溢出或者丢失

  • 一种点对点控制,即接收方控制发送方(1v1)

在数据传输过程中

  • 发送方A和接收方B分别维护一个发送窗口和一个接受窗口
  • 发送窗口表示:没有收到确认时,继续发送数据直到空
  • 接受窗口表示:只允许接受落入窗口内的数据

停止-等待机制

发送方每发送一帧数据后,必须等待接收方的应答后,才继续发送下一帧数据

滑动窗口机制

按照窗口大小,流量控制可以分为三种

  • 发送、接收窗口均为 1
  • 发送窗口 N,接收窗口 1
  • 发送窗口 N,接收窗口 M

当发接窗口均为 1 时,实际上就是使用的停止-等待协议

  • 正确情况:发送 - 接收 - 确认 - 发送下一数据
  • 错误情况:发送 - 计时 - 超时未收到确认 - 重传数据
    • 这里涉及到数据的重发次数问题,需要对重发的数据进行编号,第一次编为 0,重传的编为 1(只需要一个比特编号)

网络利用率

最大利用率

  • 数据发送时延 t1
  • 数据传播时延 t2
  • 确认信息发送时延 t3
  • 确认信息传播时延 t4

网络利用率即为发送数据的时间除以总时间:t1 / (t1+t2+t3+t4)

分为以下几种情况,一般为后两种

  • 正常情况,发送接收确认均单独考虑
  • 等长确认帧:即 t1=t3,t2=t4,网络利用率为 t1 / 2(t1+t2)
  • 忽略确认帧:等长基础上忽略确认帧的发送时延 t3,此时利用率为 t1 / (t1+t2+t2)

GBN & SR 协议

多帧滑动窗口

后退 N 帧滑动窗口协议

发送窗口 N,接受窗口为 1

发送方一股脑发送很多,然后开等,接收方进行累计确认,如一共发送 7 个数据,接收方确认了第 7 个数据,则说明 7 个数据全部确认

这里累计确认还有另一重意义,如发送七个数据,确认了 0、2、3,这说明 0、1、2、3 个数据是没问题的,从第四个数据开始重传

如果在 N 处出现错误,发送方 "go back N point",从第 N 个数据帧开始重发

编号问题:发送窗口 N 个数据帧的编号为帧的下标(从0始)模上 N,发送窗口的编号实际上是一个滚动的循环队列,编号始终在 0~N-1;接收窗口大小为 1,接收到的单个帧编号也在 0~N-1

编号所需的数据位 n 需要满足 2^n >= 发送窗口大小

  • n 位数据可以编号 2^n 数(如 00,01,10,11)
  • 在发送窗口中不能出现两个编号 0,这样在一次发送中将无法辨别,于是 2^n >= N,(N 为窗口大小)

不足之处:网络好时效率很高(确认次数少),但一旦网络差,回退成本很高

网络利用率:Nt1 / (t1+t2+t3+t4)

  • 发送时延 t1
  • 传播时延 t2
  • 确发时延 t3
  • 确传时延 t4

在整个 (t1+t2+t3+t4) 的时间范围内共发送/接收了 发送窗口大小N 个数据,且发送时延为 t1,于是网络利用率要乘上 N

  • 为什么这样?率应该是单位时间个数的效率

同样也存在等长确认帧和忽略确认帧的情况

选择重传滑动窗口协议

发送窗口 N,接收窗口 M,要求 N > M(肯定是这样,因为必然是小控制大,不然流量控制就没有意义了,都供不应求了还控制啥)

关于发送和出错处理:不支持累计确认,即一个个确认;哪里出错传哪里(不同于哪里出错回哪里),在错误情况下利用率显著提高

关于编号:因为两个窗口大小均大于 1,需要维护两个循环队列进行编号,同样的,编号位数 n 要满足 2^n >= 发送窗口大小+接收窗口大小

关于利用率:Nt1 / (t1+t2+t3+t4)

  • N 为发送窗口大小

计算题

窗口大小的讨论

当接收窗口大小为 1,能够保证帧的有序性

当编号位数为 n 时,总共编号数则为 2^n,发 >= 接

情况 有序接收 最小发送窗口 最大发送窗口 最小接收窗口 最大接收窗口
停止等待 true 1 1 1 1
GBN(go back n) true 2 2^n-1 1 1
SR(select resend) false 2 2^(n-1) 2 2^(n-1)

连续 ARQ 协议:GBN 和 SR

只有 SR 协议是无序接收,为了防止接收窗口溢出,要求接收窗口大小大于等于发送窗口大小,为了防止接收窗口新旧窗口重叠,要求接收窗口大小大于等于序列号的一半,当发送窗口大小等于接收窗口时,性能最好

利用率的讨论

正常情况,这里的 N 是发送窗口大小,和帧编号比特位 n 的关系为 2^n >= N,N 是发送的帧数,t1 是一帧的传输时延,t2 是传播时延,在前一帧的传播过程中,后一帧是可以直接开始传输的,所以利用率要乘上 T 时间内传输帧的个数

N×t1t1+t2+t3+t4 \frac{N\times t_1}{t_1+t_2+t_3+t_4}

等长确认帧

N×t12×(t1+t2) \frac{N\times t_1}{2\times(t_1+t_2)}

忽略确认帧

N×t1t1+t2+t2 \frac{N\times t_1}{t_1+t_2+t_2}

带宽的讨论

链路上所耗时间即为传播时延

带宽 = 数据量 / 时间,带宽其实也就是最大平均数据传数速率

实际带宽,n 为发送窗口大小

n×帧长t1+t2+t3+t4 \frac{n\times 帧长}{t_1+t_2+t_3+t_4}
理论带宽(考题带宽),即题干中给出的带宽,大于实际带宽

注意一定要将字节转为字,1 字节 = 8 bit

介质访问控制

总线型介质访问

分时和共享

使用一对多的广播通信模式,多个计算机发送数据时信道很有可能发生冲突

信道划分介质访问控制

也叫静态划分方式

就是多路复用,无冲突,但效率较低

  • 频分多路复用
  • 时分多路复用
  • 波分多路复用
  • 码分多路复用

复用:即多个站点通过同一道信道进行传输,对信道的复用

频分复用 FDMA

将带宽通过频率分段,各个站点在各自的频带进行传输,在同样的时间占用不同的带宽资源

时分复用 TDMA

每个用户在不同时间段使用信号,划分 TDM 帧,进行数据传输

波分复用 WDMA

光的频分复用,在光纤中传播,不同频率的光对应不同的用户

码分复用 CDMA

给每个站点规定自己独有的码片,长度固定为 m bit,当他要发送 1 的时候,就发送该码片,要发送 0 时,就发送码片的二进制反码

如 P 站的码片为 00011011

  • 发送1:00011011
  • 发送0:11100100

码分复用的规格化内积:将收到的二进制码按照码片长度 m 进行分组,和站点的码片进行内积运算(向量内积,懂?)

  • 若内积结果为正,表示是该站发的1
  • 为负,表示是该站发的0
  • 为0,表示不是该站发送的信息

如 S 站码片为 0101,收到数据位 0 1 0 1,0 0 0 0,0 -1 0 -1

(0101)(0101)=2 \begin{pmatrix} 0&1&0&1 \end{pmatrix} \begin{pmatrix} 0\\1\\0\\1 \end{pmatrix}=2

(0101)(0000)=0 \begin{pmatrix} 0&1&0&1 \end{pmatrix} \begin{pmatrix} 0\\0\\0\\0 \end{pmatrix}=0
(0101)(0101)=2 \begin{pmatrix} 0&1&0&1 \end{pmatrix} \begin{pmatrix} 0\\-1\\0\\-1 \end{pmatrix}=-2

所以第一组发的1,第二组不是 S 发的,第三组发的0

随机访问介质访问控制

也叫争用型方式,考得较多

注意,争用型方式均有可能发生冲突

两个节点同时发送数据,一去一来,同一频率,数据将发生冲突

ALOHA 协议

最简单、最早想到的方法

只要有数据,就可以直接发送,当一段时间内没有收到确认,认为发生冲突,等待一会儿后重发,当年成功率只有 18.4%

CSMA 协议

载波侦听多路访问协议:发送前先侦听一下信道是否空闲

CSMA 的三种策略
  • 1-坚持 CSMA:监听,空闲则发,忙则持续监听
  • 非坚持 CSMA:监听,空闲则发,忙则歇一会儿再监听
  • p-坚持 CSMA:监听,空闲时,以 p 的概率发,(1-p) 的概率不发,忙则不发,若不发,延迟一段时间再监听

但只能保证别人在发时不发,但不保证两者同时向同一信道发送数据

CSMA/CD 协议

CSMA 存在这样的问题,a、b 同时监听到信道 q 空闲,于是同时想信道 q 发送数据,造成冲突

为了处理这种情况,站点在总线上发送数据时,总线上的信号电压变化值将增大,当一个站检测电压摆动值门限值时,认为发生了碰撞,不发送数据

CSMA/CD 的工作过程
  • 先听后发:检测是否空闲
  • 边听边发:一边发,一边检测有无冲突
  • 冲突停发:一旦有冲突,立即停发
  • 随机重发:等待一个随机时间,再次发送

冲突停发的冲突期:最先发送数据帧的站,发送数据帧后 2p(最远站点一来一回的时延) 后,就可以直到发送的数据帧是否遭受了碰撞

为了保证站点在传输时能检测到冲突,传输时延 T1 至少是单向传播时延 T2 的两倍,因为在传输过程为 T1 中,要收到回传的冲突信息至少要 2T2(即第一个数据发送达到后立即传回冲突信息,一来一回之下为2T2),于是 T1 >= 2T2

最小帧长即为 2T2 乘以带宽,这样才能保证在传输过程中检测到冲突

  • T2 = 传输距离 / 传输速度
二进制指数类型退避算法

即随机重发的规则

  • 争用期 2p
  • 取整数 k = Min(重传次数, 10)
  • 在整数集合 [0, 1,..., 2^k-1] 中随机取一个整数 r,重传时延则为 r x 2p
  • 当重传次数达到 16 时,丢弃该帧,向高层报告

小tip:k 最大为 1023,当重传次数小于等于 10 时,r = 重传次数

注意:冲突信号只存在于 CSMA/CD 协议中,在 CSMA/CA 协议中提前避免了冲突;首次重传的帧再次发生冲突的概率最低,因为 k 越大,从概率上讲,等待的时间会越长,越容易冲突

CSMA/CA 协议

载波侦听多路访问/冲突避免,应用于无线局域网

先检测信道是否空闲,若空闲,等待一段时间,再次检测,若仍空闲,立即发送数据;否则(即不空闲),随机等待一定时间后,再次发送检测

因为涉及到多次检测,需要对信道的状态进行标记,即空闲零次/空闲一次/空闲两次,这里有三种空闲的检测方法:

  • 能量检测:对接收信号能量大小进行判断,是否超过阀值
  • 载波检测:对接收信号与本地 PN 码进行运算比较,若超过某一极限,认为信道被占用
  • 能量载波混合检测:通过发送报文的方式检测,先发送请求传送报文 RTS,直到收到目标端响应报文 CTS 后,发送端才开始传送真正的数据(报文很小,基本不影响整体效率)
带确认的发送机制

需要接收方的确认信息 ACK,若有则说明接收到了;若无则重传该帧,直到收到 ACK,若若干次均为收到 ACK,丢弃

轮询访问介质访问控制

无冲突

主要用在令牌环局域网

协议为令牌传递协议

在令牌环局域网中,各站点在逻辑上构成一个由信道连接的环,令牌在环上传递,接收 a 的帧后,依次传递到 e,放下帧,继续轮询

注意,令牌上有数据时,将不再接收新的数据;无需发送数据时,令牌将在坏上空转

就像在一个环形镇子上,只有一辆不能拼车的的士到处接客

局域网的数据链路层

被一个学校、单位、楼使用的网络

主机与主机之间通过交换机(数据链路层设备)连接在一起,局域网中的主机和交换机实现数据链路层

局域网之间通过路由器连接在一起

特点及三要素

特点

  • 物理范围较小
  • 专门的传输介质,速率高
  • 延迟短,可靠性较高
  • 支持多种传输介质
  • 往往采用广播的通信模式

局域网的三要素:

  • 网络拓扑结构:星型网、环形网、总线型网和树形网
  • 传输介质:双绞线
  • 介质访问控制方法

以太网子层

局域网的标准:以太网

  • 在考试里面,数据链路层的局域网约等于以太网,而以太网等于802.3局域网

LLC & MAC

IEEE 802 将局域网的数据链路层拆成两个子层

  • 逻辑链路控制 LLC(logical link control) 子层:向上给网络层提供服务,与传输媒体无关
  • 媒体接入控制 MAC(medium access control) 子层:向下连接物理层

以太网服务、编码及争用期

以太网提供的服务:尽最大努力的交付(不可靠)

当收到有茶错的帧时直接丢弃,差错的纠正由高层处理,并且无法识别帧是否是重传的

编码

以太网发送的数据使用曼彻斯特或差分曼彻斯特编码(为了保证同步),码元率 = 2数据率(因为曼彻斯特需要两个码元,才能产生一个“变化”,即传递一个比特)

CSMA/CD - 争用期

争用期指最远两端的往返时延 —— 能够知道是否发生碰撞(冲突),也叫碰撞窗口

如果过了争用期仍未检测到碰撞,则肯定这次发送不会发生碰撞

10 Mbit/s 以太网争用期的长度:

51.2μs 51.2\mu s

  • 在争用期,10Mb/s 的以太网可以发送 512bit,即 64 字节的数据,带宽乘以时间 ——> 时延带宽积
  • 所以,若前 64 字节数据未发生冲突,则之后的数据就不回发生冲突
  • 这个 64 字节也被称为 10Mb/s 以太网的最短有效帧长

推广到一般:最短有效帧长 = 争用期 × 发送速度(带宽)

  • 就是时延带宽积

以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧

以太网 MAC 层

MAC 层的通信方式

广播模式只能实现一对多,点到点通信实现一对一

以太网将计算机连在一条总线上,这意味着一发送全部站点都会收到数据,很容易实现一对多的通信

收到数据不意味接收,MAC 层以此实现一对一通信

  • 将目标接收站的硬件地址写入帧首部的目的地址字段中
  • 仅当帧中目的地指与适配器的硬件地址一致时,才接收该数据帧

硬件地址,也叫物理地址、MAC 地址

  • 48 位的 MAC 地址
  • 前六个字节(低 24 位)的后三个字节由厂家自行指派

MAC 地址类型

  • 广播地址(一对全体,校园广播):FFFF FFFF FFFF,所有局域网上的计算机均接收
  • 多播地址(一对多,班级广播):01005E000000 ~ 01005E7FFFFF,只要 MAC 地址在这一范围内,即为多播地址
  • 单播地址(一对一,私信):只要不是上两种,就是单播地址

MAC 地址(硬件地址)其实就是网卡地址,焊在网卡上的

yay -S net-tools

# 查看网卡地址
ifconfig
1
2
3
4

网卡

MAC 层也就位于网卡上,网卡也叫 通信适配器、网络接口卡 NIC

网卡的重要功能:

  • 进行串行/并行转换
  • 数据缓存
  • 在操作系统安装设备驱动程序
  • 实现以太网协议

装网卡驱动实际上就是在实现以太网协议,以实现无线上网

局域网中常常是串行通信,而计算机内部尝是并行通信,这里就涉及到传并行的转换(通过 MAC 实现)

信息处理

从局域网中收到帧后,先检查本机 MAC 和帧中的目的 MAC 是否一致

  • 若相同,则接收
  • 若不同,则直接丢弃,不作任何处理

MAC 地址本质上来讲就是一个二进制标记(身份证号)

以太网的帧格式

有人的地方就有江湖

拿到标准即拿到下一代发展的权利

MAC 帧格式有两种常用标准

  • DIX Ethernet V2 标准
  • IEEE 的 802.3 标准

最常用的 MAC 帧是以太网 V2 的格式

固定格式共占 6 + 6 + 2 + 4 = 18 B,帧的有效长度为 64~1518 B,其中有效数据长度为 46~1500 B

  • 目的地址:目的 MAC 地址,占 6 字节,和硬件地址保持一致
  • 源地址:发送方的地址,也占 6 字节
  • 类型:指明帧向上交给什么协议处理,即指定给谁提供服务,占 2 字节
  • 数据:46~1500,数据的有效长度
  • FCS 校验信息:校验值,占 4 字节,将校验结果放在该处,检测成功率极高

无效的 MAC 帧

  • 数据长度和长度字段指不一致
  • 帧长度不是整数
  • 帧检验序列 FCS 查出有差错
  • 数据字段长度不在 46~1500
  • 帧长度

直接丢弃,不关心是否重传

另外,还有 8 个字节的前导码,包含 7 字节的前同步码和帧开始定界符

例题:

广域网的数据链路层

这种信道往往使用一对一的点对点通信模式,因为一般来说信道很长,广播代价很大

连接不同的局域网,让信息在局域网之间通信,通过路由器进行跨网络通信,涉及到网络层

广域网 局域网
距离 几十公里到几千公里 某一区域
协议 PPP、HDLC CSMA、CSMA/CD
连接 节点交换机 路由器
层次 下三层 下两层

PPP 协议

要求

  • 简单
  • 封帧
  • 透明
  • 多种网络层协议
  • 多种链路
  • ......

无序要的功能

  • 纠错 ——> 不可靠
  • 流量控制
  • 序号
  • 多点线路
  • 半双工或单工链路

PPP 协议的组成

一个将 IP 数据报封装到串行链路的方法

  • 封帧方法

链路控制协议 LCP(link control protocol)

  • 管理数据链路层
  • 匹配不同的数据链路层

网络控制协议 NCP(network control protocol)

  • 对上承接网络层协议
  • 匹配不同的网络层

PPP 协议的帧格式

7E FF 03 + 协议 + 数据 + FCS + 7E

以 7E 开头/结尾(并不算在帧内),FF 为硬件地址(不起作用),03 为控制字段,FCS 为校验值

因为以 7E 作为首尾,若在数据中出现了 01111110,将按照如下规则处理

  • 若为异步传输:使用转义方法,即用字符填充
  • 若为同步传输:硬件填充,0 比特填充法,在遇到连续的 5 个 1 之后,补一个 0,接收方会删掉连续 5 个 1 后的 0,也叫位填充

PPP 协议的运行

分为四个阶段

  • 建立链路(LCP)
  • 验证(PAP / CHAP)
  • 网络控制协商(NCP)
  • 终止(LCP)

特点

  • 不使用序号和确认机制
  • 只支持全双工
  • 面向字节,帧长度均整数
  • 只支持点对点链路通信
  • 面向连接但不可靠
  • 具有身份验证功能
建立链路

使用 LCP 协议在链路两端建立连接,动态协商一些参数,比如双方使用的认证方式、是否支持压缩和 MLP(多路复用、负载均衡)

交换 LCP 报文

验证

PAP 口令验证协议

CHAP 挑战握手身份验证协议

解决安全问题

网络协商控制

根据 NCP 的协商建立并配置 IP、IPX、AppleTalk 等网络层协议,以及建立并中断会话

终止 PPP 链路

同样使用 LCP 协议

HDLC 协议

面向比特的数据链路层协议

帧类型

信息帧(I 帧):传递有效信息和数据

监控帧(S 帧):监视和控制数据链路,完整信息帧的接收确认

无编号帧(U 帧):确认存活,相当于“在吗”

  • 因为 HDLC 是同步传输,必须保证两端在线

三种操作方式

主节点和从节点

正常响应方式 NRM

主节点作为主控方

异步响应方式 ARM

从节点作为主控方

异步平衡方式 ABM

主从同一地位

特点

  • 依赖于比特,不依赖任何一种字符编码集
  • 同样使用 0 比特插入法
  • 全双工通信,效率较高
  • 采用 CRC 检验,对信息帧顺序编号,可靠性高
  • 传输控制功能和处理功能分离,灵活性高

数据链路层设备

网桥

两个基本概念

碰撞域:有可能产生帧冲突的网络部分

信号或者数据不经过任何筛选或者过滤

广播域:任何一个设备发出 IP 广播通信,都可以被该部分网络中其他设备所接收,那么这些设备处于同一广播域

  • 具有处理 IP 地址的机器才可以隔离广播域

概述

在数据链路层使用网桥扩展局域网

网桥工作在数据链路层,根据 MAC 帧的目的地指对收到的帧进行转发

网桥具有过滤帧的功能,即先确认方向,再决定向哪转发

如何确认方向?

在网桥内部维护有一张站表,不同主机对应相应接口,当识别到主机的 MAC 地址时,向表中相应接口转发

透明网桥

目前使用最多的网桥,透明是指站点并不知道自己转发的帧会经过哪些网桥

自学习算法处理帧和建立转发表(逆向学习算法)

  • 从 A 发出的帧从接口 x 进入网桥,那么就认为从 x 除法沿着相反方向就可以将帧传送到 A
  • 网桥每收到一个帧,就记下其源地址和进入网桥的接口,作为站表(转发表)的一个项目

建表时,将源地址作为键,接口作为值记录在表中

转发帧时,将帧首部的目的地址作为键,在表中查询到相应接口进行转发

另外,在建表的时候要登记每个键值对的时间,只保留最近的状态信息,保证网络最新的拓扑状态

运行过程

  • 学习:建立转发表
  • 转发:使用目的 MAC 地址
    • 若表中无目的地址,对除了来源接口以外的所有接口进行转发
    • 若目的地址在表中指向来源接口,丢弃
    • 若目的地址在表中存在且对应接口不是来源接口,正常转发

转发和学习是一个整体,收到帧便开始学习,建立/更新站表,同时查表进行转发

存在的问题:回路

两个网桥 s1, s2 有两个接口 a, b 相连,当表为空时,将帧进行广播,s2 通过 a 播向 s1,s1 又通过 b 播回 s2,s2 由通过 a 播向 s1......形成循环

IEEE 802.1D 标准制定了一个生成树协议 STP(Spanning Tree Protocol)

将图转换成无回路的生成树,消除兜圈子现象

源路由网桥

透明网桥的网络资源利用不充分,自学习过程的站表很有可能不是最优

源路由网桥让发送方指令所经过的网桥/路径

发送方又如何知道他该怎么走?

在真正发送数据之前,发送方会广播一个发现帧,这些发现帧会根据各个网桥的站表规则向目的地址发送,当到达目的地址后,该发现帧将按原路经返回发送方,发送方会在返回的诸多发现帧中选取最佳路径,写入数据帧的首部,再进行发送

网桥优缺点

好处:

  • 过滤通信量
  • 扩大物理范围
  • 提高可靠性
  • 可互联不同的物理层、不同 MAC 子层和不同速率的局域网

缺点:

  • 增加时延
  • 在 MAC 子层并没有流量控制功能
  • 不同 MAC 子层的网段桥接在一起时延更大
  • 只适合用户数不多(不超过100个)和通信量不太大的情况,否则会产生广播风暴

多接口网桥

又称为以太网交换机、第二层交换机(表明该交换机仅工作在链路层)

全双工通信信道

两种交换模式

  • 直通式交换:之检查前 6 个字节的数据报,若数据大于 6 个字节,直接转发;若不,认为其为碎片不转发

    这样会引起 48bit / 带宽 的转发延迟

  • 存储转发式:先将收到的帧线存储下来,数据正确才发送,不然不发

    可靠性高,但延迟太大

带宽的讨论

物理层中,集线器和中继器处于同一冲突域,共享带宽(取平均值)

网桥和交换机是全双工工作方式,独占带宽(自己占有)

冲突域和广播域的讨论

设备 冲突域 广播域
集线器、中继器 不能隔离 不能隔离
网桥、交换机 可以隔离 不能隔离

如 16 个端口的集线器/中继器,有 1 个冲突域,1 个广播域;16 个端口的网桥/广播域,有 16 个冲突域,1 个广播域

  • 隔离广播域需要处理 IP 地址
  • 隔离冲突域需要编址能力,如 MAC 地址

底层把该层统一起来,向高层提供统一的服务,无法决定高层使用什么服务,也不能处理高层的不同服务

网桥的工作原理:

  • 学习过程
  • 转发过程

例题:07 1:22:00

Last Updated: 3/13/2024, 8:33:01 PM
妖风过海
刘森