TCP/IP(五):UDP 报文格式详解
1、概述
UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
在UDP协议层次模型中,UDP位于IP层之上。应用程序访问UDP层然后使用IP层传送数据报。IP数据包的数据部分即为UDP数据报。IP层的报头指明了源主机和目的主机地址,而UDP层的报头指明了主机上的源端口和目的端口。UDP传输的段(segment)有8个字节的报头和有效载荷字段构成。
UDP报头由4个域组成,其中每个域各占用2个字节,具体包括源端口号、目标端口号、数据报长度、校验值。
2、报文格式
端口号:两个字节,UDP协议使用端口号为不同的应用保留其各自的数据传输通道。数据发送一方(可以是客户端或服务器端)将UDP数据包通过源端口发送出去,而数据接收一方则通过目标端口接收数据。
长度:数据报的长度是指包括报头和数据部分在内的总字节数。
校验值:检测UDP数据报在传输中是否有错,有错则丢弃,对报头和数据一起校验。该字段是可选的,当源主机不想计算校验和,则直接令该字段全为0。在计算校验和的时候,需要在UDP数据报之前增加12字节的伪首部,伪首部并不是UDP真正的首部。只是在计算校验和,临时添加在UDP数据报的前面,得到一个临时的UDP数据报。校验和就是按照这个临时的UDP数据报计算的。伪首部既不向下传送也不向上递交,而仅仅是为了计算校验和。这样的校验和,既检查了UDP数据报,又对IP数据报的源IP地址和目的IP地址进行了检验。
UDP校验和的计算方法和IP数据报首部校验和的计算方法相似,都使用二进制反码运算求和再取反,但不同的是:IP数据报的校验和之检验IP数据报和首部,但UDP的校验和是把首部和数据部分一起校验。
校验时,若UDP数据报部分的长度不是偶数个字节,则需要填入一个全0字节,但是次字节和伪首部一样,是不发送的。
TCP/IP(五):UDP 报文格式详解相关推荐
- tcp报文格式udp报文格式详解
http://blog.csdn.net/a19881029/article/details/29557837 TCP(Transmission Control Protocol)传输控制协议是一种面 ...
- 54.UDP报文格式详解
相比 TCP 协议,UDP 协议的报文结构相对简单.本节将详细讲解 UDP 报文的格式. UDP 报文格式 每个 UDP 报文分为 UDP 报头和 UDP 数据区两部分.报头由 4 个 16 位长(2 ...
- 数据帧、IP数据包、TCP、UDP报文格式详解----网络通信原理
数据链路层.网络层.传输层----网络通信原理 物理层 数据链路层 eNSP抓包实验 网络层 ICMP协议概述 eNSP抓包实验 ARP协议概述 eNSP抓包实验 传输层 TCP协议 eNSP抓包 三 ...
- TCP/IP 协议栈及 OSI 参考模型详解
TCP/IP 协议栈及 OSI 参考模型详解 转载地址:http://www.codeceo.com/article/tcp-ip-osi-model.html OSI参考模型 OSI RM:开放系统 ...
- 【Linux网络编程】TCP 和 UDP 数据报格式详解
TCP 报文格式 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议. TCP 报文段的报头有 10 个必需的字段和 ...
- TCP/IP:SCTP报文格式
目录 SCTP通用报文格式 SCTP ABORT报文格式 SCTP COOKIE ACK格式 SCTP COOKIE ECHO数据块格式 SCTP DATA数据块格式 SCTP ERROR数据块格式 ...
- icmp报文格式_TCP/IP(二):IP报文格式详解
1. IP 报文格式 0bit是指位于最左边的最高位,31bit是指位于最右边的最低位,4个字节的32bit按照 bigendian(大端格式:低字节位于高地址)字节序传输:首先是0~7bit,其次 ...
- TCP/IP 协议栈及 OSI 参考模型详解--云平台技术栈04
导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的tcp/ip和网络! 来源:王东裕 http://wangdy.blog.51cto.com/3845563/1588379 OS ...
- ICMP报文格式详解
1 引言 2 ICMP报文的类型 3 ICMP地址掩请求与应答 4 ICMP时间戳请求与应答 5 ICMP端口不可达差错 1 引言 ICMP经常被认为是IP层的一个组成部分.它传递差错以及其他需要注意 ...
最新文章
- 人生赢家的三个最基本标准
- SpringCloud 教程 | 第二篇: 服务消费者(rest+ribbon)
- QQ亿级日活跃业务后台核心技术揭秘
- 158行代码!程序员复现DeepMind图像生成神器
- spo2数据集_Arduino 血氧心率模块传感器数据采集
- mel表达式_maya 2012 mel 表达式编辑器
- boost::contract模块实现check的测试程序
- ListView下拉刷新、上拉载入更多之封装改进
- gulp压缩css文件夹,使用 gulp 压缩 CSS
- 音标,口型,舌位对照表:适合已有一定英语基础的人重新回顾音标发音,在不断的练习中让自己的发音更准确,口型更标准。...
- java实例_Java线程方式及实例
- python searchsorted_Python 二分查找与 bisect 模块
- B-002 电容基础知识
- Windows系统没有目标位置的快捷方式及其目标文件获取
- 第11章 枚举与泛型
- 三星手机动态修改分辨率信息
- 单独使用Quartz 2.1.7 时Job属性Spring无法注入
- 猴子也能学会的jQuery第七期——jQuery动画(上)
- VNC Viewer建立多个图形界面,来远程访问同一个服务器(Ubuntu)
- 计算机专业该如何学习:大一篇