TCP 与 UDP的区别
2016-05-17 16:53
302 查看
TCP 与 UDP
共同点:都是 传输层 的协议
区别: TCP UDP
面向连接 无连接
提供可靠的服务 不保证可靠交付
面向字节流 面向数据报
一对一 支持一对一,一对多,多对多的交互信息
首部开销 20字节 8字节
全双工的可靠信道 不可靠信道
选择依据:
UDP:常用于让广播和细节控制交给应用的通信传输
TCP:提供可靠的通信传输 (通过检验和 序列号 确认应答 重发机制等实现可靠传输)
可靠性方面分析:
UDP:无确认机制, QQ的普通会员使用的就是UDP协议传输数据的,它让确认这个工作交给应用层的进程来完成,这样的缺点就是会导致软件的体积增大。
TCP:有确认机制 会增大网络带宽的开销 “虚拟信道”的持续存在,会存在大量的FIN ACK包。
应用:
UDP:qq登陆 qq语音 qq视频
TCP:浏览器登陆 注册账号 转账等
那么大家可能会想,已经有了TCP 那么 UDP存在的意义呢?
TCP的拥塞控制,数据校验,重传机制的网络开销很大,不适合实时通信。
还有TCP和UDP的校验和都是 通过虚首部计算来的,对于这块,我还没有搞清楚了,感兴趣的可以自己搜一下。
顺便说一下 TCP UDP的首部吧
UDP的首部:
0 15 31
源端口号 目标端口号
包长度 校验和
数据部分
TCP的首部:
0 15 31
大概就说到这里,欢迎大家转载,如果有什么问题,请多多指教
共同点:都是 传输层 的协议
区别: TCP UDP
面向连接 无连接
提供可靠的服务 不保证可靠交付
面向字节流 面向数据报
一对一 支持一对一,一对多,多对多的交互信息
首部开销 20字节 8字节
全双工的可靠信道 不可靠信道
选择依据:
UDP:常用于让广播和细节控制交给应用的通信传输
TCP:提供可靠的通信传输 (通过检验和 序列号 确认应答 重发机制等实现可靠传输)
可靠性方面分析:
UDP:无确认机制, QQ的普通会员使用的就是UDP协议传输数据的,它让确认这个工作交给应用层的进程来完成,这样的缺点就是会导致软件的体积增大。
TCP:有确认机制 会增大网络带宽的开销 “虚拟信道”的持续存在,会存在大量的FIN ACK包。
应用:
UDP:qq登陆 qq语音 qq视频
TCP:浏览器登陆 注册账号 转账等
那么大家可能会想,已经有了TCP 那么 UDP存在的意义呢?
TCP的拥塞控制,数据校验,重传机制的网络开销很大,不适合实时通信。
还有TCP和UDP的校验和都是 通过虚首部计算来的,对于这块,我还没有搞清楚了,感兴趣的可以自己搜一下。
顺便说一下 TCP UDP的首部吧
UDP的首部:
0 15 31
源端口号 目标端口号
包长度 校验和
数据部分
TCP的首部:
0 15 31
大概就说到这里,欢迎大家转载,如果有什么问题,请多多指教