1.UDP协议概述

UDP是User Datagram Protocol(用户数据协议)的简称,是一种无连接的协议,该协议工作在OSI模型中的第四层(传输层),处于IP协议的上一层。传输层的功能就是建立“端口到端口”的通信,UDP提供面向事务的简单的不可靠信息传送服务。

2.什么是UDP协议

UDP协议是一种无连接的协议,该协议用来支撑那些需要在计算机之间传输数据的网络应用,包括网络视频会议系统在内的众多客户/服务器模式的网络应用。

UDP协议的主要工作就是将网络数据流量压缩成数据包的形式。一个经典的数据包就是一个二进制数据的传输单位。每一个数据包的前8字节用来包含包头信息,剩余字节则用来包含具体的传输数据。

3.UDP协议的特点

UDP使用底层的互联网协议来传送报文,同IP一样提供不可靠的无连接传输服务。它也不提供报文到达确认、排序及流量控制等功能。下面详细介绍UDP协议的特点,如下所示:

1.UDP是一个无连接的协议,也就是传输数据之前,源端口和目标端口不能建立连接。当它想传输时,就简单地抓取来自应用程序的数据,并尽可能快的把它扔到网络上。在发送端,UDP传输数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽限制。在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。

上图就是UDP协议与普通协议的简单区别

2.由于传输数据不建立连接,因此也就不需要维护连接状态。所以,一台服务器可同时向多个客户机传输相同的消息。

3.UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。

  ******4.吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端口和目标端口主机性能的限制。******5.UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表。6.UDP是面向报文的。发送方的UDP对应用程序传输下来的报文,添加首部后就向下传送给IP层。既不拆分,也不合并,而是保留这些报文的边界。因此,应用程序需要选择合适的报文大小。虽然UDP是一个不可靠的协议,但它是分发信息的一个理想协议。例如,在屏幕上报告股票市场,在屏幕上显示航天信息等等。UDP也用在路由信息协议RIP(Routing Information Protocol)中修改路由表。在这些应用场合下,如果有一个消息丢失,几秒之后另一个新的消息就会替换它。UDP广泛用在多媒体应用中,例如,Progressive Networks公司开发的RealAudio软件,它是在因特网上把预先录制的或者现场音乐实时传送给客户机的一种软件。该软件使用的RealAudio audio-on-demand protocol 协议就是运行在UDP之上的协议。大多数因特网电话软件产品也都运行在UDP之上,如QQ聊天、视频、网络电话、迅雷等。

UDP协议的简单概述相关推荐

  1. python udp客户端 服务器实现方式_python3实现UDP协议的简单服务器和客户端

    利用python中的socket模块中的来实现UDP协议,这里写一个简单的服务器和客户端.为了说明网络编程中UDP的应用,这里就不写图形化了,在两台电脑上分别打开UDP的客户端和服务端就可以了. UD ...

  2. java udp简单聊天程序_Java基于UDP协议实现简单的聊天室程序

    最近比较闲,一直在抽空回顾一些java方面的技术应用. 今天没什么事做,基于udp协议,写了一个非常简单的聊天室程序. 现在的工作,很少用到socket,也算是对java网络编程方面的一个简单回忆. ...

  3. java udp 聊天室_Java基于UDP协议实现简单的聊天室程序

    最近比较闲,一直在抽空回顾一些Java方面的技术应用. 今天没什么事做,基于UDP协议,写了一个非常简单的聊天室程序. 现在的工作,很少用到socket,也算是对Java网络编程方面的一个简单回忆. ...

  4. 扒一扒TCP协议与UDP协议

    TCP服务的特点 (1)面向连接:使用TCP协议通讯的双方必须先建立连接,然后才能开始数据的读写.双方都必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输.TCP链接是全双工的,即双方 ...

  5. LWIP之UDP协议

    IP协议提供了在各个主机之间传送数据报的功能,但是数据的最终目的地是主机上的特定应用程序.传输层协议就承担了这样的责任,典型的传输层协议有UDP和TCP两种.许多著名的上层应用都是基于UDP实现的,比 ...

  6. java,UDP协议简单实现

    //UDP协议简单实现-----Serverpackage UDP;import java.net.DatagramPacket; import java.net.DatagramSocket; im ...

  7. 【学习笔记】传输层:概述、UDP协议

    文章目录 一. 概述 1)传输层的寻址与接口 二. UDP协议 1)定义 2)首部格式 3)UDP检验 一. 概述 是主机才有的层次 两个协议:TCP & UDP TCP面向连接,UDP则不是 ...

  8. 从入门到入土:基于C语言采用UDP协议实现远程控制|详细说明|利用流套接字实现一个简单的远程控制系统|代码展示

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  9. 计算机网络-传输层(传输层概述,TCP,UDP协议概述)

    文章目录 1. 传输层概述 2. TCP,UDP协议概述 3. 传输层的寻址与端口 1. 传输层概述 传输层是只有主机才有的层次. 传输层功能: 传输层提供进程和进程之间的逻辑通信. 网络层提供主机到 ...

最新文章

  1. ATLAS入门篇之CascadingDropDown控件编程
  2. 【深度学习入门到精通系列】关于梯度下降和反向传播的探索
  3. 数字图像处理之归一化方法
  4. python高精度加法_14.高精度加法
  5. android文件导出错误—— failed to pull a selection
  6. python标准库os中用来列出_Python 标准库 os 中用来列出指定文件夹中的文件和子文件夹列表的方式是listdir()。_高职高专数字资源平台答案_学小易找答案...
  7. Spark入门(十三)之分组求平均值
  8. 使用RabbitMQ的SpringBoot消息传递
  9. python csv 排序_python数据清洗
  10. 贵州省二级分类土地利用数据(矢量)
  11. CentOS Postfix 安装构架全解
  12. java进销存系统--采购入库
  13. Javaweb项目导出Excel文件无法下载问题
  14. SofaRpc源码学习篇-netty以及跟dubbo骚操作,负载均衡
  15. github网站进不去怎么办
  16. 流程图设计(html+css+js)
  17. 基于秘密共享的MPC:GMW、BGW、Beaver triple
  18. 用WIN7装oracle10g的步骤
  19. Pytorch学习之神经网络参数管理
  20. linux运维工程师命令,Linux运维工程师的常用Linux命令汇总

热门文章

  1. A Beginner's Guide To Understanding Convolutional Neural Networks
  2. 【运筹学】对偶理论 : 对称形式 ( 对称形式 | 对偶模型转化实例 | 对偶问题规律分析 )
  3. 项目实训-智能生物序列分析平台-药物推荐后端日志
  4. 一、编写函数 1、 编写变异系数、极差、平均差、异众比率的函数;
  5. LIMS实验室信息管理系统、LIMS系统、样本中心、样本库、报告中心、探针、试剂盒、fish检测、药物管理、基因检测、容器管理、病理诊断、核酸质检、血浆分离、核酸提取、混样处理、文库质检、Axure
  6. 三坐标检测之小测针的使用
  7. Android中自定义view的onMeasure()方法详谈
  8. 又双叒叕来了,Lemon-JMeterPerfReport5.0alpha版本发布
  9. 某短视频(dy)创作者平台发布视频JS逆向学习(1)
  10. Craps赌博游戏、百钱白鸡、七星彩选号、抓小偷、21根火柴、10000以内完美数