那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

總結一些常見網絡相關的內核參數

阿銘linux ? 2018-01-16 16:14 ? 次閱讀

談到內核大家會覺得很神秘,關于內核參數的調整更是覺得云里霧里的。其實,并沒有大家想象的那么難,平時對它們的調整也是很少用到。

也許你有經歷,想了解一些內核參數的作用,然后去網上搜了很多文檔,結果發現大多都一樣,而且沒有人能夠說的很詳細。下面是我總結的幾個跟網絡相關的參數,希望對你有所幫助。當然,我也不保證理解的一定到位,如果你有更好的理解,請留言回復!
總結一些常見網絡相關的內核參數

1net.ipv4.tcp_max_tw_buckets

對于tcp連接,服務端和客戶端通信完后狀態變為timewait,假如某臺服務器非常忙,連接數特別多的話,那么這個timewait數量就會越來越大。畢竟它也是會占用一定的資源,所以應該有一個最大值,當超過這個值,系統就會刪除最早的連接,這樣始終保持在一個數量級。

這個數值就是由net.ipv4.tcp_max_tw_buckets這個參數來決定的。CentOS7系統,你可以使用sysctl -a |grep tw_buckets來查看它的值,默認為32768,你可以適當把它調低,比如調整到8000,畢竟這個狀態的連接太多也是會消耗資源的。

但你不要把它調到幾十、幾百這樣,因為這種狀態的tcp連接也是有用的,如果同樣的客戶端再次和服務端通信,就不用再次建立新的連接了,用這個舊的通道,省時省力。

2net.ipv4.tcp_tw_recycle=1

該參數的作用是快速回收timewait狀態的連接。上面雖然提到系統會自動刪除掉timewait狀態的連接,但如果把這樣的連接重新利用起來豈不是更好。所以該參數設置為1就可以讓timewait狀態的連接快速回收,它需要和下面的參數配合一起使用。

3net.ipv4.tcp_tw_reuse=1

該參數設置為1,將timewait狀態的連接重新用于新的TCP連接,要結合上面的參數一起使用。

4net.ipv4.tcp_syncookies=1

tcp三次握手中,客戶端向服務端發起syn請求,服務端收到后,也會向客戶端發起syn請求同時連帶ack確認,假如客戶端發送請求后直接斷開和服務端的連接,不接收服務端發起的這個請求,服務端會重試多次。

這個重試的過程會持續一段時間,當這種狀態的連接數量非常大時,服務器會消耗很大的資源,從而造成癱瘓,正常的連接進不來,這種惡意的半連接行為其實叫做syn flood攻擊。

設置為1,是開啟SYN Cookies,開啟后可以避免發生上述的syn flood攻擊。開啟該參數后,服務端接收客戶端的ack后,再向客戶端發送ack+syn之前會要求client在短時間內回應一個序號,如果客戶端不能提供序號或者提供的序號不對則認為該客戶端不合法,于是不會發ack+syn給客戶端,更涉及不到重試。

5net.ipv4.tcp_max_syn_backlog

該參數定義系統能接受的最大半連接狀態的tcp連接數??蛻舳讼蚍斩税l送了syn包,服務端收到后,會記錄一下,該參數決定最多能記錄幾個這樣的連接。我的CentOS7系統,默認是256,當有syn flood攻擊時,這個數值太小則很容易導致服務器癱瘓,實際上此時服務器并沒有消耗太多資源(cpu、內存等),所以可以適當調大它,比如調整到30000。

6net.ipv4.tcp_syn_retries

該參數適用于客戶端,它定義發起syn的最大重試次數,默認為5,建議改為2。

7 net.ipv4.tcp_synack_retries

該參數適用于服務端,它定義發起syn+ack的最大重試次數,默認為5,建議改為2,可以適當預防syn flood攻擊。

8net.ipv4.ip_local_port_range

該參數定義端口范圍,系統默認保留端口為1024及以下,以上部分為自定義端口。這個參數適用于客戶端,當客戶端和服務端建立連接時,比如說訪問服務端的80端口,客戶端隨機開啟了一個端口和服務端發起連接,這個參數定義隨機端口的范圍。默認為3276861000,建議調整為102561000。

9net.ipv4.tcp_fin_timeout

tcp連接的狀態中,客戶端上有一個是FIN-WAIT-2狀態,它是狀態變遷為timewait前一個狀態。該參數定義不屬于任何進程的該連接狀態的超時時間,默認值為60,建議調整為6。

10net.ipv4.tcp_keepalive_time

tcp連接狀態里,有一個是keepalived狀態,只有在這個狀態下,客戶端和服務端才能通信。正常情況下,當通信完畢,客戶端或服務端會告訴對方要關閉連接,此時狀態就會變為timewait,如果客戶端沒有告訴服務端,并且服務端也沒有告訴客戶端關閉的話(例如,客戶端那邊斷網了),此時需要該參數來判定。

比如客戶端已經斷網了,但服務端上本次連接的狀態依然是keepalived,服務端為了確認客戶端是否斷網,就需要每隔一段時間去發一個探測包去確認一下看看對方是否在線。這個時間就由該參數決定。它的默認值為7200(單位為秒),建議設置為30。

11 net.ipv4.tcp_keepalive_intvl

該參數和上面的參數是一起的,服務端在規定時間內發起了探測,查看客戶端是否在線,如果客戶端并沒有確認,此時服務端還不能認定為對方不在線,而是要嘗試多次。該參數定義重新發送探測的時間,即第一次發現對方有問題后,過多久再次發起探測。

默認值為75秒(單位為秒),可以改為3。

12 net.ipv4.tcp_keepalive_probes

