当前位置: 首页 > 工具软件 > udp_over_tcp > 使用案例 >

TCP与UDP的区别、TCP可靠、UDP不可靠

郭元明
2023-12-01


前言

TCP与UDP的区别、TCP可靠、UDP不可靠。

一、TCP与UDP的区别

TCP:可靠、面向连接、字节流、一对一、传输层。
UDP:不可靠、无连接、数据报、一对一或一对多或多对一或多对多、传输层。

二、TCP可靠

(1)TCP有三次握手建立连接,四次挥手关闭连接的机制。
(2)TCP有滑动窗口拥塞控制算法。
(3)TCP保留着超时重传的机制。
(4)TCP对于每份报文也存在校验,保证了每份报文的可靠性。

【注】

滑动窗口:
	是传输层进行流量控制的一种措施,
	接收方通过通告发送方自己的接收窗口大小,从而控制发送方的发送速度,
	防止发送方发送速度过快而导致自己被淹没。

拥塞控制:
	在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况就叫做网络拥塞。
	拥塞是指一个或多个节点的数据报超载,而TCP又会有重传机制,导致过载。
	
	TCP拥塞控制分为四种:慢开始、拥塞避免、快恢复、快重传。
	
	发送方维护一个叫做拥塞窗口cwnd的状态变量,其值取决于网络的拥塞程度,
	并且动态变化:网络没有拥塞时cwnd增大,网络有拥塞时cwnd减小。
	判断网络拥塞的依据:发生了重传。
【注】发送方将拥塞窗口作为发送窗口:swnd = cwnd。

维护一个慢开始门限ssthresh状态变量:
当cwnd < ssthresh时,使用慢开始算法;
当cwnd > ssthresh时,停止使用慢开始算法改为使用拥塞避免算法;
当cwnd = ssthresh时,既可以使用慢开始,也可以使用拥塞避免算法。

慢开始:由小到大逐渐增加拥塞窗口的大小,每接一次报文,**指数增加**。
拥塞避免:拥塞窗口缓慢增加,每接一次报文,**加一**。
快恢复之前的策略:网络产生拥塞,将ssthresh设置为此时发送窗口的一半,重新启动慢开始和拥塞避免。
快恢复:网络产生拥塞,**将ssthresh和cwnd都设置为此时发送窗口的一半**。
快重传:发送方一旦收到了连续的**三个冗余ACK**,就将相应的报文立即重传,不需要等待超时重传定时器溢出再发送该报文。

三、UDP不可靠

(1)UDP面向数据报,无连接,数据报发出去了就不会保留备份。
(2)UDP仅仅在IP数据报的头部加入校验和复用。
(3)UDP没有服务器和客户端的概念。

 类似资料: