TCP 的主要特点#
- TCP 是面向连接的。就好像你和你女朋友打电话,要首先拨通建立联系,打完再断开一样。
- 每一条 TCP 连接都只能有两个端点,也就是点对点的。你和女朋友打电话不希望别人插入吧。嘿嘿嘿
- TCP 提供可靠的交付服务,传输的数据:不丢失、无差错、顺序还不乱
- TCP 提供全双工通信,允许双方在任何时候都可以发送信息。并且连接的两端都设有发送缓存区和接受缓存区,用来临时缓存双方通信的数据
- 面向字节流。虽然应用程序和 TCP 的交互是一次一个数据块(大小不等),但 TCP 把应用程序交下来的数据仅仅看成是一连串的无结构的字节流。
UDP 的主要特点#
- 首先,UDP 是无连接的,是面向报文的
- UDP 支持一对一、一对多、多对一和多对多的交互通信
- UDP 使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态(这里面有许多参数)
- UDP 没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如 直播,实时视频会议等)
最后#
TCP 和 UDP 都属于五层网络模型中的传输层,都是用来传输数据的协议