TCP的协议格式 --- 20字节固定长度 + 40字节可选数据

BLE如何发送超过一包为20个字节的问题 大家都知道蓝牙 BLE 4.0发送数据时都是 20 字节一个包,协议规定,payload 最大 27。在协议第六章中的 2.4,刨去 L2CAP 的头,4 个字节,剩下的就 23 个字节 MTU。就是你看到的。ATT 层会用掉上 1 个字节的 op code, 2 个字节的 attribute handle,就剩下 20了。这剩下的 20 字节就是我们常说的发送的 20 字节的数据。 B 阅读详情

目录

一、 20字节的固定长度

16位源端口和16位目的端口号,32位序号,32位确认属序号,4位首部长度(需要乘4)

 保留(6位)

16位窗口大小

16位的校验和16位的紧急指针

二、40字节可选数据

1.2.1、MSS:最大报文长度,决定TCP连接双方每次发送数据的最大值   !!!

 1.2.2、为啥要协商最大保温端=段长度呢?


一、 20字节的固定长度

16位源端口和16位目的端口号,32位序号,32位确认属序号,4位首部长度(需要乘4)

 保留(6位)

16位窗口大小

描述的是接收缓冲区的大小

为什么在发送数据的时候,还要告诉对方自己接收缓冲区的大小呢?

                        是为了控制消息接收方给自己发送消息的速率。假如给对方发送说自己的接收缓冲区为0,那对方就不能给自己再发了,因为发了也是收不了的,为保证可靠还要重传,与其重传还不如就不发v

16位的校验和16位的紧急指针

16位校验和:校验数据在发送过程中是否失真

16位紧急指针:配合URG标志位,发送带外数据

二、40字节可选数据

1.2.1、MSS:最大报文长度,决定TCP连接双方每次发送数据的最大值   !!!

MSS在双方三次握手的时候就协商好了

 1.2.2、为啥要协商最大保温端=段长度呢?

本质原因:防止报文过大,在网络当中数据丢失,引发后续的超时重传机制

eg:

如果说一次产生的tcp数据有5w字节,直接往网络当中丢,如果说这条数据丢了,那就需要重传这条数据,那对于网络和tcp而言都是一个双重压力

【计算机网络】——TCP协议简介以及TCP编程 1、TCP概述 1.1TCP含义 1.2理解源IP地址和目的IP地址 1.3认识端口号 2、网络编程基础API 2.1创建socket 2.2命名socket——bind 2.2.1网络字节序和主机字节序 2.2.2IP地址转换 2.3监听socket——listen 2.4接收连接——accept 2.5发起连接——connect 2.6 send()函数 2.7 recv()函数 3、TCP编程实例 阅读详情

相关推荐

以太网协议帧格式(一)

浅谈常用的网络协议帧格式。

qq_42357877的博客 1万+

蓝牙发送超过20个字节出错(BLE设备发送超过20个字节)

文章目录解决方案相关信息和连接 解决方案 BLE数据包空中传输规定了20byte一次,如果单包数据超过20个字节要分包发送,两包数据间要间隔几百毫秒。 相关信息和连接 链接: ble一次传输20字节分析 你说的是BLE蓝牙么?不同的芯片做的蓝牙模块是不一样的,SKYLAB的SKB369用的是Nodic新款nRF52832芯片,10m内的范围,稳定传输为2KByte/s,这就不止你说的20个字节哦,...

baidu_40537062的博客 4783

ESP32开发环境与微信小程序通信的完整示例

通过搭建稳定的esp32开发环境,实现其与微信小程序间的双向通信,涵盖Wi-Fi连接、数据收发与协议设计,为物联网应用提供低成本解决方案。

weixin_42126677的博客 1130

网络层TCP/UDP首部格式,传输层IP数据报格式

整体在网络中传输的IP数据报信息分为:IP首部和传输数据 首部 首部内容如上,接下来一一解释: 版本: 将显示使用的IPv4或IPv6版本,分别对应4、6两个值 **首部长度:**因其占4位,所以最大值为15,表示n个32位字长度(即4字节),因为固定部分就有20字节,所以此位最少应该是5(20字节)。因为数值以4字节为单位,若可变部分中可选字段不足4字节的整数倍,将会被填充部分填够。 **区分服务:**用于获取更好服务,通常不用 **总长度:**包括首部长度和数据部分长度(即整个IP数据报长度) 生存

MagicSound的博客 913

三、分区配置

rk3566/rk3568 修改分区

暮云星影的博客 514

晶体管的 栅极gate 材料选用 多晶硅polysilicon,并采用 自对准工艺 self-aligned IC后端版图 【VLSI】

本文为了解决为什么要使用多晶硅作栅极触点的问题,先介绍了MOS管的工作原理是通过栅极上所加的电压控制漏极与源极之间电流,然后解释了栅极的材料为什么选用多晶硅,然后介绍了晶体管里栅极的自对准工艺(Self-Aligned Gate )。

