网站首页 > 资源文章 正文
和三次握手相关的TCP报文中的重要标志位
昨天的文章中,结合Wireshark抓包和大家讨论了三次握手的相关知识点,评论中有些读者对序号,确认序号,以及SYN&ACK等标志位还有一些疑问,这里简单再说一下我的理解。
首先,由TCP协议报文的格式可知,在报文中我们主要关注与《32位序列号》,《32位确认序号》,和SYN和ACK标志位。因为这四个要素和三次握手紧密相关。
#32位序列号(后面简写为seq):
就是我们常说的序号。对于要发送的数据的第一个序号而言这个序号是通过一个算法计算得到seq。这就是告诉接收方:我发送的数据是从seq开始的。
TCP会话的每一端都包含一个32位(bit)的序列号,该序列号被用来跟踪该端发送的数据量。每一个包中都包含序列号,在接收端则通过确认号用来通知发送端数据成功接收,当某个主机开启一个TCP会话时,他的初始序列号是随机的。
比如,源端发送(SYN=1 , seq=X)到服务端,代表的意思是,我这是个SYN包,我请求对你的连接(SYN包置1代表这是一个连接请求),seq代表这个包的序号。
这个对应三次握手的第一次握手。
#32位确认序列号(后面简写为ack):
就是告诉接收方,我已经接受到了你的数据包。
比如服务端发送一个(SYN=1,ACK=1,seq=Y, ack=X+1)
SYN和ACK代表这是一个确认连接的TCP包,seq=Y为服务端为该报文生成的一个随机数,而ack(确认序号)则通知客户端我已经接受到了你的上一次报文(X),我希望下次接受你的报文的seq=X+1.
注意这里大写的ACK指代的是ACK标志位,而小写的ack则指示的是确认序号。
这步对应三次握手的第二次握手。
#而当客户端接受到服务端的TCP报文之后,客户端需要发送(ACK=1,seq=X+1,ack=Y+1)报文给服务端进行确认。该报文表示的意思是:
这是一个确认报文,因为上次我产生的报文seq=X,这次的报文顺序加1,所以seq=X+1(其实服务端期待的seq在第二次握手的时候已经通过ack告知了客户端),ack=Y+1则代表客户端告诉服务端,我已经接受到了你的seq=Y的TCP报文,我希望下一次能收到你的seq=Y+1的TCP报文。
注意这里大写的ACK指代的是ACK标志位,而小写的ack则指示的是确认序号。
这步对应三次握手的第三次握手
#其实总结起来
Seq也好,ack也好,都是数据包的序号,可以用这两个序号来跟踪两端发送的数据包。Seq是用来标志特定的数据包的,而ack则是接收方对发送方的一次确认,告知我已收到某某seq的报文了。而至于SYN和ACK标志位,小编的理解SYN置1就代表这是一个连接请求,而ACK置1表明这是一个确认的数据包。
每天学习一点点,每天进步一点点,希望大家持续关注本号,共同学习,共同提高,在IT的世界里包括各种协议,云计算,Linux等相关领域遨游沟通。明日的主题和大家一起讨论一下HTTP Rest协议的简单理解。
猜你喜欢
- 2024-09-27 侧方位停车技巧,可以这样修正方向一把入库
- 2024-09-27 把PLC程序一步步讲明白了,那么PLC编程还会很难嘛?
- 2024-09-27 食品生产日期怎么标示?(食品生产日期怎么写)
- 2024-09-27 为什么CAN一致性测试中这几项如此重要?
- 2024-09-27 漫威6位超级英雄的独有标志,最后一个漫威粉也猜不出来!
- 2024-09-27 IP地址、子网掩码、及ip段-如192.168.0.1/24是什么意思?
- 2024-09-27 美式橄榄球球场的每条线的名称和作用?
- 2024-09-27 老司机用心总结,汽车上按钮图解,收藏起来随时看
- 2024-09-27 形位公差符号:掌握精度,铸就精工制造品质
- 2024-09-27 机械:产品形、位公差及符号分类图解,看公差图不求人
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)