tcp和udp的区别?【专栏12】

前端人

共 1616字,需浏览 4分钟

 ·

2021-06-21 03:04

区别

区别一、是否基于连接

TCP是面向连接的协议,而UDP是无连接的协议。

即TCP面向连接;UDP是无连接的,即发送数据之前不需要建立连接。

区别二、可靠性 和 有序性 区别

  1. TCP 提供交付保证(Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输),无差错,不丢失,不重复,且按序到达,也保证了消息的有序性。该消息将以从服务器端发出的同样的顺序发送到客户端,尽管这些消息到网络的另一端时可能是无序的。TCP协议将会为你排好序。
  2. UDP不提供任何有序性或序列性的保证。UDP尽最大努力交付,数据包将以任何可能的顺序到达。
  3. TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

区别三、实时性

UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。

区别四、协议首部大小

TCP首部开销20字节; UDP的首部开销小,只有8个字节 。

区别五、运行速度

TCP速度比较慢,而UDP速度比较快,因为TCP必须创建连接,以保证消息的可靠交付和有序性,毕竟TCP协议比UDP复杂。

区别六、拥塞机制

UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)

区别七、流模式(TCP)与数据报模式(UDP);

  1. TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;
  2. UDP是面向报文的 。

区别八、资源占用

  1. TCP对系统资源要求较多,UDP对系统资源要求较少。
  2. TCP被认为是重量级的协议,而与之相比,UDP协议则是一个轻量级的协议。因为UDP传输的信息中不承担任何间接创造连接,保证交货或秩序的的信息。这也反映在用于承载元数据的头的大小。

区别九、应用

  1. 每一条TCP连接只能是点到点的;
  2. UDP支持一对一,一对多,多对一和多对多的交互通信 。
  3. 于UDP不需要建立连接,所以且适合多播的环境,UDP是大量使用在游戏和娱乐场所。

优点

TCP和UDP的优缺点也很明显了。UDP 优点:简单、传输快。

  1. 网速的提升给UDP的稳定性提供可靠网络保障,丢包率很低,如果使用应用层重传,能够确保传输的可靠性。

  2. TCP为了实现网络通信的可靠性,使用了复杂的拥塞控制算法,建立了繁琐的握手过程,由于TCP内置的系统协议栈中,极难对其进行改进。采用TCP,一旦发生丢包,TCP会将后续的包缓存起来,等前面的包重传并接收到后再继续发送,延时会越来越大,基于UDP对实时性要求较为严格的情况下,采用自定义重传机制,能够把丢包产生的延迟降到最低,尽量减少网络问题对游戏性造成影响。

缺点

不可靠,不稳定;

UDP应用场景:

  1. 面向数据报方式
  2. 网络数据大多为短消息
  3. 拥有大量Client
  4. 对数据安全性无特殊要求
  5. 网络负担非常重,但对响应速度要求高

TCP:

优点:可靠 稳定

TCP的可靠体现在TCP在传输数据之前,会有三次握手来建立连接,而且在数据传递时,有确认. 窗口. 重传. 拥塞控制机制,在数据传完之后,还会断开来连接用来节约系统资源。

缺点:慢,效率低,占用系统资源高,易被攻击

TCP应用场景:

当对网络质量有要求时,比如HTTP,HTTPS,FTP等传输文件的协议;POP,SMTP等邮件传输的协议。

原文地址:

https://blog.csdn.net/weixin_39789689/article/details/82560805

说明

本专栏总共汇总了150道题,每道题目答案没有多余扯皮的部分,就是单纯的答案。

关注公众号,每天一到面试题,为下次跳槽准备,人人都能冲击30k+,点击关注【鬼哥

当前进度【#012题】,如果你能点赞分享、鬼哥骑自行车也是开心的

浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报