传输数据的两种链路 |
点对点链路 | 两个相邻节点,通过一个链路相连,没有第三者【打电话】
| 广播式链路 | 链路上所有主机共享通信介质【对讲机】
应用 | 早期的总线以太网,无线局域网,常用于局域网 | 典型拓扑结构 | 总线型,星型(逻辑总线型)【星型相对于总线型更灵活,总线型总线断了,连接后半部分总线的主机就收不到消息了,星型则只存在支线断】 |
| 问题 | 广播式链路中,如果同时两个主机要发送消息,那么两者之间的通信会相互干扰 |
链路层解决在广播式链路中,两台主机之间的通信不会相互干扰,解决机制就是介质访问控制 |
|
介质访问控制 |
内容 | 采取一定的措施,使得两对结点之间的通信不会发生相互干扰的情况 |
|  |
|
信道划分介质访问控制 |
定义 | 将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理的分配给网络上的设备 | 多路复用技术 | 把多路信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率【把多个信号拧成一捆后发送出去,到了接收端分离开来】 |
 | 把一条广播信道,逻辑上分成几条用于两个结点之间通信的互不干扰的子信道,实际就是把广播信道转变为点对点信道 |
|
频分多路复用 FDM |
特点 | ①一直持有频带:用户在分配到一定频带后,在通信过程中自始至终都占用这个频带 ②占用不同频带宽度资源:频分复用的所有用户在同样的时间占用不同的带宽(频率带宽Hz)资源 ③一般用于传输模拟信号 | 优点 | ①效率高:充分利用传输介质带宽,系统传输效率较高 ②实现简单:由于技术比较成熟,实现也比较容易 |
|
时分多路复用TDM |
 |
频分复用——“并行” 时分复用——“并发” | 如果整个信道的速率是8000bit/s,将这个信道划分为4个TDM帧,那么每个用户的速率最高是2000bit/s |
|
特点 | ①将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道 ②一般用于传输数字信号 | 缺点 | 如果ABC主机都有一段时间要休息一会,信道上只剩D在传输数据,他只能等待规定的ABC三个时间片之后才能占用信道然后再等三个时间,等待时间非常久,信道利用率很低 | 改进: 统计时分复用STDM |
 | 每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出。STDM帧不是固定分配时隙。而是按需动态分配时序。使得信道利用率大大提高,每个用户最高能达到8000bit/s |
|
|
波分多路复用WDM |
实质 | 波分多路复用的本质就是光的频分多路复用,在以跟光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。 |
|
码分多路复用 CDM |
背景 |
- AB是发送数据的源站,C是接收数据的目的站
- 频分复用下公共信道可以理解为拆分成了两条信道,A和B各占用一道,可同时发送(共享时间,没有共享空间)
- 时分复用下公共信道被轮流占用,A先发送数据,然后B再发,所以公共信道在同一时间下只能被一个发送方所占用(共享空间,没有共享时间)
- 码分复用和波分复用有点类似,把要发送的数据扭在一起,一起发送,然后到C站接收端对于这个合并的数据进行分离
| 问题 | 技术难点就是如何分离A和B以及其他站点发送过来的一些数据 | 解决 | 码分多址(CDMA)是码分多路复用CDM的一种重要形式 (通用于无线局域网和蜂窝网络) | | 1个比特分为多个码片/芯片(chip),每一个站点被指定一个唯一的m位芯片序列(一般为64位或者128位,这边为了方便计算取8位,且两两正交),发送1时站点发送芯片序列(通常把0写为-1),发送0时发送芯片序列反码 1个比特分为多个码片(芯片),因为发送一个比特是需要时间的,可以称之为1比特的时隙时间,把这1比特分割成n位的芯片序列,那么就分成了n个微时隙 | 过程 |
- 判断多个站点是否能同时发送:多个站点同时发送数据的时候,要求各个站点必须满足芯片序列相互正交,规格化内积为0,只要芯片/码片正交,就不会出现冲突。
𝑺𝑨●𝑻𝑩=𝟏𝒎𝒊=𝟏𝒎𝑺𝒊𝑻𝒊=𝟎 其中m为向量的分量个数。计算方式为芯片序列对应位相乘,然后相加,除以总位数 - 数据合并:两个向量到了公共信道上,线性相加【现在A站点发送比特1也就是S,B站点发送比特0也就是-T】 S+(-T)=S-T=(0,0,-2,2,0,-2,0,2)
- 数据分离:合并的数据和源站芯片序列规格化内积
S●(S-T)=1 也就是A发送的数据是1 T●(S-T)=-1 也就是B发送的数据是0
|
|
随机访问介质访问控制 |
特点 |
- 所有用户都可以随机发送信息,发送信息时,占用全部带宽
- 如果两台同时发送,并且占用全部带宽,这样就产生了冲突
- 不采用集中控制方式,所有用户可根据自己的意愿随机发送信息,占用信道全部速率;但是会出现帧的碰撞(冲突)
| 解决 | 根据一定的规则,胜利者通过争用获得信道 |
|
ALOHA协议 |
纯 ALOHA 协议 |
 | T0规定的是一个数据帧的长度,通常数据帧长是用比特来衡量的,在这𝑻𝟎这样一个数据帧是它的发送时间,这的发送时间既包括传输时间也包括传播时间,也就是一个帧从刚开始发送,到发送成功为止 |
