入门UDP协议

UDP(User Datagram Protocol),又叫用户数据报协议。 UDP是一个无连接的、不可靠、基于数据报的传输协议。UDP只是报文(报文可以理解为一段段的数据)的搬运工,不会对报文进行任何拆分和拼装操作。

UDP协议的特点

  • UDP是无连接的,即发送数据之间不需要建立连接,因此减少了开销和发送数据之前的时延。
  • UDO使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态。
  • UDP是面向报文。发送方的UDP对应用程序交下来的报文在添加首部后就向下交付给IP层,对交下来的报文既不合并也不拆分。因此,应用进程必须选择合适大小的报文,若报文太长,UDP把它交付给IP层后,IP层在传送时可能要进行分片,这会降低IP层的效率;反之,若报文太短,UDO把它交给IP层后,会使IP数据报的首部的相对长度太大,也降低了IP层的效率。

在这里插入图片描述

UDP头部

在这里插入图片描述
UDP有数据字段和首部字段两个字段。首部字段只有8个字节,分别为源端口、目的端口、长度和检验和。检验和用于检测UDP用户数据报在传输中是否有错,有错就丢弃。

当运输层从IP层收到UDP数据报时,就根据首部中的目的端口,把UDP数据报通过相应的端口上交给进程。如果接方UDP发现收到的报文中的目的端口不正确就丢弃报文,并由ICMP发送“端口不可达”差错报文交给发送方。

在计算检验和时,要在UDP用户数据报之前增加12个字节的伪首部。“伪首部”并不是用户数据报真正的首部,只是在计算检验和时,临时添加在UDP数据报前面,得到一个临时UDP数据报。伪首部既不向下传送也不向上递交,仅仅是为了计算检验和。

UDP协议的使用场景

  • UDP适合于这样的进程:需要简单的请求-响应通信,而较少考虑流量控制和差错控制。对于需要传送成块数据的进程(如FTP)则不适合使用UDP。
  • UDP适合于具有内部流量控制和差错控制机制的进程,如简单文件传输协议TFTP。
  • UDP 提供了单播,多播,广播的功能。对多播来说,UDP是一个合适的传输协议。
  • UDP常用于交互实时应用,以避免接收报文之间的不一致延时。
  • UDP可用于管理进程,如SNMP。
    UDP 提供了单播,多播,广播的功能。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值