TCP 报文段的格式(计算机网络-运输层)

news2024/11/25 4:50:04

目录

TCP 报文段的格式


TCP 报文段的格式


TCP虽然是面向字节流的但TCP传送的数据单元却是报文段

TCP 报文段分为首部和数据两部分TCP 的全部功能都体现在它首部中各字段的作用

TCP 报文段首部的前 20个 字节是固定的,后面有 4N 字节是根据需要而增加的选项(N 必须是整数)。因此 TCP 首部的最小长度是 20 字节

源端口和目的端口字段——各占 2 字节:该字段定义了在主机中发送和接收该报文段的应用程序所使用的端口号,用于运输层的复用和分用

序号字段——占 4 字节:在一个TCP连接中传送的数据流中的每一个字节都按顺序进行编号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号

确认号字段——占 4 字节:是期望收到对方的下一个报文段的数据的第一个字节的序号。表示对该序号字节之前的所有字节的累积确认

数据偏移——占 4 位:它指出 TCP 报文段数据起始处的位置,相当于首部长度。“数据偏移”以 4 字节为单位,因此首部长度必须是 4 字节的整数倍

保留字段——占 6 位:保留为今后使用,但目前应置为 0



紧急标志位 URG —— 当 URG = 1 时,表示此报文段数据开始插入了紧急数据,应尽快传送。紧急指针字段指出了紧急数据结束的位置

确认标志位 ACK —— 只有当 ACK = 1 时确认号字段才有效。当ACK  = 0 时,确认号无效

推送标志位 PSH  —— 接收 TCP 收到 PSH = 1 的报文段,就尽快地交付给接收应用进程,而不再等到接收到足够多的数据才向上交付

复位标志位 RST  —— 当 RST = 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接

终止标志位 FIN —— 用来释放连接。当 FIN =1 时,表明此报文段的发送方的数据已发送完毕,并要求释放运输连接


窗口字段 —— 占 2 字节:用来控制对方发送的数据量(从确认号开始,允许对方发送的数据量),单位为字节

检验和 —— 占 2 字节:检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部

选项字段 —— 长度可变:例如:最大报文段长度 MSS (Maximum Segment Size)。MSS 告诉对方 TCP:我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节

填充字段: —— 这是为了使整个首部长度是 4 字节的整数倍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/114573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在linux上安装CMake

在linux上安装CMake一、下载CMake安装包二、配置环境变量三、验证是否能执行CMake四、CMake官方文档一、下载CMake安装包 本文演示环境为Linux系统,Redhat7 64位。 CMake提供了两种安装方式,一种是预编译好的二进制包,还有一种就是源码方式…

GateWay网关

GateWay 1. 什么是网关 网关是微服务最边缘的服务,直接暴露给用户,用来做用户和微服务的桥梁 没有网关:客户端直接访问我们的微服务,会需要在客户端配置很多的ip:port,如果user-service并发比较大&#x…

Unity URP 曲面细分

Unity URP 曲面细分 我终于变得不像我 文章目录Unity URP 曲面细分1 曲面细分与镶嵌1.1 外壳着色器 Hull Shader1.2 镶嵌器阶段 Tessellator1.3 域着色器阶段 Domain Shader2 具体实现2.2 不同的细分策略2.2.1 Flat Tessellation2.2.2 PN Tessellation2.2.3 Phone Tessellation…

Redis分布式锁的实现方式

目录一、分布式锁是什么1、获取锁2、释放锁二、代码实例上面代码存在锁误删问题:三、基于SETNX实现的分布式锁存在下面几个问题1、不可重入2、不可重试3、超时释放4、主从一致性四、Redisson实现分布式锁1、pom2、配置类3、测试类五、探索tryLock源码1、tryLock源码…

微软发布 Entity Framework EF Core 8 或 EF8

Entity Framework 现已被广泛使用,微软首席软件工程经理 Arthur Vickers 日前在一个在线社区会议上的发言。 Entity Framework Core 8.0(也称为 EF Core 8 或 EF8)的未来规划。EF Core 8 是 EF Core 7 之后的下一个版本,这将是一个…

链表的实现:无头单向非循环链表的实现

笔者在上篇博客书写了一个名为:链式存储之:链表的引出及其简介原文链接为:https://blog.csdn.net/weixin_64308540/article/details/128374876?spm1001.2014.3001.5501对于此篇博客,在一写出来,便引起了巨大反响&…

Golang 【basic_leaming】函数详解

阅读目录1、函数定义2、函数的调用3、函数参数4、函数返回值5、函数变量作用域全局变量局部变量6、函数类型与变量定义函数类型函数类型变量7、高阶函数函数作为参数函数作为返回值8、匿名函数和闭包匿名函数闭包闭包进阶示例1闭包进阶示例2闭包进阶示例39、defer 语句defer 执…