思想 | 不监听信道,不按时间槽发送,随机重发。想发就发 | 冲突 检测 | 如果发生冲突,接收方就会检测出差错,然后不予确认(或者是发送一个NAK否定确认帧),发送方在一定时间内收不到确认就判断发生冲突 | 冲突 解决 | 超时后等一随机时间再重传【是否重传有一个概率P的概念,类似掷硬币,如果掷正面就传,反面就不传,然后再等一个随机时间再掷一次,细节不要求掌握】 |
| 时隙 ALOHA 协议 |
思想 | 把时间分成若干个相同时间片,所有用户在时间片开始时同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送【控制想发就发的随意性】(时间片就对应着上面的T0,也叫做时间槽) | 冲突 检测 | 如果接入信道时某用户与其它用户发生冲突,那么等到下一个时间片T0再开始发送【因为有一个概率P的问题,所以下次可能就不会再发生冲突】 |
| 对比 |
- 纯ALOHA协议想法就发,时隙ALOHA协议只有在时间片开始时才能发
- 纯ALOHA协议比时隙ALOHA协议吞吐量更低,效率更低【吞吐量指在一段时间内成功发送的平均帧数】(纯ALOHA协议想法就发,非常容易发生碰撞)
|
|
CSMA协议 |
全称 | 载波监听多路访问协议CSMA(carrier sense multiple access) | CS-载波监听/侦听 | 每一个站在发送数据之前,要检测一下总线上是否有其他计算机在发送数据
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到了信号电压摆动值超过了一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突 |
| MA-多点接入 | 表示许多计算机以多点接入的方式连接在一根总线上 | 协议思想 | 发送帧之前,监听信道 |
 | 根据推迟多久,以及是不是立即发送完整的帧又有三种协议规定 |
1-坚持CSMA | 坚持指的是对于监听信道忙之后的坚持
思想 |
- 如果一个主机要发送消息,那么它先监听信道
- 空闲则直接传输,不必等待
- 忙则一直监听,直到空闲马上传输
- 如果有冲突(一段时间内未收到肯定回复),则等待一个随机时长的时间再监听,重复上述过程
| 优点 | 只要媒体空闲,站点就马上发送,避免了媒体利用率的损失 | 缺点 | 假如有两个或两个以上的站点有数据要发送,冲突就不可避免【有多个站点在监听信道是否空闲,一空闲就都发数据导致冲突】 |
| 非坚持CSMA | 非坚持指的是对于监听信道忙之后就不继续监听
思想 | 如果一个主机要发送消息,,那么它先监听信道 空闲则直接传输,不必等待 忙则等待一个随机的时间之后再进行监听 | 优点 | 采用随机的重发延迟时间可以减少冲突发生的可能性 | 缺点 | 可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低 |
| P-坚持CSMA | P-坚持指的是对于监听信道空闲的处理
思想 | 如果一个主机要发送消息,那么它先监听信道 空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输 忙则持续监听直到信道空闲再以p概率发送 若冲突则等到下一个时间槽开始再监听并重复上述过程 | 优点 | 既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案 | 缺点 | 发生冲突后还是要坚持把数据帧发送完,造成了浪费。 | 解决 办法 | 引入CSMA/CD协议 |
|
| 1-坚持CSMA | 非坚持CSMA | P-坚持CSMA | 信道空闲 | 马上发 | 马上发 | p概率马上发 1-p概率等到下一个时隙再发送 | 信道忙 | 继续坚持监听 | 放弃监听,等一个随机时间再监听 | 持续监听,直到信道空闲再以p概率发送 |
|
CSMA/CD |
全称 | 载波监听多点接入/碰撞检测CSMA/CD(carrier sense multiple access with collision detection) | CS | 载波监听/侦听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据(检查其电压值波动即可) | MA | 多点接入,表示许多计算机以多点接入的方式连接在一根总线上。总线型网络 | CD | 碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。半双工网络 【碰撞后,总线上的传输信号产生了严重失真,无法从中恢复出有用的信息】 | 问题 | 先听后发为什么还会冲突?
因为电磁波在总线上总是以有限的速率传播的,如果电磁波没有到本站点,当时检测肯定是没有信号,但是等到本站点向外发出数据时,突然检测到有信号,这里电磁波传输的时间差,就造成了这种误差 |
| 传播时延对载波监听的影响 |
 | 碰撞检测最长时间: 最多需要两倍的总线端到端的传播时延(2τ)才能知道自己发送的数据没和人碰撞 2τ也称之为总线的端到端往返传播时延,同时2τ也称之为争用期,冲突/碰撞窗口 所以只要经过2τ时间还没有检测到碰撞,就能肯定这次发送不会发生碰撞 |
