美文网首页
TCP建立连接的过程

TCP建立连接的过程

作者: shu2man | 来源:发表于2018-03-26 17:09 被阅读0次

转自(侵删):https://www.cnblogs.com/winner-0715/p/5032661.html

TCP是因特网中的传输层协议,使用三次握手协议建立连接,下面是TCP建立连接的全过程。

image

上图画出了TCP建立连接的过程。假定主机A运行的是TCP客户程序,B运行的是TCP服务器程序。最初两端的TCP进程都处于CLOSED状态。图中在主机下面的是TCP进程所处的状态。A是主动打开连接,B是被动打开连接。

B的TCP服务器进程先创建传输控制模块TCB,准备接受客户进程的连接请求,然后服务器进程就处于LISTEN(监听)状态,等待客户的连接请求

首先A的TCP客户进程向B发出连接请求报文段,这时首部中的同步位SYN=1,同时选择一个初始序号seq=x。TCP规定,SYN报文段(即SYN=1的报文段)不能携带数据,但要消耗掉一个序号。这时,A的客户进程就进入SYN-SENT(同步已发送)状态。

B收到连接请求报文段后,向A发送确认。在确认报文段中把SYN和ACK位都置为1,确认号是ack=x+1,同时也为自己选择一个初始序号seq=y。请注意,这个报文段也不能携带数据,但同样要消耗掉一个序号。这时B的TCP服务器进程就进入SYN-RCVD(同步已收到)状态。

A的TCP客户进程收到B的确认后,还要向B给出确认。确认报文段的ACK置为1,确认号ack=y+1,而自己的序号seq=x+1。这时,TCP连接已经建立,A进入ESTABLISHED(已建立连接)状态,

当B收到A的确认后,也会进入ESTABLISHED状态。

以上给出的连接建立过程就是常说的TCP三次握手。

为什么A还要发送一次确认呢?这主要是为了防止已失效的连接请求报文段突然又传送到了B,因而产生错误。

假定A发出的某一个连接请求报文段在传输的过程中并没有丢失,而是在某个网络节点长时间滞留了,以致延误到连接释放以后的某个时间才到达B。本来这是一个早已失效的报文段。但B收到此失效的连接请求报文段后,就误以为A又发了一次新的连接请求,于是向A发出确认报文段,同意建立连接。假如不采用三次握手,那么只要B发出确认,新的连接就建立了。

由于A并未发出建立连接的请求,因此不会理睬B的确认,也不会向B发送数据。但B却以为新的运输连接已经建立了,并一直等待A发来数据,因此白白浪费了许多资源。

采用TCP三次握手的方法可以防止上述现象发生。例如在刚才的情况下,由于A不会向B的确认发出确认,B由于收不到确认,就知道A并没有要求建立连接。

相关文章

  • TCP 的三次握手和四次挥手,了解泛洪攻击么

    引言 TCP 建立连接与断开连接的过程 TCP 泛洪攻击(TCP 建立连接过程中的攻击手段)与防护 TCP 建立连...

  • TCP三次握手和四次挥手

    建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示: 建立连接的过程: TCP 连接是通...

  • 理解TCP和UDP

    一、TCP端口 二、TCP报文结构 三、TCP连接的建立和释放 TCP的整个交互过程可总结为:先建立连接、然后传输...

  • TCP/IP协议

    TCP总结: TCP协议建立连接的过程就是双方互相SYN,ACK的过程,断开连接的过程就是互相FIN,ACK的过程...

  • TCP连接建立过程

    TCP三次握手过程: 第一次握手:主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B,向主机B 请...

  • 接口

    输入Url后的过程 域名解析(DNS解析)----IP地址发起TCP连接的三次握手,建立连接建立TCP连接后,发送...

  • 三次握手、七次握手、四次挥手

    TCP/IP 传输协议的 TCP 协议是面向连接的,也就是传输数据之前,必须建立可靠的连接。建立连接的过程中,需交...

  • Java面试 网络编程

    1.TCP建立连接和断开连接的过程? 建立连接: 所谓三次握手(Three-Way Handshake)即建立...

  • TCP客户端和服务端相关状态说明

    TCP连接的状态 首先介绍一下TCP连接建立与关闭过程中的状态。TCP连接过程是状态的转换,促使状态发生转换的因素...

  • TCP建立连接的过程

    转自(侵删):https://www.cnblogs.com/winner-0715/p/5032661.html...

网友评论

      本文标题:TCP建立连接的过程

      本文链接:https://www.haomeiwen.com/subject/rfaifftx.html