数声风笛离亭晚,君向潇湘我向秦
文章目录
- ALOHA协议
- CSMA协议
- CSMA/CD协议
- CSMA/CA协议
总线型和星型都是广播式通信,看一下目的地址是否是我,若是我就接受否则就丢弃,总线型就是若是有一个断了则会影响其他的,型型的就是若是其中一个坏了其他的依然正常的工作,链路层就需要采取一定措施使得两个结点之间通信不会收到影响,这种措施就是介质访问控制,
静态划分信道就是还没有开始之前先把信道划分一下,或者说先和所有人说一下怎么通信,而动态分配信道就是通信的过程中会遇到到冲突,当遇到冲突把它及时的解决就可以了,动态是很灵活的,这几个对应的英文字母也是需要记住的(frequency,time,weave,code), 这个随机访问介质访问控制是一定会考的,并且这几个英文也是需要记住的,
具体来说就是将多个信号凝成一捆,然后发送出去,到接收端的时候再将这个信号分离开来,
但是它们两两之间也不会发生冲突,因为我们会对它们进行访问的控制,
每一个频段就会分给一个用户,任何一个时间内每一个用户都会占用这样一个频段,
每一个主机并不是任何一个时间都占用这个信道的,是交替使用这个信道,频率是是没有区分的,都一样,每一个用户在一个TDM帧中都会占用一个固定序号的时序,比如A就占用固定的时序1号,B就占用二号,它们四个会轮流使用这TDM帧中的每一个时序, 即使其中的A,B都不占用这个信道,C也要等AB之后才能占用这个信道, 这一个周期对应的就是这一个时间段内所能发送的多少bit,这就是一个周期所能标识的内容
可以看出ABCD发送数据的频率比较低,经常是歇一会发送一个,对于这样的一个发送的情况,我们经常用的就是一个统计时分复用,集中器的作用就是首先将这几个低速用户连接起来,把它们的数据集中起来再通过一条信道发送出去,每一个用户不是周期性而是有些杂乱无章的,同样需要注意这个帧不是数据链路层的帧而是物理层所传送的bit流所划分的帧,
这里假设线路一秒可以发送8000bit,也就表示一秒这个TDM帧有8000bit,这8000bit对应的每一个用户只能分到2000bit,
而在统计时分复用技术是可以一个人达到8000bit的,
在上图中AB是发送的源站,C是接受信息的目的站,AB中间的这个线就是使用的公用信道,在频分多路复用的情况下,AB在这个信道上是各占一半的,它们是可以同时发送的,不过是不能占满这个信道,所以在频分复用之下是一种共享时间而非空间的复用方式,在时分复用之下同一个时间只能有一个发送方,所以是共享空间而非共享时间的,码分复用技术就是先把所有的数据拧到一起,到接收端在对其进行分离,所以技术的难点就是分离数据,CDMA就是现在无线局域网和蜂窝网络的一个协议,
因此只要包含CS的一定是动态分配信道
这节课先来看一下随机访问控制,所有的用户都可以随机的发送信息,所谓的随机i局势想什么时候发送就什么时候发送,发送的时候是占用全部带宽的,这种随机性就会导致一种不协调,若是所有的用户都能随机的发送一个信息,那么就有可能几个用户不相互协调一下,就有可能再次导致冲突问题,所以就需要协议来解决这种不协调产生的冲突问题,
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就是指的是在信道空闲的时候,
CSMA/CD协议
单工,半双工,全双工,它们主要的区别就是通信时的发送双方,半双工通信时只有某一个在发送数据,另外一方接收数据,他们的角色可以互换,全双工就是指两边两个主机既能同时发送又能同时接收,单双工就是两个主机确定好了谁接收谁发送, 注意这里规定时半双工,若不是半双工而是全双工,那么对于一台主机它即在发送数据又在接收数据,我们是不希望看到冲突的,所以要应用于一个半双工通信中,也就是不能允许双方在同时发送信息,
单程端到端传播时延指的是电磁波从A段到B端传播的时延,在电磁波在传播的过程中,B主机还未检测到有任何信号进入主机,所以就会认为这个信道是空闲的,然后将自己的数据发送出去,当信号A和信号B是叠加的,而不是抵消,A端和端都会检测出来此时是出错的,我们来看一下极限情况就是将要到B端的时候,所以A最迟是在2T的时候检测出发生了碰撞,
若是说这个在中间时刻发送冲突,然后都立刻发,然后还会继续发生冲突,就会一直恶行循环,所以这个重传时机需要斟酌。若是我们传了16次依然似乎没有传输成功,网络很拥挤。并且可以看出发生碰撞之后,每次数值都会扩大,所以数值的平均值也会变大,所以就会更长的时间来尝试重传,
十一次碰撞也就意味着重传次数是大于10的,根据第二条知道若是重传次数大于十k就不会增加,然后根据第三条知道[0,1,2,…1023]
就是为了避免检测到碰撞的时候,因为帧太短导致依然还是将帧发送出去了,我们刚才说过我们最长在2T就会检测到发生了碰撞,所以我们只要让帧的发送时延是大于2T的话就可以,我们就可以使得在检测到碰撞的时候,这帧还没有发完,
所以对于一个比较短的帧,会对她进行填充,然后才能放心的放在链路上进行传输,
CSMA/CA协议
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(有的时候可以用,有的时候可以不用,主要是为了解决隐蔽站的问题,),