快速重传和快速恢复算法

快速重传算法:如果一连串收到3个或3个以上的重复ack,就非常可能是一个报文段丢失了,于是我们就重传丢失的数据报文段,而无需等待超时定时器溢出。

快速恢复算法:快速重传后执行的不是慢启动算法而是拥塞避免算法

icmp的差错

tcp能够遇到的最常见的icmp差错就是源站抑制,主机不可达和网络不可达。

较新的tcp实现在路由表项中维持许多我们在前面已经介绍过的指标,当一个tcp链接关闭时,如果已经发送了足够多的数据来获得有意义统计资料,且目的结点的路由表项不是一个默认的表项,那么下列信息就保存在路由表项中以备下次使用,被平滑的rtt,被平滑的均值偏差以及慢启动门限,所谓,足够多的数据是指16个窗口的数据,这样就可得到16个rtt采样,从而使平滑的trr过滤能够集中在正确结果的5%以内。

icmp差错

tcp的重新分组

当tcp超时并重传时,它不一定要重传同样的报文段,相反,tcp允许进行重新分组而发送一个较大的报文段,这将有助于提高性能(当然,这个较大的报文段不能够超过接收方声明的mss),在协议中这是允许的,因为tcp是使用字节序号而不是报文段序号来进行识别它所要发送的数据和进行确认。

3.tcp坚持定时器

ack的传输并不可靠,也就是说,tcp不对ack报文进行确认,tcp只确认哪些包含有数据的ack报文段。

4.tcp的包活定时器

如果tcp连接的双方都没有向对方发送数据,则在两个tcp模块之间不交换任何信息。

开启路由器keeplive功能

service tcp-keepalives-in/out

rfc提供了3个不适用包活定时器的理由

1.在出现短暂差错的情况下,这可能会使一个非常好的连接释放掉

2.他们耗费不必要的带宽

3.在按分组计费的情况下会在互联网上花掉更多的钱,并且,许多实现提供了包活定时器。