青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統計

最新評論

tcp_tw_recycle和tcp_timestamps導致connect失敗問題 --- 轉

 
   近來線上陸續出現了一些connect失敗的問題,經過分析試驗,最終確認和proc參數tcp_tw_recycle/tcp_timestamps相關;
1. 現象
    第一個現象:模塊A通過NAT網關訪問服務S成功,而模塊B通過NAT網關訪問服務S經常性出現connect失敗,抓包發現:服務S端已經收到了syn包,但沒有回復synack;另外,模塊A關閉了tcp timestamp,而模塊B開啟了tcp timestamp;
    第二個現象:不同主機上的模塊C(開啟timestamp),通過NAT網關(1個出口ip)訪問同一服務S,主機C1 connect成功,而主機C2 connect失敗;

2. 分析
    根據現象上述問題明顯和tcp timestmap有關;查看linux 2.6.32內核源碼,發現tcp_tw_recycle/tcp_timestamps都開啟的條件下,60s內同一源ip主機的socket connect請求中的timestamp必須是遞增的。
    源碼函數:tcp_v4_conn_request(),該函數是tcp層三次握手syn包的處理函數(服務端);
    源碼片段
       if (tmp_opt.saw_tstamp &&
            tcp_death_row.sysctl_tw_recycle &&
            (dst = inet_csk_route_req(sk, req)) != NULL &&
            (peer = rt_get_peer((struct rtable *)dst)) != NULL &&
            peer->v4daddr == saddr) {
            if (get_seconds() < peer->tcp_ts_stamp + TCP_PAWS_MSL &&
                (s32)(peer->tcp_ts - req->ts_recent) >
                            TCP_PAWS_WINDOW) {
                NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_PAWSPASSIVEREJECTED);
                goto drop_and_release;
            }
        }
        tmp_opt.saw_tstamp:該socket支持tcp_timestamp
        sysctl_tw_recycle:本機系統開啟tcp_tw_recycle選項
        TCP_PAWS_MSL:60s,該條件判斷表示該源ip的上次tcp通訊發生在60s內
        TCP_PAWS_WINDOW:1,該條件判斷表示該源ip的上次tcp通訊的timestamp 大于 本次tcp


    分析:主機client1和 client2通過NAT網關(1個ip地址)訪問serverN,由于timestamp時間為系統啟動到當前的時間,因此,client1和 client2的timestamp不相同;根據上述syn包處理源碼,在tcp_tw_recycle和tcp_timestamps同時開啟的條件 下,timestamp大的主機訪問serverN成功,而timestmap小的主機訪問失敗;

    參數:/proc/sys/net/ipv4/tcp_timestamps - 控制timestamp選項開啟/關閉
          /proc/sys/net/ipv4/tcp_tw_recycle - 減少timewait socket釋放的超時時間

3. 解決方法
    echo 0 > /proc/sys/net/ipv4/tcp_tw_recycle;
    tcp_tw_recycle默認是關閉的,有不少服務器,為了提高性能,開啟了該選項;
    為了解決上述問題,個人建議關閉tcp_tw_recycle選項,而不是timestamp;因為 在tcp timestamp關閉的條件下,開啟tcp_tw_recycle是不起作用的;而tcp timestamp可以獨立開啟并起作用。
    源碼函數:  tcp_time_wait()
    源碼片段:
        if (tcp_death_row.sysctl_tw_recycle && tp->rx_opt.ts_recent_stamp)
            recycle_ok = icsk->icsk_af_ops->remember_stamp(sk);
        ......
       
        if (timeo < rto)
            timeo = rto;

        if (recycle_ok) {
            tw->tw_timeout = rto;
        } else {
            tw->tw_timeout = TCP_TIMEWAIT_LEN;
            if (state == TCP_TIME_WAIT)
                timeo = TCP_TIMEWAIT_LEN;
        }

        inet_twsk_schedule(tw, &tcp_death_row, timeo,
                   TCP_TIMEWAIT_LEN);

    timestamp和tw_recycle同時開啟的條件下,timewait狀態socket釋放的超時時間和rto相關;否則,超時時間為TCP_TIMEWAIT_LEN,即60s;

    內核說明文檔 對該參數的介紹如下
    tcp_tw_recycle - BOOLEAN
    Enable fast recycling TIME-WAIT sockets. Default value is 0.
    It should not be changed without advice/request of technical
    experts.

