> 文档中心 > TCP 和 UDP 的区别 TCP 和 UDP 详解

TCP 和 UDP 的区别 TCP 和 UDP 详解

一.总体说明

1.TCP面向连接,UDP无连接,即发送前并不需要先建立连接

2.TCP提供的服务更加可靠,通过TCP连接进行传送的数据没有差错,不会丢失,不会重复,而且按序到达。UDP则尽最大的努力进行交付,并不能保证可靠的交付。由于TCP比较可靠,面向连接,不会丢失数据,因此比较适合大数据量的交换。

3.TCP面向字节流,UDP则面向报文,网络出现拥塞时不会使发送速率降低,因此会出现丢包,对实时的应用如IP电话与视频会议等。

4.TCP协议只能是一对一,而UDP支持1对1,1对多

5.TCP首部较大,占用20字节。UDP则只有8字节

6.TCP是面向连接的可靠性传输,而UDP则是不可靠的。

二.TCP协议

  • TCP协议被称为传输控制协议,英文全称为(Transmission Control Protocol),是一种面向连接的,可靠的,基于字节流的传输层通信协议[1]。
  • TCP传输控制协议可以在不可靠的互联网络上提供可靠的端到端字节流专门设计的一个传输协议。
  • 应用程序在使用TCP之前需要先建立TCP连接,TCP通过校验和、序列号、确认应答,重发控制、连接管理以及窗口控制等机制实现可靠性传输。TCP具有可靠性,在TCP传输过程中,当发送端数据到达接受端时,接收端返回确认应答(ACK)的已收到消息通知。当一定时间内没有收到确认应答,发送端就会认为数据被丢失,会进行数据的重发[2]。

三.UDP协议

    UDP协议被称为用户数据报协议,为应用程序提供了一种无需建立连接就可以发送封装的IP数据包方法。UDP的英文全称为(User Datagram Protocol),提供面向事务的简单不可靠信息传送服务。UDP协议与TCP协议在OSI模型中都位于传输层,即IP协议的上一层。UDP协议当报文发送后是无法得知其是否安全完整到达的。

参考

[1]TRANSMISSION CONTROL PROTOCOL  .IETF[引用日期2019-06-29]

[2]详解TCP协议 https://baijiahao.baidu.com/s?id=1686533861418970902&wfr=spider&for=pc