TCP/IP协议---三次握手和四次挥手
TCP首部的数据格式

其中,
- 源端口号和目的端口号各占16位,端口范围1~65535。1024以下为知名端口,1024~65535是供用户使用。源端口,目的端口,源ip,目的ip这四个值唯一确定一个TCP连接。
- 序号是标识从TCP发送端向接收端发送的数据字节流,它表示在这个报文段中的第一个数据字节。
- 确认序号包含发送确认的一端所期望收到的下一个序号,因为确认序号是上次已成功接收的数据字节序号加1。
- URG:紧急标志位,紧急指针有效。
- ACK:确认标志位,对已接收的数据包进行确认。
- PSH:推送标志位,接收方应尽快将这个报文段交给应用层。
- RST:重置标志位,重新建立连接。
- SYN:同步标志位,发起一个连接。
- FIN:完成标志位,完成发送,关闭连接。
TCP三次握手建立连接
握手示意图如下:

wireshark抓包握手过程:

一开始客户端和服务器都处于CLOSED状态,主动建立连接的一方为客户端,被动建立连接的一方是服务器。双方在建立连接前,需要分配内存建立传输控制块TCB,服务器随后会进入LISTEN监听状态。
第一次握手:客户端向服务器发起连接请求报文,同步标志位SYN=1,初始序列号seq=x,随后客户端进入进入SYN-SEND状态。
第二次握手:服务器端收到请求报文后,向客户端发送确认报文,报文中同步标志位SYN=1,确认标志位ACK=1,确认序号ack=x+1,同时产生一个随机序号seq=y,随后服务器进入SYN_RCVD状态。
第三次握手:客户端收到服务器回的确认后,也要给服务器回复一个确认报文,其中ACK=1,ack=y+1,seq=x+1。服务器收到后,检查ACK是否为1,seq是否为y+1,如果正确则成功建立连接。
建立连接后,客户端和服务器都进入ESTABLISHED状态。之后即可进行正常的数据通信。
TCP四次挥手释放连接


TCP/IP协议---三次握手和四次挥手的更多相关文章
- TCP/IP协议三次握手和四次挥手大白话解说
前言 昨天晚上被一位师傅问到了TCP/IP的工作机制,心里很清楚三次握手,然而对于四次挥手却忘了,这是大学习里学过的,奋而翻阅书籍和网络对之前所学的做一个温顾,算是夯实自我吧. TCP(Transmi ...
- 白话解说TCP/IP协议三次握手和四次挥手
白话解说TCP/IP协议三次握手和四次挥手 1.背景 和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次. 从好上开始,到现在,一年多也算坚持下来了. 1.1.问题 有时候聊天的过程中,我的 ...
- TCP/IP协议 三次握手与四次挥手
一.TCP报文格式 TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图: 图1 TCP报文格式 上图中有几个字段需要重点介绍下: (1)序号 ...
- TCP/IP协议 三次握手与四次挥手【转】
一.TCP报文格式 TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图: 图1 TCP报文格式 上图中有几个字段需要重点介绍下: (1)序号 ...
- 大白话解说TCP/IP协议三次握手和四次挥手
背景 和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次. 从好上开始,到现在,一年多也算坚持下来了. 问题 有时候聊天的过程中,我的网络或者她的网络可能会不好,视频就会卡住,听不到对方的声 ...
- TCP/IP协议三次握手_四次挥手
TCP/IP协议 TCP是一种面向连接的端到端的可靠传输协议. TCP报头格式 三次握手的过程 一.客户端发送一个连接请求,发送一个随机数X,这时客户端的端口状态变为SYN_SENT状态. 二.服务端 ...
- TCP/IP协议三次握手与四次挥手
一.标志位和序号 seq序号 :发送方随机生成的 ack确认序号:ack=seq+1 标志位ACK=1时确认序号有效 SYN标志位:发起一个新连接 ACK标志位:确认序号有效 FIN标志位:断开连接 ...
- TCP/IP协议三次握手与四次握手流程解析
原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议三次握手与四次握手流程解析 TCP/IP协议的详细信息参看<TCP/IP协议详 ...
- TCP/IP协议三次握手与四次握手流程解析(转载及总结)
原文地址:http://www.2cto.com/net/201310/251896.html,转载请注明出处: TCP/IP协议三次握手与四次握手流程解析 一.TCP报文格式 TCP/IP协议的详 ...
- TCP/IP协议三次握手与四次握手
TCP/IP协议三次握手与四次握手流程解析 一.TCP报文格式 TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图:图1 TCP报文格式 上图中有几个 ...
随机推荐
- jQuery获取select选中值的文本
实际代码:var checkUserSelect=$("#checkUserSelect option:selected").text();//执法人员姓名 jQuery中获得选中 ...
- 从内核世界透视 mmap 内存映射的本质(原理篇)
本文基于内核 5.4 版本源码讨论 之前有不少读者给笔者留言,希望笔者写一篇文章介绍下 mmap 内存映射相关的知识体系,之所以迟迟没有动笔,是因为 mmap 这个系统调用看上去简单,实际上并不简单, ...
- 解密网络通信的关键技术(下):DNS、ARP、DHCP和NAT,你了解多少?
引言 在上一章中,我们详细介绍了域名系统(DNS)和地址解析协议(ARP)的工作原理,从而对域名解析和介质访问控制(MAC)地址寻址有了更深入的了解.在今天的章节中,我们将继续探讨动态主机配置协议(D ...
- 【matplotlib 实战】--平行坐标系
平行坐标系是一种统计图表,它包含多个垂直平行的坐标轴,每个轴表示一个字段,并用刻度标明范围.通过在每个轴上找到数据点的落点,并将它们连接起来形成折线,可以很容易地展示多维数据.随着数据增多,折线会堆叠 ...
- 《机器人SLAM导航核心技术与实战》第1季:第6章_机器人底盘
<机器人SLAM导航核心技术与实战>第1季:第6章_机器人底盘 视频讲解 [第1季]6.第6章_机器人底盘-视频讲解 [第1季]6.1.第6章_机器人底盘_底盘运动学模型-视频讲解 [第1 ...
- studio
- python接口自动化之request请求,如何使用 Python调用 API?
Python实战 | 如何使用 Python 调用 API 一.HTTP 请求HTTP 请求是在 HTTP 协议下的一种数据格式,用于向服务器发送请求,其通常由请求行.请求头和请求体三部分构成,请求头 ...
- dicker 常用命令(简洁版)
- 从 SQL 查询优化技巧去看 h2 数据库查询原理
本文目标是:了解查询的核心原理,对比 SQL 查询优化技巧在 h2database 中的落地实现. 前提:为了贴近实际应用,本文 Code Insight 基于 BTree 存储引擎. 数据查询核心原 ...
- JS 树形结构 根据子节点找到所有上级
需求:是根据子菜单找到所有他上级菜单 进行面包屑的回显 要求子节点里包含父级id 代码如下: parentTree(arr, id) { //arr 所有的树数据 id 某个子节点的id ...