TCP协议三次握手/四次挥手
TCP是传输控制协议,需要建立链接,通过三次握手和四次挥手保证数据传输的可靠性
三次握手过程
三次握手的目的在于,确认双方的通信能力是否正常
- 第一次握手,客户端发送连接请求的报文给服务端
- 第二次握手,服务端接收请求后回复一个ACK报文,并为连接分配资源
- 第三次握手,客户端收到ACK报文后,也向服务端发送ACK报文,并分配资源,至此,链接建立完成
四次挥手过程
四次挥手的目的在于,终止数据传输并回收资源,必须等待双方都没有数据传输时才能断开连接
- 第一次挥手,客户端向服务端发送报文,请求关闭数据传送,并进入等待状态
- 第二次挥手,服务端收到报文后,发送ACK确认,此时客户端到服务端的链接断开
- 第三次挥手,服务端数据传输完毕后,向客户端发送报文,请求关闭数据,并进入等待状态
- 第四次挥手,客户端收到报文后,发送确认报文,链接完全断开
数据格式
TCP协议的数据分为报头和数据两部分,报头包括
- 16位源端口号
- 16位目标端口号
- 32位序号
- 32位确认序号
- 4位首部长度
- 16位窗口大小
- 16位紧急指针
TCP协议三次握手/四次挥手相关推荐
- 计算机网络之UDP与TCP协议(三次握手, 四次挥手)
⭐️前面的话⭐️ 本文介绍计算机网络中有关传输层协议的知识--UDP与TCP协议,在TCP协议中,为了保证数据的可靠传输,引入了十大保证可靠性的机制,即确认应答,超时重传,连接管理(三次握手,四次挥手 ...
- 详解TCP协议三次握手四次挥手
三次握手: 三次握手表示建立通信阶段,在TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠,由于这种面向连接的特性, TCP协议可以保证传输数据的安全,所以应用十分广泛 ...
- Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手)...
Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手) 一丶CS/BS 架构 C/S: 客户端/服务器 定义: 这里 ...
- python网络通信效率_Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手)...
Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手) 一丶CS/BS 架构 C/S: 客户端/服务器 定义: 这里的客户端一般 ...
- 在深谈TCP/IP三步握手四步挥手原理及衍生问题—长文解剖IP
如果对网络工程基础不牢,建议通读<细说OSI七层协议模型及OSI参考模型中的数据封装过程?> 下面就是TCP/IP(Transmission Control Protoco/Interne ...
- 再深谈TCP/IP三步握手四步挥手原理及衍生问题—长文解剖IP
转载地址: https://www.zhoulujun.cn/html/theory/ComputerScienceTechnology/network/2015_0708_65.html 如果对网络 ...
- TCP协议之三次握手四次挥手
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的.可靠的. 基于IP的传输层协议. 来看下网络协议 在计算机网络中进行通讯,就必须遵守一些 ...
- tcp 二次握手时延_一篇搞懂TCP的三次握手 四次挥手
TCP的三次握手四次挥手,估计大家都听过.但是真的能把每一步说明白的人比较少.我还记得在之前面试的时候被面试官一顿问,然后一脸懵B... 都是大学没好好上课 ,这篇文章就跟大家讲讲到底这三握四挥是在搞 ...
- TCP/IP协议 - 三次握手四次挥手(入门易懂版)
握手通俗理解为两个人见面Say Hai,客户端和服务端建立连接 挥手就可以理解为两个人结束会面,要Say Goodbai,客户端和服务端断开连接 要了解什么是三握四挥,必须要了解一个重要的知识点:什么 ...
最新文章
- 在WebLogic 12c上运行RichFaces 4.1.0.Final
- HBase中的MemStore
- 微软为开源计算器加入全新的图形功能
- 转: maven进阶:一个多模块项目
- 本地html调试java接口_solr源码通过idea进行本地调试
- 使用JSON实现分页
- 【JAVA】java获取项目地址或tomcat绝对地址
- cba比赛比分预测_昨日预测CBA一红一黑,今日继续给大家带来CBA全部比赛4场
- Elasticsearch索引分片的数量及大小分配策略
- jsGannt Improved在vue中的使用
- 计算机知识竞赛 翻译,英文简历之常见学科竞赛中英文翻译
- 词向量与词向量拼接_nlp中的词向量对比:word2vec/glove/fastText/elmo/GPT/bert
- 【五一创作】iSH修改hostname(主机名)【美化】【短篇技术类文章】
- Xilinx ZCU106开发详解(Xilinx Zynq UltraScale+ MPSoC)
- 企业微信 - 封装JS-SDK使用方法
- CTF中MISC常见工具总结
- java所定义的版本中不包括_java试题模拟出题
- java web项目VO,dao,pojo,dto,bo,
- 【解决方案】MQTT 强劲代理服务 EMQX 安装报Unable to load emulator DLL错误
- 修改Window Server2012远程桌面端口
热门文章
- day5 ---- 数据类型及常用方法(字符串、列表)
- 关于Keil4 转到 Keil5以后的一些错误解决
- Non-standard serial port baud rate setting
- The operation could not be performed because OLE DB provider SQLNCLI11 for linked server SDSSDFCC...
- UVa11988-破损的键盘 Broken Keyboard
- 用一条mysql语句插入多条数据
- 无刷新二级联动菜单的Request问题
- 大数据之-Hadoop_环境搭建_JDK安装---大数据之hadoop工作笔记0017
- k8s核心技术-Helm(chart模板的使用上)---K8S_Google工作笔记0048
- Sentinel服务熔断只配置fallback_客户自定义限流处理_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0050