计算机网络 UDP协议梳理

前言

本文梳理UDP协议
UDP:User Datagram Protocol,用户数据报文协议

UDP是一种无连接传输层协议,不像TCP那样需要服务器监听,也不必等待客户端与服务器建立连接后才能通信,当然,最后能否把数据传输成功,UDP是不能保证的。该服务对消息中传输的数据提供不可靠的、尽最大努力的传送。这意味着它不保证数据报的到达,也不保证所传送数据包的顺序是否正确。

TCP采用的是面向连接的报文段(数据段)方式,而UDP采用的是无连接的数据报传输方式。
TCP是以数据段(segment)为单位进行传输的,UDP是以数据报(datagram)为单位进行传输的。

UDP的主要特性

  • 无连接性
    UDP是无连接的,减少开销和发送数据之前的延迟。

  • 不可靠性
    因为UDP传输数据时是不需要事先建立专门的传输连接的,所以它的传输是不可靠的,会使用最大努力交付,即不保证可靠交付。

  • 以报文为边界
    UDP直接对应用层提交的报文进行封装、传输,但不拆分,也不合并,保留原来报文的边界。
    因此,UDP是报文流,而TCP是字节流。
    因为UDP不拆分报文,自然也就没有报文段之说,但UDP报文传输到网络层后,在网络层仍然可以根据网络的MTU值进行分割,所以适合一次性传输少量数据的网络应用。比如适用于一些短消息类的数据传输,如DHCP、DNS中的一些消息就是采用UDP进行传输的。

  • 无流量控制和拥塞控制
    使用UDP进行数据传输时不能进行流量控制和拥塞控制,因为这类数据传输的连续性要比数据的完整性更重要,允许数据在传输过程中有部分丢失,适合很多实时应用,如IP电话、流媒体通信等。

  • UDP首部开销小
    8B,TCP是20B

  • 支持各种交互通信方式
    TCP不支持组播、广播通信方式,只支持一对一的单播方式,但UDP支持各种通信方式,即可以是一对一、一对多、多对一和多对多的方式。

UDP报文

在这里插入图片描述
因为没有流量控制拥塞控制所以比较简单。

UDP校验

检测整个UDP数据报是否有错,错就丢弃或者交给应用层附上差错的警告。
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u014099894/article/details/112383512