Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >学习tcp flags

学习tcp flags

作者头像
用户8418197
修改于 2021-04-12 02:28:35
修改于 2021-04-12 02:28:35
1.1K0
举报
文章被收录于专栏:howtouselinuxhowtouselinux

学习TCP Flags

TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG.

其中,对于我们日常的分析有用的就是前面的五个字段。

它们的含义是:

SYN表示建立连接,

FIN表示关闭连接,

ACK表示响应,

PSH表示有 DATA数据传输,

RST表示连接重置。

其中,ACK是可能与SYN,FIN等同时使用的,比如SYN和ACK可能同时为1,它表示的就是建立连接之后的响应,

如果只是单个的一个SYN,它表示的只是建立连接。

TCP的几次握手就是通过这样的ACK表现出来的。

但SYN与FIN是不会同时为1的,因为前者表示的是建立连接,而后者表示的是断开连接。

RST一般是在FIN之后才会出现为1的情况,表示的是连接重置。

一般地,当出现FIN包或RST包时,我们便认为客户端与服务器端断开了连接;而当出现SYN和SYN+ACK包时,我们认为客户端与服务器建立了一个连接。

PSH为1的情况,一般只出现在 DATA内容不为0的包中,也就是说PSH为1表示的是有真正的TCP数据包内容被传递。

TCP的连接建立和连接关闭,都是通过请求-响应的模式完成的。

概念补充-TCP三次握手:

TCP(Transmission Control Protocol)传输控制协议

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

位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)Sequence number(顺序号码) Acknowledge number(确认号码)

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

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

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

完成三次握手,主机A与主机B开始传送数据。

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。完成三次握手,客户端与服务器开始传送数据.

Tcp Flags

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
tcp protocol
11:53:56.748105 IP 40.100.29.194.https > 10.79.98.55.62947: Flags P., seq 5758:5814, ack 6948, win 2052, length 56
用户8418197
2021/06/13
7560
TCP协议的三次握手过程
TCP(Transmission Control Protocol) 传输控制协议 TCP的连接建立过程又称为TCP三次握手。 首先发送方主机向接收方主机发起一个建立连接的同步(SYN)请求; 接收方
猿人谷
2018/01/17
7960
TCP协议的三次握手过程
TCP协议三次握手过程分析
TCP(Transmission Control Protocol) 传输控制协议
ke1th
2019/05/26
3540
TCP为什么需要3次握手与4次挥手
http://blog.csdn.net/xifeijian/article/details/12777187   (排名655)
bear_fish
2018/09/20
3.4K0
TCP为什么需要3次握手与4次挥手
网络工程师入门系列 | TCP与UCP协议
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
网络技术联盟站
2020/01/13
2.2K0
网络工程师入门系列 | TCP与UCP协议
TCP的三次握手与四次分手
TCP的位置 TCP工作在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP在第二层——Data Link层; 在第二层上的数据,我们把它叫Frame,在
老七Linux
2018/05/31
7520
TCP的三次握手和四次挥手
TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:
前端老道
2022/03/28
7130
TCP的三次握手和四次挥手
tcp三次握手的seq和ack_tcp三次握手的第一个报文
TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:
全栈程序员站长
2022/11/10
3220
tcp三次握手的seq和ack_tcp三次握手的第一个报文
TCP/IP三次握手四次挥手
背景 和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次。 从好上开始,到现在,一年多也算坚持下来了。 问题 有时候聊天的过程中,我的网络或者她的网络可能会不好,视频就会卡住,听不到对方的声音,过一会儿之后才会恢复。 中间双方可能就要不断的确认网络是否恢复,但是有时候会: 她:“你可以听到了吗?” 我:“可以了,你呢?”、 她:“喂喂,你可以听到了吗?” 我:“可以了,我可以听到了,你呢?” 她:“你可以听到了吗?” ..... 这种情况很蛋疼,那么怎样
运维小白
2018/02/06
1K0
TCP/IP三次握手四次挥手
TCP的三次握手
         • CLOSED  阻塞或关闭状态,表示主机当前没有正在传输或者建立的链接
红目香薰
2022/11/29
3720
TCP的三次握手
一文带你读懂:TCP连接的三次握手和四次挥手(上篇)
TCP 是面向连接的协议,所以使用 TCP 前必须先建立连接,而建立连接是通过三次握手来进行的。
后台技术汇
2023/09/08
7600
一文带你读懂:TCP连接的三次握手和四次挥手(上篇)
关于三次握手与四次挥手你要知道这些
第一次握手:主机A发送位码为syn=1,随机产生seq number=x的数据包到服务器,客户端进入SYN_SEND状态,等待服务器的确认;主机B由SYN=1知道A要求建立连接。
全菜工程师小辉
2019/08/16
7470
TCP 协议详解
根据输入文章内容总结撰写摘要
剑影啸清寒
2018/01/02
1.9K0
TCP 协议详解
TCP之三次握手四次挥手
TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。
程序猿DD
2018/07/31
5000
TCP之三次握手四次挥手
详解TCP三次握手与四次挥手
昨晚模拟面试的时候,发现自己有很多细节没有照顾到位,然后还很飘。 感谢我的老师,九点下班后用他自己宝贵的时间帮我面试。
看、未来
2021/09/18
3310
python网络-Socket之TCP编程(26)
TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
Se7eN_HOU
2019/09/11
1.1K0
python网络-Socket之TCP编程(26)
tcp三次握手题目(tcp三次握手面试题)
(1)保证报文按序到达。 (2)保证可靠性。 (3)保证效率。 (4)精准的报告哪些报文已经收到,哪些需要重传。
全栈程序员站长
2022/07/30
5710
tcp三次握手题目(tcp三次握手面试题)
Python Web学习笔记之TCP的3次握手与4次挥手过程
前言 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。 面向连接意味着两个使用TCP的应用(通常是一个客户和
Jetpropelledsnake21
2018/05/03
1.1K0
Python Web学习笔记之TCP的3次握手与4次挥手过程
网络编程之你应该这么理解TCP的三次握手和四次挥手
网络传输层负责最底层的底层链路连接。两台主机之间进行互联,基于网线的物理硬件上的协议。在这个侧面,主机与主机之间只认得硬件mac编码。并不认识IP。
lyb-geek
2018/07/26
4750
网络编程之你应该这么理解TCP的三次握手和四次挥手
TCP/IP三次握手与四次挥手
TCP/IP三次握手与四次挥手 (1)TCP和UDP对比 1、TCP面向连接(如打电话要先拨号建立连接)。UDP是无连接的,即发送数据之前不需要建立连接; 2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达(进行丢包的重发控制,还可以对次序乱掉的分包进行顺序控    制),UDP尽最大努力交付,即不保证可靠交付; 3、TCP面向字节流。实际上是TCP把数据看成一连串无结构的字节流,UDP是面向报文的; 4、TCP有拥塞控制。UDP没有拥塞控制,因此网络出现拥塞
Mister24
2018/05/14
6300
相关推荐
tcp protocol
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档