UDP概述
- user datagram protocol,用户数据报协议
- 不可靠、无连接
UDP首部格式
源端口 | 目的端口 |
---|---|
16bits | 16bits |
长度 | 校验和 |
---|---|
16bits | 16bits |
- 端口
– 与TCP大致相同。当不需要对方回消息时,源端口可以指定为0 - 长度
– 包括了头部和数据的总长度。因为UDP的头部是固定的,所以不需要字段标识头部长度。
– IP、TCP的头部存在可选项,导致头部长度不定,因此IP头和TCP头需要有头部长度字段。
– TCP没有总长度字段,只有头部长度字段;IP则同时存在头部长度和总长度两个字段 - 校验和
– 和TCP不同的是,该字段对UDP来说是可选的,如果没有计算校验和那么这16bits填0。虽然是可选的但空间还是要占用的
UDP校验和计算
概述
- 需要从IP层获取信息构造一个伪首部后再进行计算
- 计算方法和IP头的校验和一致,按16位分组然后进行异或
伪首部格式
源IP |
---|
目的IP |
填充 | 协议 | UDP长度 |
---|
端口
- protocol port number,协议端口号,范围[0~65535]
- 端口分类
– 系统端口(0~1023)
– 登记端口(1024~49151),需在IANA上登记以避免重复
– 客户端使用端口(49152~65535)
常见端口
协议端口号 | 名称 | 功能 |
---|---|---|
20 | FTP-DATA | ftp协议用于数据传输 |