传输层协议UDP和TCP
UDP报文结构UDP报头定长8字节包含源端口目的端口UDP报文总长和UDP校验和UDP特点UDP特点UDP的特点是无连接和不可靠它和TCP不一样TCP的传输需要建立连接而UDP不需要而且TCP传输有可靠性UDP不可靠。UDP的不可靠体现在没有重传机制也没有确认机制如果没有成功发送UDP也不会返回应用层信息。UDP的传输面向数据报所以应用层每次的recvfrom和sendto的次数都是一一对应的。而且每次发送接收的都是完整的报文。应用层交给UDP无论多长的报文UDP都不会拆分和合并发送而是原封不动发送。UDP缓冲区UDP没有真正意义的发送缓存区因为UDP不需要保障可靠性不需要重传也就不需要缓冲区对数据进行存储。UDP报文大小UDP首部字段有一个16位报文长度也就确定了UDP最大长度就是64K如果应用层发送数据大就需要在应用层手动分包分别发送在对端应用层进行合并。基于UDP的应用层协议• NFS网络文件系统Network File System• TFTP简单文件传输协议Trivial File Transfer Protocol• DHCP动态主机配置协议Dynamic Host Configuration Protocol• BOOTP启动协议Bootstrap Protocol用于无盘设备启动• DNS域名系统Domain Name SystemTCP报文结构TCP全程传输控制协议保证对数据的传输控制TCP面向字节流有接收缓存区同时有很多保障可靠性的机制TCP报头字段包含源端口号目的端口号32位序列号32位确认序列号4位首部长度6位保留字段16位窗口大小16位紧急指针和40字节选项。TCP大小由于4位首部长度范围0000-1111只能确定0-15大小所以首部长度需要乘上4KB大小所以TCP报头大小范围是0-60又因为报头大小最小20KB所以报头大小范围是20-60KB。6位标志位URG标识紧急指针的有效性。ACK确认号是否有效PSH提示应用层尽快从接收缓存区读取数据SYN请求建立连接把携带SYN标识的称为同步报文段FIN通知对方本段关闭连接携带FIN的叫结束报文段16位校验和发送端进行数据填充并附加CRC校验码。接收端若校验失败则判定数据存在异常。此处的校验范围不仅涵盖TCP首部同时包含TCP数据部分。16位紧急指针紧急指针是当URG有效时标识紧急数据位置的偏移量紧急数据大小是1字节紧急数据会被上层提前处理TCP确认应答机制TCP每次发送到对端的数据都会收到一个ACK用来表示对方接受到了数据同时携带ACK的也是一个报文但这个报文没有携带数据所以ACK应答不需要确认也就是ACK应答不需要新的ACK应答确认应答收到了。TCP为了效率考虑没有把每个发送的报文都每次确认而是一次性发送多个报文后对端发送一个ACK。但是对方收到的数据未必是有序的但数据报文需要排列。所以每个报头的序列号和确认序列号就有了作用。例如客户端发送1000条报文那最后一条报文序列号是1000服务器收到后发送确认ACK这个ACK确认序列号就是1001代表0-1000的报文都收到了你下一次报文从我的确认序列号1001发送。我们会发现0-1000未必真的全部收到了而是收到了1000后就说0-1000的报文全部收到没错TCP允许少量的报文丢失当他收到ACK就认为报文发送成功了。TCP超时重传机制TCP的丢包分为两种一种是真的丢包了还有一种是ACK丢了无论哪种都需要进行重传这样接收端可能会收到很多重复的报文这时报文序列号又有作用了它可以让接收端知道自己已经接受了哪些报文了如果遇到重复的就直接丢弃。超时重传时间的规定因为网络环境的堵塞程度不同重传时间也应该有对应的变化。• 理想情况下我们需要确定一个最小时间阈值确保确认应答必定能在该时限内返回。• 然而这个时间阈值会因网络环境差异而有所不同。• 若超时设置过长会降低整体重传效率 • 若设置过短则可能导致数据包重复发送。为确保TCP在各种网络环境下都能高效通信系统会动态计算最佳超时时间。• 在Linux系统BSD Unix和Windows同样适用中超时控制以500ms为基本单位每次超时重传的时间都是500ms的整数倍。• 首次重传未获应答时等待时间将延长至2×500ms后再次重传。 • 若仍未收到应答则等待时间按4×500ms递增以此类推呈指数级增长。• 当重传次数达到上限时TCP会判定网络或对端主机异常强制终止连接。TCP连接机制一般情况TCP建立连接三次握手关闭连接四次挥手像ACKSYN类似同时拥有确认应答和报文数据的叫做携带应答。服务端状态转换:• [CLOSED → LISTEN] 服务器调用listen后进入LISTEN状态开始监听客户端连接请求• [LISTEN → SYN_RCVD] 收到客户端的SYN报文后将该连接加入内核等待队列并向客户端发送SYNACK确认报文• [SYN_RCVD → ESTABLISHED] 收到客户端的ACK确认后连接建立完成进入可读写状态• [ESTABLISHED → CLOSE_WAIT] 收到客户端的FIN报文后发送ACK确认并进入CLOSE_WAIT状态• [CLOSE_WAIT → LAST_ACK] 处理完待发送数据后发送FIN报文并进入LAST_ACK状态等待最终ACK确认• [LAST_ACK → CLOSED] 收到对FIN的ACK确认后完全关闭连接客户端状态转换:• [CLOSED → SYN_SENT] 调用connect后发送SYN报文进入连接发起状态• [SYN_SENT → ESTABLISHED] 收到服务器的SYNACK并回复ACK后连接建立完成• [ESTABLISHED → FIN_WAIT_1] 调用close后发送FIN报文进入主动关闭第一阶段• [FIN_WAIT_1 → FIN_WAIT_2] 收到服务器对FIN的ACK确认后等待服务器FIN报文• [FIN_WAIT_2 → TIME_WAIT] 收到服务器的FIN报文后发送ACK进入等待状态• [TIME_WAIT → CLOSED] 经过2MSL等待时间后完全关闭连接

