数声风笛离亭晚,君向潇湘我向秦
主要任务:为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输
介质访问控制(Medium Access Control,MAC)子层: 用来决定广播信道中信道分配
总线型和星型都是广播式通信,看一下目的地址是否是本主机,若是本主机就接受否则就丢弃,总线型就是若是中间结点中有一个断了则会影响其他的结点,星型的就是若是其中一个坏了其他的依然正常的工作,链路层就需要采取一定措施使得两个结点之间通信不会收到影响,这种措施就是介质访问控制,
静态划分信道就是还没有开始之前先把信道划分一下,或者说先和所有人说一下怎么通信,而动态分配信道就是通信的过程中会遇到冲突,当遇到冲突把它及时的解决就可以了,动态是很灵活的,这几个对应的英文字母也是需要记住的(frequency,time,weave,code) 这个随机访问介质访问控制是一定会考的,并且这几个英文也是需要记住的,
具体来说就是将多个信号凝成一捆,然后发送出去,到接收端的时候再将这个信号分离开来,
但是它们两两之间也不会发生冲突,因为我们会对它们进行访问的控制,
每一个频段就会分给一个用户,任何一个时间内每一个用户都会占用这样一个频段,
将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号
优点:充分利用传输介质的带宽,系统效率高
不足:需要在相邻信道之间加入保护频带防止子信道相互干扰
但是由于计算机的数据的突发性,对于子信道的利用率不高
每一个主机并不是任何一个时间都占用这个信道的,是交替使用这个信道,频率是没有区分的,都一样,每一个用户在一个TDM帧中都会占用一个固定序号的时序,比如A就占用固定的时序1号,B就占用二号,它们四个会轮流使用这TDM帧中的每一个时序, 即使其中的A,B都不占用这个信道,C也要等AB之后才能占用这个信道, 这一个周期对应的就是这一个时间段内所能发送的多少bit,这就是一个周期所能标识的内容
可以看出ABCD发送数据的频率比较低,经常是歇一会发送一个,对于这样的一个发送的情况,我们经常用的就是一个统计时分复用,集中器的作用就是首先将这几个低速用户连接起来,把它们的数据集中起来再通过一条信道发送出去,每一个用户不是周期性而是有些杂乱无章的,同样需要注意这个帧不是数据链路层的帧而是物理层所传送的bit流所划分的帧,
这里假设线路一秒可以发送8000bit,也就表示一秒这个TDM帧有8000bit,这8000bit对应的每一个用户只能分到2000bit,即使没有其他用户依然不占用其他用户的时隙
而在统计时分复用技术是可以一个人达到8000bit的,只有一个发送数据的时候,就会自己独占信道
波分复用起始就是给光的频分复用单独起一个名字。
采用不同的编码来区分各路原始信号的一种复用方式,与FDM和TDM不同,它既共享信道的频率,又共享时间
码分多址(Code Division Multiple Access.CDMA):每比特时间被分成几个更短的时间槽,称为码片(Chip)、发送1时,站点发送码片序列,发送0时,站点发送码片序列的反码、多个站点发送数据:各个站点的码片序列相互正交,从而从信道中分离出各路信号
在上图中AB是发送的源站,C是接受信息的目的站,AB中间的这个线就是使用的公用信道,在频分多路复用的情况下,AB在这个信道上是各占一半的,它们是可以同时发送的,不过是不能占满这个信道,所以在频分复用之下是一种共享时间而非空间的复用方式,在时分复用之下同一个时间只能有一个发送方,所以是共享空间而非共享时间的,码分复用技术就是先把所有的数据拧到一起,到接收端在对其进行分离,所以技术的难点就是分离数据,CDMA就是现在无线局域网和蜂窝网络的一个协议,
因此只要包含CS的一定是动态分配信道
随机访问控制,所有的用户都可以随机的发送信息,所谓的随机就是想什么时候发送就什么时候发送,发送的时候是占用信道全部速率的,这种随机性就会导致一种不协调,若是所有的用户都能随机的发送一个信息,那么就有可能几个用户不相互协调一下,就有可能再次导致冲突问题,所以就需要协议来解决这种可能产生的冲突问题,
ALOHA协议
因为是解决夏威夷群岛之间的问题所提出的
当网络中的任何一个站点需要发送数据时,可以不进行任何检测就发送数据,在一段时间内未收到确认,那么该站点就认为传输过程中发生了冲突。发送站点需要等待一段时间后再发送数据,直至发送成功
缺陷
数据碰撞的概率较大,所以网络的吞吐量很低
可以看出每一个站点在任何时候都是可以发送一个数据帧的,T0规定的是一个数据帧的长度,之前说过一个帧长度用bit来衡量,而这里用T0指的是这样一个数据帧的发送时间,这里的发送时间既包括发送时延又包括传播时延,一个帧从刚开始发送到发送成功为止,
但是站点2前半段时间都很顺利,但是后半段时间站点n-1也开始发送一个数据帧了,那么这个时候有两个站点在发送数据,这就一定会造成冲突,也就是想发就发,就算发送的时候出错了,他也不知道会等到把错误的冲突帧发送完之后她它才知道发生了冲突,若是发生了冲突也很简单主要就是等一段时间之后重新发送一次,直至收到来自接收方的确认帧,然后才可以发送一个新的数据帧,
所有各站在时间上同步起来,并将时间划分为一段段等长的时隙,规定只能在每个时隙开始时才能发送一个帧
优点:避免了用户发送数据的随意性,减少了数据产生冲突的可能性
,提高了信道的利用率
缺陷:每个用户都是想发就发,碰概率还是很大
因为太随意了,所以导致成功率很低,成功量用吞吐量来形容,时隙ALOHA协议也就是控制想发就发的随意性,是要有一个约束下的想发就发,这个分成的时间片就是对应之前提到的T0,也就是描述帧的长度的这样一个时间,它的主要特点就是我们的站点在发送一个帧的时候,只能在一个时间片或者说时间槽的开始来发送,若是我想发送,但是没有到这个时间片的开始就等到这个时间片的开始(就相当于发车只在整点的时候出发),若是发生碰撞,这个结点就会在时序结束之后经过一个T0,发送方知道发生了碰撞,就是因为接受方没有给他一个确认帧,因此发送方就判断这个帧在发送的过程中发生了冲突,和刚才的纯ALOHA一样,超时重传
这个吞吐量指的是成功发送的平均帧数,
CSMA协议
CSMA就是相当于先听别人说话,等别人说完了我们再说,在说的过程中会不会发生冲突是不能保证的,
多点接入逻辑上是一个总线型的,这三种CSMA在发送帧之前都是需要监听信道,
这里也是使用一个随机长的时间再监听,而ALOHA是等待一个随机的时候之后直接发送帧的,传播时延对协议的影响较大
注意,与坚持CSMA方式中,空闲的时候一样的做法,但是非空闲的时候是不同的,增加了数据在网络中的延迟时间。
这个是用于时隙信道的,若是p等于1也就类似于1坚持CSMA,但是当p=0的时候和非坚持CSMA却不同的,
同样注意忙时是一直监听信道的 直到信道空闲
之前1坚持和非坚持都是对信道忙的时候的处理,而这个P坚持中的P就是对于1坚持中的一换成发送的概率是p便可,注意也是持续监听
CSMA/CD协议
适用于总线型网络或者半双工网络环境
思想:发送数据时先广播告知其他结点,让其他结点在某段时间内不要发送数据,以免出现碰撞
载波侦听多路访问/碰撞检测协议是CSMA协议的改进方案
单工,半双工,全双工,它们主要的区别就是通信时的发送双方,半双工通信时只有某一个在发送数据,另外一方接收数据,他们的角色可以互换,全双工就是指两边两个主机既能同时发送又能同时接收,半双工就是两个主机确定好了谁接收谁发送, 注意这里规定是半双工,也就是不能允许双方在同时发送信息,
单程端到端传播时延指的是电磁波从A段到B端传播的时延,在电磁波在传播的过程中,B主机还未检测到有任何信号进入主机,所以就会认为这个信道是空闲的,然后将自己的数据发送出去,当信号A和信号B是叠加的,而不是抵消,A端和B端都会检测出来此时是出错的,我们来看一下极限情况就是将要到B端的时候,所以A最迟是在2T的时候检测出发生了碰撞,
若是说这个在中间时刻发送冲突,然后都立刻发,然后还会继续发生冲突,就会一直恶行循环,所以这个重传时机需要斟酌。若是我们传了16次依然似乎没有传输成功,网络很拥挤。并且可以看出发生碰撞之后,每次数值都会扩大,所以数值的平均值也会变大,所以就会更长的时间来尝试重传, 降低发生碰撞的概率,有利于整个系统的稳定
11次碰撞也就意味着重传次数是大于10的,根据第二条知道若是重传次数大于10就不会增加,然后根据第三条知道r从[0,1,2,…1023]中选择一个数。
就是检测碰撞的时候,因为帧太短导致依然还是将帧发送出去了,我们刚才说过我们最长在2T就会检测到发生了碰撞,所以我们只要让帧的发送时延是大于2T的话就可以在发送完一个帧之前检测到碰撞,我们就可以使得在检测到碰撞的时候,这帧还没有发完,
所以对于一个比较短的帧,会对她进行填充,然后才能放心的放在链路上进行传输,
CSMA/CA协议
思想:发送前侦听,边发送边侦听,一旦出现碰撞马上停止发送
实现碰撞避免机制
预约信道:发送方在发送数据的同时向其他站点通知自己传输数据需要的时间长度,让其他站点在这段时间内不发送数据,避免碰撞
ACK帧:所有站点在正确接收到发给自己的数据帧( 除广播和组播)后,都需要向发送方发回一个ACK,接收到ACK,那么不采取任何行动,在规定的时间内如果未收到ACK帧,那么认为发送失败,此时进行该数据帧的重发,直到收到ACK或达到规定重发次数为止
RTS/CTS帧:可选的碰撞避免机制,主要用于解决无线网中的隐蔽站问题
CSMA/CD于CSMA/CA它们有一个特点就是先进行监听然后再发送数据,CD是对碰撞的检测,CA是对碰撞的预防,CD需要对所有的细节都要掌握,CA对过程有一个印象就可以了,
注意CA只能避免碰撞,而不能检测碰撞,CD协议主要用于以太网,对于不同的网络不同的传输介质就应该采用不同的协议,隐蔽在于A要与B进行发送数据,但是不知道C也要与B发送数据,所以B就是A的隐蔽站。
即使信道是空闲的,CA依然是等一小会才进行数据的发送,
RTS可以认为是一个帧也可以认为是一个信号,这样一个信号是可发可不发的,但是为了解决这样一个隐蔽站的问题,我们就会考虑发送一个RTS,
假设AC都要给B发送信息,但是我们希望能先让A和B进行发送数据,则B会给A发送一个CTS表示两个建立了链接,若是C再给B发送RTS的话,那么B就是拒收的,然后B收不到CTS就不会再进行发送,这样就相当于把隐蔽站的问题解决了,
这个CRC就是之前学的循环冗余检验,来建议之前的数据帧是否出错,只有收到这个ACK才能继续发送,所以看一看出每一个帧的发送都是有一个流程的,
在CA中使用三个手段来碰撞避免,第一个是预约信道,第二个就是使用一个ACK,第三个就是RTS/CTS,若是有RTS就一定有CTS(有的时候可以用,有的时候可以不用,主要是为了解决隐蔽站的问题),
CSMA/CD可以检测冲突,但无法避免;CSMA/CA发送包的同时不能检测到信道上有无冲突
CSMA/CD用于总线形以太网,CSMA/CA用于无线局域网802.1la/b/g/n等
CSMA/CD通过电缆中的电压变化来检测;而CSMA/CA采用能量检测、载波检测和能量载波混合检测三种检测信道空闲的方式
无线局域网不能简单地使用CSMA/CD 协议,特别是碰撞检测部分,原因如下:第一,在无线局域网的适配器上,接收信号的强度往往远小于发送信号的强度,因此若要实现碰撞检测,那么硬件上的花费就会过大;第二,在无线局域网中,并非所有站点都能听见对方,由此引发了隐蔽站和暴露站问题,而“所有站点都能够听见对方”正是实现 CSMA/CD 协议必备的基础.
通过一个集中控制的监控站,以循环方式轮询每个结点,再决定信道的分配令牌在固定次序中转圈,拿到令牌就可以发送数据
适用于负载很高的广播信道
令牌环网络的拓扑结构为环状,有一个令牌不停地在环中流动。只有获得了令牌的主机才能发送数据,因此不存在冲突,所有结点共享网络带宽。文章来源:https://www.toymoban.com/news/detail-697662.html
文章来源地址https://www.toymoban.com/news/detail-697662.html
到了这里,关于计算机网络第三章——数据链路层(中)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!