前言
作为面试中最经典的问题之一,TCP与UDP的区别值得总结一下~
PS:本人在面腾讯、阿里云等厂的时候,都被问过,虽然不只是问了这个,但是足以说明该知识点的重要性。
tcp和udp的区别
tcp和udp有以下区别:
1.连接
-
tcp是面向连接的传输,传输前先连接;
-
udp是无连接传输;
2.服务对象
-
tcp是一对一的,两端;
-
udp是一对多,多对多,多对一,一对一;
3.拥塞控制、流量控制
-
tcp有拥塞控制和流量控制机制,保证数据传输的安全性;
-
udp没有,无论何种情况,发送速度都一样;
4.分片不同
-
当tcp传输的数据大时,在传输层分片,接收端也在传输层组装成tcp报文,如果一个分片丢了,只需要重传该分片,分片是有顺序的;
-
当udp传输的数据大时,在网络层分片,如果一个分片丢了,需要重传全部分片,没有顺序;
5.传输方式
-
tcp是字节流传输,是按照tcp报文段进行传输的,有顺序,可以去重,可靠;
-
udp是按照包进行传输的,没顺序,不可靠,会丢包;
6.首部开销
-
tcp首部占用空间大,且不确定;
-
udp占用8字节,很小;
7.可靠性
-
tcp传输,信息可靠,无重复,有顺序;
-
udp不可靠;
tcp和udp的使用场景
tcp:
- 文件传输(FTP),发送或者接收邮件(smtp),远程登陆(ssh);
udp:
- 即时通信,qq聊天,语音,视频;
tcp在应用层的应用
- 文件传输FTP,http,邮件SMTP,远程连接ssh,
telnet
;
本系列为基础知识分享,日更,有任何问题可以私聊或评论博主哦!
希望给各位找工作和工作中的小伙伴提供一点微博的帮助,如果觉得有帮助,欢迎点赞评论收藏关注~