UDP详解

本文详细介绍了UDP协议,包括其非连接性、首部格式、PING包的使用以及与TCP的区别。此外,还提供了Python实现的UDP通信示例,分别展示了服务器端和客户端的代码。最后,总结了TCP/IP协议族中的其他网络知识点,如应用层、传输层和网络层的相关协议。

1. UDP

1.1 UDP简介

        UDP的全称是User Data Protocol(用户数据报协议),其主要特点如下:

  • UDP是一个非连接的协议,传输数据之前源端和终端不建立连接, 当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。
    • 在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、 计算机的能力和传输带宽的限制;
    • 在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。
  •  由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等, 因此一台服务机可同时向多个客户机传输相同的消息。
  • UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。
  • 吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、 源端和终端主机性能的限制。
  • UDP使用尽最大努力交付,即不保证可靠交付, 因此主机不需要维持复杂的链接状态表(这里面有许多参数)。
  • UDP是面向报文的。发送方的UDP对应用程序交下来的报文, 在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界, 因此,应用程序需要选择合适的报文大小。

1.3 UDP的首部格式

  • 源端口号(16位)。在需要对方回信时选用,不需要时可用全0。
  • 目的端口号(16位)。这在终点交付时必须使用。
  • UDP长度字段(16位)。指的是 UDP首部和UDP数据的字节长度。该字段的最小值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值