单身的你还好意思三次握手,四次分手嘛

Posted 宝山的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单身的你还好意思三次握手,四次分手嘛相关的知识,希望对你有一定的参考价值。

TCP/IP 三次握手、四次分手

关于作者

  • 作者介绍


    📣 博客主页:作者主页
    📣 简介:云计算领域优质创作者🏆、在校期间参与众多计算机相关的省赛、国赛,斩获系列荣誉。考取华为资深工程师、红帽工程师等系列认证。
    📣 关注我 简历模板、学习资料、文档下载、技术支持、欢迎私信
    让生命像一团热烈燃烧的火,直到死亡才能使它熄灭

前言

  • 你还记得TCP/IP协议吗
    # 怎么也没想到会在这里翻车。
    面对面试官突然追问,你还抗揍吗
    今天复习了下TCP协议,然后重点分享下TCP/IP 三次握手吧,话不多少,直接分享吧,看看你真的了解TCP三次握手吗
    

TCP 协议三次握手

  • TCP 报文格式

  • #字段 
    Source Port     源端口
    Destination     目的端口
    Sequence Number 序号字段。TCP链接中传输的数据流中每个字节都编上一个序号。序号字段的值指的是本报文段所发送的数据的第一个字节的序号。
    Acknowledgment Number确认号,是期望收到对方的下一个报文段的数据的第1个字节的序号,即上次已成功接收到的数据字节序号加1。只有ACK标识为1,此字段有效。
    
    Data Offset 数据偏移,即首部长度,指出TCP报文段的数据起始处距离TCP报文段的起始处有多远,以32比特(4字节)为计算单位
    Reserved    保留,必须填0
    
    URG   紧急指针有效标识。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。
    ACK   
    PSH   标识接收方应该尽快将这个报文段交给应用层,接收到PSH = 1的TCP报文段,应尽快的交付接收应用进程,而不再等待整个缓存都填满了后再向上交付。
    RST   建连接标识。当RST=1时,表明TCP连接中出现严重错误(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立连接。
    SYN(标志位)   同步序号标识,用来发起一个连接。SYN=1表示这是一个连接请求或连接接受请求。
    FIN   用来释放一个连接。FIN=1表明此报文段的发送端的数据已经发送完毕,并要求释放连接。
    
  • 三次握手

  • 第一次握手:建立连接时,客户端发送SYN包到服务器,进入发送状态,等待服务器确认
    第二次握手:服务器收到后,发送ACK+SYN包,进入接收转态
    第三次握手:客户端收到SYN+ACK包后,会发送ACK包,进入 established转态,完成三次握手
    

TCP 四次分手

  • 四次分手

  • 第一次挥手:客户端向服务器发送断开连接FIN 请求
    第二次挥手:服务器收到请求后,回复客户端
    第三次挥手:服务器发送完数据后,返回给客户端指令,说明自己可以断开了(最后一次完成的)
    第四次挥手:客户端与服务端断开连接
    

总结

不管什么时候,TCP 协议真的要搞清楚,特别是面试的时候,它会被问的几率很高。只有你搞清楚了,不管怎么问,基本你都可以回答。特别主要的是,要搞清楚它的转态,如何实现的。

以上是关于单身的你还好意思三次握手,四次分手嘛的主要内容,如果未能解决你的问题,请参考以下文章

TCP三次握手与四次分手超简单解析

TCP的三次握手四次分手,DDOS

理解TCP中的三次握手和四次分手

iOS之快速掌握TCP 三次握手、四次分手

浅谈TCP三次握手和四次分手

三次握手四次分手