前言:
之前我们有了解IP地址和端口号,通过IP地址能够找到对应的设备,然后再通过端口号找到对应的端口,再通过端口把数据传输给应用程序,这里要注意,数据不能随便发送,在发送之前还需要选择一个对应的传输协议,保证程序之间按照指定的传输规则进行数据的通信,而这个传输协议就是我今天要分享的内容。
要想理解 TCP 和 UDP 的区别,首先要明白什么是 TCP?什么是 UDP?
1,UDP介绍
UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP报文的协议号是17。
UDP是一种面向无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。
由上图可以看出,UDP 除了端口号,基本啥都没有了。如果没有这两个端口号,数据就不知道该发给哪个应用。
UDP的特点:
- UDP是一个无连接协议,传输数据之前源端和终端不建立连接.
- 一台服务机可同时向多个客户机传输相同的消息
- UDP信息报的标题很短,只有8个字节,相对于TCP的20个字节信息报而言UDP的额外开销很小。
- 它不属于连接型协议,因而具有资源消耗小,处理速度快
正是由于UDP无连接、开销小、速度快这一特性,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如我们聊天用的ICQ和