Windows-试用phpthink发现原来可这样快速搭建mysql、redis等环境、xdebug

一、前言 最近在简单学习 php 国人框架 phpthink,不得不说牛,我在 github 上既然搜不到此项目… 但是发现搭建依赖环境不会,于是百度一下,几乎都是各种集成工具什么宝塔、小皮面板等等。有固然是方便,但为什么其它语言…

DAY5 Recommended system cold startup problem

推荐系统的冷启动问题 推荐系统冷启动概念 ⽤户冷启动:如何为新⽤户做个性化推荐物品冷启动:如何将新物品推荐给⽤户(协同过滤)系统冷启动:⽤户冷启动物品冷启动本质是推荐系统依赖历史数据,没有历史数据⽆…

html+圣诞树

圣诞节 基督教纪念耶稣诞生的重要节日。亦称耶稣圣诞节、主降生节,天主教亦称耶稣圣诞瞻礼。耶稣诞生的日期,《圣经》并无记载。公元336年罗马教会开始在12月25日过此节。12月25日原是罗马帝国规定的太阳神诞辰。有人认为选择这天庆祝圣诞,是…

【学习打卡07】 可解释机器学习笔记之Shape+Lime代码实战

可解释机器学习笔记之ShapeLime代码实战 文章目录可解释机器学习笔记之ShapeLime代码实战基于Shapley值的可解释性分析使用Pytorch对MNIST分类可解释性分析使用shap的Deep Explainer进行可视化使用Pytorch对预训练ImageNet图像分类可解释性分析指定单个预测类别指定多个预测类别…

Elasticsearch 核心技术(一):Elasticsearch 安装、配置、运行(Windows 版)

❤️ 个人主页:水滴技术 🚀 支持水滴:点赞👍 收藏⭐ 留言💬 🌸 订阅专栏:大数据核心技术从入门到精通 文章目录一、Elasticsearch 版本的选择二、下载 **Elasticsearch**三、安装 Elasticsear…

Springboot+Netty实现基于天翼物联网平台CTWing(AIOT)终端TCP协议(透传模式)-云服务端(IOT平台)

之前有文章用java实现了设备端和应用订阅端,那么我根据AIOT的协议也可以实现一个demo物联网平台端,这种简易的平台是实现自己搭建物联网平台的基础。 直接用代码 新建Springboot的maven项目,pom.xml文件导入依赖包(用到了swagge…

UDP协议在Windows上使用示例

UDP(User Datagram Protocol,用户数据报协议)是无连接的,因此在两个进程通信前没有握手过程。UDP协议提供一种不可靠数据传送服务,也就是说,当进程将一个报文发送进UDP套接字时,UDP协议并不保证该报文将到达接收进程。…

过孔基础常识

过孔,一个绝大多数硬件工程师都听说过,但又并非真正了解的名词。了解的都知道,其在PCB板中其着至关重要的的作用。没有过孔的存在,很难画出一块完美的PCB板。所以呢,小编今日就带大家了解了解什么是过孔。 什么是过孔…

FCN代码及效果展示

1. 代码获取 代码地址: https://github.com/Le0v1n/ml_code/tree/main/Segmentation/FCN 2. 从头开始训练 2.1 测试平台 GPU:NVIDIA RTX 3070CPU: Intel I5-10400FRAM: 16GBOS: Windows 11Dataset: VOC2012Class num: 21(201)Batch size: 4Learning Rate: 0.1Ep…

嘉兴经开区第四届创新创业大赛总决赛成功举办

12月21日至12月22日,嘉兴经济技术开发区第四届创新创业大赛总决赛成功举办,经过激烈角逐最后共有10家企业分别获得大赛初创组和成长组的一二三等奖。 总决赛现场 嘉兴经开区第四届中国创新创业大赛于6月正式启动,陆续在嘉兴、成都、北京、西…

【详细学习SpringBoot源码之内嵌Tomcat启动原理分析编译部署Tomcat源码过程解析-9】

一.知识回顾 【0.SpringBoot专栏的相关文章都在这里哟,后续更多的文章内容可以点击查看】 【1.SpringBoot初识之Spring注解发展流程以及常用的Spring和SpringBoot注解】 【2.SpringBoot自动装配之SPI机制&SPI案例实操学习&SPI机制核心源码学习】 【3.详细学…

12-RabbitMq概述与工作模式深度剖析

MQ概述 MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。 MQ 的优势 应用解耦:提高系统容错性和可维护性 异步提速:提升用户体验和系统吞吐量 削峰填谷&#xff1…

unity中使用代码接绘制三维模型

一 模型的构成 在三维世界中,绘制一个模型并不是什么很复杂的问题。只要知道了基本原理一切需求便迎刃而解。 如下图所示,任何模型都是由点线面构成的,而面的最小单位是三角形。 任何一个多边形的面,都是由多个三角形构成的。比…