相关新闻

50. 用户友好的提示系统:架构师如何实现实时反馈?

50. 用户友好的提示系统:架构师如何实现实时反馈?

用户友好的提示系统设计指南:架构师如何落地实时反馈? 一、引言:为什么我们需要「会说话」的系统? 清晨通勤时,你打开外卖APP下单一杯咖啡,点击「提交订单」后屏幕陷入沉默——没有加载动画,没…

2026/7/3 18:42:53 阅读更多 →
使用YOLOv26实现乌鸦鸽子麻雀等城市鸟类自动检测与分类

使用YOLOv26实现乌鸦鸽子麻雀等城市鸟类自动检测与分类

本数据集名为Crow Detection,是一个用于鸟类检测的专用数据集,于2024年1月18日通过qunshankj平台导出。该数据集包含720张图像,所有图像均采用YOLOv8格式进行标注,专注于三种常见鸟类:乌鸦(crow)、鸽子(pigeon)和麻雀(…

2026/7/8 21:30:27 阅读更多 →
Java毕设项目:基于springboot的公园综合服务系统设计与实现小程序(源码+文档,讲解、调试运行,定制等)

Java毕设项目:基于springboot的公园综合服务系统设计与实现小程序(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/3 18:43:03 阅读更多 →

最新新闻

浏览器音乐解锁工具:3分钟解决加密音乐播放难题

浏览器音乐解锁工具:3分钟解决加密音乐播放难题

浏览器音乐解锁工具:3分钟解决加密音乐播放难题 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https://git…

2026/7/8 21:55:38 阅读更多 →
ESXi 8.0U3b macOS Unlocker 配置:3步解锁非Mac硬件安装macOS 13 Ventura

ESXi 8.0U3b macOS Unlocker 配置:3步解锁非Mac硬件安装macOS 13 Ventura

ESXi 8.0U3b 非Mac硬件解锁指南:3步实现macOS Ventura全功能虚拟化 1. 环境准备与核心原理剖析 在非Apple硬件上运行macOS虚拟机一直是开发者和运维人员的痛点需求。随着ESXi 8.0U3b的发布,配合新版Unlocker工具,这一需求终于有了成熟的解决…

2026/7/8 21:55:38 阅读更多 →
告别限速烦恼:8大网盘直链下载助手的完整使用指南

告别限速烦恼:8大网盘直链下载助手的完整使用指南

告别限速烦恼:8大网盘直链下载助手的完整使用指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘…

2026/7/8 21:51:34 阅读更多 →
Windows 11 下 PyTorch GPU 环境排错:CUDA 12.4 与 cuDNN 9.2 兼容性验证 3 步法

Windows 11 下 PyTorch GPU 环境排错:CUDA 12.4 与 cuDNN 9.2 兼容性验证 3 步法

Windows 11 下 PyTorch GPU 环境排错指南:CUDA 12.4 与 cuDNN 9.2 兼容性深度验证当你在 Windows 11 上配置 PyTorch GPU 环境时,最令人沮丧的莫过于看到torch.cuda.is_available()返回 False。这种情况往往意味着你的 CUDA、cuDNN 和 PyTorch 版本之间存…

2026/7/8 21:51:34 阅读更多 →
CUDA 13.0.2 多版本共存管理:Ubuntu/Debian 系统 3 种环境变量配置方案对比

CUDA 13.0.2 多版本共存管理:Ubuntu/Debian 系统 3 种环境变量配置方案对比

CUDA 13.0.2 多版本共存管理:Ubuntu/Debian 系统 3 种环境变量配置方案对比在深度学习开发和科学计算领域,CUDA 作为 NVIDIA GPU 的核心计算平台,其版本管理一直是开发者面临的挑战。随着项目依赖的多样化,同一台机器上需要运行不…

2026/7/8 21:51:34 阅读更多 →
Stable Diffusion本地部署:零成本解锁AI绘画无限创作自由

Stable Diffusion本地部署:零成本解锁AI绘画无限创作自由

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 如果你还在为AI绘画的付费订阅和生成限制烦恼,那么今天这篇文章可能会彻底改变你的创作方式。我最近做了一个大胆的决定&a…

2026/7/8 21:51:34 阅读更多 →

日新闻

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: …

2026/7/8 0:00:48 阅读更多 →
MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N1 到批处理的全路径 一、从"功能正确"到"性能可接受"——MyBatis 批量操作的三段式进化 MyBatis 在日常增删改查场景中几乎是无感的——实体映射直观、SQL 控制灵活。但当数据量从千级上升到十万级、百万级,许…

2026/7/8 0:00:48 阅读更多 →
工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

1. 工业负载控制方案概述在工业自动化、电机驱动和照明控制等高需求场景中,可靠地控制电感和电阻负载是核心挑战之一。TPD2015FN作为东芝的8通道高端智能功率开关IC,配合PIC18F45K22微控制器,能够构建一套稳定、高效的负载控制系统。这套组合…

2026/7/8 0:02:48 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/8 16:14:06 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/8 16:59:55 阅读更多 →

月新闻