| 如何确定碰撞后的重传时机 |
步骤 |
确定退避时间 | 确定基本退避时间,也就是争用期2τ(两倍的单程端到端传播时延) | 确定重传次数 | 定义参数K,它等于重传次数 K取值不超过10,K=min{重传次数,10} 当重传次数不超过10时:k=重传次数 当重传次数大于10时:k=10 | 取随机数确定重传时间 | 从离散的整数集合[0,1,,𝟐𝒌−𝟏]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即r×2τ=r2τ | 重传次数限制 | 当重传达16次仍不能成功,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错 |
|
示例 | 第1次重传 k=1,r在{0,1}中随机选 如果r=0,重传时间为0 如果r=1,重传时间为2τ 若还碰撞,则2次重传 | 第2次重传 K=2,r∈{0,1,2,3} 如果r=0,重传时间为0 如果r=1,重传时间为2τ 如果r=2,重传时间为4τ 如果r=3,重传时间为6τ 若还碰撞,则3次重传 | 第三次重传 k=3,r∈[0,7] 如果r=0,重传时间为0 如果r=1,重传时间为2τ 如果r=2,重传时间为4τ 重传时间为: r倍的基本退避时间=r×2τ |
若连续多次发生冲突,就标明可能有较多的站参与争用信道。使用此算法可使重传需要推迟的平均时间随重传次数的增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳定 |
例题 | 在以太网的二进制回退算法中,在11此碰撞之后,站点会在0~(?)之间选择一个随机数
因为重传次数为11次大于10次所以K=min{11,10}=10 所以r∈[0,210-1]=[0,1023] |
|
最小帧长 |
背景 | CSMA/CD的诞生就是为了能及时的叫停 检测到碰撞时,需要暂停帧的发送,如果帧太短,就会导致一次性发送完毕,无法暂停,这里需要在检测到碰撞时,帧还没有发送结束。 | 引入 | 为了使得CSMA/CD能及时叫停帧的发送,所以我们需要定义最小帧长 | 要求 | 帧的传输时延至少要两倍于信号在总线中的传播时延 帧长(bit)数据传输速率≥2×传播时延(𝜏) | 公式 | 最小帧长=2𝝉×数据传输速率 | 补充 | 以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧(以太网为了达到这个帧长,对于比较短的帧,会进行一个填充,直到达到64字节,才会放心的放到链路上发送) |
|
|
|
CSMA/CA |
全称 | 载波监听多点接入/碰撞避免CSMA/CA(carrier sense multiple access with collision avoidance) | CA | Collision Avoidance 碰撞避免 | 问题 | CSMA/CD协议已经很棒了但是为什么要有CSMA/CA?
CA和CD应用场景不一样,CA应用于无线局域网,CD常用于总线式以太网(有线网络) |
无线局域网不能使用CSMA/CD的原因
①无法进行360°信道碰撞检测:在无线局域网中,无线信号360°发送,是无法检测所有方向的碰撞的 ②隐蔽站问题:当A和C都检测不到信号,认为信道空闲时,同时向终端B发送数据帧,就会导致冲突(以A为主体,C就相当于是个隐蔽站) |
| 工作 原理 |
- 检测信道:发送数据前,检测信道是否空闲
- 信道空闲:发出RTS(Request To send),RTS包括发射端的地址,接收端的地址,下一份数据将持续发送的时间等信息
- 信道忙:等待
- 接收端收到RTS:响应CTS(Clear To Send/允许发送)【响应刚才请求的数据帧或信号】
- 发送端收到CTS:开始发送数据(同时预约信道:发送方告知其他站点自己要传多久数据
- 接收端收到数据帧:将用CRC来检验数据是否正确,正确则响应ACK帧
- 发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传,至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)
|
三种机制实现的碰撞避免 | 1.预约信道 | 2.ACK帧 | 3.RTS/CTS帧(可选)(主要解决隐蔽站) |
|
CD与CA异同 |
相同点 |
- CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。换言之,两个在接入信道之前都需要进行监听。当发现信道空闲后,才能进行接入
- 冲突后的处理方式都使用截断二进制指数规避算法进行有上限的重传
| 不同点 |
| CSMA/CD | CSMA/CA | 传输介质 | 总线型以太网(有线网) | 无线局域网 | 载波检测方式 | 检测电缆中的电压变化,数据碰撞时电压就会随着发生变化 | 能量检测(ED),载波检测(CS) 能量载波混合,三种方式检测信道是否空闲 | 冲突的处理 | 检测冲突 | 避免冲突 |
|
|
介质访问控制 (MAC) Medium Access Control 回顾 |
信道划分介质访问控制协议 |
- 基于多路复用技术划分资源
- 网络负载重:共享信道效率高,且公平
- 网络负载轻:共享信道效率低
| 随机访问MAC协议 (只有它有冲突产生) |
- 用户根据意愿随机发送信息,发送信息时可独占信道带宽
- 网络负载重:产生冲突开销
- 网络负载轻:共享信道效率高,单个节点可利用信道全部带宽
| 轮询访问MAC协议/ 轮流协议/轮转访问MAC协议 | 既要不产生冲突,又要发送时占全部带宽
|
|
轮询协议 |
定义 |
- 主节点轮流邀请从属结点是否发送数据,所有结点主机问完一遍后再重复询问(不会发生冲突,结合了信道划分MAC优点),只允许一台从属结点主机发送数据且占用全部带宽(结合了随机访问MAC优点)
- 询问的过程其实就是发送一个数据帧(比较短),用来实现询问的作用
| 优点 | 不会产生冲突,每次只允许一台主机发送数据且能占用全部带宽 | 缺点 |
- 轮询开销(从属结点多的话开销多,每次询问都会产生数据帧)
- 等待延迟(如果三个主机都不发送数据,第四台发送数据。还是要等询问完前面三个才询问第四个)
- 单点故障(如果主机节点宕机,从属结点主机也发送不了数据。解决办法:备用主机)
|
|
令牌传递协议 大纲已删 |
令牌 | 一个特殊格式的MAC控制帧,不含任何信息。 | 令牌作用 | 控制信道的使用,确保同一时刻,只有一个站点独占信道 | 限制 | 每个节点都可以在令牌持有时间内,获得发送数据的权力,该时间并不是无限持有的,有时间限制 | 优点 | ①独占信道 ②令牌环网无碰撞 |
|  |
缺点 |
- 令牌开销(有时令牌可能没了,要再产生一次令牌。有的书上说:在源站点传完数据之后会产生一个新的令牌)
- 等待延迟(和刚才轮询协议一样,假设D在发,但是A也想发,那么得等DCB才能轮到)
- 单点故障(如果其中有一台主机宕机了,路可能就断了,解决办法备用主机替代)
| 应用场景 |
- 通常应用于令牌环网(逻辑上是环形拓扑结构,物理上是星型拓扑结构)
- 采用令牌传送方式的网络常用于负载较重,通信量较大的网络(不会空等,每次令牌的传递都在实实在在的发送数据,极端情况下主机都不要通信,令牌一直空等)
| 运行 过程 |
- 令牌传递:网络处于空闲状态,令牌就会在网络上各个主机之间进行传递
- 持有令牌发送数据:当主机A想要发送数据时,当令牌传递到A时,将令牌的状态标志位修改为使用状态,在令牌帧后加上数据,然后将令牌+数据帧发送出去;该数据目的是要发送给D主机
- 非目的主机继续传递令牌:当数据到达B主机时,B主机查看该数据是不是发给自己的,如果是就通过TCU转发器将数据复制保存下来,如果不是就继续传递下去
- 目的主机接收数据且继续传递令牌:当令牌+数据帧传递到A主机时,发送数据是给自己的,将数据复制下来,然后校验通过后,将该令牌的状态标志位改为闲置状态,然后再传递给下一个主机
|
|