TCP/IP具体解释学习笔记--TCP的坚持和保活定时器
2017-05-12 19:23
507 查看
TCP的坚持定时器
1.基本概念
TCP的接收方指名希望从发送方接收的数据字节(窗体大小)来进行流量控制,假设窗体大小为0。那么放送方就会阻止发送数据,直到接收方发来一个已跟新窗体大小的ACK为止,那么假设接收方发送的这个ACK中途丢失了呢(这样的可能性是有的)?此时发送方收不到信息,就默认窗体大小还为0,那它就继续堵塞在那,这样就造成了死锁。那么怎样解决此类问题呢,解决方式就是我此片博文的题目。TCP的坚持定时器。为了防止上述死锁的发生。TCP的发送方使用了一个坚持定时器。来周期性的向接收方查询。以便发现窗体是否已增大
2.糊涂窗体综合症
假设大家曾经了解过TCP的话,那么相信大家也听说过糊涂窗体综合症吧。它的大致意思是这样的,就是当接收方窗体大小变为0时,发送方就会堵塞。上文中有提到。当接收方窗体大小刚空出来一个非常小的空间然后就去通知发送方,发送方相同也会发一个非常小的数据,然后导致接收方窗体变为0,等接收方略微在腾出来点空间。。。
。如此往复。每次发送方和接收方都仅仅能弄到非常少的数据。严重减少了传输效率,这就是所谓的糊涂窗体综合症
我们能够使用例如以下方法来解决此类问题
(1)接收方不通告小窗体。除非窗体比MSS大或者比接收方缓存的一般空间小才通告发送方
(2)发送方避免糊涂窗体的措施是仅仅有下面条件才发送数据
.能够发送一个满长度的报文段
.能够发送至少是接收方缓存区一半的报文段(主要针对小缓存区的主机)
.能够发送手头全部数据,并不希望收到ACK(此算法可能禁止了Nagle算法)
TCP的保活定时器
当TCP的俩端建立连接后,而不发送不论什么数据。那么仅仅要这俩个主机不崩,不管经过多长时间,中间路由是否坏掉。电话线是否断掉,此连接会依旧存在这样的现象表明俩个应用都没有自己去检測非活动状态的定时器
保活功能定时器
当TCP连接的俩端暂时出现问题时。保活功能就会产生一个非常好的连接终止效果保活功能主要是为server程序提供的,server须要知道客户机是否已经崩溃
相关文章推荐
- TCP/IP具体解释学习笔记--TCP的超时与重传
- TCP/IP具体解释学习笔记——地址解析协议ARP
- TCP/IP具体解释学习笔记--TCP数据流
- TCP/IP具体解释学习笔记——数据链路层(2)
- 《TCP/IP具体解释卷2:实现》笔记--IP:网际协议
- 《TCP/IP具体解释卷2:实现》笔记--ICMP:Internet控制报文协议
- 《TCP/IP具体解释卷2:实现》笔记--4种不同类型的mbuf
- 《TCP/IP具体解释卷2:实现》笔记--协议控制块
- 《TCP/IP具体解释卷2:实现》笔记--接口层
- 《TCP/IP具体解释卷2:实现》笔记--IP的分片和重装
- 《TCP/IP具体解释卷2:实现》笔记--IP多播
- 《TCP/IP具体解释卷2:实现》笔记--域和协议
- 《TCP/IP具体解释卷2:实现》笔记--选路请求和选路消息
- 《TCP/IP具体解释卷2:实现》笔记--UDP:用户数据报协议
- TCP/IP详解2 学习笔记---mbuf
- TCP/IP 学习笔记
- TCP/IP详解2 学习笔记2---ifnet ifaddr
- Java TCP/IP学习笔记之TCP服务端
- (原创)TCP/IP学习笔记之ARP(地址解析协议)
- TCP/IP详解2 学习笔记---mbuf