三次握手和四次挥手图解_三次握手和四次挥手简单理解

TCP三次握手

  • TCP标志位

TCP在其协议头中使用大量的标志位或者说1位(bit)布尔域来控制连接状态,一个包中有可以设置多个标志位。

TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:

  • TCP标志位,有6种标示:

SYN表示建立连接,

FIN表示关闭连接,

ACK表示响应,

PSH表示有 DATA数据传输,

RST表示连接重置。

URG(紧急)

我们常用的是以下三个标志位

序号:表示发送的数据字节流,确保TCP传输有序,对每个字节编号

确认序号:发送方期待接收的下一序列号,接收成功后的数据字节序列号加 1。只有ACK=1时才有效。

  1. SYN - 创建一个连接 确认序号的标志,ACK=1表示确认号有效,ACK=0表示报文不含确认序号信息
  2. FIN - 终结一个连接 结束标志,用于释放连接,为1表示关闭本方数据流
  3. ACK - 确认接收到的数据 ACK=1表示确认号有效,ACK=0表示报文不含确认序号信息
  • 三次握手

所谓三次握手是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。

第一次握手:主机客户端发送位码为 syn=1,随机产生seq number=1234567的数据包到服务器,主机服务器由syn=1知道,客户端要求建立联机;

第二次握手:主机服务器收到请求后要确认联机信息,向客户端发送ack number=(主机客户端的seq+1),syn=1,ack=1,随机产生seq=7654321的包

第三次握手:主机客户端收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机服务器收到后确认seq值与ack=1则连接建立成功。

完成三次握手,主机客户端与主机服务器开始传送数据。

164104196a04b720d401bf3a0dd0e3f8.png
  • 四次挥手

第一次挥手:客户端发送了一个FIN报文,报文中会指定一个序列号,此时客户端状态为FIN_WAIT1状态

第二次挥手:服务端收到FIN之后,会发送ACK报文,并且把客户端的序列号+1作为ACK报文的序列号值,表明已经收到客户端的报文了,此时服务端处于CLOSE_Wait状态

第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给FIN报文,且指定一个序列号,此时服务端处于LAST_ACK状态。

第四次挥手:客户端收到FIN之后,一样发送一份ACK报文作为应答,并且把服务器的序列号+1作为自己的ACK报文的序列号值,此时客户端处于TIME_wait状态,注意此时TCP连接还没有释放,必须经过2∗∗MSL(最长报文段寿命)的时间后,才进入CLOSED状态。服务器只要收到了客户端发出的确认,立即进入CLOSED状态。

1ff4a677ce4d0df4f4090acecbc8d362.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/295608.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android之基于BaseAdapter和SimpleAdapter的GridView

GridView 第一种方式:用SimpleAdapter 先来贴出本文代码运行的结果: 本文需要添加/修改3个文件:main.xml、night_item.xml、JAVA源代码。 main.xml源代码如下,本身是个GirdView,用于装载Item: <?xml version="1.0" encoding="utf-8"?> <…

IOS开发CAKeyframeAnimation的基本使用与keypath的列举

2019独角兽企业重金招聘Python工程师标准>>> CAKeyframeAnimation跟CABasicAnimation的区别是&#xff1a;CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue)&#xff0c;而CAKeyframeAnimation会使用一个NSArray保存这些数值 - (void)value {CAKe…

少女为什么会身上香香的?

1 一旦接受这个设定苏打窃瓦辛格&#xff08;via.煎甜担担面&#xff09;▼2 有被冒犯到▼3 哈哈哈哈哈▼4 就差了难忘今宵▼5 还是挺在理的▼6 欣慰中带着点点悲伤▼7 原来是你的错▼8 哈哈哈哈哈▼你点的每个赞&#xff0c;我都认真当成了喜欢

Android之Android Studio三种方式导入外部资源 以及 报错处理

