传输层协议UDP与TCP

UDP的可靠传输协议 UDP(User Datagram Protocol)是一种无连接的传输层协议,它提供了一种简单的、不可靠的数据传输服务。UDP 提供了不面向连接的通信,且不对传送的数据报进行可靠的保证,适用于一次传送少量的数据,不适用于传输大量的数据。特点一:无连接两台主机在使用UDP进行数据传输时,不需要建立连接,只需知道对端的IP和端口号即可把数据发送过去。特点二:不可靠。 阅读详情
UDP协议
UDP协议用于网络协议传输层交互,不同于TCP,UDP没有重传、重复包的处理,不保证传输可靠性,其下层为IP协议。
 消息结构

Source Port占用16比特,为可选择域,如果不使用可以全写为0,指示是发送的端口,但缺乏其它有效信息时,也作为回应的目的端口;Destination Port占用16比特,指示目标端口号;length为UDP包的字节长度,包含header部分,最小值为header长度8个字节。
Checksum为校验位,计算时需要加上UDP虚拟头部、真实头部、数据部分及末尾补0部分一起计算。需要补齐整个数据长度为两个字节的倍数,计算时以16-bit数据为最小单位进行求和,如果存在进位,则将进位1加到低16位数字上去,计算完成后取反的结果即为Checksum。如果没有Checksum时,此域需要全部填值为0。
TCP协议
TCP提供可靠的传输模式,TCP和UDP同样是传输层协议,其主要差别在于TCP保证可靠性,因而不同于UDP,TCP工作是面向连接的。
消息结构

Source port/Destination Port为源和目的端口号,各占有16比特;Sequence number占用32比特,指示数据包中第一个字节的SN,如果存在携带初始SN为ISN的SYN时,第一个数据字节的SN为ISN+1;Acknowledgement Number指示期望收到的下一个连续的SN号;Data offset占用4比特,指示TCP头部总的32比特word长度,可计算开始数据开始位置;Reserved占用6比特,留后续使用;URG占用1比特,用来指示Urgent Pointer是否存在;ACK占用1比特,用来指示Acknowledgment域是否存在意义;PSH占用1比特,用于指示Push功能;RST占用1比特,用于重置连接;SYN占用1比特位,同步SN号;FIN占用1比特,指示发送端是否还存在更多需要发送的数据,用于结束链接;window占用16比特,指示从Acknowledgment域开始数据窗口长度;Checksum计算校验和,包括头和内容,不足16比特部分补零对齐,计算时需要增加IP的虚拟头部;Urgent Pointer占用16比特,和URG标志配合使用,指示正常数据起始位置,在此位置之前为带外数据(紧急数据);Options为字节的倍数,存在两类option,一种是只带类型option-kind,另一种带有option-kind + option length + option data,option length包括kind和length本身的共两个字节的长度; Padding用于补齐TCP头部长度,满足32比特word对齐。
Options
在TCP模式下,携带的Option都需要被执行。

传输可靠性
TCP不同于UDP,提供了数据的可靠传输,这种可靠性依赖于停止-等待协议机制,主要体现在SN的ACK机制上。首先需要将TCP连接的两端SN进行同步,也就是SYN标志位带有的功能,当SYN为1是带有的SN号即为ISN(初始SN号),常常听到的三/四次握手就是实现此功能,相当于初始建立链路过程,发起端需要首先发送SYN给对端,对端需要对SYN包返回ACK,同样需要对端发送相应SYN来确认接收的起始SN号,并对相应TCP包返回对应ACK,因此此流程有四个过程交互;而对端返回ACK时可以同时携带SYN标志,可以简化为三条消息。相对于建立流程,链路同样可以使用类似方式释放,通过标志FIN来控制。在传输过程中需要维护数据的SN及其ACK状态,加以不同的Timer进行丢包重传控制;Window域用来表示接收到ACK的数据到最多允许发送的数据包的窗口大小,也就是说超出窗口的数据不能,窗口的大小影响实际情况下的速率。TCP基于SN次序进行有次序的传输,紧急(带外)数据可以采用Urgent模式传输。Push标志影响发送、接收的处理时间,在接收端收到标志位将不等待缓存状态,直接将数据递交上层梳理。TCP采用的是面向连接的分组交换机制,当状态出错时,可以用Rest机制来重新恢复链路链路,同时存在平静时间的定时器来确保分组机制网络中的残留的数据包能够处理完成,减少状态和数据类型冲突的概率。
参考文档
RFC768 User Datagram Protocol
RFC793 TRANSMISSION CONTROL PROTOCOL
从零部署奥比中光Gemini335L:Python SDK编译与手眼标定环境实战 本文提供了一份从零部署奥比中光Gemini 335L深度相机的完整实战指南。详细介绍了驱动安装、Python SDK编译、CMake配置及虚拟环境搭建等关键步骤,并重点解析了如何通过编译生成Python模块,最终实现深度图与点云数据获取,为后续的机械臂手眼标定工作奠定坚实基础。 阅读详情

