请大牛解释一下TCP的重传机制……
比如:传输一端发送abc三个包,另外一端只接收到ac,b丢失,那么重传机制怎么办?

解决方案 »

  1.   

    tcp不会乱序,不会出现你说的情况的,要丢也是b之后的都丢了。
      

  2.   

    如果缓冲区足够大,会先把C保存到缓冲区里面,然后等待B收到后,再让上层程序接收,否则会丢弃C,待收到B后再接收C(B、C都重发)。
      

  3.   

    http://hi.baidu.com/funvaval/blog/item/fe824560bc459dda8cb10dc2.html参考下这里吧。
    这种问题还是自己看文章,来的清楚,给你个答案,也不知道细目。
      

  4.   

    TCP的确认重传是通过滑动窗口机制实现的,发送、接受方都有自己的滑动窗口
    窗口的前沿由缓冲区大小等因素决定,后沿由最后确认接受的包决定,在窗口内的包是可以单独要求重发的,不过一般都支持“快重传”机制,就是说当发送方接收到c,d,e的确认而没有收到b的确认,就会自动重发b,而不需等待b的重传消息。网络课上学的,May help
      

  5.   

    我觉得
    发送了b之后没有ack就会重传吧