tcp socket的backlog參數

  • syns queue
    用於保存半連接狀態的請求,其大小通過/proc/sys/net/ipv4/tcp_max_syn_backlog指定,一般默認值是512,不過這個設置有效的前提是系統的syncookies功能被禁用。互聯網常見的TCP SYN FLOOD惡意DOS攻擊方式就是建立大量的半連接狀態的請求,然後丟棄,導致syns queue不能保存其它正常的請求。

  • accept queue
    用於保存全連接狀態的請求,其大小通過/proc/sys/net/core/somaxconn指定,在使用listen函數時,內核會根據傳入的backlog參數與系統參數somaxconn,取二者的較小值。

如果accpet queue隊列滿了,server將發送一個ECONNREFUSED錯誤信息Connection refused到client。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章