TCP 和 UDP 的区别

您所在的位置:网站首页 udp协议和tcp协议有什么相同点和异同点 TCP 和 UDP 的区别

TCP 和 UDP 的区别

#TCP 和 UDP 的区别| 来源: 网络整理| 查看: 265

文章目录 前言 1. UDP 2. TCP 2.1 TCP 的三次握手 2.2 TCP 四次挥手 2.3 累计确认 2.4 顺序问题和丢包问题 2.5 流量控制的问题 2.6 拥塞控制的问题 总结及面试问题

前言

前端的面试中经常问的 TCP 和 UDP 的区别,网上也有好多内容,比如

TCP 和 UDP 的区别

TCP 是面向连接的,UDP 是面向无连接的 UDP程序结构较简单 TCP 是面向字节流的,UDP 是基于数据报的 TCP 保证数据正确性,UDP 可能丢包 TCP 保证数据顺序,UDP 不保证

之前也因为面试的原因了解过一下,但是面试官又问了为什么 TCP 是可靠传输,一下就露馅了,说不出来了,然后这两天就仔细了解了一下这方面的内容,还专门订阅了极客时间的趣谈网络协议,因此,这篇文章主要基于趣谈网络协议和自己的理解。

1. UDP

要想理解 TCP 和 UDP 的区别,首先要明白什么是 TCP,什么是 UDP

TCP 和 UDP 是传输层的两个协议

我们来看一下 UDP 的包头 UDP 包头 由上图可以看出,UDP 除了端口号,基本啥都没有了。如果没有这两个端口号,数据就不知道该发给哪个应用。

所以 UDP 就像一个小孩子,特别简单,有如下三个特点

UDP 的特点

沟通简单,不需要大量的数据结构,处理逻辑和包头字段 轻信他人。它不会建立连接,但是会监听这个地方,谁都可以传给它数据,它也可以传给任何人数据,甚至可以同时传给多个人数据。 愣头青,做事不懂变通。不会根据网络的情况进行拥塞控制,无论是否丢包,它该怎么发还是怎么发

因为 UDP 是"小孩子",所以处理的是一些没那么难的项目,并且就算失败的也能接收。基于这些特点的话,UDP 可以使用在如下场景中

UDP 的主要应用场景

需要资源少,网络情况稳定的内网,或者对于丢包不敏感的应用,比如 DHCP 就是基于 UDP 协议的。 不需要一对一沟通,建立连接ÿ


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3