您的位置:首页 > 理论基础 > 计算机网络

网络详解 - 传输层(1)UDP 介绍

2018-02-28 17:43 148 查看
UDP,全名:User Datagram Protocol,就是用户数据报协议,是一个简单的面向数据报的传输层协议。

在TCP/IP模型中,UDP为网络层以上和应用层以下提供了一个简单的接口。UDP只提供数据的不可靠传递,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份(所以UDP有时候也被认为是不可靠的数据报协议)。UDP在IP数据报的头部仅仅加入了复用和数据校验(字段)。



UDP报头包括4个字段,每个字段占用2个字节(即16个二进制位),源端口Source port、目标端口Destination port、长度Length、校验和Checksum

在IPv4中,“来源连接端口”和“校验和”是可选字段(以粉色背景标出)。在IPv6中,只有来源连接端口是可选字段。

校验和计算

当 UPD 的下层协议为IPv4的时候,在做校验和计算的时候需要添加一个伪头部,这个头部包含一些真实的IP数据报中的信息,但是和真实发生的数据报还是有一定的区别的。



在上图中中,计算校验和的参数有,源地址目标地址填充0部分协议UDP数据报长度以及UDP数据报的字段,和数据字段(不满足偶数字节,需添加一个全0的字节),计算的方法还是反码求和运算。



使用 IPv6 时候,包含的信息其实差不多,只是相应的长度变化而已。其中有源地址目标地址UDP数据报长度填充0部分下一个头部协议(和IPv4中协议字段含义一致)以及UDP数据报。

UDP 特性

UDP 这个协议是面向报文、无连接、尽最大努力交付,并且只是简单将IP层进行复用分用,不会对数据报的错误丢包重复数据报进行差错处理。比如在TFTP协议中,使用的是UDP协议,但是需要对数据报的正确性进行控制,就可以将差错控制增加在应用层中。

通常UDP是使用的不可靠机制,数据报无法得到保障,但是UDP协议简单,而且速度快,对资源的占用少。所以会在很多的场合使用,比如流媒体DNSVoIP多人对战。在这些例子中,丢包并不是致命问题,而且使用UDP可以有效的减少资源的占用。如果需要保证数据报的可靠性,可以选择TCP协议.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  udp 网络