【数据链路层】循环冗余码CRC、后退N帧协议GBN、选择重传协议SR、CSMA/CA
创始人
2024-02-29 19:06:49
0

文章目录

  • 循环冗余码CRC
  • 多帧滑动窗口
  • 连续ARQ协议
  • 后退N帧协议GBN
  • 选择重传协议SR
  • CSMA/CA---针对无线局域网
    • 处理隐蔽站问题RTS,CTS

循环冗余码CRC

在这里插入图片描述

/*** 计算CRC16校验码** @param bytes* @return* [1,3,4,1,205,1,18,235,173]*/public static String CRC16(byte[] bytes) {int CRC = 0x0000ffff;int POLYNOMIAL = 0x0000a001;int i, j;for (i = 0; i < bytes.length; i++) {CRC ^= ((int) bytes[i] & 0x000000ff);for (j = 0; j < 8; j++) {if ((CRC & 0x00000001) != 0) {CRC >>= 1;CRC ^= POLYNOMIAL;} else {CRC >>= 1;}}}return Integer.toHexString(CRC);}public static void main(String[] args) {byte[] s ={1,3,4,1,(byte) 205,1,18,(byte)235,(byte)173};System.out.printf("1111%s\r\n",CRC16(s));if (CRC16(s)!="00"){System.out.printf("2222%s\n",CRC16(s));}}

多帧滑动窗口

连续ARQ协议

发送窗口的大小<=窗口总数-1

例如:由3比特来编号,窗口总数为8,编号0到7
如果把7号也用了,那么当全部发送0-7号的所有帧的时候,发送方看自己设置的超时的记录表,如果显示超时了,那我们重新发0-7号。接收方无法辨别第一次和第二次的帧

第二种情况,发送方认为自己发送成功,那么继续发送但是编号还是0-7,接收方还是无法区分

因此留下一个不用来打乱发送顺序,让第一次第二次发的序号有区别,这样就顺序有的变了。重传的还是没变-----------------------------------------------0【我的理解

后退N帧协议GBN

后退N帧式ARQ中,发送方不必等到收到上一帧的ACK后才开始发送下一帧。
而是可以发送连续帧。
当接收方检测到失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧
或者,在发送方发送了N帧后,发现N个帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判定为出错或者丢失。
此时发送方不得不重传该出错帧以及随后的N个帧。
换句话说,接收方只能按顺序接受帧!

这个协议GBN还可以连续收到很多帧以后再传确认信息
表示此帧之前所有帧都已经收到!
必须按顺序接受!
如果收到后面的帧,就会重复返回刚才正式接受的帧的ack—重复返回
直到收到正确的

发送窗口最大值是 2^n-1 ,接收窗口1

在这里插入图片描述


选择重传协议SR

在这里插入图片描述

CSMA/CA—针对无线局域网

最小帧长=总线传播时延x数据传输速率x2

避免碰撞
802.11标准定义了无线网的CSMA/CA协议。对CSMA/CD进行了修改。
局域网不使用碰撞检测,一旦开始发送就会完整发送,但是碰撞存在的时候,仍然发送整个数据帧,会严重降低网络的效率,因此要采用碰撞避免技术降低碰撞的可能性。00000000000000000000000000000

无线信道通信质量不如有线信道。
802.11使用链路层确认/重传(ARQ)方案。
站点每通过无线网络发送完一帧,就要等待确认帧后再发下一帧。
发送之前,完成侦听要有一个时间间隔,IFS帧间间隔。
InterFrame Space
任何站要发送数据帧,都要经过一个间隔。而且要进入争用窗口。只有第一个帧发送的时候不使用退避算法,其他情况都会使用

处理隐蔽站问题RTS,CTS

假设站A和站B都在AP的覆盖范围内,但是A和B相距较远,彼此都听不到对方的广播,那么在A和B都检测到信道空闲的时候,都向AP发送信息,从而导致碰撞。为了解决该问题,802.11允许发送站对信道进行预约。源站在发送数据帧之前要广播一个很短的请求发送控制帧(RTS)该帧包含有本次通信所需维持的时间,能够被其范围内包括AP在内的站点听到。如果信道空闲,则AP广播一个允许发送CTS帧,它包括这次通信所需的持续时间(从RTS中复制的),该帧也能够被AP范围内包括A和B在内的站点听到。B和其他站带你听到CTS后,会在CTS指明的时间能一直发送。也就是说,CTS有两个作用:1.给请求源明确的发送许可2.告诉其他站在你在预约期内不要发送。

使用RTS和CTS会导致网络通信效率下降,但是这两种帧都很短,和帧冲突导致的重传相比,他们对网络通信效率的影响微乎其微。


🌸I could be bounded in a nutshell and count myself a king of infinite space.
 特别鸣谢:木芯工作室
特别鸣谢:木芯工作室 、Ivan from Russia


相关内容

热门资讯

董明珠硬刚空调“铝代铜”!海尔... 买空调时,你会特意问一句“是铜管还是铝管”吗?近日,海尔、美的、小米等主流家电品牌宣布,将联合推动空...
兄弟科技:诉讼仍处审理阶段无实... 证券之星消息,兄弟科技(002562)12月22日在投资者关系平台上答复投资者关心的问题。 投资者提...
免费停车延至30分钟!《烟台市... 大众网记者 崔荔媛 烟台报道 12月22日,烟台市人民政府新闻办公室召开新闻发布会,宣布《烟台市停车...
国网吉林经研院完成能源电力主要... 12月15日,国网吉林经研院顺利完成能源电力领域主要政策的系统性梳理与汇编工作。该项工作旨在全面整合...
赖清德弹劾案最新进展:台立法机... 中国台湾网12月22日讯 据台媒报道,因民进党当局“不副署、不执行”台立法机构三读修正通过的“财划法...
再现“拉车门”盗窃案,库伦警方... 12月18日 库伦旗公安局 成功破获一起“拉车门”盗窃案 抓获2名犯罪嫌疑人 12月17日 库伦镇...
诉前调解化干戈跨省纠纷当庭了 近日,紫云苗族布依族自治县人民法院板当人民法庭高效化解一起跨省恋爱期间财物返还纠纷,从组织调解到履行...
一中国女子在欧洲邮轮旅行失联超... 12月21日,据媒体报道:一名中国女性乘客在爱达月光号(AIDAluna)邮轮上失踪,引发多国关注。...
原创 高... 当今复杂的国际政治舞台上,日本军国主义复苏的论调日益凸显,引发国际社会广泛警惕。高市早苗就任日本首相...