TCP与UDP的区别

一、TCP(传输控制协议)

特点:

  1. TCP是传输层的协议;
  2. TCP是一种面向连接的,具有可靠性的传输协议;
  3. TCP面向的是字节流,它把应用层的传下来的报文看成字节流,再把字节流组织成一段一段的报文;
  4. TCP是点对点的传输,一个端口到另一个端口
  5. TCP具有"可靠性传输","拥塞控制","流量控制"的功能;
  6. TCP的首部开销大,有20字节的固定首部(源端口,目的端口,序列号,确认号,数据偏移,保留,控制位,窗口,检验和,紧急指针),还有不固定选项和填充字段。首部最小为20字节,最大为60字节。因为数据偏移的单位是4字节,最大1111=15,15×4=60!"数据偏移"是数据部分到首部的偏移量,其实也就是首部的长度。
  7. 为了保证TCP协议的可靠性传输,在建立连接时,需要三次握手才能正式创建连接,释放连接时也需要四次挥手才可以完整释放连接!
  8. 因为要保证可靠性,所以效率慢,开销大(确认应答,流量控制,超时重传以及连接管理等。这不仅使协议数据单元的首部增大很多,还要占用许多处理机资源)。
  9. 适用于文件传输、发送和接收邮件、远程登录等场景。

二、UDP(User Datagram Protocol) 

特点

  1. UDP面向无连接,不可靠。
  2. UDP面向的是报文传输。
  3. 可以一对一,一对多,多对多,多对一的通信。
  4. 首部开销小,只有8个字节,4个字段(源端口,目的端口,长度,检验和)
  5. 可以随时发送数据,发送数据之前不用建立连接,所有效率高,性能好,适用于QQ视频通话,直播等场景。不关心丢不丢包。
在Socket编程中,TCPUDP是两种不同的传输协议。TCP(Transmission Control Protocol)是一种面向连接的协议,而UDP(User Datagram Protocol)是一种无连接的协议。它们在以下几个方面有所不同: 1. 连接性:TCP是面向连接的,它在通信之前需要先建立连接,然后在可靠的双向通信中保持这个连接。UDP是无连接的,每个数据包都是独立的,发送者和接收者之间没有建立连接的过程。 2. 可靠性:TCP提供可靠的数据传输,它使用确认和重传机制来确保数据的准确性和完整性。UDP不保证数据的可靠性,因此在传输过程中可能会丢失数据包。 3. 速度和效率:由于TCP提供的可靠性和连接管理的机制,它的速度相对较慢,而UDP不需要连接建立和维护的开销,因此速度更快。 4. 应用场景:TCP适用于需要可靠传输和顺序传输的应用,例如文件传输,电子邮件等。UDP适用于实时应用,例如音频和视频流,游戏等,对于这些应用来说,速度和实时性更为重要,而可靠性可以通过应用层来处理。 总结起来,TCP提供了可靠的、面向连接的传输,适用于重要数据的传输,而UDP提供了快速的、无连接的传输,适用于实时性要求较高的应用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Scoket编程基础 -- TCPUDP 的 简介及其区别](https://blog.csdn.net/Czhenya/article/details/78299152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [TCPUDP 在socket编程中的区别(转载)](https://blog.csdn.net/LIN943168247/article/details/120264124)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值