【计算机网络】传输层协议TCP与UDP

embedded/2025/1/22 16:49:11/

传输层

        传输层位于OSI七层网络模型的第四层,主要负责端到端通信,可靠性保障(TCP),流量控制(TCP),拥塞控制(TCP),数据分段与分组,多路复用与解复用等,通过TCP与UDP协议实现。

端到端通信

        传输层通过端口号(Port)来区分不同进程。端口号为16位数字(0-65535),用于标识主机上具体的应用程序,比如HTTP服务通常使用80端口,HTTPS通常使用443端口。

可靠性保障(TCP)

        传输层可以提供可靠的数据传输服务,确保数据能够完整、有序地到达接收端。这主要通过TCP协议实现,它使用确认应答(ACK)超时重传滑动窗口等机制来保证数据的可靠性。

流量控制(TCP)

        传输层可以调节发送端和接收端之间的数据流量,避免发送端发送过多数据导致接收端无法处理。TCP通过滑动窗口机制实现流量控制。

拥塞控制(TCP)

        传输层可以感知网络的拥塞情况,并根据网络状态动态调整发送速率,避免网络拥塞加剧。TCP协议提供了拥塞控制机制,如慢启动拥塞避免快速重传等。

数据分段与重组

        传输层可以将应用层的大型数据分割成较小的数据段(TCP)或数据报(UDP),在网络层传输后再进行重组。

多路复用与解复用

        传输层允许多个应用进程同时使用网络资源。它通过端口号将不同应用的数据复用到同一个传输连接中,并在接收端将数据正确地分发到对应的应用进程。

TCP

        TCP(传输控制协议)是一种面向连接的可靠的基于字节流的传输层协议,主要用于需要高可靠性和完整性的应用场景。

TCP的特点

面向连接:发送数据前后,分别通过“三次握手”和“四次挥手”进行建立连接和关闭连接

可靠性:

     确认和重传:接收方收到数据后会发送ACK给发送方,若发送方未收到ACK则会重传数据

     流量控制:接收方通过滑动窗口(循环数组)机制告诉发送方可接受数据大小

     拥塞控制:发送方通过慢启动拥塞避免快速重传和恢复等机制动态调整发送速率

     有序性:接收方根据序列号重新组装数据,保证数据顺序正确

     超时重传:发送端若未在超时时间内收到ACK,就会重传数据

头部开销大:报文头部包含确认号(ACK)序列号窗口大小

全双工通信:允许通信双方同时进行数据的发送和接收

TCP的三次握手

TCP的四次挥手

TCP应用场景

文件传输:FTP

网页浏览:HTTP/HTTPS

电子邮件:SMTP/POP3

数据库通信

UDP

        UDP是一种无连接的、不可靠的传输层协议,主要用于对速度和实时性要求较高的场景。

UDP的特点

无连接性:无连接,数据包互相独立

简单和轻量:头部开销小,适合网络通信受限情景

高性能:无复杂机制,延迟低,适用于实时性高应用:视频通话,网络游戏

不可靠性:

     丢包风险

     不保证数据顺序

     无确认和重传

     无流量控制和拥塞控制


http://www.ppmy.cn/embedded/156097.html

相关文章

深入探讨RAMS(区域大气建模系统)与机器学习的结合方法

在现代气象科学中,区域大气建模系统(Regional Atmospheric Modeling System,简称RAMS)与机器学习(Machine Learning,ML)的结合为提升天气预报的精度和效率提供了新的途径。本文将详细说明如何将…

5、原来可以这样理解C语言_数组(5)sizeof 计算数组元素个数

目录 5. sizeof 计算数组元素个数 5. sizeof 计算数组元素个数 在遍历数组的时候,我们经常想知道数组的元素个数,那C语⾔中有办法使⽤程序计算数组元素个数 吗? 答案是有的,可以使⽤sizeof。 sizeof 中C语⾔是⼀个关键字&#xff…

工业相机 SDK 二次开发-Halcon 插件

本文介绍了 Halcon 连接相机时插件的使用。通过本套插件可连接海康 的工业相机。 一. 环境配置 1. 拷贝动态库 在 用 户 安 装 MVS 目 录 下 按 照 如 下 路 径 Development\ThirdPartyPlatformAdapter 找到目录为 HalconHDevelop 的文 件夹,根据 Halcon 版本找到对…

《在ArkTS中实现模型的可视化调试和监控:探索与实践》

在当今人工智能与鸿蒙Next深度融合的时代,利用ArkTS开发高效智能应用成为开发者们关注的焦点。而模型的可视化调试和监控对于确保模型的准确性和性能至关重要,本文将深入探讨在ArkTS中实现这一目标的方法和实践。 ArkTS与模型开发基础 ArkTS作为一种基…

包装生产线监控与管理系统

在当今快速迭代的工业4.0时代,包装行业正经历着前所未有的变革。从传统的机械化生产到如今的智能化升级,每一步都凝聚着对效率、品质与可持续性的不懈追求。在这一背景下,HiWoo Scada平台以其创新的本地化监控系统,为包装生产线带…

C语言小任务——1000以内含有9的数字

步骤 第一步:分类 含有九的可能的情况: 个位有9,十位有9,百位有9,而根据组合数,我们可以得出,一共有7种情况,分别是 9##,#9#,##9, 99#,9#9,#…

AIP-123 资源类型

编号123原文链接AIP-123: Resource types状态批准创建日期2019-05-12更新日期2019-05-12 大多数API发布了用户可以创建、获取和操作的 资源 (主要是名词)。API可以合理的、自由的命名资源类型(在AIP要求的范围内),只要…

Chromium 132 编译指南 Mac 篇(四)- 获取源代码

1. 引言 在 Chromium 132 的开发之旅中,获取源代码是一个至关重要的里程碑。本文将引导您完成这一关键步骤,为后续的编译和开发工作奠定坚实的基础。无论您是出于学习目的还是计划开发自己的浏览器项目,掌握获取 Chromium 源码的方法都是一项…