• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

TCP和UDP协议

武飞扬头像
愉快的马儿
帮助3

目录

TCP和UDP的区别

我们大多数人的回答是,TCP是面向连接的,UDP是面向无连接的。
那么什么是面向连接,什么是面向无连接?,再互通之前,面向连接的协议会先建立连接,例如:TCP会三次握手, 而UDP不会。
所谓的建立连接,是为了在客户端和服务端维护连接,而建立一定的数据结构来维护双方交互的状态,用这样的数据结构来保证所谓的面向连接的特性。

例如:TCP提供可靠交付

  1. 无差错
  2. 不丢失
  3. 不重复
  4. 按序到达

而UDP更像,前面那讲提到过的,IP包,不保证不丢失,不保证按顺序到达

再比如,TCP面向字节流,发送没头没尾,IP包是一个一个的包,UDP继承了IP的特性,基于数据报,一个一个发,一个一个收

还有TCP是有拥塞控制的,可以根据情况调整自己的行为,看看是不是发快了,要不要发慢一点,UDP就不会,应用让我发,我就发,管它能不能接收

所以也可以说,TCP其实是有一个有状态服务,通俗的讲就是有脑子的,错一点都不行,而UDP是无状态服务,没有脑子,像发啥就发出去了

我们可以这样比喻,如果 MAC 层定义了本地局域网的传输行为,IP 层定义了整个网络端到端的传输行为,这两层基本定义了这样的基因:网络传输是以包为单位的,二层叫帧,网络层叫包,传输层叫段。我们笼统地称为包。包单独传输,自行选路,在不同的设备封装解封装,不保证到达。基于这个基因,生下来的孩子 UDP 完全继承了这些特性,几乎没有自己的思想。

UDP

特点:

  1. 沟通简单,没有大量的数据结构,处理逻辑,包头字段
  2. 可以传多个数据,也可以接收多个数据
  3. 不知道什么时候该进行发包的拥塞控制,无论网络丢包成啥样了,它该怎么发还怎么发

使用场景

第一,需要资源少,在网络情况比较好的内网,或者对于丢包不敏感的应用

DHCP 就是基于 UDP 协议的。一般的获取 IP 地址都是内网请求,而且一次获取不到 IP 又没事,

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfiajie
系列文章
更多 icon
同类精品
更多 icon
继续加载