tcp和udp的区别

tcp和udp的区别是:1、TCP是面向连接的,UDP是面向无连接的;2、TCP是可靠的,UDP是不可靠的;3、TCP是面向字节流的,UDP是面向报文的;4、TCP只有一对一的传输方式,UDP可以一对一、一对多和多对多。UDP不需要和TCP一样建立三次握手连接,而TCP在通信前则需要。

tcp和udp的区别-Worktile社区

1、TCP是面向连接的,UDP是面向无连接的

UDP是不需要和TCP一样建立三次握手连接的。而TCP则在通信前是需要进行三次握手的。具体就是:在发送端,应用层将数据传递给传输层的UDP协议,UDP只会给数据增加一个UDP头,标识是UDP协议,然后就传递给网络层了。在接收端,网络层将数据传递给传输层,UDP只去除IP报文头就传递给应用层了,不做任何拼接操作。

2、TCP是可靠的,UDP是不可靠的

具体体现在,UDP的无连接上,通信都不需要建立连接,想发就发,这样的情况肯定不可靠。发送数据也不会关心对方是否已经正确接收到数据。其次,网络环境时好时坏,但是UDP是没有拥塞控制的,一直会以恒定的速度发送数据。就算网络不好,也不会对发送速率作调整,这样就会在网络不好时,可能产生丢包。但是优点野明显,就是对于一些实时性要求高的场景(比如电话会议)就需要UDP,因为远程视频的话,你丢一些数据(例如像素)并不影响视频的内容。

在TCP协议中使用了接收确认和重传机制,使得每一个信息都能保证到达,是可靠的。

而UDP是尽力传送,没有应答和重传机制,UDP只是将信息发送出去,对方收不收到也不进行应答。所以UDP协议是不可靠的。

3、TCP是面向字节流的,UDP是面向报文的

怎么理解面向字节流和面向报文呢?TCP基于流的传输表示TCP不认为消息是一条一条的,是无保护消息边界的(保护消息边界:指传输协议把数据当做一条独立的消息在网上传输,接收端一次只能接受一条独立的消息)。UDP面向报文,是有 保护消息边界 的,接收方一次只能接受一条独立的消息,所以UDP不存在粘包。

4、TCP只有一对一的传输方式,UDP可以一对一、一对多和多对多

UDP 不止支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说 UDP 提供了单播,多播,广播的功能。TCP不能一对多的原因是:TCP通信前要跟一台主机进行三次握手连接,因此TCP不能对多。

延伸阅读:

什么是TCP?

传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。

TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。

传输控制协议(TCP,Transmission Control Protocol)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。

互联网络与单个网络有很大的不同,因为互联网络的不同部分可能有截然不同的拓扑结构、带宽、延迟、数据包大小和其他参数。TCP的设计目标是能够动态地适应互联网络的这些特性,而且具备面对各种故障时的健壮性。

不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。

文章标题:tcp和udp的区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/35906

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年1月27日 下午7:01
下一篇 2023年1月27日 下午7:04

相关推荐

  • 自己怎么开发一个软件app

    开发一个软件app的步骤:一、确定该软件app的类型;二、制作该软件app的产品原型;三、进行该软件app的产品页面设计;四、进行代码编写;五、软件测试。确定该软件app的类型是指确定该软件app为商用型还是自用型。 一、确定该软件app的类型 app大致分为两种类型,即商用型和自用型。商用型app…

    2023年3月21日
    12600
  • java和java script的区别是什么

    java和java script的区别是:1、编程范式不同;2、代码执行环境不同;3、对象不同;4、强类型和弱类型;5、并发执行多个任务;6、开发方法不同。Java是面向对象的编程语言,严格遵循面向对象编程范式;JavaScript同时支持面向对象、面向过程和面向函数的编程范式。 1、编程范式不同 …

    2023年2月12日
    7100
  • 变化点管理是指什么

    变化点管理是:变化点管理是一种管理方法,旨在帮助组织有效地应对变化。它涉及快速识别关键变化,制定计划和策略,使组织能够适应变化并继续发展。变化点管理涵盖很多方面,包括产品和服务的变化,市场和竞争的变化,政策和法规的变化等等。 一、变化点管理是指什么 变化点管理是一种管理方法,旨在帮助组织有效地应对变…

    2023年5月7日
    4700
  • 规划图怎么做

    项目规划图制作步骤:1、确定项目目标和范围;2、列出所有任务;3、定义任务依赖关系;4、评估任务持续时间;5、制作甘特图;6、标识关键路径;7、规划资源分配。确定项目目标和范围是指明确项目的整体目标、项目的阶段以及每个阶段的目标。 一、规划图怎么做 1、确定项目目标和范围 明确项目的整体目标、项目的…

    2023年4月13日
    10700
  • 什么软件适合建立文档

    适合建立文档的软件有:1、Total Commander;2、Dropit;3、TagLyst;4、QTTabBar;5、Directory Opus;6、Adobe Bridge。Total Commander文件管理软件系统,功能强大且应有尽有,行业内非常有名。 一、Total Commande…

    2023年4月22日
    700
  • 电源ic有哪些芯片

    电源ic有以下芯片:1、LDO;2、DC/DC;3、PWM;4、功率MOSFET;5、AC/DC调制IC;6、电池充电和管理IC;7、热插板控制IC。LDO全称为Low Dropout Regulator,是一种低压差线性稳压器,顾名思义是线性的稳压器,也就是输出电压必须小于输入电压。 1、LDO …

    2023年1月10日
    11300
  • 如何绘制路线图

    可以用:Microsoft PowerPoint;Microsoft Visio;Lucidchart;Trello;Notion。Microsoft PowerPoint是一种常用的演示软件,也可以用于制作路线图。它的优点是易于使用,易于导出和共享,而且大多数人都熟悉它。在PowerPoint中,…

    2023年3月30日
    2300
  • 工作事项进度表怎么做

    可以用以下软件做工作事项进度表:一、Microsoft Project;二、Smartsheet;三、Trello;四、Asana;五、Notion。Microsoft Project 是一款功能强大的进度表软件,它提供了甘特图、网络图、资源管理、成本分析等多种功能。用户可以使用 Microsoft…

    2023年3月31日
    1800
  • 传输中加密和静态加密有什么区别

    传输中的数据加密是指在传输过程中加密数据(称为“端到端加密”)可确保即使数据被拦截,它的私密性也会得到保护。静态数据加密是指当数据位于存储设备上、没有被积极积极使用或者传输时,即被认为静态,静态数据加密就是在这个过程中进行加密。 传输中加密和静态加密有什么区别 诸如数据加密软件和云数据加密等数据加密…

    2022年11月3日
    11900
  • VB 是什么和 ASP、PHP、Java 有什么区别和关联

    VB是Microsoft开发的一种面向对象的编程语言。 使用 Visual Basic即可快速、轻松地创建类型安全的.NET应用。ASP是做网页的,VB是做应用程序的,而ASP是用VBScript编写的,PHP和JSP、ASP一样都是做网页的技术。而Java可以被用来编写容量很小的应用程序模块或者a…

    2023年2月20日
    4000

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部