Jie_MSD的博客 1万+

TCP连接的最大数据包大小 ——Maximum Packet Size for a TCP Connection

传输控制协议(TCP)是在连接的网络上发送文件或消息的有用协议。每个文件在发送网络上被分割成数据包。数据包在到达接收网络时合并。TCP数据包的最大大小是64K(65535字节)。通常,数据包大小受到网络资源的最大传输单元(MTU)的限制。MTU是网络硬件设置的数据传输限制的最大大小。数据包大小不应超过MTU。在本教程中,我们将尝试解释这些术语背后的概念,并探索它们的各个方面。

usstmiracle的博客 9296

解决Cursor AI工具地域限制报错的方法与原理

地理围栏(GEO-fencing)是现代云服务常用的访问控制技术,通过IP地址库匹配、支付系统验证等方式实现区域限制。在AI编程工具领域,这种技术常导致类似Cursor出现的'unsupported country region'报错。从技术实现看,服务商会综合HTTP头信息、时区设置等多维度数据进行地理位置判断。开发者可通过调整网络出口、配置本地模型或使用企业版等方案解决。本文以Cursor为例,详细分析了AI工具地域限制的底层原理,并提供了包括Ollama本地部署在内的多种工程实践方案,特别适合需要稳定

weixin_30820077的博客 931

TCP协议详解

网络层的任务是提供网络中的两个主机提供逻辑通信。从IP层上来看,通信的是两个主机。 而传输层在网络中负责是两个主机上的应用程序进程提供逻辑通信。在传输层上看,通信双方是主机上的两个应用进程。传输层的功能: 复用和分用差错检测: 前提:网络层为主机之间提供逻辑通信,信道是不可靠的,它只“尽最大努力”交付,但数据报仍有可能发生:丢包,乱序,等等情况。 传输层还要对收到的报文进行差错检测。(后面细讲)传输层的端口 传输层需要在接收到数据包后正确地交付给上层应用,准确来讲就是交付给进程,我们知道,操作系统中的每个进

zzzlueng的博客 1万+

android11-修改屏幕显示方向和触摸方向

参数0表示12点钟方向显示参数90表示3点钟方向显示参数180表示6点钟方向显示参数270表示9点钟方向显示。

Paper_Love的博客 2118

Dify 1.0+内网部署全攻略:模型插件离线安装与信创环境适配

本文详细介绍了Dify 1.0+版本在内网环境中的部署全攻略,重点解析了模型工具插件的离线安装方法与信创环境适配技巧。通过实战经验分享,帮助企业在严格的内网隔离条件下高效部署AI平台,解决插件依赖和安装难题,提升大语言模型的应用效率。

weixin_29224529的博客 273

传输层协议TCP详解(上篇)

传输层协议TCP详解上集,干货满满!!!

小白成长之路 7122

C# 操作Excel的时候,出现"被呼叫方拒绝接受呼叫的异常"的解决方案(参考官方给出的解决方案)

首先官方有对这个错误给出解释和解决方案,连接如下: https://docs.microsoft.com/zh-cn/previous-versions/ms228772(v=vs.120)#%E5%8F%AF%E9%9D%A0%E7%BC%96%E7%A8%8B 简单来说,貌似是线程问题,我猜。。。 之前我尝试着在代码中添加 Thread.Sleep(1000); 来进行解决,这种办...

Ck_Max的博客 5767

tcp 协议详解

一文带你搞懂 TCP 协议 2 万字详解

m0_73096566的博客 5619

使用 MATLAB/Simulink + Simscape Electrical 构建一个他励直流电机的启动与制动过程仿真模型

直流电机在工业控制、电动车辆、自动化设备中广泛应用。其中,他励直流电机(Separately Excited DC Motor)因其励磁绕组与电枢绕组分别供电,具有良好的调速性能和启动特性,常用于需要平稳启动和精确控制的场合。在实际应用中,电机的启动过程和制动过程对电网、机械系统以及电机本身都具有重要影响。因此,仿真分析他励直流电机的启动与制动特性,是电机控制设计的重要环节。本文将详细介绍如何使用构建一个他励直流电机的启动与制动过程仿真模型,并通过仿真分析其动态响应。本文详细介绍了如何使用构建一个。

amy_mhd的博客 231

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

浅析TCP之头部可选项

1、回顾TCP报文格式 1)TCP报文:由 TCP首部 和 TCP数据 组成。 2)TCP首部:由 20字节的固定长度 和 可变长字段(选项和填充)组成。 3)TCP首部总长度:由TCP头中的“数据偏移”字段决定。该字段占4bit,取最大的1111时,也就是十进制的15,TCP首部的偏移单位为4byte,那么TCP首部长度最长为15*4=60字节。 4)选项和填充 的长度:= TCP首部总

