网络协议 -- 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那么复杂的机制,而是根据实际场景,实现 自定义的可靠性和连接保证

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

查看所有标签

猜你喜欢:

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

One Click

One Click

Richard L. Brandt / Portfolio Hardcover / 2011-10-27 / 25.95

An insightful look at how Amazon really works and how its founder and CEO makes it happen. Amazon's business model is deceptively simple: make online shopping so easy and convenient that customers ......一起来看看 《One Click》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具