TCP/IP协议十四:TCP 和 UDP 的区别
参考:
TCP/IP协议一:TCP UDP工作机制
https://blog.csdn.net/lqy971966/article/details/118694665
TCP 和 UDP 的区别
TCP :Transmission Control Protocol,传输控制协议
UDP:User Datagram Protocol 用户数据报协议
1. 是否面向连接?
- tcp是面向连接的。
即发送数据之前需要建立一条完整的连接;
比如打电话要先拨号建立连接; - udp是面向无连接的
即发送数据之前不需要建立连接;
例如发送邮件,ip电话。
2.是否提供可靠服务?
- tcp提供可靠的服务。
也就是说,通过tcp 连接传送的数据,无差错,不丢失,不重复,并且按序到达; - udp尽最大的努力交付,即不保证可靠的交付。
3. 字节流还是报文?
- tcp是面向字节流
实际上是tcp把数据看成是一串无结构的字节流; - udp是面向报文的
udp没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低。
3.1 什么是字节流什么是数据报?
- 字节流
通俗的说,字节流失散乱的数据;它是二进制数据。 - 数据报
数据报是字节流封装后的数据(即加了报文头信息的报文)。
参考: http://www.360doc.com/content/18/0427/17/11935121_749230613.shtml
4. 一对一还是一对多?
- tcp连接只能是一对一的
- udp支持一对一、一对多、多对一或者多对多的交互通信
5. 首部开销
- tcp首部开销20字节,
- udp只有8字节,首部开销小
6. 通信信道
- tcp的逻辑通信信道是全双工的可靠信道,
- udp是不可靠的信道