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

相关推荐

  • jetty和tomcat的区别和联系是什么

    jetty和tomcat的区别有:1、架构不同;2、性能不同;3、少数非常繁忙;4、其它不同。联系是tomcat和jetty都是一种Servlet引擎,他们都支持标准的Servlet规范和JavaEE规范。jetty的建构比tomcat更加简单。jetty的架构是基于Handler来实现的,tomc…

    2023年2月13日
    98200
  • 如何处理MQTT中的订阅冲突

    在MQTT协议中,处理订阅冲突主要依赖于1、理解主题命名机制 2、使用主题过滤规则 3、客户端标识符的有效运用 4、质量服务等级(QoS)的适当配置 5、保留消息标志的使用 6、服务器端的消息路由策略。例如,使用主题过滤规则可以确保消息分发的准确性,当多个客户端订阅重叠主题时,规则会过滤并确保正确的…

    2024年1月5日
    29600
  • oa全称是什么意思

    OA全称是“Office Automation”,指的是办公自动化。这个概念涵盖了使用计算机及网络技术,来提升日常办公效率、改善工作流程、降低运营成本以及优化信息管理的一系列做法。在企业与机构中,办公自动化的引入意味着从手工处理到电子方式的转变,促进信息流转的同时也带来了更高的文档管理效率和决策支持…

    2024年1月11日
    48700
  • PHP和Java的主要区别有哪些

    PHP和Java的主要区别有:1、技术层⾯区别;2、开发效率区别;3、开发成本区别;4、安全区别;5、访问数据库速度区别。Java是编程语⾔,功能很强⼤,分⽀众多。PHP吸收了Java等编程语⾔的优点,专注与做互联⽹领域,在web领域有得天独厚的优势。 1、技术层⾯区别 Java是编程语⾔,功能很强…

    2023年2月7日
    56200
  • 图灵模型和冯诺依曼模型中的程序有何区别

    区别是:冯诺依曼模型是图灵机的一种实现模式。也就是说一个是理论,一个是实践。但是在现实中,不存在无限的内存,图灵机需要这么一根无限长的纸带,因此冯诺依曼模型实现出来的更类似有限状态自动机。 冯诺依曼模型是图灵机的一种实现模式。也就是说一个是理论,一个是实践。但是在现实中,不存在无限的内存,图灵机需要…

    2023年2月14日
    1.4K00
  • 敏捷和devops的原理是什么

    敏捷与DevOps的原理探索 敏捷与DevOps,两个在现代软件开发环境中备受推崇的方法论,核心围绕提升效率与响应速度。1、敏捷方法论 强调迭代进化与客户合作的重要性。2、DevOps文化 则侧重持续集成与快速交付软件的实践。在这两者的结合中,敏捷提供了灵活调整的框架,而DevOps通过自动化工具链…

    2024年3月26日
    7100
  • 流程管理的三个层面是哪些

    流程管理的三个层面是:1.流程规范/梳理;2.流程优化;3.流程重组。其中,流程规范/梳理一般适合企业正常运行阶段,流程优化则适合企业任何时期,而流程重组则适合企业变革时期,例如战略改变、商业模式变化等。 1.流程规范/梳理 在一个企业尤其是中小企业建立的初期,由于企业生存的压力,管理者普遍关注市场…

    2022年11月13日
    81500
  • oa网络地板哪家好

    标题:选择优质的OA网络地板供应商的要点 摘要:在众多供应商中挑选卓越的OA网络地板厂家,关键在于关注其产品质量、设计创新性、客户服务态度及售后服务强度。其中,产品质量尤为重要,因为它直接关联到地板的耐用性、承载能力以及安全性。一家值得选用的供应商会注重材质的选择、生产工艺的精细化以及质量控制的严格…

    2024年1月11日
    20400
  • 种子期项目如何运营和管理

    种子期项目成功的运营和管理依赖于清晰的愿景和目标设定、稳健的财务规划、高效的团队协作以及敏捷的产品开发。在详细展开描述之前,先强调团队协作的重要性。团队协作对于种子期项目的成功至关重要,因为它有助于迅速解决问题、加速产品开发流程以及促进内部知识共享。高效的团队协作可以通过确保每个团队成员都对项目有清…

    2024年4月10日
    7100
  • OKR与KPI的区别及如何有效结合使用

    摘要:在组织管理中,OKR(Objective and Key Results)与KPI(Key Performance Indicators)都是测量成效和驱动绩效的工具。它们之间的关键区别在于OKR注重目标和结果的设定,促进团队的战略执行力和创新能力;而KPI更侧重于度量绩效,保证操作水平的稳定…

    2023年12月8日
    48900

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部