TCP和UDP的区别及应用
TCP和UDP的区别
TCP | UDP | |
---|---|---|
有无连接 | 面向连接 | 无连接 |
模式 | 面向字符流 | 面向报文 |
有无拥塞控制 | 有 | 无 |
通信关系 | 一对一 | 一对一,一对多,多对一,多对多 |
逻辑通信信道 | 全双工的可靠信道 | 不可靠信道 |
首部开销 | 20字节 | 8字节 |
速度 | 慢 | 快 |
TCP提供了可靠传输,而UDP不能提供,那么TCP是否总是首选呢?
答案是否定的,那么在什么场景更加适合用UDP呢?
分别根据UDP具有的优势来分析
1.只要应用将数据传给UDP,UDP就会将此数据打包进UDP报文段,并立即将其传递给网络层。而TCP有拥塞控制机制,当源和目的主机间的一条或多条链路变得极度拥塞时来遏制TCP发送方,然而TCP发送方仍一直重新发送数据包一直到目的主机收到此报文并且加以确认,不管时间长短。在平时的实时应用通常要求最小发送速率,不希望过分延迟报文段的传送,而且能够容忍一些数据丢失。在这种情况下UDP会比TCP更加合适。
2.UDP无需建立连接,因此没有建立连接的