首页 > 其他分享 >TCP和UDP的区别和联系

TCP和UDP的区别和联系

时间:2022-10-08 12:44:31浏览次数:48  
标签:UDP 区别 TCP 可靠 DNS 数据 连接

UDP与TCP的联系与区别:

1、联系

  • 首先,这两个都是运输层协议;
  • 都是建立在ip之上的 TCP叫做流式套接字,UDP是报文套接字

为什么要在 IP 之上?

 

 

2、区别
tcp基于连接、UDP无连接。

这里可以展开说连接与可靠是个什么意思:我的理解是,TCP通过一系列机制(确认号,重传等),尽管底层是不可靠的,但是不可靠发生的时候,TCP总可以纠正错误,保证用户不需要操心数据的到来是乱序的,或者数据丢失了,用户通过TCP建立连接之后,就可以放心的认为数据是对着的。 而TCP实现数据的可靠传输,是通过事先(三次握手)双发约定好的一些数据(序列号,确认号,窗口大小)来完成的,这个东西就叫做连接,所以必然是点对点的,不可能对多,也不可能中通换对象。
但是UDP就不管这么多,UDP完成的是最初的任务:原本的任务就是要解决IP无法将数据递交给用户期望的进程的问题的。所以UDP的结构相对简单,占用的资源少,通过ip+端口号,将数据发过去就好了,也不管数据丢失没有,接收方也不管数据有没有到达,有没有重复。所有这也工作都要交给上层应用完成,也就是所谓的 网络中的某个问题,在各层都可以解决,如果底层不解决就让上层解决。 既然UDP如此不方便,为什么还要用UDP?尤其是我们熟悉的DNS似乎就是用UDP实现的?A:UDP开销小,负载消耗小,在一些对精度要求不大,但是对速度要求大的场合,用UDP是合理的,即使一次失败,重试的损失也不大。就拿DNS来说,它的任务就是通过网址找到IP然后返回,一次不行就再来一次,开销很小,但是要尽量快,要降低服务器负载。 但是DNS服务器之间进行同步的时候用的就是TCP,这种场合要保证数据的正确。

最后总结一下:TCP是有连接的可靠的传输。
UDP是无连接的不可靠的传输。

 

标签:UDP,区别,TCP,可靠,DNS,数据,连接
From: https://www.cnblogs.com/leastl/p/16768592.html

相关文章

  • CNC加工中心中几组常用指令的区别及编程技巧
    随着科技的发展和社会的进步,人们对产品的性能和质量要求越来越高,从而使数控机床应用已得到一定程度的普及,而高性能高效率的加工中心也逐渐成为社会所需。通过几年的加工中心......
  • Tensor和tensor的区别
    参考链接:https://blog.csdn.net/tfcy694/article/details/85338745https://blog.csdn.net/m0_52650517/article/details/120456732......
  • TCP与UDP的联系与区别
    TCP(TransmissionControlProtocol,传输控制协议)他是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。这说明TCP连接是一个非常复杂的过程,需要进行“三......
  • SAP UI5 控件库里 Form 控件和 SimpleForm 控件的区别和联系讲解试读版
    一套适合SAPUI5初学者循序渐进的学习教程本专栏计划的文章数在​​300​​​篇左右,到​​2022年9月22日​​​为止,目前已经更新了​​133​​​篇,专栏完成度为​......
  • Demo23_or循环与while循环的区别 break与continue的区别
    //for循环与while循环的区别break与continue的区别packagecom.HuanXin.JiBen_JieGou_4;publicclassDemo12_break_continue{publicstaticvoidmain(String[]arg......
  • 基于Netty的TCP服务框架
    19年写的一个基础的TCP服务框架,内置了一个简单IOC容器,当时的目标是一方面能作为组件供第三方集成实现TCP通讯相关功能,另一方面作为提供一种服务框架范式。所以框架核心点......
  • 浅析package.json 和 package-lock.json的区别
    一package.json中的版本符号{"react":"^18.2.0","react-dom":"~18.2.0""react-refresh":"0.11.0",}插入符号^18.2.0:匹配18.X.X的最新版本。波浪符号~1......
  • 你真的理解==和===的区别吗?
    用中文怎么叫合适?相等?全等?其实并不合适,叫doubleequals或者trebleequals,或者叫不懂的人觉得比较不专业的双等或者三等操作符,是更加严谨和正确的叫法。为什么这么说?看完......
  • 为什么每次建立 TCP 连接时,初始化的序列号都要求不一样呢?
    为什么每次建立TCP连接时,初始化的序列号都要求不一样呢?主要原因有两个方面:为了防止历史报文被下一个相同四元组的连接接收(主要方面);为了安全性,防止黑客伪造的相同序列......
  • TCP与UDP的联系与区别
    TCP(TransmissionControlProtocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来......