四次握手_三次握手四次挥手 - CSDN
精华内容
参与话题
  • TCP的三次握手四次挥手理解及面试题(很全面)

    万次阅读 多人点赞 2019-10-10 15:23:04
    本文经过借鉴书籍资料、他人博客总结出的知识点,欢迎提问 序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;...

     本文经过借鉴书籍资料、他人博客总结出的知识点,欢迎提问

        序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。

        确认号ack:占4个字节,期待收到对方下一个报文段的第一个数据字节的序号;序列号表示报文段携带数据的第一个字节的编号;而确认号指的是期望接收到下一个字节的编号;因此当前报文段最后一个字节的编号+1即为确认号。

        确认ACK:占1位,仅当ACK=1时,确认号字段才有效。ACK=0时,确认号无效

        同步SYN:连接建立时用于同步序号。当SYN=1,ACK=0时表示:这是一个连接请求报文段。若同意连接,则在响应报文段中使得SYN=1,ACK=1。因此,SYN=1表示这是一个连接请求,或连接接受报文。SYN这个标志位只有在TCP建产连接时才会被置1,握手完成后SYN标志位被置0。

        终止FIN:用来释放一个连接。FIN=1表示:此报文段的发送方的数据已经发送完毕,并要求释放运输连接

        PS:ACK、SYN和FIN这些大写的单词表示标志位,其值要么是1,要么是0;ack、seq小写的单词表示序号。

     

    字段 含义
    URG 紧急指针是否有效。为1,表示某一位需要被优先处理
    ACK 确认号是否有效,一般置为1。
    PSH 提示接收端应用程序立即从TCP缓冲区把数据读走。
    RST 对方要求重新建立连接,复位。
    SYN 请求建立连接,并在其序列号的字段进行序列号的初始值设定。建立连接,设置为1
    FIN     希望断开连接。

    三次握手过程理解

     

    第一次握手:建立连接时,客户端发送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连接成功)状态,完成三次握手。

    四次挥手过程理解 

    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连接的时间要比客户端早一些。

     常见面试题

    【问题1】为什么连接的时候是三次握手,关闭的时候却是四次握手?

    答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

    【问题2】为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?

    答:虽然按道理,四个报文都发送完毕,我们可以直接进入CLOSE状态了,但是我们必须假象网络是不可靠的,有可以最后一个ACK丢失。所以TIME_WAIT状态就是用来重发可能丢失的ACK报文。在Client发送出最后的ACK回复,但该ACK可能丢失。Server如果没有收到ACK,将不断重复发送FIN片段。所以Client不能立即关闭,它必须确认Server接收到了该ACK。Client会在发送出ACK之后进入到TIME_WAIT状态。Client会设置一个计时器,等待2MSL的时间。如果在该时间内再次收到FIN,那么Client会重发ACK并再次等待2MSL。所谓的2MSL是两倍的MSL(Maximum Segment Lifetime)。MSL指一个片段在网络中最大的存活时间,2MSL就是一个发送和一个回复所需的最大时间。如果直到2MSL,Client都没有再次收到FIN,那么Client推断ACK已经被成功接收,则结束TCP连接。

    【问题3】为什么不能用两次握手进行连接?

    答:3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。

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

    【问题4】如果已经建立了连接,但是客户端突然出现故障了怎么办?

    TCP还设有一个保活计时器,显然,客户端如果出现故障,服务器不能一直等下去,白白浪费资源。服务器每收到一次客户端的请求后都会重新复位这个计时器,时间通常是设置为2小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75秒钟发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。

    展开全文
  • 建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK...

    注:本文转载自https://www.cnblogs.com/thrillerz/p/6464203.html,感谢博主精彩讲解。

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

    先来看看如何建立连接的。


    首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。

    那如何断开连接呢?简单的过程如下:

    【注意】中断连接端可以是Client端,也可以是Server端。

    假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",但是如果你还有数据没有发送完成,则不必急着关闭Socket,可以继续发送数据。所以你先发送ACK,"告诉Client端,你的请求我收到了,但是我还没准备好,请继续你等我的消息"。这个时候Client端就进入FIN_WAIT状态,继续等待Server端的FIN报文。当Server端确定数据已发送完成,则向Client端发送FIN报文,"告诉Client端,好了,我这边数据发完了,准备好关闭连接了"。Client端收到FIN报文后,"就知道可以关闭连接了,但是他还是不相信网络,怕Server端不知道要关闭,所以发送ACK后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。“,Server端收到ACK后,"就知道可以断开连接了"。Client端等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。Ok,TCP连接就这样关闭了!

    整个过程Client端所经历的状态如下:

     


    而Server端所经历的过程如下:转载请注明:blog.csdn.net/whuslei

    【注意】 在TIME_WAIT状态中,如果TCP client端最后一次发送的ACK丢失了,它将重新发送。TIME_WAIT状态中所需要的时间是依赖于实现方法的。典型的值为30秒、1分钟和2分钟。等待之后连接正式关闭,并且所有的资源(包括端口号)都被释放。

    【问题1】为什么连接的时候是三次握手,关闭的时候却是四次握手?
    答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

    【问题2】为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?

    答:虽然按道理,四个报文都发送完毕,我们可以直接进入CLOSE状态了,但是我们必须假象网络是不可靠的,有可以最后一个ACK丢失。所以TIME_WAIT状态就是用来重发可能丢失的ACK报文。

    展开全文
  • TCP三次握手四次挥手过程详解

    千次阅读 2016-02-01 18:41:11
    TCP头部: 其中 ACK SYN 序号 这三个部分在以下会用到,它们的介绍也在下面。 暂时需要的信息有: ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1 SYN(SYNchronization) ...

    TCP头部: 其中 ACK   SYN  序号  这三个部分在以下会用到,它们的介绍也在下面。


    暂时需要的信息有:

    ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1

    SYN(SYNchronization) : 在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文。对方若同意建立连接,则应在响应报文中使SYN=1和ACK=1. 因此,  SYN置1就表示这是一个连接请求或连接接受报文。


    FIN (finis)即完,终结的意思, 用来释放一个连接。当 FIN = 1 时,表明此报文段的发送方的数据已经发送完毕,并要求释放连接。




    三次握手的过程:

    首先由Client发出请求连接即 SYN=1 ACK=0  (请看头字段的介绍), TCP规定SYN=1时不能携带数据,但要消耗一个序号,因此声明自己的序号是 seq=x

    然后 Server 进行回复确认,即 SYN=1 ACK=1 seq=y, ack=x+1,

    再然后 Client 再进行一次确认,但不用SYN 了,这时即为 ACK=1, seq=x+1, ack=y+1.

    然后连接建立,为什么要进行三次握手呢(两次确认)。



    下面是释放连接的过程:



    当客户A 没有东西要发送时就要释放 A 这边的连接,A会发送一个报文(没有数据),其中 FIN 设置为1,  服务器B收到后会给应用程序一个信,这时A那边的连接已经关闭,即A不再发送信息(但仍可接收信息)。  A收到B的确认后进入等待状态,等待B请求释放连接, B数据发送完成后就向A请求连接释放,也是用FIN=1 表示, 并且用 ack = u+1(如图), A收到后回复一个确认信息,并进入 TIME_WAIT 状态, 等待 2MSL 时间。

    为什么要等待呢?

    为了这种情况: B向A发送 FIN = 1 的释放连接请求,但这个报文丢失了, A没有接到不会发送确认信息, B 超时会重传,这时A在 WAIT_TIME 还能够接收到这个请求,这时再回复一个确认就行了。(A收到 FIN = 1 的请求后 WAIT_TIME会重新记时)


    另外服务器B存在一个保活状态,即如果A突然故障死机了,那B那边的连接资源什么时候能释放呢?  就是保活时间到了后,B会发送探测信息, 以决定是否释放连接。

    【注意】中断连接端可以是Client端,也可以是Server端。

    假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",但是如果你还有数据没有发送完成,则不必急着关闭Socket,可以继续发送数据。所以你先发送ACK,"告诉Client端,你的请求我收到了,但是我还没准备好,请继续你等我的消息"。这个时候Client端就进入FIN_WAIT状态,继续等待Server端的FIN报文。当Server端确定数据已发送完成,则向Client端发送FIN报文,"告诉Client端,好了,我这边数据发完了,准备好关闭连接了"。Client端收到FIN报文后,"就知道可以关闭连接了,但是他还是不相信网络,怕Server端不知道要关闭,所以发送ACK后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。“,Server端收到ACK后,"就知道可以断开连接了"。Client端等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。Ok,TCP连接就这样关闭了!

    整个过程Client端所经历的状态如下:


    而Server端所经历的过程如下:


    【注意】 在TIME_WAIT状态中,如果TCP client端最后一次发送的ACK丢失了,它将重新发送。TIME_WAIT状态中所需要的时间是依赖于实现方法的。典型的值为30秒、1分钟和2分钟。等待之后连接正式关闭,并且所有的资源(包括端口号)都被释放。

    【问题1】为什么连接的时候是三次握手,关闭的时候却是四次握手?
    答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

    【问题2】为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?

    答:虽然按道理,四个报文都发送完毕,我们可以直接进入CLOSE状态了,但是我们必须假象网络是不可靠的,有可以最后一个ACK丢失。所以TIME_WAIT状态就是用来重发可能丢失的ACK报文。


    展开全文
  • WPA 4次握手

    万次阅读 2016-06-19 14:35:54
    分析wpa/wpa2 4-way handshake的过程和原理

    WPA 4-way handshake

    dlmu2001

    tomorrow_cyz@163.com

    一、why EALOP 4-way handshake
        为了解决无线传输不安全,需要对无线连接的接入进行控制,并实现帧传播的加解密。 
        WPA 4-way handshake有点相当于一个“安全”地协商“交换”秘钥的过程。

        这个秘钥就是PTK(PairwiseTransient Key),成对传输秘钥。

    二、WPA 4-way handshake过程

    1.     一个简单的4-way handshake图


    图1 4-wayshake overview

    以WPA/WPA2-PSK为例,AP/STA在4-wayshake前各自都知道密码(也就是用户连接某SSID输入的密码)
    1)AP(Authenticator)在1/4的时候把自己的随机数(ANonce)传给STA,STA在收到ANonce后,已经可以生成PTK

    2)2/4的时候把自己的随机数(SNonce)传给AP,同时加了MIC(对应于PTK中的KCK,也就是秘钥确认秘钥)。AP收到SNonce以后,就可以生成PTK了,将收到的MIC和自己生成的MIC比较进行完整性校验,如果校验失败,握手失败。校验成功,AP生成PTK和GTK(GroupTransient Key,用来加密组播和广播)

    3)3/4中将GTK和MIC一起发给STA,因为此时双方都已经知道PTK,所以会对  
        GTK进行KEK加密。
    4)STA发送ACK进行确认


    4次握手完成以后,之后的帧传播就都会以加密的方式进行。

    2 . 4-way shake在AP/STA通讯中的位置
          1) open方式下的connect


    图2 open方式的connect过程

    a.     Open System AuthencicationProcess ,就好比把网线插入AP的有线口

    b.     Association:完成802.11layer-2的negotiation,建链,成功后AP会分配给STA一个AssociationID

    c.     开始真正的数据传输

    2) wpa/wpa2-psk方式下的connect


          

    图3wpa/wpa2-psk方式下的connect

    a.Authenciation,同上

    b. Association,同上

    c EAPOL 4-way shake

    d.真正的数据传输

    3)wpa/wpa2-eap方式下的connect


    图4wpa/wpa2-eap方式下的connect

    在2)的基础上,wpa/wpa2-eap有个802.1x的auth过程,用于在认证服务器上认证,以获取MSK

    三、具体

    1.     PTK的生成

    生成PTK,需要5个必要元素,PMK,ANonce(Nonce 1,AP生成的随机数),SNonce(Nonce2,STA生成的随机数),AuthenticateMAC(MAC1,如AP的MAC),SupplicantMAC(MAC2,如STA的MAC)。


    图5 PTK的生成

    图的四个输出里面,DataEncr和DataMIC合起来就是前面提到的TK,EAPOLEncr/MIC分别对应KEK和KCK。

     

    2.     PTK的组成

    图4的输出就是PTK的组成。主要产生两种秘钥,一种在EAPOL4-way shake的时候用,一种在数据传输的时候用。每种又分成加密用和计算完整性用。PTK共64位,具体可以分成如下4个部分

    1) EAPOLKCK(key confirmation key),16位,对应于图5中的EAPOLMIC,以及图1中的MIC,用来在EAPOL4-way shake时校验完整性

    2) EAPOLKEK(key encryption key),16位,对应于图5中的EAPOLEncr,用于在EAPOL4-way shake的3/4的时候来加密GTK等数据

    3) TK(TemporaryKey),16位,对应于图5中的DataEncr,用于加密单播数据

    4)  Data Mic,16位,对应于图5中的DataMIC,具体又可分为8位的Tx key和8位的Rx key,用于数据传输的时候TKIP方式的Michael完整性校验。CCMP不用。
         

    3.     PMK的生成

    PMK,PairwiseMaster Key

    在WPA-PSK中,PMK=pdkdf2_SHA1(passphrase,SSID, SSID length, 4096)

    而在802.1x+EAP中,PMK=L(MSK,0,256)

    其中MSK(Mastersession key)由802.1x交换获得

    在4-wayhandshake前,AP/STA已经知道了PMK。

     

    4.     GTK

    GTK,GroupTransient Key,用于对组播和广播加解密

    在图5中,AP在3/4的时候会生成GTK,传给STA

    GTK由GMK(Groupmaster key)和成对秘钥扩展获得

    GTK=PRF-X(GMK,”Group key expanision”,AA|GN)

    其中GN是Authenticator生成的Nonce,AA是Authenticator的MAC

     

    GMK=MMK?

     

    GTK只包含数据传输部分的Key,也就是GroupEncryption Key(加解密)和Michael Authenticator MIC Key(完整性校验),没有包含EAP-Key部分,所以只有32位。

     

     

    参考

    1.     https://en.wikipedia.org/wiki/IEEE_802.11i-2004

    2.     https://supportforums.cisco.com/document/9879826/80211-wlan-roaming-and-fast-secure-roaming-cuwn#WPAWPA2-PSK

    3.     http://blog.csdn.net/kyokowl/article/details/8500557




    展开全文
  • tcp三次握手四次挥手(及原因)详解

    万次阅读 多人点赞 2016-04-13 21:20:22
    一个TCP连接必须要经过三“对话”才能建立起来,其中的过程非常复杂,只简单的 描述下这三对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一对话;主机B向主机A发送...
  • 简述TCP的三次握手四次挥手过程

    万次阅读 多人点赞 2019-07-10 12:07:03
    ①TCP是一种精致的,可靠的字节流协议。 ②在TCP编程中,三路握手一般由客户端(Client)调用Connent函数发起。 ③TCP3次握手后数据收发通道即打开...(1)第一次握手:Client将标志位SYN置为1,随机产生一个值s...
  • TCP协议中的三次握手四次挥手(图解)

    万次阅读 多人点赞 2017-01-04 21:51:52
    建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示: 先来看看如何建立连接的。 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收...
  • 什么是三次握手、什么是四次握手

    千次阅读 2018-08-06 20:12:55
    在前面我们练习了几个基于TCP协议的网络程序 也对UDP协议有了简单认识:认识UDP协议 TCP协议是可靠的传输协议,当然也就要付出一定代价来实现可靠性,协议段格式也就更复杂,对数据的处理也就更复杂。...
  • 前言 在互联网刚诞生的时候,Honeywell Information System公司便提出了OSI网络模型,并最终推广使用。 ... 这份危险刺激着密码学的发展,随着对称加密算法、公私钥加密算法和消息摘要算法相继提出和发展完善,信息的...
  • Http协议三次握手四次挥手

    万次阅读 2017-07-30 18:42:24
    TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset...
  • socket的TCP的三次握手&&四次挥手

    万次阅读 2014-10-05 18:18:58
    socket中的TCP_IP的三次握手四次挥手: (一)socket中TCP的三次握手建立连接: (1)tcp建立连接要进行“三次握手”,即交换三个分组。大致流程如下: 客户端向服务器发送一个SYN J 服务器向...
  • TCP三次握手四次挥手的全过程

    千次阅读 2019-04-09 11:29:27
    次握手: 第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,...
  • TCP为什么是三次握手四次挥手

    万次阅读 多人点赞 2018-08-20 11:44:42
    为什么建立连接是三次握手断开连接是四次挥手? 三次握手的流程和四次挥手的流程是什么? 三次握手四次回收分别对应TCP连接与断开过程 tcp报文格式 标志位含义 ACK:确认序号有效。 SYN:发起一个新连接。 ...
  • TCP的三次握手四次挥手详解

    千次阅读 多人点赞 2019-05-22 14:11:42
    TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接,与之相反的,采用四次挥手来断开连接: TCP标志位有6种标示,即:SYN(建立联机) 、 ACK(确认) 、 PSH(传送) 、 FIN(f结束) ...
  • TCP三次握手四次挥手的全过程  TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即tcp标志位,有8种表示: SYN(synchronous建立联机) ACK(acknowledgement 确认) ...
  • TCP三次握手四次挥手最通俗理解

    千次阅读 2018-05-01 16:36:06
    工作过程TCP标志位:TCP共有6个标志位,分别是:SYN(synchronous...图解三次握手四次挥手的过程:三次握手建立连接阐述:第一次握手:客户端要和服务端进行通信,首先要告知服务端一声,遂发出一个SYN=1的连接请求...
  • TCP 和UDP是网络协议的传输层上的两种不同的协议。TCP的特点是面向连接的、可靠的字节流服务。客户端需要和服务器之间建立一个TCP连接,之后才能传输数据。数据到达之前对方就一直在等待,除非对方直接关闭连接,...
  • TCP‘三次握手’和‘四次挥手’(通俗易懂)

    万次阅读 多人点赞 2018-08-17 11:22:27
    那我们就不得不提 TCP 的三次握手四次挥手。 三次握手 下图为三次握手的流程图   下面通过我们 wireshark 抓包工具来分析三次握手   三次握手数据包 第一次握手 建立连接。客户端发送连接请求报文段...
  • 简述TCP三次握手四次挥手过程

    万次阅读 多人点赞 2018-03-06 09:32:03
    TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize ...
  • 次握手四次挥手,为什么是三次握手四次挥手 四次挥手 TCP的连接的拆除需要发送四个包,因此称为四次挥手。客户端或服务器均可主动发起挥手动作。 由于TCP连接时全双工的,因此每个方向都必须单独进行关闭...
1 2 3 4 5 ... 20
收藏数 99,919
精华内容 39,967
关键字:

四次握手