浅析TCP与UDP

本文详细探讨了TCP与UDP的区别。TCP是一种面向连接的协议,提供可靠的、全双工的数据传输,但建立连接需时延,适合Web应用。UDP则是无连接的,适合音频和实时视频传播,其优点包括更精细的应用层控制、无需连接、无状态及较小的首部开销。尽管UDP不保证数据完整性,但在某些场景下,如DNS,它的效率更高。
摘要由CSDN通过智能技术生成

无连接运输:UDP

UDP是面向无连接的协议,它只负责将数据传输给客户端,而不会保证数据的完整性。这种特性导致其在Web应用程序方面很是吃亏,所以说Web应用程序使用都为TCP连接,但是在音频传播和实时视频传播方面,UDP确是可以做到比TCP更好的效果,虽然也会发生数据丢失,但是少量数据的丢失对于声音和视频的效果显示没有太大的影响.

UDP的套接字

一个UDP套接字由一个二元组来进行标识,该二元组包括一个目的IP地址和一个目的端口号.

  • 源端口号用途
    当A到B的报文段中,源端口号作为返回地址的一部分,即当B要回发一个报文段给A时,B到A的报文段的目的端口号便从A到B的源端口号中取值.

UDP的优点

  • 关于何时、发送什么数据的应用层控制更加精细
    使用UDP的时候,应用程序只需要将数据交给UDP,然后UDP将其打包进报文段,然后传递给网络层,不管数据能不能到达,UDP依然会发送没有发送的数据,而TCP不同,TCP有一个数据重传机制,当客户端的TCP未收到目的主机的确认报文段或者发送时间超时的时候,TCP会重新发送报文段,而中间的等待过程可能会很漫长。TCP还有一个拥塞控制机制,当源和目的主机之间的一条或多条链路变得极度拥塞的时候,TCP就会遏制运输层TCP发送方,来解决拥塞情况.
  • 不需要建立连接
    UDP发送数据的时候不经过任何准备,直接将数据打包进报文段然后传递给网络层即可,而TCP需要和目的主机间建立连接,即三次握手,UDP少去了建立连接的时延,这可能是DNS协议运行在UDP而不是运行在TCP上的主要原因.
  • 无连接状态
    TCP在端系统中需要维护连接状态,因为TCP需要提供可靠的数据传输服务和拥塞控制服务,而UDP不需要维护连接状态,所以说,有些应用程序使用UDP一般能支持更多的在线用户.
  • 分组首部开销小
    TCP每个报文段含有20字节的首部开销,而UDP只有8字节的首部开销.

UDP报文段结构

UDP报文段结构
UDP首部包括源端口号、目的端口号、长度、检验和.

  • 长度
    指示了在UDP报文段(包括UDP首部和数据)中的字节数.
  • 检验和
    接收方通过检查检验和来检查该报文段是否出现差错.

面向连接的服务TCP

TCP是面向连接的协议,在两个进程之间要发生数据传输的时候,需要在两个进

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值