文章目录

  • 一、TCP的FLAG标记位的含义
  • 二、TCP建立连接的过程
  • 三、TCP关闭连接

一、TCP的FLAG标记位的含义

URG-----紧急
ACK------应答
PUSH----推送(数据包立即发送)
RST-------复位(中断一个连接)
SYN-------同步(表示开始会话请求)
FIN--------结束(结束会话)

二、TCP建立连接的过程


TCP通过三次握手建立可靠连接。

TCP是一种可靠的,面向连接的全双工传输层协议。
TCP连接的建立是一个三次握手的过程。如图所示:
第一次: 主机A(通常也称为客户端)发送一个标识了SYN的数据段,表示期望与服务器A建立连接,此数据段的序列号(seq)为a。
第二次: 服务器A回复标识了SYN+ACK的数据段,此数据段的序列号(seq)为b,确认序列号为主机A的序列号加1(a+1),以此作为对主机A的SYN报文的确认。
第三次: 主机A发送一个标识了ACK的数据段,此数据段的序列号(seq)为a+1,确认序列号为服务器A的序列号加1(b+1),以此作为对服务器A的SYN报文段的确认。

三、TCP关闭连接


主机在关闭连接之前,要确认收到来自对方的ACK

TCP支持全双工模式传输数据,这意味着同一时刻两个方向都可以进行数据的传输。在传输数据之前,TCP通过三次握手建立的实际上是两个方向的连接,因此在传输完毕后,两个方向的连接必须都关闭。
TCP连接的建立是一个三次握手的过程,而TCP连接的终止则要经过四次握手。
如图所示:
第一次挥手: 主机A想终止连接,于是发送一个标识了FIN,ACK的数据段,序列号为a,确认序列号为b。
第二次挥手: 服务器A回应一个标识了ACK的数据段,序列号为b,确认序号为a+1,作为对主机A的FIN报文的确认。
第三次挥手: 服务器A想终止连接,于是向主机A发送一个标识了FIN,ACK的数据段,序列号为b,确认序列号为a+1。
第四次挥手: 主机A回应一个标识了ACK的数据段,序列号为a+1,确认序号为b+1,作为对服务器A的FIN报文的确认。
以上四次交互便完成了两个方向连接的关闭。


我是艺博东!欢迎你和我一起讨论,我们下期见。

手摸手教会你三次握手和四次挥手相关推荐

  1. 脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手

    转自即时通讯网:http://www.52im.net/ 1.引言 网络编程中TCP协议的三次握手和四次挥手的问题,在面试中是最为常见的知识点之一.很多读者都知道"三次"和&quo ...

  2. 跟着动画学习 TCP 三次握手和四次挥手

    TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一.很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准确回答. 本篇尝试使用动画来对这个知识点进行讲解,期望读者们可以更加简单地 ...

  3. 动画:一招学会TCP的三次握手和四次挥手

    TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一.很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准确回答. 本篇尝试使用动画来对这个知识点进行讲解,期望读者们可以更加简单地 ...

  4. 【转】跟着动画来学习TCP三次握手和四次挥手

    最近看到一篇很通俗易懂的描述TCP三次握手和四次挥手概念的文章,觉得特别好,怕以后找不到了,特意转载在这里学习一下. 原文地址:跟着动画来学习TCP三次握手和四次挥手 作者:老錢 链接:https:/ ...

  5. TCP、UDP、TCP三次握手与四次挥手、TCP如何保证可靠传输、TCP异常分析、拆包和粘包等

    4.OSI模型 4.1.OSI七层模型 4.2.七层模型功能 ​ 物理层:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输,如网线:网卡标准. ​ 数据链路层:接收来自物理层的位流形式的数据 ...

  6. 什么是TCP三次握手和四次挥手【重点学习系列---干货十足--一文详解】

    引言 本文将会从一个爱情的故事开始,着力从什么是三次握手.为什么是三次而不是俩次或者四次.TCP关闭的过程.为什么要四次挥手.而不是三次.为什么最后是2MSL.什么是2MSL这些问题展开分析,详解,让 ...

  7. 网络编程 | tcp协议 | udp协议 | 三次握手与四次挥手

    目录 网络编程 为什么要用网络编程 软件开发的结构 1. C/S架构 2.B/S架构 网络基础 一个程序如何在网络上找到另一个程序? ip地址 什么是端口 远程数据传输发展史 OSI七层网络模型 前言 ...

  8. 漫画:一招学会TCP的三次握手和四次挥手

    2019独角兽企业重金招聘Python工程师标准>>> TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一.很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准 ...

  9. 想看懂三次握手,四次挥手?看这里!!!

    一.知识点介绍 1.什么是三次握手? 三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包.进行三次握手的主要作用就是为了确认双方的接收能 ...

最新文章

  1. 下拉加载 实现 java_[Java教程]iscroll5实现一个下拉刷新上拉加载的效果
  2. 网站收录工具(php导航自动收录源码)_10步把企业网站优化做到极致,SEO优化的核心知识...
  3. Linux: 让切换目录更方便: pushd,popd,dirs,cd -
  4. jquery.datatables使用
  5. WebSphere MQ 安装
  6. iPhone垃圾信息被骂惨了,苹果一拍脑门:上机器学习呀
  7. Laravel 代码开发最佳实践
  8. 【LeetCode】21. 合并两个有序链表
  9. PX4中四元数更新(毕卡求解法与一阶龙格库塔)
  10. 佳能2900打印机与win10不兼容_lbp2900+驱动下载
  11. 代码查重——LCS、Levenshtein距离、Jaro-Whinkle距离和变量代换
  12. s3c2410 2.6.22.1内核移植
  13. 计算机硕士论文的框架应该怎么写,计算机硕士论文提纲模板 计算机硕士论文框架怎样写...
  14. ISAPI摘要认证,java代码怎么写
  15. 魔兽世界一个服务器发邮件给,今天突然收到一个网易魔兽世界邮件,不知道真的还是假的 他的邮件格式好奇怪!大家帮我看看...
  16. SpringBoot 快速集成 JWT 实现用户登录认证
  17. html显示已知范围标量,【单选题】下列哪个HTML5元素用于显示已知范围内的标量测量...
  18. SPSS分析技术:时间序列分析的ARIMA模型;考虑各种促销因素的服装销售额预测
  19. 解决百度地图内存泄露问题
  20. vue报错 ‘Cannot find module ‘D:\nodejs\node_modules\npm\bin\npm-cli.js‘

热门文章

  1. 前端---HTML设置圆角边框
  2. 如何建立自己的网站—建站历程分享
  3. C4D建模教程篇之甜甜圈建模
  4. 前端js+canvas实现雷达扫描效果
  5. Explain how shipping point is determined?
  6. 解决VisualVm的Profiler一直转圈:正在连接到目标 VM...
  7. 家人共享为什么显示服务器失败,App 支持 “家人共享”功能 App Store服务器通知更新...
  8. 重磅消息!天地图2021版正式启用!首次发布高清地图,实现电子地图无级缩放
  9. UI设计需求中的18个专业术语
  10. JS实现两数之和的3种方法