TCP与UDP

作者: Samuel_Tom | 来源:发表于2018-09-06 09:08 被阅读0次

TCP和UDP的区别

TCP是面向连接的通信服务
UDP是面向无连接的通信服务

TCP提供可靠的数据传输
UDP是不可靠的数据传输,可能会丢包

TCP传输速度慢
UDP传输速度快

TCP是面向字节流的
UDP是面向报文的

TCP的报头长度至少20字节
UDP报头长度只有8字节

TCP一对一
UDP可以一对一,一对多

传输方式的不同

UDP是面向报文的
应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。

TCP是面向字节流的:
虽然应用层和TCP的交互也是一次一个数据块,但是TCP并不会总是一次发送一个数据块;TCP有一个缓冲区,当应用层传送的数据块太长的话,TCP会把它划分短一点再传送;如果应用层一次直发送一个字节的话,TCP也会累积到足够多的字节后在再发送。

连接方式的不同

UDP是面向无连接的
UDP传输数据时并不建立连接,而是通过简单地抓取应用程序的数据,然后尽可能快的把数据包扔到网络上,属于不可靠的连接。

TCP是面向连接的
TCP需要经过三次握手建立连接、四次挥手断开连接,是可靠的连接。

补充

为什么UDP比TCP快?
1. TCP需要三次握手
2. TCP有拥塞控制,控制流量等机制

为什么TCP比UDP可靠?
1. TCP是面向有连接的,建立连接之后才发送数据;而UDP则不管对方存不存在都会发送数据。
2. TCP有确认机制,接收端每收到一个正确包都会回应给发送端。超时或者数据包不完整的话发送端会重传。UDP没有。因此可能丢包。

什么时候使用TCP?
当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。

什么时候应该使用UDP?
当对网络通讯质量要求不高的时候,要求网络通讯速度能尽量的快,这时就可以使用UDP。

相关文章

  • iOS 网络相关面试题

    问题:TCP、UDP TCP/UDP 传输层协议 ||—— UDP:用户数据报协议 TCP与UDP的区别: 问题...

  • 2018-09-19

    网络面试集 一、TCP/UDP 1、UDP与TCP的区别 TCP(TransmissionControl ...

  • TCP 与 UDP

    TCP 与 UDP(主要说TCP)TCP/UDP端口号TCP/UDP端口号TCP连接的建立TCP连接的建立发送se...

  • TCP和UDP的最完整的区别

    TCP UDP TCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少; 3.UDP...

  • 网络

    一、TCP 二、UDP 三、TCP与UDP的区别 四、Socket

  • TCP与UDP详解

    1、TCP与UDP概述 TCP (Transmission Control Protocol)和UDP(User ...

  • TCP和UDP的最完整的区别

    TCP UDP TCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少; 3....

  • TCP和UDP的最完整的区别

    TCP UDP TCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少; 3....

  • TCP/IP

    引用 一文搞懂TCP与UDP的区别 TCP/UDP协议详解... TCP基础特性* TCP 1、 TCP特性: T...

  • Netty知识汇总

    1、TCP、UDP的区别? TCP与UDP区别总结: 1)、TCP面向连接(如打电话要先拨号建立连接);UDP是无...

网友评论

      本文标题:TCP与UDP

      本文链接:https://www.haomeiwen.com/subject/nzvzwftx.html