相关推荐

Score Matching(得分匹配)

Score Matching(得分匹配)是一种统计学习方法,用于估计概率密度函数的梯度(即得分函数),而无需知道密度函数的归一化常数。这种方法由Hyvärinen在2005年提出,主要用于无监督学习,特别是在密度估计和生成模型中。

weixin_39699362的博客 2167

UDP可靠传输之重传策略

IP 协议在设计的时候就不是为了数据可靠到达而设计的,所以 UDP 要保证可靠,就依赖于重传,目前共有三总方式: 1.定时重传 发送端如果在发出数据包(T1)时刻一个 RTO 之后还未收到这个数据包的 ACK 消息,那么发送端就重传这个数据包。这种方式依赖于接收端的 ACK 和 RTO,容易产生误判,主要有两种情况: 1)对方收到了数据包,但是 ACK 发送途中丢失; 2)ACK 在途中,但是发送端的时间已经超过了一个 RTO。 所以超时重传的方式主要集中在 RTO 的计算上,如果你的场景是一个对延迟敏感但

weixin_50763382的博客 5505

Lumerical官方案例、FDTD时域有限差分法仿真学习(三)——环形谐振器(Ring resonator)之第一部分

环形谐振器教程的第 1 部分使用 MODE 来设计和仿真环形谐振器。 自由光谱范围 (FSR) 和品质因数 (Q 因数) 是这种面向片上通信应用的基于绝缘体上硅 (SOI) 波导设计的关键性能指标。

weixin_45719141的博客 3万+

Linux网络编程 - UDP发送/接受数据

UDP (User Datagram Protocol):用户数据报协议。 UDP 是一个不可靠的通信协议,没有重传和确认,没有有序控制,也没有拥塞控制。可以简单地理解为,在 IP 报文的基础上,UDP 增加的能力有限。 UDP编程 UDP中客户端和服务器端交互的图解: UDP Server : Create UDP socket. Bind the socket to server ad...

NULL 8451

ESP32驱动Xbox Series X手柄的BLE协议实现

蓝牙低功耗(BLE)是嵌入式设备无线交互的核心技术,其GATT协议架构支持自定义服务与特征值通信,广泛应用于游戏外设、工业遥控等场景。Xbox Series X手柄采用非标准私有BLE协议,需深度解析输入报告(64字节)、输出控制(振动/LED)及固件兼容性约束。该方案依托ESP32平台与NimBLE 2.1.0+协议栈,解决MTU协商、PHY配置与HCI事件同步等关键问题,实现125Hz实时输入采集与毫秒级振动反馈。适用于机器人遥操作、ROS2终端、LVGL交互界面等工程实践,是私有BLE设备逆向集成的典

weixin_42610671的博客 710

决策树(分类树、回归树)

决策树 前言:第一篇博客,最近看完决策树,想着归纳一下,也方便自己以后回顾。写的会比较全面一些,可能会有很多不太正确的地方,欢迎大家交流指正 : ) 决策树模型: 决策树模型是运用于分类以及回归的一种树结构。决策树由节点和有向边组成,一般一棵决策树包含一个根节点、若干内部节点和若干叶节点。决策树的决策过程需要从决策树的根节点开始,待测数据与决策树中的特征节点进行比较,并按照比较结果选...

你午睡了吗 9万+

UDP重传,似牛非马。。。