Android Studio三种方式导入外部资源 以及 报错处理 android studio提供了三种方式导入外部资源: 1. Library dependency – 在线添加、需联网下载 、 2. File dependency – 从本地添加一些jar包(要先将jar包</

android飞翔的小鸟游戏素材包_开心消消乐×愤怒的小鸟:为开心而战

手机里总有那么一些游戏&#xff0c;是你一旦不小心打开&#xff0c;就完全停不下来的。在这份“一直玩一直爽游戏清单”里&#xff0c;绝对少不了开心消消乐和愤怒的小鸟的身影。神奇的是&#xff0c;在2020的夏天&#xff0c;它们合体了&#xff01;在接到开心消消乐的brief时…

RabbitMQ 处理过慢,原来是一个 SQL 缓存框架导致的 GC 频繁触发

一&#xff1a;背景 1. 讲故事上个月底&#xff0c;有位朋友微信找到我&#xff0c;说他的程序 多线程处理 RabbitMQ 时过慢&#xff0c;帮忙分析下什么原因&#xff0c;截图如下&#xff1a;这问题抛出来&#xff0c;有点懵逼&#xff0c;没说CPU爆高&#xff0c;也没说内存泄…

3部世界顶级宇宙纪录片,献给对宇宙万物充满好奇的你~

全世界只有3.14 % 的人关注了爆炸吧知识宇宙深邃美丽&#xff0c;是黑夜的荧光&#xff0c;是夏天里冒着凉气的西瓜&#xff0c;总是诱人地勾起一代又一代人探索的欲望。对于宇宙思索与探索&#xff0c;人类的脚步从未停止。正是人类对宇宙的好奇&#xff0c;撑起了人类发展的大…

二元函数偏导数公式_偏导数计算公式大全

如果函数f(x)在(a,b)中每一点处都可导,则称f(x)在(a,b)上可导,则可建立f(x)的导函数,简称导数。以下是小学生作文网小编给大家提供的导数公式大全,快来看看吧!导数的定义:当自变量的增量... 2018-12-29 阅读全文 >> 导数公式大全-偏导数基本公式大全_营销/活动策划_计…

OC类

2019独角兽企业重金招聘Python工程师标准>>> OC语言的一个类分为两个文件一个.h&#xff0c;一个.m&#xff0c;.h为头文件用来添加实例变量和方法声明。.m文件里面写入方法的实现 .h一般如下 interface 类名:父类 属性声明 方法声明 end .m一般如下 implementation…

06Prism WPF 入门实战 - Log控件库

1.概要源码及PPT地址&#xff1a;https://github.com/JusterZhu/wemail视频地址&#xff1a;https://www.bilibili.com/video/BV1KQ4y1C7tg?share\sourcecopy\web本章分为以下几个部分来了解&#xff1a;Part1 日志Part1.1 全局异常捕捉Part1.2 DumpPart2 引入控件库2.详细内容…

天冷打字全靠抖?!桌面暖手宝,体验10s速热,温暖升级,冬天有TA就够了

▲点击查看没有一丝丝防备&#xff0c;冷空气说来就来了~无论是寒风猛烈的北方&#xff0c;还是湿冷又没有暖气的南方&#xff0c;对于上班族来说&#xff0c;冬天最痛苦的事情莫过于哆哆嗦嗦在工位码字了&#xff01;冷风侵袭无处不在&#xff0c;备上个暖手袋&#xff0c;根本…

设计模式-Factory Method Pattern

为什么80%的码农都做不了架构师&#xff1f;>>> 一、 工厂方法&#xff08;Factory Method&#xff09;模式 工厂方法&#xff08;FactoryMethod&#xff09;模式是类的创建模式&#xff0c;其用意是定义一个创建产品对象的工厂接口&#xff0c;将实际创建工作推迟…

IoTSharp 2.0 发布

你站在桥上看风景&#xff0c;看风景人在楼上看你。明月装饰了你的窗子&#xff0c;你装饰了别人的梦。喜欢这首诗是因为觉得开源造福了我&#xff0c;我也在尝试贡献自己的力量&#xff0c; 成就他人的同时&#xff0c; 也成就了自己&#xff0c; 贡献开源事业的同时&#xff…

oracle监听

原理 客户端向服务器端发送连接请求&#xff0c;监听器监听到客户端德连接请求监听器监听到客户端德连接请求后&#xff0c;把客户端德连接请求交给数据库服务器处理客户端和服务器端建立连接&#xff0c;连接建立后&#xff0c;服务器端和客户端直接通信&#xff0c;而不再需要…

车窗上为啥总有一些小黑点?没想到居然藏着大作用!

全世界只有3.14 % 的人关注了爆炸吧知识经常坐车的人可能会发现一个小细节车窗边缘有一圈小黑点好多人都以为这个厂家的贴纸反正也不碍事就没去除它其实&#xff0c;这些小黑点确实有真正的科学用途其实并不是所有的车窗都有小黑点也可能是别的形状但是它们都有一个特点——都是…

装饰模式

JAVA23种设计模式之一&#xff0c;英文叫Decorator Pattern&#xff0c;又叫装饰者模式。装饰模式是在不必改变原类文件和使用继承的情况下&#xff0c;动态的扩展一个对象的功能. 1、装饰模式与类继承的区别&#xff1a; 1) 装饰模式是一种动态行为&#xff0c;对已经存在类…

Win11安卓极速教程!

适用于 Android 的 Windows 子系统&#xff08;以下简称“WSA”&#xff09;使你的 Windows 11 电脑能够运行 Android 应用。※ 如何在 Windows 11 上运行 Android 应用此前的教程较为详细&#xff0c;但也繁琐&#xff0c;尤其是 adb 部署部分&#xff0c;不适合新手入门&…

ubuntu12.04 使用gedit 打开txt文件中文乱码的处理方法

2019独角兽企业重金招聘Python工程师标准>>> gedit --encodingGB18030 filename.txt 转载于:https://my.oschina.net/zhangdapeng89/blog/58965

你最擅长哪种数学思维?

全世界只有3.14 % 的人关注了爆炸吧知识许多人会抱怨说&#xff0c;自己没有“数学头脑”。事实上&#xff0c;数学家会以各种各样的方式思考&#xff0c;根本没有所谓的哪种思考数学的方式是正确的。但这很可能造成沟通上的障碍&#xff0c;试想一下&#xff0c;一个用视觉图像…

励志!送女儿去厦大读研后,爸爸回家就考了厦大的博士,现在是女儿的“学弟”...

全世界只有3.14 % 的人关注了爆炸吧知识2020上半年&#xff0c;在安徽阜阳家里&#xff0c;女儿王睿在房间内上着厦门大学在线专业课&#xff0c;父亲王健作为师范高校教师直播着自己的思政公共课和生命教育有关课程。然而一到周末&#xff0c;王健也和女儿一样&#xff0c;作为…