TCP/IP协议栈 之 UDP协议
来源:互联网 发布:淘宝优化软件 编辑:程序博客网 时间:2024/04/28 11:56
用户数据文协议 ( UDP )
UDP是一种基于IP协议的不可靠传输协议,在IP数据的位置如下:
IP头部(20字节)+ [ UDP头(8字节)+ UDP数据 ]
UDP协议是TCP/IP的传输协议的一部分,与TCP的传输不一样,它提供无连接的、不可靠的传输服务。UDP协议把应用程序需要传递的数据发送出去,不提供发送数据包的顺序;接收方不向发送方发送接收的确认消息,如果出现丢包或者重包的现象,也不会向发送方发送反馈,因此不能保证使用UDP协议的程序发送的数据一定到达了接收方或者到达接收方的数据顺序和发送方的一致性。
使用UDP协议传输数据的应用程序,必须自己构建发送数据的顺序机制和发送接收的确认机制,以此来保证发送数据的正确到达,保证接收数据的顺序与发送数据的一致性。
1、UDP的数据格式
UDP传输数据时的字段格式如下:
源端口号(16位)
目的端口号(16位)
UDP数据长度(16位)
UDP校验和(16位)
数据
- 源端口号和目的端口号分别是一个16位的字段,用来给表示发送方和接收方的UDP端口。
- UDP数据长度表示UDP头部和UDP数据段的长度,单位为字节。由于UDP头部为8个字节,因为发送UDP的长度字段最少为8个字节。UDP的长度与IP协议的长度有关联性,字段最少为8字节。UDP的长度与IP协议的长度有关联性,IP的长度指的是数据的全长,UDP的长度等于IP的长度减去IP头部的长度。
- UDP校验和表示整个UDP字段的CRC16校验和,它的计算方法与IP字段是一致的。UDP的校验和字段是可选的,即可以不进行CRC校验,此时校验和部分为全0。UDP校验和允许的数据为奇数长度,此时要加一个空字节,即全0的字节进行填充,这个字节仅仅为了方便计算校验和,不发送到目的地址。
0 0
- TCP/IP协议栈 之 UDP协议
- TCP/IP 协议之 UDP协议
- TCP/IP协议族简介 — TCP/IP协议栈之UDP协议
- TCP、IP、UDP协议
- TCP、UDP、IP协议
- TCP/IP/UDP 协议
- TCP、UDP、IP协议
- TCP、UDP、IP协议
- TCP/IP、UDP协议
- TCP/IP协议族之运输层协议 ( UDP, TCP)
- TCP/IP协议族之运输层协议 ( UDP, TCP)
- TCP/IP协议族之运输层协议 ( UDP, TCP)
- TCP/IP协议栈 之 TCP协议
- TCP/IP协议栈 之 IP协议
- TCP/IP协议栈传输层协议(TCP/UDP)
- TCP/IP协议学习之五(UDP协议)
- Http、TCP/IP、UDP 协议栈
- TCP、UDP、IP 协议分析
- Android Studio Gradle实践之多渠道自动化打包+版本号管理
- JSON(java)之间的互相转换
- 基于java的人机猜拳游戏
- APK反编译实录
- 系统调用与库函数调用
- TCP/IP协议栈 之 UDP协议
- rabbitmq 安装与配置
- Unity中碰撞时触发事件
- 同步异步阻塞非阻塞Reactor模式和Proactor模式 (目前JAVA的NIO就属于同步非阻塞IO)
- android-Data Binding入门使用
- Longest Absolute File Path
- ios10适配
- 程序运行时间检测
- linux查找目录下的所有文件中是否含有某个字符串