网络通信协议,UDP和TCP,初步了解

devtools/2024/9/23 22:26:55/

UDP(User Datagram Protocol)和TCP(Transmission Control Protocol)是两种常见的网络通信协议,用于在计算机网络中进行数据传输。

  • 1. TCP:Transmission Control Protocol(传输控制协议)
    • 1.1 why TCP important(为什么TCP很重要)
    • 1.2. what’s TCP(什么是TCP
    • 1.3 TCP flow contrlol(TCP流量控制)
  • 2. UDP:User Datagram Protocal(用户数据包协议)
    • 2.1 what’s UDP(什么是UDP
  • 3. 总的来说

TCPTransmission_Control_Protocol_1">1. TCP:Transmission Control Protocol(传输控制协议)

TCP_importantTCP_2">1.1 why TCP important(为什么TCP很重要)

TCP 主要的功能是希望在不可靠的网络里,建构一个可靠的传输环境,internet要连接跨地区网络,所以用连接性高但可靠性低的IP,发送packet后会遗失或干扰发生数据错误或重复传送导致到达次序混乱,基本上IP协议无法检定以上可能错误,这都必须有TCP协议侦测并采取补救措施,由此TCP流量控制就显得非常重要。

TCPTCP_4">1.2. what’s TCP(什么是TCP

TCP 是一种面向连接的协议,它提供了可靠的、有序的数据流传输服务。TCP 在通信开始之前需要进行握手过程,建立起连接后,它通过序号和确认号来保证数据的可靠性、有序性和完整性。TCP 还实现了流量控制和拥塞控制机制,以确保网络的稳定性和公平性。TCP 适用于对数据可靠性和顺序性要求较高的应用场景,如网页浏览、文件传输和电子邮件。

TCP_flow_contrlolTCP_6">1.3 TCP flow contrlol(TCP流量控制)

流量控制是一种用于在已建立的连接上进行数据传输的方法。它通过管理数据包的流动来提高传输连接的利用率。

流量控制不仅管理数据包在通信连接中的传输顺序,还涉及管理发送端和接收端的缓冲区。发送端将数据放入发送缓冲区,接收端则将接收到的数据放入接收缓冲区。

在传输过程中,可能会出现一些问题,例如数据包延迟到达接收端、传输错误等。因此,需要一种机制来处理这些问题,例如确认接收到的数据、重传丢失的数据等。

流量控制技术旨在减少缓冲区的需求,以提高系统的效率。然而,由于缓冲区无法无限扩展,因此重复使用缓冲区以减少需求也是流量控制的重要目标之一。

UDPUser_Datagram_Protocal_14">2. UDP:User Datagram Protocal(用户数据包协议)

UDPUDP_15">2.1 what’s UDP(什么是UDP

UDP 是一种简单的无连接协议,它提供了数据包的传输服务,但不提供像 TCP 那样的可靠性和错误检测机制。UDP 数据包以数据报形式发送,每个数据包都是一个独立的实体,它们可能会按顺序到达,也可能丢失或重复。UDP 适用于对实时性要求较高,但对数据可靠性要求不高的应用场景,比如音频/视频流传输和在线游戏。

3. 总的来说

UDP 适用于实时性要求高但对数据可靠性要求较低的应用场景,而 TCP 则适用于对数据可靠性和顺序性要求较高的应用场景。

重点摘要自以下链接,欲深入了解更多细节,请参阅:
1. 维基百科 - 传输控制协议
2. TCP/IP 协定与 Internet 网络:第七章 传输层协定


http://www.ppmy.cn/devtools/20601.html

相关文章

【原创】向量加权平均算法优化的长短期记忆神经网络自注意力神经网络(INFO-LSTM-SelfAttention)的回归预测

INFO-LSTM-SelfAttention是一种用于回归预测的神经网络模型,结合了长短期记忆(LSTM)神经网络、自注意力机制和向量加权平均算法。下面详细介绍这个模型在回归预测任务中的工作流程: 1. 数据预处理 输入数据:时序数据序…

【项目】仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器(Http板块)

【项目】仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器(Http板块) 一、思路图二、Util板块1、Splite板块(分词)(1)代码(2)测试及测试结果i、第一种测试ii、第二种…

eclipse导入工程提示Project has no explicit encoding set

eclipse导入工程提示Project has no explicit encoding set 文章目录 eclipse导入工程提示Project has no explicit encoding set一、Eclipse的工程导入二、可能的问题1.在工程名下有黄色叹号 一、Eclipse的工程导入 用Eclipse的导入可以将原有工程导入到新环境中 具体方法是&…

Git--多人协作

目录 一、多人协作一二、多人协作二三、 远程分⽀删除后,本地git branch -a依然能看到的解决办法 一、多人协作一 ⽬前,我们所完成的⼯作如下: 1.基本完成Git的所有本地库的相关操作,git基本操作,分⽀理解,…

python中如何用matplotlib写雷达图

#代码 import numpy as np # import matplotlib as plt # from matplotlib import pyplot as plt import matplotlib.pyplot as pltplt.rcParams[font.sans-serif].insert(0, SimHei) plt.rcParams[axes.unicode_minus] Falselabels np.array([速度, 力量, 经验, 防守, 发球…

【Qt踩坑】Qt项目嵌入Web踩坑记录--加载QtWebEngine模块的程序会出现崩溃

1. Ubuntu20.04环境中设置自启动应用程序后,加载QtWebEngine模块的程序会出现崩溃 解决方法一: 使用root用户会报错1.自启动脚本使用 sudo -S /opt/run.sh 方式启动脚本会出现问题2.手动启动或者修改自启动脚本启动方式 run.sh 就能正常运行解决方法二…

阳光能源,创造永远:光模块的未来”:随着大数据、区块链、云计算和5G的发展,光模块成为满足不断增长的数据流量需求的关键技术

光模块的类型介绍: 为了适应不同的应用需求,不同参数和功能的光模块应运而生。光模块的分类方式及类型详见如下: 🔎封装形式🔍: 📣📢光模块按照封装形式来分有以下几种常见类型&a…

C# 读去Word文档(NPOI)

NPOI.dll文件下载: 百度网盘 请输入提取码 NPOI介绍: NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作。 NPOI是一个开源的C#读写Excel、WORD等微软OLE2组件文档的项目。 实现的操作: 获取Word文档所有Sheet表格。 读…