流量控制
- 流量控制就是让发送端发的不要太快,让接收方来的及收。 即通过 滑动窗口技术,窗口的单位是字节,不是报文段,发送方的发送窗口不能超过接收方给出的接收窗口的数值。
- 流量控制往往指的是点对点通信量的控制,是个端到端的问题。
- 潜在的死锁问题:若A为客户端,B为服务器,若现在B告诉A接收窗口(rwnd)为0,此时A不能再发送数据,过一段时间后,当B可以收数据时,会再次通知A新的rwnd,若该通知在传输中丢失,可能会造成死锁(A在等B的通知, B在等A的数据)。因此,为了避免这种情况,TCP为每个连接设有一个持续计时器,只要TCP的某一端(此时为A)受到对方的0窗口通知,就启动持续计时器,计时器一到期,(A)就会发一个“零窗口探测报文段”(仅有1字节的数据),当对方(B)收到此报文段后会给出现在的窗口值。
拥塞控制
- 在某段时间,若对网络中的某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变化,这种情况叫做拥塞。拥塞问题的是指往往是整个系统的各个部分不匹配,只有各个部分平衡了,问题才会得到解决。
- 控制方法:慢开始、快重传、拥塞避免、快恢复