UDP
UDP只在IP数据报上增加了 差错控制 和 复用分用
特点:
-
传输层不保证可靠交付,网络层不保证可靠交付,可靠交付由应用层保证
-
UDP面向报文。UDP不会对应用层报文做切割和合并,会把应用层传下来的一个整个报文段 加上UDP首部,变成传输层。这也就注定了应用层传给传输层的数据部分不会太长或者太短(),尽量短小精悍。
-
由于不可靠。一次性传少量数据,损失的话也不大。
-
无拥塞控制,适合实时应用。比如视频电话,以恒定速率传输,也可以适当丢弃一些数据报,听的人多一点比较拥塞,可能少几帧,但是延迟不能有
-
UDP首部比较小 8B,但是TCP首部20B
UDP格式
- 源端口号 可以没有。期望回信的话,必须写上;不期望回信,全0
- 目的端口号一定有
- UDP长度 整个长度 首部+数据部分
- 检验和 检验整个UDP数据报是否有错。发送成功的报文一定不能出错,也就是比特错误不可以有,至于不可靠,指的是可以丢数据包。所以检验和是必要的
分用时,找不到目的端口就丢弃报文,返回给发送方一个ICMP 端口不可达差错报告报文
UDP首部只在校验的时候,会把IP首部拿过来一起校验,称作伪首部。既不上传也不向下传