计算机网络4(数据链路层 应用1)王道

2021/11/11 6:12:07

本文主要是介绍计算机网络4(数据链路层 应用1)王道,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

信道划分介质访问控制

传输数据使用的两种链路

  1. 点对点链路:
    1. 两个相邻节点通过一个链路相连,没有第三者
    2. 应用:PPP协议,常用于广域网
  2. 广播式链路:
    1. 所有主机共享通信介质。
    2. 应用:早期的总线以太网、无线局域网常用于局域网
    3. 典型拓扑结构:总线型、星型(逻辑总线型)

介质访问控制

介质访问控制的内容就是,采取一定的措施,使得两对结点之间的通信不会发生互相干扰的情况。

 静态划分信道——信道划分介质访问控制(时间、空间、时序、频率)

信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。

  1.  频分多路复用FDM

  2. 时分多路复用TDM

  3. 波分多路复用WDM

    1. 波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
  4. 码分多路复用CDM

    1.  

动态分配信道

动态媒体接入控制 / 多点接入

特点:信道并非在用户通信时固定分配给用户

  1. 轮询访问介质访问控制

    1. 令牌传递协议
  2. 随机访问介质访问控制

    1. 特点:所有用户可随机发送信息。发送信息时占全部带宽。不协调=>冲突
    2. ALOHA协议
    3. CSMA协议
    4. CSMA/CD协议
    5. CSMA/CA协议

ALOHA协议

①纯ALOHA协议

特点:不监听信道,不按时间槽发送,随机重发。想发就发

②时隙ALOHA协议

时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。控制想发就发的随意性

 关于ALOHA要知道的事

纯ALOHA比时隙ALOHA吞吐量更低,效率更低

纯ALOHA想发就发,时隙ALOHA只有在时间片段开始时才能发


CSMA协议

载波监听多路访问协议CSMA(carrier sense multiple access)

CS:载波监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。

当几个站同时在总线上发送数据时,总线上的信息电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突。

MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。

协议思想:发送帧之前,监听信道。

监听结果

  1. 信道空闲
    1. 发送完整帧
  2. 信道忙:
    1. 推迟发送

①坚持CSMA

  1. 坚持指的是对于监听信道忙之后的坚持
  2. 坚持CSMA思想:
    1. 如果一个主机要发送消息,那么它先监听信道。
    2. 空闲则直接传输,不必等待
    3. 忙则一直监听,直到空闲马上传输
    4. 如果有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程
  3. 优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失
  4. 缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免

②非坚持CSMA

  1. 非坚持指的时对于监听信道忙之后就不继续监听
  2. 非坚持CSMA思想:
    1. 如果一个主机要发送消息,那么它先监听信道
    2. 空闲则直接传输,不必等待
    3. 忙则等待一个随机的时间之后再进行监听
  3. 优点:采用随机的重发延迟时间可以减少冲突发生的可能性
  4. 缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低

③p-坚持CSMA

  1. 假设一个非常时隙信道
  2. p-坚持指的是对于监听信道空闲的处理。
  3. p-坚持CSMA思想:
    1. 如果一个主机要发送消息,那么它先监听信道。
    2. 空闲则以p概率直接传输,不必等待;概率1-p等 待到下-一个时间槽再传输。
    3. 忙则持续监听直到信道空闲再以p概率发送。
    4. 若冲突则等到下一个时间槽开始再监听并重复上述过程。
  4. 优点:既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。
  5. 但是发生冲突后还是要坚持把数据帧发送完,造成了浪费

CSMA/CD协议(碰撞的检测)重点

载波监听多点接入/碰撞检测CSMA/CD(carrier sense multiple access with collision detection)

CS:载波监听,每一个站在发送数据之前以及发送数据时要检测一下总线上是否有其他计算机在发送数据。

 MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。总线型网络

CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。半双工网络

先听后发为什么还会发生冲突?

因为电磁波在总线上总是以有限的速率传播的

传播时延对载波监听的影响

 如何确定碰撞后的重传时机?

截断二进制指数规避算法

1.确定基本退避(推迟)时间为争用期\huge 2\tau
2.定义参数k,它等于重传次数,但k不超过10, 即k=min[重传次数,10]。 当重传次数不超过10时,k等于重传次数;当重传次 数大于10时,k就不再增大而一直等于10。
3.从离散的整数集合[0, 1,......,\huge 2^{^{k}}-1]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,\huge 2r\tau
4.当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。

第一次重传,k=1, r从{0, 1}选;
重传推迟时间为0或\huge 2\tau,在这两个时间中随机选一个;
若再次碰撞,则在第二次重传时,k=2, r从{0,1,2,3}选;
重传推迟时间为0或\huge 2\tau\huge 4\tau\huge 6\tau,在这四个时间中随机选一个;
若再次碰撞,则第三次重传时,k=3, r从{0,1, 2,3,4,5,6,7}选....
若连续多次发生冲突,就表明可能有较多的站参与争用信道使用此算法可使重传需要推迟的平均时间随重传次数的增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳定。

最小帧长问题


CSMA/CA协议(碰撞的避免)理解即可

载波监听多点接入/碰撞避免CSMA/CA(carrier sense multiple access with collision avoidance)

为什么要有CSMA/CA?=>无线局域网

  1. 无线网络中CD协议无法做到360全面检测碰撞
  2. 隐蔽站:
    1. 假如现在有两个站点A和C,它们要给站点B发送数据;
    2. 发送数据之前都要检测信道,发现信道是空闲的,于是它们就会同时发送数据;
    3. 于是发送的过程中就会发生冲突,发生的冲突会导致A和C的数据全部失效;
    4. 因此A和C发送失败,B也接收不到数据。这个就是隐蔽站造成的问题;
    5. 假如以A为主体,A要给B发送数据,C相对于A来说就是一个隐蔽站,A要给B发送数据C不知道,所以C同时也在给B发送数据就会发生冲突。

CSMA/CA协议工作原理

发送数据前,先检测信道是否空闲

空闲则发出RTS(request to send),RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息:信道忙则等待。

接收端收到RTS后,将响应CTS(clear to send)

发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)

接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧

发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)

CSMA/CA的机制

  1. 预约信道
    1. 我们通过预约信道可以告诉其他站点自己要传送多久数据,可以大概率的避免一些冲突
  2. ACK帧
    1. 发送端在发送了一个数据帧之后接收端一定要返回一个确认,如果返回确认,发送端才能发送一个新数据,如果没有返回确认则需要一直重发至规定重发次数为止
  3. RTS/CTS帧(可选)
    1. RTS/CTS主要是为了解决隐蔽站的问题

CSMA/CD与CSMA/CA

相同点:
CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。换言之,两个在接入信道之前都须要进行监听。当发现信道空闲后,才能进行接入。
不同点:
传输介质不同:CSMA/CD 用于总线式以太网【有线】,而CSMA/CA用于无线局域网【无线】。
载波检测方式不同:传输介质不同,CSMA/CD 与CSMA/CA的检测方式也不同。CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用 能量检测(ED) 、载波检测(CS) 和能量载波混合检测三种检测信道空闲的方式。
CSMA/CD检测冲突,CSMA/CA避 免冲突,二者出现冲突后都会进行有上限的重传。



这篇关于计算机网络4(数据链路层 应用1)王道的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程