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

相关推荐

  • DevOps中的持续反馈循环重要性

    持续反馈循环在DevOps实践中扮演着至关重要的角色,用以确保项目质量、提升团队合作和加快交付速度。持续反馈可以明显提升项目的透明度,让团队即时发现和解决问题、优化流程,以及改善沟通和协作。在DevOps文化中,持续反馈被视为一个使软件开发和操作过程更加顺畅、高效的关键元素。通过强化开发与运维间的协…

    2023年12月13日
    35200
  • 任务管理方法有哪些

    任务管理方法有以下四点:1、GTD原则;2、单核工作法;3、两列清单法;4、四象限法则。任务管理法任务管理法是人们较早研究的一种科学管理方法, 任务管理法的基本内容,可以概括为通过时间动作研究确定标准作业任务,并将任务落实到员工。 1、GTD原则 GTD的英文全称是Getting Things Do…

    2022年11月7日
    97100
  • 什么工作会用到MATLAB编程

    以下工作会用到MATLAB编程:1、数字信号处理;2、图像分析;3、数据挖掘;4、机器学习。通过Matlab,可以进行数字信号处理问题理论上的分析和算法开发;配合Simulink,用户可以进行数字信号处理系统的设计和仿真。 1、数字信号处理 数字信号处理(DSP):是指利用计算机或专用处理设备,以数…

    2023年1月27日
    1.3K00
  • 网卡和路由器有哪些区别

    网卡和路由器的区别有:1、主体不同;2、特点不同;3、功能不同。网卡是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。路由器是连接两个或多个网络的硬件设备,在网络间起网关的作用。 1、主体不同 网卡是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。由于其拥有MAC地址,因此属…

    2023年1月31日
    1.0K00
  • plc用什么语言编程

    PLC用什么语言编程? 编程PLC 主要使用的语言有五种:1、梯形图语言;2、指令列表语言;3、函数块图语言;4、结构化文本语言;5、连续功能图语言。 其中,梯形图语言因其直观简单的特性而被广泛使用。梯形图语言以电气控制图的形式展现,让编程者可以轻松地通过视觉元素进行编程,极大地降低了学习和应用的难…

    2024年4月25日
    500
  • vscode为什么流行

    Visual Studio Code(VSCode)流行的原因主要包括轻量级、高度可定制、跨平台兼容、强大的开发工具集成、以及对开源社区的深度支持。轻量级这一特征意味着VSCode占用的系统资源较少,对于运行低配硬件的开发者来说是一个理想选择,同时启动速度快,响应迅捷,提升了开发效率。此外,VSCo…

    2024年4月3日
    6900
  • oa无纸化

    对于”OA无纸化”这一话题,办公自动化系统(Office Automation, OA)的实施可以促进企业环境的数字化转型,提高工作效率,实现资源节约和绿色环保。无纸化办公室的概念通过减少纸质文件流通,1、降低成本;2、提高效率;3、优化工作流程;4、加强信息安全;5、促进环…

    2024年1月11日
    38200
  • 数控编程字母代表什么

    在数控编程中,字母的代表意义包括但不限于1、G代码代表预定程序指令;2、M代码代表设备控制指令;3、X、Y、Z代表三个主要轴的坐标位置;4、F代表进给率;5、S代表主轴转速。 最为核心的G代码,通常用于指定机床的动作类型,比如直线插补、圆弧插补等。 一、G代码的意义 G代码,又称为准备功能代码,是数…

    2024年4月25日
    500
  • devops可用于什么行业

    开门见山地说,DevOps适用于多种行业,包括1、软件与技术服务;2、金融服务业;3、零售与电子商务;4、医疗保健;5、政府与公共服务;6、教育;7、制造业。在这些领域,它通过提升软件交付速度、增强服务质量与稳定性,强化团队协作来发挥重要作用。以软件与技术服务行业为例,DevOps促使开发与运营团队…

    2024年3月26日
    7700
  • 半导体oa系统

    半导体行业的OA系统扮演了关键角色,提高办公效率、优化业务流程、加强信息安全、促进协同工作环境的创建。特别是在提高办公效率方面,通过数字化手段简化文档处理过程,降低重复性工作,使得从业人员可以将更多时间投入到核心业务与创新活动上。 OA系统即办公自动化系统,它通过集成信息技术手段,优化并自动化企业的…

    2024年1月12日
    25800

发表回复

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

400-800-1024

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

分享本页
返回顶部