TCP和併發相關知識梳理

語言: CN / TW / HK

什麼叫TCP

面向連線的,可靠的傳輸協議

三次握手

小知識:

ddos攻擊,一般是通過最後一次握手不給予回饋,讓S端大量阻塞在等待C端的最後一步ACK的過程中

最大連線數

滿足四元組方程。

C10k問題

隨著網際網路的普及,應用的使用者群體幾何倍增長,此時伺服器效能問題就出現。最初的伺服器是基於程序/執行緒模型。新到來一個TCP連線,就需要分配一個程序。假如有C10K,就需要建立1W個程序,可想而知單機是無法承受的。那麼如何突破單機效能是高效能網路程式設計必須要面對的問題,進而這些侷限和問題就統稱為C10K問題,最早是由Dan Kegel進行歸納和總結的,並且他也系統的分析和提出解決方案。

C10K問題的本質 C10K問題的本質上是作業系統的問題。對於Web 1.0/2.0時代的作業系統,傳統的同步阻塞I/O模型處理方式都是requests per second。當建立的程序或執行緒多了,資料拷貝頻繁(快取I/O、核心將資料拷貝到使用者程序空間、阻塞,程序/執行緒上下文切換消耗大, 導致作業系統崩潰,這就是C10K問題的本質。

可見, 解決C10K問題的關鍵就是儘可能減少這些CPU資源消耗。

四次分手

分享到: