【Java 网络编程】UDP 简介

简介: 【Java 网络编程】UDP 简介

文章目录

I UDP 简介

II UDP 不可靠性

III UDP 作用

IV UDP 报文头

V UDP 数据包长度



I UDP 简介


1. UDP : User Datagram Protocol , 用户数据报协议 , 又叫用户数据报文协议 ;


2. UDP 协议特点 : UDP 是面向数据报的传输层协议 , UDP 协议是基于报文的协议 , 不是面向连接的协议 ; UDP 的发送和接收是不需要建立连接的 , 只需要发送 , 及在对应的设备上监听指定端口接收即可 ;




II UDP 不可靠性


1. UDP 与 TCP : UDP 是面向数据报的 , TCP 是面向连接的 , UDP 传输不可靠 , TCP 传输可靠 ;


2. 没有备份 : UDP 在网络层中 , 将上层传给网络层数据封装后发送出去 , 这些数据是不保留备份的 ; 如果发送失败 , 就失败了 ;


3. UDP 对 IP 数据报处理 : UDP 协议中在该数据报头部加入了数据校验字段和复用相关字段 ;


4. 发送端接收端操作 : UDP 协议传输中 , 发送端封装数据 , 接收端接收数据时从网络中抓取发送给自己的数据包 , 如果客户端发送的数据包与接收端抓取数据包没有同步 , 那么接收端可能就收不到该数据 ;


5. UDP 协议特点 : UDP 协议中是没有标准的客户端与服务器端的 , 其结构简单 , 不用进行数据的校验 , 速度延迟很低 , 可以广播 , 其缺点也很明显 , 就是可靠性低 , 容易丢包 ;




III UDP 作用


1. 用作底层协议 : DNS , TFTP , SNMP 协议都是基于 UDP 协议的 , 其底层的数据传输机制使用的是 UDP 协议 ;


2. 应用场景 : UDP 可以用于视频 , 音频 , 不重要的数据传输 ; 直播 , 电视信号传输可以使用 UDP 协议传输 , 视频下载使用的是 TCP 传输 , 因为其要保证文件的正确性 ;




IV UDP 报文头


UDP 报文头 : 长度 64 位 , 8 字节 , 0 ~ 15 位 存储源端口号 , 16 ~ 31 位存储目标端口号 , 32 ~ 47 位 是数据长度 , 48 ~ 63 存储报文头和数据的校验和 ;




V UDP 数据包长度


UDP 报文头中存储的长度信息 16 位 , 即 2 字节 , 其最大可表示的数字时 2 16 − 1 = 65535 2^{16} - 1 = 655352

16

−1=65535 , 自身的报文头占了 64 位 , 8 字节 , UDP 数据包的最大长度是 65535 − 8 = 65507 65535 - 8 = 6550765535−8=65507 字节 , 大约 64 KB ;


目录
相关文章
|
5天前
|
Java 机器人 大数据
如何在Java中进行网络编程:Socket与NIO
如何在Java中进行网络编程:Socket与NIO
|
1天前
|
Java API
Java网络编程实战指南与示例代码
Java网络编程实战指南与示例代码
|
2天前
|
Java Spring
Java中的网络编程实践指南
Java中的网络编程实践指南
|
2天前
|
jenkins Java 测试技术
Java中Jenkins的应用简介
Java中Jenkins的应用简介
4 0
|
3天前
|
设计模式 Java
【Java设计模式 - 专栏开篇简介】 java设计模式开篇
【Java设计模式 - 专栏开篇简介】 java设计模式开篇
5 0
|
3天前
|
小程序 Java 关系型数据库
基于Java网络商城系统设计和实现(源码+LW+调试文档+讲解等)
基于Java网络商城系统设计和实现(源码+LW+调试文档+讲解等)
|
4天前
|
开发框架 Oracle Java
一篇文章讲明白Java简介
一篇文章讲明白Java简介
|
5天前
|
Java 机器人 程序员
如何在Java中进行网络编程?
如何在Java中进行网络编程?
|
5天前
|
SQL 安全 Java
Java中的网络安全与防护技巧
Java中的网络安全与防护技巧
|
23天前
|
网络协议 算法 Linux
【嵌入式软件工程师面经】Linux网络编程Socket
【嵌入式软件工程师面经】Linux网络编程Socket
40 1

热门文章

最新文章