Unix Network Programming(3)---UDP

本文深入探讨了UDP协议的核心概念,包括其不可靠性、无连接性以及与其他协议如TCP的区别。阐述了UDP如何在IP数据报上封装消息,并在应用层实现数据传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UDP—用户数据报协议(User Datagram Protocol)是一个不可靠,无连接协议。UDP套接字是一种数据报套接字(datagram socket)。UDP既可使用IPv4,也可使用IPv6。

UDP概要

UDP是一个简单的传输层协议。应用进程往一个UDP套接字写入一个消息,该消息随后被封装到一个UDP数据报,再被封装到一个IP数据报,然后发送到目的地。

  • 不可靠:UDP不能保证UDP数据报会到达最终目的地,不保证各个数据报在跨越网络后到达的先后顺序不变,也不保证每个数据报只到达一次。
    如果一个数据报到达目的地后,经过校验和检测发现错误,或者数据报在网络传输中被丢弃,它就无法在服务器端被投递给UDP套接字,也不会被源端重传。解决:要想确保一个数据报到达目的地,就要在应用程序中添加特性:来自对端的确认,本端的超时与重传。

  • 有长度:每个UDP数据报都有一个长度,在正确到达目的地后,这个长度都会随数据一道传递给接收端应用进程。(TCP是一个字节流协议,没有任何记录边界,与UDP不同)

  • 无连接:UDP客户与服务器之间不存在任何长期关系。举例来说,一个UDP客户可以是用同一个套接字创建不同的数据报给不同的服务器;一个UDP服务器也可以使用同一个套接字从若干个不同的客户接收数据报,每个客户一个数据报。


FIXME:具体细节(TCP/IP)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值