第10和第11個參數規定了何時發起探測和探測失敗后再過多久再發起探測,但并沒有定義一共探測幾次才算結束。該參數定義發起探測的包的數量。默認為9,建議設置2。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內核
    +關注

    關注

    3

    文章

    1382

    瀏覽量

    40422
  • 參數
    +關注

    關注

    11

    文章

    1859

    瀏覽量

    32427

原文標題:常見網絡相關的內核參數調整

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux一些常見問題——內核編譯常見錯誤

    Linux一些常見問題——內核編譯常見錯誤編譯2.6.31內核后重啟出現insmod: error inserting '/lib/dm-r
    發表于 02-20 15:22

    關于FPGA的一些典型問題總結

    關于FPGA的一些典型問題總結
    發表于 11-04 13:05

    NIOS II 常見問題總結

    NIOS II 常見問題總結,如果你想要Altera的FPGA做嵌入式設計,肯定要涉及到NIOS II的使用,本文總結一些NIOS II的常見
    發表于 12-01 15:43 ?14次下載

    kali一些基礎安裝總結

    kali一些基礎安裝總結,有興趣的同學可以參考下載看看啦。
    發表于 03-29 11:12 ?0次下載

    關于二叉樹一些數據結構和算法相關的題目

    最近總結一些數據結構和算法相關的題目,這是第篇文章,關于二叉樹的。
    的頭像 發表于 02-07 13:57 ?3244次閱讀

    C++的一些試題資料總結免費下載

    本文檔的主要內容詳細介紹的是C++的一些試題資料總結免費下載。
    發表于 01-29 10:04 ?6次下載
    C++的<b class='flag-5'>一些</b>試題資料<b class='flag-5'>總結</b>免費下載

    2019美西展一些總結分享

    2019年第54屆美國西部國際安防展(以下簡稱“美西展”)已經結束,近期國外安防媒體及行業人士亦紛紛總結了美西展的參展感受,本文摘選一些觀點進行分享,望有助于國內從業人士了解國外市場。
    的頭像 發表于 05-07 14:26 ?3510次閱讀

    一些常見的PCB原型設計和裝配神話解析

    隨著我們的電子設備越來越小,PCB原型制作越來越復雜。以下是一些常見的PCB原型設計和裝配神話,適當地被揭穿。了解這些神話和相關事實將幫助您克服與PCB布局和裝配相關
    的頭像 發表于 08-06 09:03 ?2248次閱讀

    總結一些常用的電平標準資料下載

    電子發燒友網為你提供總結一些常用的電平標準資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發表于 04-13 08:46 ?3次下載
    <b class='flag-5'>總結</b><b class='flag-5'>一些</b>常用的電平標準資料下載

    單片機學習之路一些常見的疑問也是我的個人學習總結

    單片機學習之路一些常見的疑問也是我的個人學習總結
    發表于 11-14 11:51 ?22次下載
    單片機學習之路<b class='flag-5'>一些</b><b class='flag-5'>常見</b>的疑問也是我的個人學習<b class='flag-5'>總結</b>

    單片機學習之路一些常見的疑問也是我的個人學習總結

    單片機學習之路一些常見的疑問也是我的個人學習總結
    發表于 11-14 15:21 ?12次下載
    單片機學習之路<b class='flag-5'>一些</b><b class='flag-5'>常見</b>的疑問也是我的個人學習<b class='flag-5'>總結</b>

    電路設計的一些經驗總結

    電路設計的一些經驗總結
    發表于 12-02 13:57 ?45次下載

    學習linux內核一些建議

    學習linux內核,這個可不像學門語言,c或者java個月或者3月你就能精通掌握。學習linux內核是需要
    發表于 05-07 15:20 ?643次閱讀
    學習linux<b class='flag-5'>內核</b>的<b class='flag-5'>一些</b>建議

    納米軟件科普:一些關于S參數常見問題的問答

    網絡分析儀常用被用來測試器件的S參數,本篇文章納米軟件Namisoft小編將為大家整理一些關于S參數常見問題問答,下面
    的頭像 發表于 02-02 10:49 ?1295次閱讀

    TCP相關內核參數總結

    在Linux上做網絡應用的性能優化時,般都會對TCP相關內核參數進行調節,特別是和緩沖、隊列有關的
    的頭像 發表于 11-10 15:17 ?877次閱讀
    TCP<b class='flag-5'>相關</b>的<b class='flag-5'>內核</b><b class='flag-5'>參數</b><b class='flag-5'>總結</b>
    老虎机的规律| 剑河县| 去澳门百家乐官网娱乐城| 威尼斯人娱乐官方| 百家乐9点直赢| 百家乐赌场| 香港六合彩报| 百家乐官网所有技巧| 太阳城百家乐官网出千技术| 百合百家乐官网的玩法技巧和规则 | 仕達屋娱乐城| 百家乐官网出闲几率| 百家乐技术秘籍| 金银岛百家乐的玩法技巧和规则| 百家乐官网的必胜方法| 百家乐双面数字筹码| 盈乐博| 百家乐赢家球讯网| 乌鲁木齐县| 百家乐官网平注常赢规则| bet365体育开户| 百家乐官网平玩法这样| 24山天机申山寅向择日| 德州扑克底牌| G3百家乐官网的玩法技巧和规则| 大发888娱乐城论坛| 粤港澳百家乐官网娱乐平台| 威尼斯人娱乐场66| 百家乐官网代理荐| 永利高投注网哪个好| 百家乐官网真人游戏开户| 百家乐暗红色桌布| 百家乐官网视频百家乐官网| 网上百家乐假| 赌博百家乐官网趋势把握| 威尼斯人娱乐城真钱游戏| 唐朝百家乐官网的玩法技巧和规则| 盐城棋牌游戏中心| 百家乐官网倍投| E乐博百家乐| 百家乐比较好的网站|