UDP协议也是互联网基础协议之一。它和TCP一样同属于传输层当中的一个协议。

  不过UDP协议是一个面向无连接的协议(TCP是向面连接的协议)。一个UDP连接的建立,不必象TCP协议那样需要服务器端侦听,也不需要有客户机端请求连接和服务器端建立连接后双方才能通信。

  UDP数据报格式

  在这个数据报格式中,源端口是可选域,当其有意义时,指的是发送应用程序的UDP端口。如果不使用它,则在此域中填0。目的端口在有特定的目的网络地址时有意义,指目标应用程序的UDP端口。长度指的是此用户数据报长度的八进制表示(这表明最小的数据报长度是8)。校验和同样是一种简单的数学运算,用于检查UDP消息中的位级错误。是对IP头、UDP头和数据中信息包头的数位取反之和,再取反得到的。UDP协议包不具备TCP协议包复杂的可靠性与控制机制,没有“序列”和“确认”两个字段。

  UDP协议的主要特点

  UDP是一种无连接的、不可靠的传输层协议;

  在完成进程到进程的通信中提供了有限的差错检验功能;

  设计比较简单的UDP协议的目的是希望以最小的开销来达到网络环境中的进程通信目的;

  进程发送的报文较短,同时对报文的可靠性要求不高,那么可以使用UDP协议。

  UDP的基本工作过程

  UDP用户数据报传输过程中的封装与拆封

 

  UDP报文传输队列

  

 

  TCP/IP协议族中用端口号来标识进程;

  端口号是在0到65535之间的整数;

  客户程序随机选取的临时端口号;

  每一种服务器程序被分配了确定的全局一致的熟知端口号;

  每一个客户进程都知道相应的服务器进程的熟知端口号。

  UDP使用的熟知端口号

  

  UDP检验和的检验范围:

  伪头部

  UDP头

  应用层数据

  UDP协议的应用

  也许有的读者会问,既然UDP是一种不可靠的网络协议,那么还有什么使用价值或必要呢?其实不然,在有些情况下UDP协议可能会变得非常有用。因为UDP具有TCP所望尘莫及的速度优势。虽然TCP协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受到严重的影响。反观UDP由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。

  关于UDP协议的最早规范是RFC768,1980年发布。尽管时间已经很长,但是UDP协议仍然继续在主流应用中发挥着作用。包括视频电话会议系统在内的许多应用都证明了UDP协议的存在价值。因为相对于可靠性来说,这些应用更加注重实际性能,所以为了获得更好的使用效果(例如,更高的画面帧刷新速率)往往可以牺牲一定的可靠性(例如,会面质量)。这就是UDP和TCP两种协议的权衡之处。根据不同的环境和特点,两种传输协议都将在今后的网络世界中发挥更加重要的作用.

