首页 > 其他分享 >TCP与UDP的区别

TCP与UDP的区别

时间:2022-10-07 17:16:15浏览次数:52  
标签:UDP 区别 TCP 传输 拥塞 电话线 连接

TCP

TCP 称为 传输控制协议 Transmission Control Protocol

TCP协议的特点:

  • TCP是面向连接的协议

    连接方式是 "三次握手" ,建立连接可以为数据传输的可靠性提供保证

  • 只支持单播传输

    因为 TCP 连接是 点对点的传输, 所以不支持多播和广播 ,就跟打以前的电话一样, 只能两个人打.

  • TCP是面向字节流的传输

  • TCP提供可靠传输

    TCP会为每个包都起个编号, 如果丢包或者是误码 ,都会把这个包重传

  • TCP是全双工通信

    什么是全双工通信呢? 就像是你家的电话线 ,电话线在同一时间既可以一边打电话又可以一边听电话 . 单工通信就是你这条电话线只可以在同一个时间只听电话,或者只打电话. 电视的电线就是个很好的例子, 电视只接收频道而不去自己发送信号给别人.

  • TCP有拥塞控制

    当网络出现拥塞的时候,TCP能够减小向网络注入数据的速率和数量,缓解拥塞

UDP

UDP 称为 用户数据报协议 User Datagram Protocol

UDP协议的特点:

  • UDP是面向无连接的协议

也就是他不需要建立连接 , 想发信息就发给你 , 打电话要两个人同时在线(TCP) ,而无连接的UDP则像是发邮件 ,只是发出去不管你有没有收到.

  • UDP不止支持单播,还支持广播,组播等功能

就是可以同时给多个人发

  • UDP是面向报文的

  • UDP是不可靠的传输

因为不用建立连接所以想法就发,TCP再发之前还会跟你说一声, 所以在网络不好的时候,可能会丢失UDP的包,但是UPD也有它的好处,就是发消息很快.

标签:UDP,区别,TCP,传输,拥塞,电话线,连接
From: https://www.cnblogs.com/zzx-rabbit/p/16760062.html

相关文章

  • 一个例子形象的理解协程和线程的区别
    一个例子形象的理解协程和线程的区别Talkischeap,showmethecode!所以,废话先不说,先上代码:首先写一个WebAPI接口///<summary>///测试接口///</summary>[RoutePrefix......
  • 一个例子形象的理解协程和线程的区别
    一个例子形象的理解协程和线程的区别Talkischeap,showmethecode!所以,废话先不说,先上代码:首先写一个WebAPI接口///<summary>///测试接口///</summary>[RoutePrefix......
  • Java中List和ArrayList的区别,为什么用接口来引用对象而不是类
    区别用几句话来简单概述就是:1、List是一个接口,而ArrayList是List接口的一个实现类。2、ArrayList类继承并实现了List接口。3、因此,List接口不能被构造,也就是我们说的不能......
  • TCP和UDP的联系与区别
    TCP    TCP是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。TCP仅支持单播传输,面向字节流,提供全双工通信,是可靠传输。    首先:TCP和UDP都是工作......
  • TCP和UDP的区别
    1.TCPTCP的全称是TransmissionControlProtocol,传输控制协议。其首部字节为20~60字节1.1特点面向连接传输是可靠的,保证了数据的正确性和数据顺序以字节流的形式进行......
  • 使用mod_cluster 与 mod_proxy 区别
    1.mod_cluster简介       mod_cluster和mod_jk,mod_proxy类似,是一个基于httpd的负载平衡项目能够代理请求给基于Tomcat网络服务器集群(支持任何独立的Tomcat,独立......
  • Vue - data声明区别 data:{} 与 data(){return {}}
    data:{}:全局可见varvm=newVue({el:'#app',data:{title:'HELLO,WORLD!'}})data(){return{}}:只在当前组件中生效var......
  • JS基础 -- if分别使用return、break、continue的区别
    /**if分别使用return、break、continue的区别**break:使用break可以退出当前的循环**continue:用于跳过当次循环**return:使用return可以结束整个函数**下面用......
  • Class.forName()、Class.class、getClass() 三者区别以及instanceof与强制类型转换
    Java反射反射为在运行时期获取对象类型信息的操作。传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态获取这些信息,从而编写更加具有......
  • SPAFA 和Dijkstra的区别
    Dijkstra算法和SPFA算法都可以用于求单源最短路,前者可以用小根堆进行优化,后者用就是用队列优化过的Bell-manFord,下面说一说这两者的区别:Dijkstra算法是基于贪心和DP的思......