zoukankan      html  css  js  c++  java
  • TCP三次握手连接与四次握手断开

    http://blog.csdn.net/whuslei/article/details/6667471(三次握手与四次握手)

    1. TCP的三次握手最主要是防止已过期的连接再次传到被连接的主机。

    如果采用两次的话,会出现下面这种情况。
    比如是A机要连到B机,结果发送的连接信息由于某种原因没有到达B机;
    于是,A机又发了一次,结果这次B收到了,于是就发信息回来,两机就连接。
    传完东西后,断开。

    结果这时候,原先没有到达的连接信息突然又传到了B机,于是B机发信息给A,然后B机就以为和A连上了,这个时候B机就在等待A传东西过去。

    2. 三次握手改成仅需要两次握手,死锁是可能发生

    考虑计算机A和B之间的通信,假定B给A发送一个连接请求分组,A收到了这个分组,并发送了确认应答分组。按照两次握手的协定,A认为连接已经成功地建立了,可以开始发送数据分组。可是,B在A的应答分组在传输中被丢失的情况下,将不知道A是否已准备好,不知道A建议什么样的序列号,B甚至怀疑A是否收到自己的连接请求分组。在这种情况下,B认为连接还未建立成功,将忽略A发来的任何数据分组,只等待连接确认应答分组。而A在发出的分组超时后,重复发送同样的分组。这样就形成了死锁

    3,断开为什么需要四次握手

    tcp是全双工协议(全双工:双方同时通讯)

  • 相关阅读:
    65 进程互斥锁的优化实现
    Linux多线程编程
    互斥锁和自旋锁
    64 进程互斥锁的初步实现(下)
    63 进程互斥锁的初步实现(中)
    Linux中断子系统
    62 进程互斥锁的初步实现(上)
    61 进程互斥锁的详细设计
    Linux进程调度的时机
    嵌入式领域linux作为实时操作系统的缺点(转)
  • 原文地址:https://www.cnblogs.com/lifeinsmile/p/5224603.html
Copyright © 2011-2022 走看看