问,为什么要udp重传??? 答:不为什么,只有不断的需求,没有写完的代码?只要有需求,ta就会存在。可能会有各种ADP,BDP,RUDP(这个真有,已经写好了git地址),QUIC(Google,快速传输协议,2016发布出来,在一次无意的抓包的时候,看到了这个协议。总结就是很牛批。脑瓜子不好的,尽量不要看。) 为了,看这个协议, 我又重新翻看了《TCP/IP卷一》。看看有什么落下的。。。看了一圈结果就是没有。TCP的强悍之处,远远超出了UDP。现在在UDP基础上做重传,相当于给UDP实现重传机制。T

qq_36912885的博客 4913

vue接入海康4G版摄像头通过萤石云平台推送视频流教程

vue-video-player接入海康视频,videojs-contrib-hls,vue播放视频

renkai721的专栏 7278

TCP和UDP的详细内容

TCP报文头部: Source Port:源端口,标识哪个应用程序发送。长度为16比特。 Destination Port :目的端口,标识哪个应用程序接收。长度为16比特。 举一个例子:客户端向服务器端发送一个数据,其中客户端比如是网页的浏览器,服务器端是网站。那么其中的源端口就是网页的浏览器,目的端口就是网站 Sequence Number:序列字段。tcp连接中的每个报文的都有序列号。长度为32比特。 Acknowledgment Number:确认号,用于对收到的确认。 其中序列号和确认

MasterIE的博客 1564

【信号与系统】Multisim 仿真信号合成与分解

软件 Multisim 进行方波信号的产生、分解和合成,观察信号波形的分解与合成,加深对信号频谱的理解。

AXYZdong的博客 2万+

python全栈入门到实战【基础篇 02】环境搭建:Python解释器与PyCharm、VSCode编辑器安装配置详解

本文详解Python环境搭建步骤。首先安装解释器(运行代码核心),需从官网下载,选3.8及以上版本(勿选2.x)。Windows安装必勾“Add Python.exe to PATH”,验证用`python --version`;Mac选universal2安装包,验证用`python3 --version`。 编辑器二选一:PyCharm社区版(免费,新手推荐),安装后需配置解释器路径;VSCode轻量,需装Python插件并选择解释器。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 5万+

传输层协议 UDP 与 TCP

详细讲解了传输层协议 UDP 和 TCP 以及底层实现、应用场景

You build it, you run it 6869

单片机设计具备断电记忆功能的计时器

本文介绍了如何设计一款具备断电记忆功能的计时器,利用单片机和EEPROM存储器实现了计时器值的保存和恢复。当然,在实际的设计中还需要考虑其他因素,如电源管理、时钟精度等,以确保计时器的正常运行和准确性。选择合适的单片机:在设计计时器时,我们需要选择一款具备存储功能的单片机,以便在断电后能够保存计时器的状态。可以优化显示方式,使用更加直观的界面来展示计时器的值;函数中,我们首先从 EEPROM 中读取计时器的初始值,然后在一个无限循环中每秒钟增加计时器的值,并将新的值写入 EEPROM 中。

RlDart的博客 1094

传输层协议:TCP 与 UDP

在计算机网络中,传输层位于网络层之上,应用层之下,主要负责提供端到端的可靠数据传输服务。传输层协议可以分为两大类:无连接的传输层协议和面向连接的传输层协议。

JAZJD的博客 1491

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

网络基础二——传输层协议UDP与TCP

传输层协议 UDP和TCP的认识

qq_33093885的博客 2427

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

TCP和UDP传输层协议

TCP 是一种可靠的、面向连接的协议,适用于对数据传输可靠性要求高的场景,具有较高的延迟和开销,但能保证数据准确无误地传输。UDP 是一种无连接的、轻量级的协议,适用于实时性要求高、可以容忍丢包的场景,具有较低的延迟和开销,但不保证数据的可靠性、顺序和完整性。根据不同的应用需求,选择合适的协议可以有效提高网络通信的效率和用户体验。

qq_50847694的博客 1900

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

传输层TCP协议和UDP协议

传输层协议

qq_44700820的博客 3902

TCP与UDP:传输层协议对比