posted on 2013-02-17 18:58 大龍 閱讀(369) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品毛片va一区二区三区| 免费视频久久| 国内久久精品| 国产精品久久国产三级国电话系列| 老牛嫩草一区二区三区日本| 久久激情网站| 久久精品午夜| 国产一区二区三区日韩| 亚洲一级片在线观看| 夜夜爽夜夜爽精品视频| 亚洲美女视频在线免费观看| 亚洲国产成人精品女人久久久 | 欧美激情第8页| 欧美日韩网址| 久久久久一区二区三区| 久久久精品国产99久久精品芒果| 午夜视频在线观看一区二区| 欧美一区不卡| 欧美绝品在线观看成人午夜影视 | 亚洲视频每日更新| 日韩一级成人av| 午夜在线成人av| 欧美高清在线视频| 国产目拍亚洲精品99久久精品| 亚洲成人资源| 久久狠狠久久综合桃花| 亚洲精品韩国| 久久久久久成人| 国产一区在线观看视频| 午夜精品视频网站| 99精品视频免费观看| 欧美α欧美αv大片| 在线观看欧美激情| 久久久人人人| 午夜久久资源| 国产女主播一区二区| 欧美一区2区三区4区公司二百| 亚洲国产成人久久综合| 亚洲一级黄色av| 99视频超级精品| 国产精品99免视看9| 9久草视频在线视频精品| 亚洲国产高清一区二区三区| 老鸭窝91久久精品色噜噜导演| 国内外成人免费激情在线视频网站| 性欧美大战久久久久久久久| 久久久久综合| 久久综合伊人77777麻豆| 黑人操亚洲美女惩罚| 免费在线看成人av| 欧美精品亚洲一区二区在线播放| 亚洲毛片播放| 亚洲欧美在线免费| 亚洲电影免费观看高清| 在线欧美电影| 亚洲尤物精选| 久久久国产精品亚洲一区| 亚洲福利视频在线| 亚洲在线免费| 亚洲人屁股眼子交8| 亚洲欧美综合| 国产精品99久久久久久人| 午夜久久一区| 一区二区三区导航| 看片网站欧美日韩| 久久天天躁夜夜躁狠狠躁2022| 免费的成人av| 蜜臀a∨国产成人精品| 国产精品国产成人国产三级| 欧美黄色小视频| 国产在线精品自拍| 中日韩美女免费视频网址在线观看| 一区在线观看| 久久精品99久久香蕉国产色戒| 亚洲免费一级电影| 国产精品久久二区| 在线中文字幕日韩| 中文亚洲免费| 欧美三级午夜理伦三级中视频| 欧美激情国产日韩精品一区18| 亚洲激情av在线| 亚洲精品极品| 91久久在线| 亚洲精品一线二线三线无人区| 蜜臀91精品一区二区三区| 欧美www视频在线观看| 亚洲精品九九| 一区二区三区国产盗摄| 久久久久网站| 在线国产日韩| 亚洲女人天堂成人av在线| 国产伦精品一区二区三区视频孕妇| 欧美一区二区三区视频免费播放| 亚洲专区一区| 欧美精选在线| 韩国三级电影一区二区| 亚洲激情亚洲| 亚洲美女毛片| 国产精品亚洲综合| 久久综合影音| 亚洲第一区在线| 亚洲精品中文字幕女同| 欧美日韩一区二区在线观看| 亚洲婷婷在线| 亚洲精品欧美极品| 久久久另类综合| 亚洲欧美日本国产专区一区| 亚洲精品一区二区三区蜜桃久| 国产精品亚洲成人| 欧美视频你懂的| 欧美福利视频在线| 欧美一区二区视频免费观看| 亚洲午夜国产一区99re久久| 在线观看亚洲一区| 国产中文一区二区三区| 国产精品一级| 久久久一二三| 欧美电影在线播放| 欧美护士18xxxxhd| 亚洲欧洲日本专区| 亚洲高清一二三区| 亚洲人成高清| 亚洲一区二区三区四区在线观看| 在线午夜精品自拍| 性8sex亚洲区入口| 蜜桃久久av一区| 欧美精品久久久久久久久久| 欧美欧美午夜aⅴ在线观看| 欧美日韩亚洲国产一区| 亚洲国产精品日韩| 久久一区二区三区四区| 在线亚洲精品| 久久蜜桃香蕉精品一区二区三区| 久久国产精品久久久久久久久久| 欧美一区二区高清在线观看| 久久电影一区| 欧美性天天影院| 樱桃国产成人精品视频| 中文一区在线| 欧美国产第二页| 欧美一区二区精美| 国产精品v欧美精品v日本精品动漫| 国产视频在线观看一区| 一区二区三区四区精品| 免费成人黄色片| 欧美在线免费观看| 国产亚洲欧美色| 亚洲欧美日韩久久精品| 亚洲免费高清| 欧美日韩亚洲一区二区三区| 亚洲毛片一区二区| 亚洲国产精品久久精品怡红院| 久久av资源网站| 韩日视频一区| 欧美日韩情趣电影| 99精品99| 亚洲天堂av在线免费| 国产精品视频免费观看www| 亚洲一区二区3| 一区二区三区高清视频在线观看| 欧美精品在线视频| 亚洲午夜激情网站| 小嫩嫩精品导航| 亚洲大胆人体视频| 99精品国产99久久久久久福利| 国产精品xxxxx| 久久不射网站| 久久精品一区二区三区不卡牛牛| 激情久久综艺| 亚洲人体影院| 国产日本欧美一区二区三区| 老司机成人网| 欧美吻胸吃奶大尺度电影| 国产精品久久久一本精品| 亚洲午夜视频| 久久免费国产精品1| 亚洲视频网在线直播| 久久婷婷国产综合尤物精品 | 99re亚洲国产精品| 亚洲夜间福利| 一本色道久久综合亚洲91| 欧美一二三区精品| 亚洲美女色禁图| 销魂美女一区二区三区视频在线| 影音先锋一区| 久久精品日产第一区二区| 亚洲一区二区三区777| 蜜臀久久99精品久久久久久9| 午夜在线一区二区| 欧美丝袜第一区| 99riav1国产精品视频| 亚洲国产高清aⅴ视频| 久久久久欧美精品| 久久久噜噜噜久久人人看| 国产香蕉97碰碰久久人人| 亚洲在线一区| 久久黄金**| 亚洲美女av电影| 亚洲综合电影| 国内外成人在线|