所謂半開TCP連線,簡單地說就是傳送了TCP連線請求,但還沒有得到對方應答的狀態(實際上要複雜些),也就是連線尚未完全建立起來,雙方還無法進行通信互動的狀態。
基本介紹
- 中文名:半開連線數
- 性質:連線數
- 屬性:半開
- 簡單地說:就是傳送了TCP連線請求
基本介紹,作用機理,注意,
基本介紹
半開連線數限制充其量僅會在連線時引入一點時延(從幾毫秒到幾百毫秒)而已。而數據互動是在已經建立的TCP連線上傳輸的,傳輸速率與半開連線數量無關。更何況P2P協定本身還有排隊、請求數據等,這些機制引入的時延都遠遠大於半開連線限制所帶來的時延(例如,你連線了數百個對端,但是傳輸數據的卻只有其中的幾十個而已,其中大部分都處於等待或閒置狀態)。因此,半開連線數限制對上傳、下載速率幾乎沒有影響。
作用機理
因為每一個半開連線都會使系統(包括路由器、防火牆、作業系統等)引入額外的開銷,過多的半開連線數只會導致系統資源緊張、不穩定甚至崩潰,卻不能帶來傳輸速率在實質上的提高。例如,在P2P網路中,一個黑客可以通過散布虛假資源信息,引導大量客戶端在短時間內試圖與某個被攻擊者建立連線,如果半開連線數設定過大,將導致系統崩潰(路由器梗死、防火牆癱瘓或者作業系統崩潰等)。還有其它很多DDoS攻擊手段。限制TCP半開連線數,可以有效地防止DDoS攻擊。
TCP半開連線是指傳送了TCP連線請求,等待對方應答的狀態,此時連線並沒有完全建立起來,雙方還無法進行通信互動的狀態,此時就稱為半連線。由於一個完整的TCP連線需要經過三次握手才能完成,這裡把三次握手之前的連線都稱之為半連線。
為了便於理解,我們把一次完整的TCP連線比作汽車通過一座大橋,在通過大橋之前的行程都稱之為TCP半開連線。TCP半開連線數就是大橋的車道,由於這個這個半連線數量如果設定過大,不僅耗費大量系統資源,而且還可能會遭受很多DDoS攻擊。因此,出於安全考慮,默認XP SP2(包括SP3)只允許同時存在10個TCP半開連線,也就是說這個大橋只有10個車道,破解就是通過修改tcpip.sys,拓寬這個大橋,使之擁有更多的車道,也就是增加TCP半開連線數。這樣如果同時需要過橋的汽車較多,過橋等待的時間就更短了(注意:不是在橋上通行花費時間,是等待上橋的時間),破解半開連線數的意義也僅此而已。
不過並非大橋越寬越好,大橋寬度要和實際車流量匹配,比如,只要設計50車道就足夠車流順暢通過,設計成100車道就是浪費了。一般來說,在2M、4M寬頻條件下,TCP半開連線數隻要設定為256左右即可。
注意
需要注意的是,根據微軟發布的windows7 sp1 旗艦版版本的使用情況以及微軟之前發布的信息,windows7或許取消了半開連線數的限定。