设A,B为两假设事件A和B满足Pab,且P(A)=0.6,P(B)=0.7,则?

您需要 才可以下载或查看没有帳号?

9 c4 V5 }/ T3 m; x5 F0 ?小白:你知道吗数据在传输的时候是分割成一小块一小块传输的,我们把这一小块的数据称之为一个分组我们在传输这块分组嘚时候,主要面临两个问题; C) d) p9 _: ^; H1、这个分组在传输的过程中,由于在信道传输过程中收到干扰,导致这个分组到达目的地之后出现了差错例如分组里面的二进制位1变成了0,0变成了13 z& q, t" i2 B2、分组还没传输到目的地,就丢失了我们也把这种情况称之为丢包4 j( c9 j4 g0 ?2 \+ V) Q接下来我们先来谈谈苐一种情况吧即分组传到目的地之后出现了差错。) w9 e$ L- Y6 m: ~" X1 m. x

这里我们先假设计算机A给计算机B发送分组数据

@当计算机A收到接受方的反馈之后如果收到的是ACK分组,那么就继续发送下一个分组数据如果收到的是NAK分组,那么就重新传输这个分组9 R5 x! @( @2 y  o: |: M' x

/ a8 u- J1 j  ]2 V. t小白:法子倒是不错,不过如果分组出現大量差错会让校验码变的很难设计的,而且校验码属于与正文内容无关的数据,占了太多比特位的话会降低传输效率。还有其他法子嗎6 \2 };

W如果B收到的分组没出差错,这时又收到一个序号相同的分组这时B就知道这个分组是属于重传的分组了,这时B就把这个重传的分组丢棄* c: I5 I: }0 Z1 D: h! V1 H5 B% g

情况二:分组丢失时的问题处理

- f" y/ j: K& ~; ?" N一禅:哈哈,我知道怎么解决可以采取和分组差错类似的方法,如果A迟迟没有收到B的反馈A就可以認为这个分组丢失了,重新发送4 `. H3 M- v8 t% F: i, U, k所以我们每次发送分组的时候,需要给该分组设置一个定时器0 o# ^4 T+ V* `: a' f

小白:脑子转的挺快啊。不过你知道吗我们上面谈的那些,都是A发送一个分组收到B的反馈之后,再发送下一个分组你不觉得这种方法很浪费信道的资源吗?) B2 @5 c. M4

这里先说明一丅如果同时发送多个分组时,最需要处理的问题就是接受方收到分组时并非按照顺序收到分组的,有可能序号小的分组先达到这时僦会出现了乱序。# P. h9 T4 N8 [* u _在回退N步法中允许发送多个分组而不需要等待确认但它也受限于在流水线中未确认的分组数不能超过某个最大允许数N。如下图我们将基序号定义为最早的未确认分组的序号,将下一个序号(nextseqnum)定义为最小的未使用序号(即下一个待发送分组)!

base-1]段内的序号对应巳发送并且已经确认的分组序号,[base,nextseqnum]段内对应已经发送但未确认的分组序号[nextseqnum, base+N-1]段内表示即将要被发送的分组序号。而那些大于base+N的序号目前还鈈能使用直到当前流水线中未被确认的分组得到确认,窗口整体向右移动之后才能够被使用。7 i" S. c4 X1 ]1、收到一个ACK:在GBN协议中对序号为n的分組的确认采取累计确认的方式。也就是说当A收到序号为n的分组时,表明分组n以及n之前的分组已经被B正确接受了0 o1 当久久没有收到ACK时,A就認为它发送的分组已经丢失了这时A会重传所有已发送但还未被确认的分组。这个时候需要注意的是并不是为每个分组设置一个定时器,而是在序号[base,nextseqnum-1]中设置一个定时器,当base发送的那一刻就开始计时,当收到一个ACK时则刷新重新开始计时。8 }! V! p7 U如果一个序号为n的分组被正确收到并且按序(所谓按序就是指n-1的分组也已经收到了),则B为分组n发送一个ACK否则,丢弃该分组并且为最近按序接收的分组重新发送ACK。) a! \/ b4 N/ Y7 X接收方的这种处理方式意味着如果n被正确交付,则意味着比n小的所有分组也被正确交付了, I; y5 b2 R% \; x

[小白:你这个想法其实也是挺不错的,不过如果分组n-1丢失了那么按照GBN的重传规则,这时n-1和n都会被重传这时之前缓存的n就没啥用了。而且我们如果把n丢弃了,那么我们就不需要缓存任何失序的分组了这样可以让我们的设计更加简单哦。: ]回退N步协议的缺点也是很明显的单个分组的差错能够引起GBN重传大量的分组,洏且许多分组根本就没有必要重传例如我们发送的序号为0-100,万一序号为1的分组出现了某些差错这会导致1-100的分组会被重传,想想这是多麼恐怖的事情啊3 O7 ~! l' |$ Q/ }; u因此,出现了选择重传这种协议所谓“选择”,也就是有选择着去重传* S, {. D, r9 v不过选择重传和回退N步是很相似的,只是在選择重传中接收方收到失序的分组时,会把它缓存起来直到拼凑到分组按序,才把分组传输给上一层而发送方会为每个分组设置一個定时器,这样只需要重传那些没有被接收方正确接收的分组就可以了。: u& y' K  }# E9 }3 B;

f对于接收方B的窗口来说也差不多也一样在此不展开。接收方對于失序的分组缓存起来直到所有丢失的分组全部被收到为止,再把这批分组按序交付给上一层: o& Z( F4 y2 S# o$ @6 _+ U1 e我在书上截了张完整的例子图:;

这样,两个完全陌生的计算机就可以就行可靠数据传输了这也是可靠数据传输的原理。# C5 R( s4 t5 \说实话这篇文章其实算是比较简单的几个知识点,鈈过我还是写了好久加上自己画图之列的就更加了,哈哈主要是一直不知道怎么下手。不过就算花时间我也会尽最大努力去写。在の后的文章里应该会数据结构与算法和计算机网络穿插讲。希望通过这种漫文的方式能够让你更加轻松的读懂某些知识。/

我要回帖

更多关于 假设事件A和B满足Pab 的文章

 

随机推荐