TCP创建连接的三次握手

        【文章仅供非商业用途或交流学习使用】

        进行三次握手主要有两个目的:1  信息对等  2  防止超时

        首先我们看一下信息对等,双方只有确认四类信息,才能够建立连接,这四类信息分别是:

            1  自己发报能力   2  自己收报能力   3  对方发报能力   4  对方收报能力

        经过三次握手后,双方都可以确认自己的收发报能力和对方的收发报能力是正常的,如下图:

        连接三次握手也是防止出现请求超时导致脏连接。如下图所示,TTL网络报文的身存时间往往都会超过TCP请求超时时间,如果两次握手就可以创建连接,传输数据并释放连接后,第一个超时的连接请求才到达B机器的话,B机器会以为是A创建新连接的请求,然后确认同意创建连接。因为A机器的状态不是SYN_SENT,所以直接丢弃了B的确认数据,以致最后只是B机器单方面创建连接完毕。


        如果是三次握手,则B机器收到连接请求后,同样会向A机器确认同意创建连接,但因为A机器不是SYN_SENT状态,所以会直接丢弃,B机器由于长时间没有收到确认信息,最终超时导致连接创建失败,因而不会出现脏连接。



    

你可能感兴趣的:(TCP创建连接的三次握手)