high-concurrent-distributed
  • Introduction
  • RPC
    • RPC模式介绍
      • RPC概念
      • RPC核心过程/RPC需要解决的问题
      • RPC框架
    • 常见RPC技术
    • 网络协议分析
      • 网络七层
      • TCP
      • UDP
      • 应用层HTTP协议
  • 分布式系统Zookeeper
    • CAP理论
    • Zookeeper基础知识
      • Zookeeper介绍
      • Zookeeper基础
      • Zookeeper单机部署
      • Zookeeper配置文件详解、下载目录说明
      • Zookeeper工作流
      • Zookeeper CLI/客户端常用命令
      • Zookeeper leader选举
      • Java客户端介绍
        • 原生Zookeeper API
        • curator客户端
        • zkClient客户端
    • Zookeeper高级知识
      • Zookeeper集群
      • 典型的应用场景
        • 分布式配置中心
        • 分布式锁
        • 集群管理(Group Membership)
        • 统一的命名服务
        • zookeeper的注意事项
        • 队列管理
  • Dubbo框架
    • Dubbo介绍
    • Dubbo常见问题解析
Powered by GitBook
On this page
  • 概述
  • 协议
  • 参考文档

Was this helpful?

  1. RPC
  2. 网络协议分析

UDP

PreviousTCPNext应用层HTTP协议

Last updated 5 years ago

Was this helpful?

概述

UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP报文的协议号是17。

UDP协议全称是用户数据报协议 ,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天UDP仍然不失为一项非常实用和可行的网络传输层协议。

与所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。UDP协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。

协议

UDP是OSI参考模型中一种无连接的传输层协议,它主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序由应用层完成 [2] ,提供面向事务的简单不可靠信息传送服务。UDP 协议基本上是IP协议与上层协议的接口。UDP协议适用端口分别运行在同一台设备上的多个应用程序。

UDP提供了无连接通信,且不对传送数据包进行可靠性保证,适合于一次传输少量数据,UDP传输的可靠性由应用层负责。常用的UDP端口号有:

应用协议 端口号

DNS 53

TFTP 69

SNMP 161

UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差。但是正因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序,如DNS、TFTP、SNMP等。

UDP在IP报文中的位置如图所示。

参考文档

百度百科