1. TCP(Transmission Control Protocol):传输控制协议
  2. UDP(User Datagram Protocol):用户数据报协议
 
    主要从连接性(Connectivity)、可靠性(Reliability)、有序性(Ordering)、有界性(Boundary)、拥塞控制(Congestion or Flow control)、传输速度(Speed)、量级(Heavy/Light weight)、头部大小(Header size)等8个方面来讲:
 
1. TCP是面向连接(Connection oriented)的协议,UDP是无连接(Connection less)协议;
    TCP用三次握手建立连接:1) Client向server发送SYN;2) Server接收到SYN,回复Client一个SYN-ACK;3) Client接收到SYN_ACK,回复Server一个ACK。到此,连接建成。UDP发送数据前不需要建立连接。
 
2. TCP可靠,UDP不可靠;
    TCP丢包会自动重传,UDP不会。
 
3. TCP有序,UDP无序;
    消息在传输过程中可能会乱序,后发送的消息可能会先到达,TCP会对其进行重排序,UDP不会。
 
4. TCP无界,UDP有界;
    TCP通过字节流传输,UDP中每一个包都是单独的。
 
5. TCP有流量控制(拥塞控制),UDP没有;
    主要靠三次握手实现。以及慢开始、拥塞避免、快重传、快恢复
 
6. TCP传输慢,UDP传输快;
    因为TCP需要建立连接、保证可靠性和有序性,所以比较耗时。这就是为什么视频流、广播电视、在线多媒体游戏等选择使用UDP。
 
7. TCP是重量级的,UDP是轻量级的;
    TCP要建立连接、保证可靠性和有序性,就会传输更多的信息,如TCP的包头比较大。
 
8. TCP需要更多资源,UDP则要好上很多
 
9. 应用场合不同:TCP一般应用在对可靠性要求比较高的场合,例如http,ftp等等。而UDP一般应用在对实时性要求较高场合,例如视频直播,大文件传输等等
 
小结:
TCP是面向连接的、可靠的、有序的、速度慢的协议;UDP是无连接的、不可靠的、无序的、速度快的协议。
TCP开销比UDP大,TCP头部需要20字节,UDP头部只要8个字节。
TCP无界有拥塞控制,TCP有界无拥塞控制。
 
 
仅供学习参考,侵权删,原文链接:https://www.cnblogs.com/-wang-cheng/p/5421988.html

TCP与UDP区别小结的更多相关文章

  1. TCP与UDP区别

    原文链接:http://blog.sina.com.cn/s/blog_493309600100clrw.html TCP与UDP区别 TCP---传输控制协议,提供的是面向连接.可靠的字节流服务.当 ...

  2. TCP与UDP区别总结

    TCP与UDP区别总结:1.TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接2.TCP提供可靠的服务.也就是说,通过TCP连接传送的数据,无差错,不丢失,不重 ...

  3. TCP与UDP区别详解

    TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...

  4. TCP/IP协议栈与数据包封装+TCP与UDP区别

    ISO制定的OSI参考模型的过于庞大.复杂招致了许多批评.与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用.如图2-1所示,是TCP/IP参考模型和OSI参考模型的对比示意图. T ...

  5. TCP、UDP区别

    个人认为,用户层Socket的TCP和UDP编程,区别并不大.   最大的区别,或者说,唯一的区别,似乎就是TCP客户端中断连接之后,TCP会得到一个应答.   但是如果用UDP来实现TCP,似乎也不 ...

  6. [网络编程] TCP、UDP区别以及TCP传输原理、拥塞避免、连接建立、连接释放总结

    TCP.UDP都是属于运输层的协议,提供端到端的进程之间的逻辑通信,而IP协议(网络层)是提供主机间的逻辑通信,应用层规定应用进程在通信时所遵循的协议.一.UDP主要特点:传输的是用户数据报协议.1. ...

  7. tcp和udp区别

    1.TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接 2.TCP提供可靠的服务.也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP ...

  8. python中TCP和UDP区别

    TCP(Transmission Control Protocol)可靠的.面向连接的协议(eg:打电话).传输效率低全双工通信(发送缓存&接收缓存).面向字节流.使用TCP的应用:Web浏览 ...

  9. 总结TCP与UDP的区别

    TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认.窗口.重传.拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源. TCP的缺 ...

随机推荐

  1. Dev-Tips

    186 Chrome DevTools: How to use Logpoints for quicker JavaScript debugging You can use the new Logpo ...

  2. rpmbuild打包php

    安装php依赖库 mkdir -pv ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} php有一个依赖库,在yum源于epel源中都没有需要自己打包libico ...

  3. js学习总结:DOM节点二(dom基本操作)

    一.DOM继承树 DOM——Document Object Model DOM定义了表示修改文档所需要的方法.DOM对象即为宿主对象,由浏览器厂商定义,用来操作html和xml的一类厂商定义,也有人称 ...

  4. 使用CROS解决跨域问题

    使用jq的话,设置ajax这两个属性即可. 第一个为使用crossDomain,第二个属性使其可以传输cookie $.ajaxSetup({ crossDomain: true, xhrFields ...

  5. Retrofit GreenDao开发中遇到的坑

    持续更新中1.使用@FormUrlEncoded的话,服务端需要使用Request.Form,如果不使用@FormUrlEncoded本地需要由 @FieldMap Map<String, Ob ...

  6. Quartz.NET 配置文件详解

    Ø  前言 在之前的 使用 Topshelf 结合 Quartz.NET 创建 Windows 服务 文章中,使用到了 Quartz 的两个配置文件 quartz.config 和 quartz_jo ...

  7. Spring 快速开始 启动Spring

    [启动Spring必须配置] [web.xml部署描述符方式] 1.配置Servlet级别上下文 <servlet> <servlet-name>springDispatche ...

  8. GoogleNet

    NET-IN-NET 采用net-in-net 结构(不使用传统线性卷积,使用Mlpconv) 采用全局均值池化来提高传统CNN 网络中最后全连接层参数过于复杂的特点.(全连接层造成网络泛化能力差,a ...

  9. 利用ssh操控远程服务器

    这里的”远程”操控的方法实际上也不是真正的远程.,這此操作方法主要是在一个局域网内远程操控电脑 (在一个路由器下).可以把它做成在互联网中的远程操控, 不过技术难度上加了一个等级, 如果你想是想人在公 ...

  10. JS/javaScript 获取div内容

    jquery: 例如<div id="abc"><a>内容</a></div>$("#abc").html(); ...