您的位置:首页 > 理论基础 > 计算机网络

TCP UDP 区别总结

2014-09-28 15:21 330 查看
TCP 与UDP的区别:

1. 基于连接与无连接(TCP有三次握手和四次挥手)

2. 流模式与数据报模式(TCP将数据以流的形式输出到内核消息队列中,接收端从内核消息队列中以流的方式从消息队列中取数据。UDP只能接收整个包)

3. 可靠的传输与不可靠的传输(TCP有流量控制和拥塞控制)

4. TCP消耗的系统资源较大,UDP对系统资源消耗较小。

什么时候用TCP,什么时候用UDP:

在大多数的时候,选择TCP总是正确的,因为TCP提供了可靠的传输,并且确保报文的接收顺序与传输顺序一致。但是当并发量增加的时候,TCP的小延迟会带来严重问题。

TCP为了增加吞吐率,Nagle算法允许一个时刻只有一个未确认的数据报,在ACK回来之前收集小的数据包合并成一个大的一起发送。这样必然有延迟,这个延迟可以通过NO_DELAY参数来设定解决。但是还有一个问题,如果出现丢包,就必须重传,接收端发现一个数据段未到来,而后续数据段已经到来,之后到来的数据包只能在缓冲区中,不能直接供应用程序读取,这样还是会造成延迟。

因此,对于延迟很敏感的并且一定程度上容忍丢包的应用程序,可以用UDP实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: