问题
问答题
为什么协议不能设计成100%可靠的
答案
参考答案:设想某一个要求达到100%可靠的协议需要A和B双方交换信息共N次,而这N次交换信息都是必不可少的。也就是说,在所交换的N次信息中没有冗余的。
假定第N次交换的信息是从B发送给A。
B发送给A的这个信息显然是需要A加以确认的。这是因为:若不需要A的确认,则表示B发送这个信息丢失了或出现差错都不要紧。这就是说,B发送的这个信息是可有可无的。如果B发送的这个信息是可有可无的,那么最后这次的信息交换就可以取消,因而这个协议就只需要A和B交换信息N一1次而不是N次。这就和原有的假定不符。
如果B发送的这个最后的信息是需要A加以确认的,那么这个协议需要A和B交换信息的次数就不是N次,而是还要增加一次确认(A向B发送的确认),即总共需要交换信息N+1次。
但这就和原来假定的“双方交换信息共N次”相矛盾。
显然,这个矛盾无法解决。这样就证明了协议不能设计成100%可靠的。
然而在非常重要的任务中,协议可以设计成非常接近于100%可靠。