zoukankan      html  css  js  c++  java
  • tcp基础

    下面这篇分析tcp连接建立超时时间,很好。

    linux上默认超时时间为127s,

    因为发出syn后,若没有收到回复,默认重传次数为6,且采用指数退避方式

    1-1

    2-2

    3-4

    4-8

    5-16

    6-32

    64s后认为失败。

    一共是127s。

    http://www.chengweiyang.cn/2017/02/18/linux-connect-timeout/

    拥塞窗口

    窗口大小的单位是TCP最大段大小 maximum segment size, MSS。

    发送窗口为接收窗口和拥塞窗口的最小值。

    接收窗口默认最大65536,但可以用窗口放大方法放大窗口。

    拥塞窗口,对于windows默认初始是2,对于lwip默认初始是1,之后,每收到一个ack会增加2倍,慢启动过程(虽说是慢启动,但因为是指数增加,因此,一点也不慢)。

    此外还有一个慢启动阈值(slow start threshold)ssthresh(Lwip默认阈值是10),当拥塞窗口到达这个阈值大小后,就开始每收到一个ack加1,拥塞避免过程。

    如果发生超时(默认超时时间是???),超时后拥塞窗口会变为1,ssthresh=当前拥塞窗口的一半。然后,重新开始慢启动过程。

    如果收到某个段3个重复ack,(网络小概率发生拥塞,可能只有该段丢失,而后续段都收到了)那么,进入快速重传阶段,ssthresh=当前拥塞窗口的一半,拥塞窗口则变为ssthresh,进入拥塞避免阶段。

  • 相关阅读:
    Git的环境搭建
    AmazeUI HTML元素
    AmazeUI布局
    AmazeUI基本样式
    Bash简介
    Linux下拷贝目录和删除
    linux下的定时任务
    缓存
    隔离
    DEDECMS使用SQL命令批量替换语句
  • 原文地址:https://www.cnblogs.com/yanhc/p/11984927.html
Copyright © 2011-2022 走看看