udp协议及包格式的更多相关文章

  1. 网络编程协议(TCP和UDP协议,黏包问题)以及socketserver模块

    网络编程协议 1.osi七层模型 应用层  表示层  会话层  传输层  网络层  数据链路层  物理层 2.套接字 socket 有两类,一种基于文件类型,一种基于网络类型 3.Tcp和udp协议 ...

  2. 网络编程协议(TCP和UDP协议,粘包问题)以及socketserver模块

    网络编程协议 1.osi七层模型 应用层  表示层  会话层  传输层  网络层  数据链路层  物理层 2.套接字 socket 有两类,一种基于文件类型,一种基于网络类型 3.Tcp和udp协议 ...

  3. 基于udp协议的套接字及udp协议粘包问题

    udp协议的套接字 udp协议传输  服务端和客户端没有建立连接一说. import socket # 总结一下基础工作流程:服务端生成套接字并绑定ip_port,进入数据传输循环,服务端接受客户端发 ...

  4. TCP 和 UDP 协议发送数据包的大小 (转载)

    MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII帧的结构DMAC+SMAC+Type+Data+CRC由于以太网传输电气方面的限制,每个以太网帧都有最小的大小 ...

  5. TCP和UDP 协议发送数据包的大小

    在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好? 当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的,这里仅对像ICQ一类的发送聊天消息的情况作分 ...

  6. IM通信协议逆向分析、Wireshark自定义数据包格式解析插件编程学习

    相关学习资料 http://hi.baidu.com/hucyuansheng/item/bf2bfddefd1ee70ad68ed04d http://en.wikipedia.org/wiki/I ...

  7. UDP协议学习(转)

    reference: https://blog.csdn.net/s_lisheng/article/details/73538229                  https://blog.cs ...

  8. TCP 、UDP、IP包的最大长度

    1.概述 首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层. 其中以太网(Ethernet)的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或UDP中的数据(Da ...

  9. Java中的UDP协议编程

    一. UDP协议定义   UDP协议的全称是用户数据报,在网络中它与TCP协议一样用于处理数据包.在OSI模型中,在第四层——传输层,处于IP协议的上一层.UDP有不提供数据报分组.组装和不能对数据包 ...

  10. java网络编程(2)InetAddress 类及udp协议

    InetAddress 类 JDK中为开发网络应用程序提供了java.net包,该包下的类和接口差点儿都是为网络编程服务的. InetAddress:用于描写叙述IP地址的对象 InetAddress ...

随机推荐

  1. python重拾第十一天-RABBITMQ队列

    安装python rabbitMQ module pip install pika 官网 https://pypi.python.org/pypi/pika 安装rabbit-server服务,cen ...

  2. 超大容量 | 瑞芯微RK3588J工业核心板新增16GB DDR + 128GB eMMC配置!

    作为瑞芯微的金牌合作伙伴,创龙科技在2023年9月即推出搭载瑞芯微旗舰级处理器RK3588J的全国产工业核心板--SOM-TL3588. SOM-TL3588工业核心板是基于瑞芯微RK3588J/RK ...

  3. Linux运行等级

    Linux运行级别 Linux system存在7个运行级别 运行级别0:所有进程终止,机器将有序停止,关机时就处于这个运行级别 运行级别1:单用户模式(root用户进行维护),系统中所有的服务也不会 ...

  4. test20230824总结

    A 怎么是重构树板子,放在图上都是水题. B 考场上只打了一个暴力,赛后发现似乎是很可做的 C 是一个考察状态设计的 dp 以后要多刷 D 是一道数据结构优化 dp 考场上写出来了却因为空间问题挂了 ...

  5. SAM & 广义 SAM & SA 学习笔记

    SAM 定理 SAM 由 parent 树与一张 DAG 构成,他们共用点集. \(endpos(s)\) 表示 \(s\) 出现的所有位置上最后一个字符所处位置的集合. SAM 中 DAG 上每条路 ...

  6. P2918

    [USACO08NOV]Buying Hay S 题意描述 约翰的干草库存已经告罄,他打算为奶牛们采购 H(1 \leq H \leq 50000)H(1≤H≤50000) 磅干草. 他知道 N(1 ...

  7. [oeasy]python005_退出游乐场_重启游乐场_系统态shell_应用态_quit

    退出终端_重启游乐场_shell_quit Python 回忆 上次 了解了 python 进入了 python 游乐场   在游乐场 可以做 简单的计算 还可以做 乘方运算   数字特别大之后 游乐 ...

  8. JavaScript小面试~~JavaScript实现图片懒加载,多方式解决加载过多问题

    图片懒加载,就是滚动页面时,图片未出现在可视局域时不加载图片,只有图片出现在可视区域才加载. 思路:通过上面一段话,实现图片懒加载需要知道: 绑定滚动事件 可视窗口高度(VH) 图片元素距离可视局域顶 ...

  9. MiniAuth 一个轻量 ASP.NET Core Identity Web 后台管理中间插件

    MiniAuth 一个轻量 ASP.NET Core Identity Web 后台管理中间插件 「一行代码」为「新.旧项目」 添加 Identity 系统跟用户.权限管理网页后台系统 开箱即用,避免 ...

  10. typora下载安装以及notepad++下载安装

    notepad++下载安装 找到浏览器输入:notepad或者 https://notepad-plus-plus.org/downloads/ 官网下载即可使用 如果官网崩了,可以在微信公众号:A软 ...