本文将详细介绍传输层中的TCP与UDP协议,探讨它们的优缺点及适用场景。TCP和UDP协议各有优缺点,适用于不同的场景。了解它们的特性,有助于我们在实际应用中选择合适的传输层协议。TCP协议可靠传输:TCP协议采用三次握手建立连接,确保数据传输的可靠性。在传输过程中,TCP会对每个数据包进行编号和确认,确保数据按序到达且无丢失。流量控制:TCP协议通过滑动窗口机制实现流量控制,避免发送方发送过快导致接收方来不及处理。

你若盛开,清风自来 2050

传输层协议——UDP/TCP协议

上一篇说过了HTTP,这一篇就来看一下UDP和TCP,UDP简单,TCP可靠,一篇文章让你直到原因。

m0_64607843的博客 1678

【TCP/IP协议栈】4. 传输层协议(TCP、UDP)

协议森林07 傀儡 (UDP协议) - Vamei - 博客园TCP和UDP详解(非常详细)_tcp udp-优快云博客我们已经讲解了物理层、连接层和网络层。最开始的连接层协议种类繁多(Ethernet、Wifi、ARP等等)。到了网络层,我们只剩下一个IP协议(IPv4和IPv6是替代关系)。进入到传输层(transport layer),协议的种类又开始繁多起来(比如TCP、UDP、SCTP等)。

m0_74209072的博客 2590

传输层的TCP和UDP协议

TCP和UDP都是传输层协议。TCP/IP是一个协议簇,里面包含了很多协议,UDP和TCP只是其中两个协议,之所以命为TCP/IP,是因为这两个协议非常重要。 1.TCP协议 TCP 的英文全拼(Transmission Control Protocol)简称传输控制协议,它是一种面向连接的、可靠的、,相对比较慢、点对点、基于字节流的传输层通信协议。TCP协议适用于对可靠性要求比较高的场合。比...

Healer_LU的博客 2062

传输层协议UDP,TCP

所以1001-1050为紧急数据;以上就是TCP结构的基本内容,下面我们来看看TCP到底做了哪些工作来对通信进行控制保证通信效率与可靠性;

m0_75260318的博客 1437

传输层协议之TCP/UDP

详解TCP和UDP两个传输层协议,从协议的报文结构、特性入手展开描述,重点对TCP协议深入的剖析。

weixin_43164548的博客 1475

传输层协议——TCP与UDP简述

传输层协议——TCP与UDP简述 传输层描述 基本概念 TCP与UDP都是TCP/IP中的传输层协议,首先我们要先对传输层做一下了解:传输层负责在两个应用程序之间建立临时通讯会话以及在它们之间传递数据 传输层有如下职责: 跟踪会话 数据分段与数据段重组 标识应用程序(通过分配端口号) 另外,传输层通过会话的多路复用来更好地进行错误恢复和重新传输工作。 多路复用将数据分割成更小的块(分段),在同一网络上交替实现不同用户的不同通讯。由于这一特性,应用程序可以同时使用网络,传输层利用向几个字段添加包含二进制数

CairBin的博客 2067

<网络> 传输层的TCP/UDP协议

TCP的面向字节流是指它将数据视为连续的字节流,而不是将数据划分为离散的消息或数据包。这意味着在TCP连接中,数据被视为一系列无结构的字节,发送方和接收方之间没有明确的消息边界。这与UDP不同,因为UDP是面向数据报的,每个数据包都是独立的单元,有明确的边界。TCP:数据在TCP连接中被视为一个无间断的字节流。发送的数据可以被拆分成多个小块,然后在接收端重新组装,但这一切都在传输层进行,上层应用程序不需要关心数据的分段和重组。UDP:UDP以数据报的形式传输数据,每个数据报都是独立的消息。

weixin_61522065的博客 1335

传输层协议TCP、UDP

源端口随机分配,目标端口使用知名端口。应用客户端使用的源端口一般为系统中未使用的且大于1024。目的端口号为服务器端应用服务器的进程,如telnet为23。Web访问中,下面哪一种情况不可能出现()。A.源端口80,目的端口1028B.源端口1028,目的端口80C.源端口65532,目的端口8080D.源端口4000,目的端口4000Web访问中源端口是大于1024的随机端口,目的端口常规是80/8080/443,也可以自定义为大于1024的非知名端口。

m0_57385165的博客 1069
上一篇: Internet Protocol(IP层)消息结构
下一篇: DFOTA差分算法
究理观心
博客等级 码龄10年 184粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值