网络协议 -- UDP

栏目: 服务器 · 发布时间: 6年前

  1. TCP是 面向连接 的,而UDP是 面向无连接
    • 在互通之前,面向连接的协议会先 建立连接 ,例如TCP会进行 三次握手
    • 建立连接
      • 建立连接,是为了在客户端和服务端之间 维护连接 ,而建立一定的数据结构来 维护双方交互的状态
      • 用这样的数据结构来保证所谓的面向连接的特性
  2. TCP提供 可靠交付
    • 通过TCP连接传输的数据, 无差错、不丢失、不重复、按序到达
    • IP包没有任何可靠性保证, UDP继承了IP包的特性 ,不保证不丢失,不保证按序到达
  3. TCP是面向 字节流 的,发送的时候是一个流,没头没尾,IP包不是一个流,而是一个个的IP包
    • UDP继承类IP的特性,基于 数据报 的,一个一个地发,一个一个地收
  4. TCP支持 拥塞控制 ,当它意识到包丢失或者网络环境不好时,会根据情况调整自己的行为
    • UDP不会理会网络环境的好坏,只管发
  5. 因此,TCP是 有状态服务 ,而UDP是 无状态服务

UDP Header

网络协议 -- UDP
  1. IP头里面有一个8位字段,会区分传输层使用的是UDP还是TCP
  2. 处理完传输层的事情,内核的事情就基本处理完了,然后按照 端口号 ,将里面的数据交给对应的应用程序去处理

UDP的特点

  1. 沟通简单 :不需要大量的数据结构、处理逻辑、包头字段,相信网络环境是美好的,数据报很容易送达
  2. 轻信他人 :不会建立连接,监听某个端口,所有人都能给它发数据,它也可以给任何人发数据
  3. 愣头青 :不会根据网络环境的好坏进行发包的拥塞控制,无论网络丢包如何,该怎么发还是怎么发

UDP的使用场景

  1. 需要资源少,在网络情况比较好的内网,或者对于丢包不敏感的应用
    • DHCP就是基于UDP协议,一般获取IP地址都是内网请求,而且一次获取失败影响不大
  2. 不需要建立连接进行一对一沟通,而是可以广播的应用
    • UDP面向非链接的功能,可以承载广播或者多播的协议,DHCP是广播的一种形式
  3. 需要处理速度快、延时低,可以容忍少数丢包,但要求即使网络拥塞,也要继续发包
    • TCP在网络不好出现丢包时,拥塞控制策略会主动退缩,降低发送速度,这会让用户感觉更卡
    • 现在很多应用都要求低延时,并不想使用TCP那么复杂的机制,而是根据实际场景,实现 自定义的可靠性和连接保证

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

构建之法(第三版)

构建之法(第三版)

邹欣 / 人民邮电出版社 / 2017-6 / 69.00元

软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较空洞乏味的课程。 但是,软件工程 的技术对于投身 IT 产业的学生来说是非常重要的。作者有在世界一流软件企业 20 年的一线软件开 发经验,他在数所高校进行了多年的软件工程教学实践,总结出了在 16 周的时间内让同学们通过 “做 中学 (Learning By Doing)” 掌握实用的软件工程技术的教学计划,并得到高校师生的积极反馈。在此 ......一起来看看 《构建之法(第三版)》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具