海阔天空sky的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TCP 协议特性详解

对确认应答,超时重传,三次握手,四次挥手等TCP协议核心特性进行详细解析

m0_63904107的博客 2108

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

网络原理之TCP协议(万字详解!!!)

在前面,我们已经讲解了有关UDP协议的相关知识,但是在传输层,还有另一个重要的传输协议--TCP协议。UDP协议虽然保证了数据传输的速度,但是每次传输数据最多只能64kb,并且其传输不具备可靠性,在数据丢失后并不会重新传输。这是就得提到TCP协议了,TCP协议是一个有连接的、可靠的、面向字节流、全双工的传输通信协议。虽然在传输速度上,TCP可能比不过UDP,但是TCP能够传输更大的数据以及在传输数据时具有可靠性,从而在平时我们更多的是使用TCP。

zhyhgx的博客 1788

【超详细】TCP协议

TCP协议是一种面向连接的、可靠的传输层协议,它通过一系列机制来保证数据的可靠传输和连接的稳定性。在实际应用中,TCP协议广泛应用于各种需要确保数据完整性和顺序性的场景中。

奇点的博客 2471

详述TCP协议中的格式及其传输机制

详述TCP协议中的格式及其传输机制 一、TCP协议解析: 1. 整体协议格式 16位源端端口,16位对端端口,32位序列号,32位确认序列号,4位头部长度,6位保留位,6位标志位,16位窗口大小,16位校验和,16位紧急指针,0~40字节的选项数据和数据。 2. 各个位置上的功能描述: 16位源端口、16位对端端口:描述通信两端进程; 32位序列号、32位确认序列号:完成包序管理,以及确认应答的功能;(序列号决定了当前数据在原始数据中的位置,确认序列号是告诉发送方确认序号之前的数据都已经收到了); 4

qq_42613519的博客 1442

【在Linux世界中追寻伟大的One Piece】传输层协议TCP

TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它是互联网协议套件中的核心协议之一,由IETF的RFC 793定义。TCP提供了一种全双工通信方式,确保数据的顺序性、完整性和可靠性。TCP通过三次握手建立连接,并在数据传输过程中使用序列号、确认应答、重传机制、流量控制和拥塞控制等技术来维护通信的可靠性。在TCP连接的生命周期中,还包括数据传送和连接终止两个阶段。

枫叶丹4的博客 1905

网络原理之TCP协议(超详细 干货满满)

TCP 协议的段格式,为了保证TCP可靠传输以及优化传输效率的主要机制:1.确认应答 2.超时重传 3.连接管理(三次握手、四次挥手)4.滑动窗口 5.流量控制 6. 拥塞控制 7. 延时应答 8. 捎带应答 9. 面向字节流 10. 异常处理机制

不能再留遗憾了的博客 2458

【JavaEE】UDP协议与TCP协议

UDP与TCP协议

做梦都想要三十万年薪~ 1744

【Linux 30】传输层协议 - TCP

1. TCP 协议介绍。2. TCP 协议报头格式。3. TCP 的缓冲区。4. TCP 保证可靠性的机制。5. 面向字节流的概念。6. TCP 的粘包问题。7. 基于 TCP 协议实现的应用层协议。

shangguanxiu的博客 1860

Tcp报文简介以及头部选项字段(Tcp Options字段)

Tcp 报文格式简介 tcp报文由tcp header和tcp数据组成。 tcp header 的最大长度为60字节,而必须要有的固定长度也就是图一的前5层的20字节,每层占有32bit,也就是32/8=4字节,5层,5*4 = 20字节,那么第六层的可选项和填充也就是Tcp Options字段最大为60-20=40字节。填充是为了使TCP首部为4字节(32bit)的整数倍。...

Hollake的博客 4万+

【网络原理2】---TCP协议的格式

如果是重复的,则把后来的这份数据就直接丢弃了!超时时间变大,重传的频率降低,因为你重传的次数越多,说明你成功的概率就小了,此时你重传的太快也是白白浪费时间。这个依次累加的过程对于最后一条数据来说,起始字节的序号就是上一个数据的最后一个字节的序号。此时,对于,TCP 本来的报头结构影响是比较小的,老的设备即使不升级也很容易兼容。当主机A 的主人收到 “好啊好啊” 的时候,主机A主人就知道了主机B的主人看到了发送的消息(换句话说,短信没有丢包),如果等了半天,没有收到主机B发来的消息,说明消息大概率就是没了。

weixin_66409969的博客 1533
上一篇: 网络---TCP协议(一)三次握手、四次挥手
下一篇: TCP协议 ---可靠传输的各种机制
Flying  clouds
博客等级 码龄5年 558粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值