《LINUX教程:解读TCP三次握手》要点:
本文介绍了LINUX教程:解读TCP三次握手,希望对您有用。如果有疑问,可以联系我们。
三次握手所谓的“三次握手”即对每次发送的数据量是怎样跟踪进行协商使的发送和接收同步,根据所接收到的数据量而确定的数据确认数及数据发送、接收完毕后何时取消联系,并建立虚连接.
主机建立连接为什么需要三次握手?为了防止已经是失效连接突然又重新回到了服务端而产生的错误.“比如一个客户端发出一个连接哀求报文虽然没有丢失,但是由于一些原因在在某个网络节点中长时间滞留,以至于在断开连接后才到达服务端.这本身就是一个已经失效的报文.但是服务器误以为是客户端的又一个新的哀求.假设没有三次握手那么只要服务端发出确认链接就建立了.由于客户端也没有给服务端发哀求,因此也不回复服务端的确认.但是服务端确认为新的连接开始了,等待客户端发数据.这样就容易造成服务端的资源的浪费.采用三次握手可以防止这种情况发生.
三次握手
因为要保证信道的可靠,就需要双方沟通并且达成一致.而要办理这个文件3次是最小值.所以三次握手并不是真对TCP来说的,而是为了保证信道的可靠.
个人理解:三次握手并不准确,准确的说是双方各一次握手,各确认一次.中间第二次是握手与确认合并在一起
为什么挥手比握手多一次
因为tcp连接是全双工的,因此每个方向都必需单独的断开连接客户端申请断开连接,只是不再发送数据,还能接收数据.需要等待服务端将数据发送完毕后,等待服务端申请断开连接.
本文永远更新链接地址:
学习更多LINUX教程,请查看站内专栏,如果有LINUX疑问,可以加QQ交流《LINUX教程:解读TCP三次握手》。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/7019.html