首页 > 其他分享 >TCP跟UDP区别

TCP跟UDP区别

时间:2024-02-19 15:36:17浏览次数:27  
标签:协议 UDP 区别 TCP 可靠 传输 连接

TCP协议跟UDP协议都存在于传输层,都在程序之间传输数据。、

 

传输控制协议(TCP):TCP(传输控制协议)定义了两台计算机之间进行可靠的传输而交换的数据和确认信息的格式,以及计算机为了确保数据的正确到达而采取的措施。协议规定了TCP软件怎样识别给定计算机上的多个目的进程如何对分组重复这类差错进行恢复。协议还规定了两台计算机如何初始化一个TCP数据流传输以及如何结束这一传输。TCP最大的特点就是提供的是面向连接、可靠的字节流服务。

TCP是基于连接的,有三个非常重要的步骤,分别是三次握手,传输确认,四次挥手

三次握手是为了在不可靠的信道上建立可靠的连接

tcp传输数据稳定可靠适用于对网络通讯质量较高的场景,需要将内容准确无误的传输给对方比如传输文件,发送邮件,浏览网页等。

 

用户数据报协议(UDP):UDP(用户数据报协议)是一个简单的面向数据报的传输层协议。提供的是非面向连接的、不可靠的数据流传输。UDP不提供可靠性,也不提供报文到达确认、排序以及流量控制等功能。它只是把应用程序传给IP层数据报发送出去,但是并不能保证它们能到达目的地。因此报文可能会丢失、重复以及乱序等。但由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。 

UDP是基于非连接的的

UDP性能损耗少,资源占用比TCp占用少,udp不能保证丢包

udp优点是速度快,但是可能会产生丢包,所以适用于对实时性要求较高对少量丢包并没有太大要求的场景。比如域名查询,语音通话,视频直播等。

udp还有一个非常重要的应用场景,隧道网络:常用的VPN,在SDN中用到的VXLAN

标签:协议,UDP,区别,TCP,可靠,传输,连接
From: https://www.cnblogs.com/gao-yf/p/18021207

相关文章

  • JMeter中Sample time、Load time、Response time、Latency time、Connection time的区
    转载自:https://www.cnblogs.com/youxin/p/8684891.html ==================  jmeter是一款纯java的性能测试工具,跨平台运行方便、提供图形化界面设置、简单易用。  在性能测试方法论中,很典型的方法就是二八原则,量化业务需求。二八原则:指80%的业务量在20%的时间里完......
  • Java中==和equals有什么区别
    原文网址:​​Java中==和equals有什么区别_IT利刃出鞘的博客-CSDN博客​​简介本文介绍java中==和equals的区别。分享Java技术星球(自学精灵),有面试真题和架构技术等:​​https://learn.skyofit.com/​​区别区别是:一个是运算符,一个是方法。==比较变量的值是否相同。如果比较......
  • for 循环 和 while循环的区别
     001、for循环:for循环的终止条件在for语句后面已经提前已知[root@pc1test1]#for((i=1;i<=3;i++));doecho$i;done##终止条件i<=3;i的变化规律;提前已知123 002、while循环;while循环的终止条件是在循环体中动态变化的[root@pc1test1]#i=1[roo......
  • while循环与until循环的区别
     001、while循环:条件满足一直执行[root@pc1test1]#i=1##条件满足,一直执行[root@pc1test1]#while[[$i-le3]];doecho$i;i=$((i+1));done123 002、until循环;条件不满足一直执行[root@pc1test1]#i=1##条件不满足,一直执行,与while循环相......
  • 人教版和北教版有什么区别?
    人教版和北教版有什么区别?2021-09-22 · 知道合伙人旅游行家关注 北京版和人教版的区别:1、课本里面的目录与内容都不一样,但学习的知识点是一样的。2、主要就是知识点按排的顺序与逻辑性不一样。3、初中教学难度不一样,例题和课后习题难度也不一样。4、人教版的标题......
  • SQLite、MySQL和PostgreSQL的区别
    SQLite、MySQL和PostgreSQL都是广泛使用的开源关系型数据库管理系统(RDBMS),但它们在设计目标、适用场景和功能特性上各有特点:SQLite:简介:SQLite是一个轻量级的嵌入式数据库引擎,它不需要独立服务器进程就可以运行。SQLite数据库文件直接存储在磁盘上,应用程序通过API直接与数据库......
  • STM32 SPI接口 DMA normal 和circual区别
     DMA有normal和circular两种模式。circular模式:就调用这个函数一次就可以了,DMA一直开启,一帧数据发送完毕之后里面发送下一帧,中间没有停顿。这样确实是快了,也释放了CPU,各路的数据采集因为缺少了等待串口发送的时间,所以就间接提高的了数据更新速率。但有个致命缺陷:数据采集和数......
  • linux shell 中双方引号和单方引号的区别
     通常更推荐使用双方引号。 001、双方引号可以避免变量的单词分割[root@pc1test1]#str1="aabb"##测试字符串[root@pc1test1]#if[[$str1=="aabb"]];thenecho"yes";fi##双边引号不用担心变量的单词分割yes[root@pc1test1]#if[$str1=......
  • flutter开发Future与Stream的理解和区别
    flutter开发Future与Stream的理解和区别Future特点Future是表示一个异步操作的单个结果,只返回一次结果。通常用于处理一次性的异步操作。Future通过then()和catchError()方法来处理异步操作的结果和异常。Future使用await关键字来等待异步操作完成。FutureBuilder:通过监听......
  • Http和Tcp的区别
    Http和Tcp的区别1.HTTP协议是HyperTextTransferProtocol(超文本传输协议)的缩写,是用于从万维网(WWW:WorldWideWeb)服务器传输超文本到本地浏览器的传送协议。2.HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件,图片文件,查询结果等)1、简单快速:客户向服务器请求服务时,只需......