TCP和UDP主要有以下区别:(1)UDP在传输数据之前不需要先建立连接,TCP在传输数据之前要进行三次握手来建立连接;(2)目标主机在收到UDP报文之后不需要给出任何确认,而TCP要给出确认,保证可靠连接;(3)因为UDP是面向无连接的,不提供可靠交付,所以开销很小,而TCP是面向连接的,保证可靠交付,所以开销很大;(4)UDP一般用于即时通信的服务,如语音、视频等,TCP一般用于文件传输、远程登录等场景。(5)UDP支持一对一、一对多、多对一和多对多的交互通信;而TCP连接只针对点对点的通信。
UDP在传输数据之前不需要先建立连接,目标主机在收到UDP报文之后,不需要给出任何确认,虽然UDP不提供可靠交付,但在某些情况下UDP却是一种最有效的工作方式(一般用于即时通信),如语音、视频、直播等等
TCP提供面向连接的服务。在传输数据之前必须先建立连接,数据传送结束后要释放连接,TCP不提供广播或多播服务,由于TCP要提供可靠的面向连接传输服务,这难免增加了很多开销,这不仅使协议数据单元的首部增大很多,还要占用许多处理机资源,TCP一般用于文件传输、发送和接收邮件、远程登录等场景。
【计算机网络|【计算机网络】——TCP和UDP协议的区别】UDP的主要特点是:(1)无连接;(2)尽最大努力交付;(3)面向报文;(4)无拥塞控制;(5)支持一对一、一对多、多对一和多对多的交互通信;(6)首部开销小(只有四个字段:源端口、目的端口、长度、检验和)
TCP的主要特点是:(1)面向连接;(2)每一条TCP连接都只能是点对点的(一对一);(3)提供可靠交付的服务;(4)提供全双工通信;(5)面向字节流
推荐阅读
- 计算机网络|[计算机网络]套接字编程
- tcp/ip|TCP 三次握手的原因是什么()
- java学习日记|2022-08-11 学习日记(31st day)网络通信(网络编程)
- 计算机网络|TCP到底有多厉害()
- 网络|测试UDP端口连通性
- 浅谈DNS、ICMP、NAT
- tcp/ip|ICMP、DNS、TCP等协议多段数据包关联
- java|NIO与Netty学习指南
- linux|IP地址荷官——DHCP(动态主机配置协议)简介