解决方案 »

  1.   

    TCP协议就这么规定的。协议协议嘛,定了这规矩
      

  2.   

    第一次a->b:b确认a的发信机和自己的收信机是好的
    第二次b->a:b回应,a收到了。这时a可以确认的是,自己和b的收发信机都是好的。此时b并不知道a是否收到回应,即不确定a的收信机以及自己的发信机是否完好
    第三次a->b:a对b的回应进行回应。这时a很清楚,双方收发信机都是好的,自己的这次回应b肯定能收到(正常情况下),这个回应的目的只是消除b对a的收信机和b自己的发信机的担心。然后,a不必等b的再次回应就可以正式发信了。第三次 ACK 丢了没有太大问题。只要b后面接收到a的数据包过来,就可以确认连接已建好。如果a不发送别的数据包,那么b会超时重传第二次的握手信息
      

  3.   

    嗯大概就是这样,TCP的目的就是给连接以及传输提供保障,尽量确保不会发生丢包等异常情况,所以需要双方反复确认。
      

  4.   

    基本知识啊,好好看去一下《TCP/IP详解》吧,只要你认真看,一定能解答你很多疑惑!!!