精华内容
下载资源
问答
  • 传输控制协议(简称TCP)是TCP/IP体系结构中面向连接的传输层协议,用于管理多个应用程序的通信,为应用程序提供可靠的...TCP连接的建立过程被形象地称为“三握手”,因为通信双方在建立连接时需要发送三个报文 ...

    传输控制协议(简称TCP)是TCP/IP体系结构中面向连接的传输层协议,用于管理多个应用程序的通信,为应用程序提供可靠的全双工数据通信。

    TCP是面向连接的传输层协议。通信双方在发送数据之前必须先建立TCP连接,在数据发送结束后还要释放连接。
    TCP连接的建立过程被形象地称为“三次握手”,因为通信双方在建立连接时需要发送三个报文
    在这里插入图片描述

    1)TCP连接建立和终止——三次握手

    在这里插入图片描述
    实现过程:
    1.SYN(同步序列号):数据发送方首先向数据接收方发送请求
    2.ACK(确认编号标识)数据接收方回应对请求的确认
    3.FIN(结束标识)数据发送方再对数据接收方的确认进行确认
    4.在数据传输结束后,通信的双方都可以发出释放连接的请求,TCP连接的释放是两个方向分别进行释放,每个方向上的连接的释放,只终止本方向的数据传输,当一个方向的连接释放后,TCP的连接就被称为“半连接”或“半关闭”,当两个方向的连接都释放后,TCP连接才完全关闭。

    三次握手

    第一次握手:建立连接时,客户端发送syn包(syn=x)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

    第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;

    第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

    2)TCP在建立连接和释放连接时所发送的报文的主要字段值

    在这里插入图片描述

    3)TCP连接建立和终止——四次握手

    在这里插入图片描述

    1)客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前面已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN-WAIT-1(终止等待1)状态。 TCP规定,FIN报文段即使不携带数据,也要消耗一个序号。
    2)服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态。TCP服务器通知高层的应用进程,客户端向服务器的方向就释放了,这时候处于半关闭状态,即客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然要接受。这个状态还要持续一段时间,也就是整个CLOSE-WAIT状态持续的时间。
    3)客户端收到服务器的确认请求后,此时,客户端就进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文(在这之前还需要接受服务器发送的最后的数据)。
    4)服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,FIN=1,ack=u+1,由于在半关闭状态,服务器很可能又发送了一些数据,假定此时的序列号为seq=w,此时,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。
    5)客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态。注意此时TCP连接还没有释放,必须经过2∗∗MSL(最长报文段寿命)的时间后,当客户端撤销相应的TCB后,才进入CLOSED状态。
    6)服务器只要收到了客户端发出的确认,立即进入CLOSED状态。同样,撤销TCB后,就结束了这次的TCP连接。可以看到,服务器结束TCP连接的时间要比客户端早一些。

    展开全文
  • 简述TCP三次握手和四次挥手过程
    展开全文
  • 主机A 主机B 第一次 主机A fin=1,ack=1(我要分手) 第二次 主机B ack=1(我知道了) 第三次 主机B fin=1,ack=1(我也要分手) 第四次 主机A ack=1(我也知道了) ...
    	主机A			主机B
    

    第一次 主机A fin=1,ack=1(我要分手)


    第二次 主机B ack=1(我知道了)


    第三次 主机B fin=1,ack=1(我也要分手)


    第四次 主机A ack=1(我也知道了)

    展开全文
  • 简述TCP的三次握手和四次挥手过程

    万次阅读 多人点赞 2018-05-11 10:28:40
    TCP是一种精致的,可靠的字节流协议。 ②在TCP编程中,三路握手一般由客户端(Client)调用Connent函数...④简述三路握手过程: 图 .TCP握手 (1)第一握手:Client将标志位SYN置为1,随机产生一个值s...

     

    ①TCP是一种精致的,可靠的字节流协议。

    ②在TCP编程中,三路握手一般由客户端(Client)调用Connent函数发起。

    ③TCP3次握手后数据收发通道即打开(即建立了连接)。

    ④简述三路握手过程:

                                             图 .TCP三次握手

    (1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。
    (2)第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。
    (3)第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。
            
    ⑤SYN攻击:

      在三次握手过程中,Server发送SYN-ACK之后,收到Client的ACK之前的TCP连接称为半连接(half-open connect),此时Server处于SYN_RCVD状态,当收到ACK后,Server转入ESTABLISHED状态。SYN攻击就是Client在短时间内伪造大量不存在的IP地址,并向Server不断地发送SYN包,Server回复确认包,并等待Client的确认,由于源地址是不存在的,因此,Server需要不断重发直至超时,这些伪造的SYN包将产时间占用未连接队列,导致正常的SYN请求因为队列满而被丢弃,从而引起网络堵塞甚至系统瘫痪。SYN攻击时一种典型的DDOS攻击,检测SYN攻击的方式非常简单,即当Server上有大量半连接状态且源IP地址是随机的,则可以断定遭到SYN攻击了。

    使用如下命令可以让之现行:#netstat -nap | grep SYN_RECV

    ⑥TCP连接的建立:SYN分节

           终止:FIN(finish)分节

    四次挥手

    所谓四次挥手(Four-Way Wavehand)即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在socket编程中,这一过程由客户端或服务端任一方执行close来触发。

    由于TCP连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭,上图描述的即是如此。
    (1)第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态

    (2)第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态
    (3)第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。

    (4)第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1Server进入CLOSED状态,完成四次挥手。

    展开全文
  • TCP四次挥手 四次挥手其原理与三次握手基本相同,但其要保证连接中的数据都传输完成。所以 3—>4 三次握手简介:https://blog.csdn.net/qq_26463845/article/details/114771081 还是举打电话的例子吧(这个好理解...
  • TCP/IP协议中,TCP协议提供可靠的连接服务,采用三握手建立一个连接. 第一握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize Sequence ...
  • TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三握手建立一个连接.第一握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize ...
  •   简述TCP三次握手和四次挥手过程和理解   在讲解之前先来熟悉一下TCP报文头部   源端口、目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的, 而一个计算机端口某个时刻只能被一个进程占用,...
  • TCP/IP协议中,TCP协议提供可靠的连接服务,采用三握手建立一个连接. 第一握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize Sequence ...
  • TCP/IP协议中,TCP协议提供可靠的连接服务,采用三握手建立一个连接. 第一握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize Sequence ...
  • TCP/IP协议中,TCP协议提供可靠的连接服务,采用三握手建立一个连接. ![在这所谓三握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。在...
  • TCP建立连接的过程叫做三握手 TCP协议 TCP是面向连接的、可靠的进程到进程通信的协议 TCP提供全双工服务,即数据可在同一时间双向传输 TCP报文段的结构 ACK为确认位,且当其ACK=1时,确认字段才生效;ACK=0...
  • 简述TCP三次握手和四次挥手流程

    千次阅读 2018-07-14 15:30:32
    关于TCP的连接过程,很多从事程序开发的小伙伴应该都听过三握手,可这三握手的细节还是有很多人不太清楚的,特别是有些参数记不清楚,我也经常弄错,所以我根据自己的理解画了两张图,将TCP连接和断开的流程简单...
  • 握手:  第一握手:客户机A发送标识位SYN=1,随机生成序列号seq=x的数据包到服务器B,服务器B由SYN=1知道客户机A建立连接,并进入SYN_SEND状态,等待服务器确认;  第二握手:服务器B收到请求并确认联机...
  • 文章目录一、TCP协议1.1 TCP协议简介1.2 TCP报文格式1.2.1 TCP报文段二、三次握手2.1 TCP握手建立连接的过程2.2 使用WireShark抓包验证四次挥手三、四次挥手3.1 四次挥手过程3.2 使用WireShark抓包验证四次挥手五...
  • 简述TCP协议的三次握手与四次挥手过程及原理  今天,我们来分享一下TCP协议的六个标志位和三次握手与四次挥手过程及原理。  先介绍一下TCP中的六个控制位,  SYN表示建立连接;  FIN表示关闭连接;  ...
  • 简述三路握手过程: 第一握手:Client将标志位SYN置为1,选择序号seq=x,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。 第二握手:Server收到数据包后由标...
  • 一文彻底搞懂 TCP三次握手、四次挥手过程及原理

    千次阅读 多人点赞 2020-02-22 18:53:54
    TCP 协议简述 TCP 提供面向有连接的通信传输,面向有连接是指在传送数据之前必须先建立连接,数据传送完成后要释放连接。 无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,T...
  • tcp协议简述(学习笔记)tcp:...四次挥手为什么进行四次挥手tcp协议的特点1.面向连接:通信双方必须先建立连接才能简历可靠的传输。2.如何可靠传输的保证?: tcp:传输控制协议(Transmission Control Protocol...
  • (2)不可重复读(Non一RepeatableRead)不可重复读是指事务Tl读取数据后,事务几执行更新操作,使Tl无法再现前一读取结果。 (3)读“脏”数据(DirtyRead)读“脏’夕数据是指事务Tl修改某一数据,并将其写回...
  • 简述TCP握手过程

    2020-05-25 07:58:43
    文章目录简述TCP三次握手过程传输层协议TCP协议数据格式(包头)TCP三次握手详解TCP四次挥手 传输层协议 TCP协议(传输控制协议) : 可靠的,面向连接的传输协议 UDP协议(用户数据报协议) : 不可靠的,面向无连接的传输...

空空如也

空空如也

1 2 3 4 5 6
收藏数 111
精华内容 44
关键字:

tcp四次挥手过程简述