互联网发展至今已经高度发达,而对于互联网应用(尤其即时通讯网专注的即时通讯技术这一块)的开发者来说,网络编程是基础中的基础,只有更好地理解相关基础知识,对于应用层的开发才能做到游刃有余。
相信计算机专业的朋友在大学都学过《计算机网络》这门课程,但据我个人了解计算机专业普通大学生对计算机网络的了解浅之又浅,很多人说这门学科没用,开发的时候也用不着,其实这样想是不对的。

UDP的全称是User Date Protocal,翻译成中文是用户数据包协议,它是一种不可靠的传输协议,一般情况下一个数据包(大概64K)能完成的数据通讯使用UDP协议,比如请求DNS解析IP地址使用的就是UDP协议,因为解析IP一个数据包完全足够。还有就是文字聊天一般用的也是UDP,通常一段文字消息一个数据包就足够了,如果发送失败就再次发送,反正就一个数据包。还有一种传递大量数据包使用UDP协议的场景,就是广播,类似对讲机之类的,接收方并不一定能接收到所有的数据包。所以说UDP是一种不可靠的传输协议。
UDP的主要特点:
1)UDP是无连接的,即发送数据之前是不需要建立连接的;
2)UDP使用尽最大努力交付,不保证可靠交付,同时不使用阻塞控制;
3)UDP是面向报文的,UDP没有拥塞控制,很适合多媒体通信的要求;
4)UDP支持一对一、一对多、多对一、多对多的交互通信;
5)UDP的首部开销小,只需要8个字节。
UDP首部总共是8个字节,其中源端口、目的端口、长度、检验和各占2字节。有的同学可能要问了,你怎么没把伪首部加进去呢?这个我来讲一下,伪首部顾名思义,就是假的首部,它是不会跟随UDP数据报进行传输的,它存在的意义就是为了计算UDP首部中的检验和。
UDP首部存储的信息:

本文深入探讨了网络通信传输层的UDP和TCP协议。UDP是无连接、不可靠的传输协议,适用于DNS解析和文字聊天等场景;而TCP是面向连接、可靠的协议,适用于文件传输等需要保证数据完整性的应用。两者在特性、应用场景和连接建立/断开机制上有显著区别。
最低0.47元/天 解锁文章
728

被折叠的 条评论
为什么被折叠?



