UDP协议
Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagram Protocol)。UDP为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。RFC 768 描述了 UDP。 Internet 的传输层有两个主要协议,互为补充。无连接的是UDP,它除了给应用程序发送数据包功能并允许它们在所需的层次上架构自己的协议之外,几乎没有做什么特别的事情。面向连接的是TCP,该协议几乎做了所有的事情。
1.UDP协议概述
1.1基于IP协议略微改进
UDP协议是位于传输层的协议,是一种无连接的传输协议。 UDP协议是基于IP协议存在的,在IP协议的服务基础之上,又加入了:
可以说UDP协议就是把IP协议进行简单处理后暴露给了网络层
1.2不可靠性
由于UDP协议是无连接的不可靠协议,UDP只进行一种尽力而为的数据传输模式,UDP的不可靠性体现在:
1.3无连接
UDP协议的无连接意义是:
- UDP数据报的发送方和接收方之间不需要通过“握手”建立连接,发送准备的时延小
- 每个UDP数据报的处理是相独立的
1.4UDP协议存在的意义
- UDP协议不需要建立连接,从而能减少时延
- UDP协议的实现简单,不需要维护通信双方的连接
- UDP协议的报文段头部开销少,所以在传输时能更有效地传输有用数据
- UDP协议没有拥塞控制,不考虑拥塞问题应用可以更好地控制数据的发送时间和速率
2.UDP报文段
2.1UDP报文段格式
- 源端口号(source port):指明发送UDP报文段的进程
- 目的端口号(dest port):指明接收UDP报文段的进程,用于传输层的多路分用和复用
- 长度(length):表示包含头部在内的整个UDP数据报的长度
- 校验和(checksum):用于检验UDP报文段的传输是否发生错误
2.2校验和及其计算
计算校验和 校验和计算示例
|