對TCP狀態的新理解
以前一直不明白TCP的四次斷連線的意義在哪,通過一段時間實踐的領悟大約明白了
1. 首先發起斷連線的一方,傳送一個FIN訊號給被斷連線的從方,在C++的程式碼裡表示為close(fd),那麼這個連線就進入FIN_WAIT1狀態。
2. 被動的一方,在收到斷連線之後傳送ack給主動斷連線的一方,這時候被動方就進入CLOSE_WAIT狀態,主動方就進入FIN_WAIT2狀態。值得注意的是,這個是協議自動完成的,當被動方不呼叫自己的close(fd) 操作則會一直保持這狀態,通過netstat去觀察一直會有這個CLOSE_WAIT狀態,這樣如果被動方不呼叫close(fd)操作的話,會一直導致fd洩漏。
3. 被動一方呼叫close(fd) 方法關閉連線之後,傳送一個FIN給主動端,則主動方就進入time_wait狀態,被動方進入LAST_ACK狀態
4. 主動一方傳送最後的ack給被動方,被動方接收到之後關閉連線,主動方則經過2 MSL時間也關閉連線
最後盜個圖
相關推薦
對TCP狀態的新理解
以前一直不明白TCP的四次斷連線的意義在哪,通過一段時間實踐的領悟大約明白了 1. 首先發起斷連線的一方,傳送一個FIN訊號給被斷連線的從方,在C++的程式碼裡表示為close(fd),那麼這個連線就進入FIN_WAIT1狀態。 2. 被動的一方,在收到斷連
作業系統——程序(1)什麼是程序和對程序狀態的理解
在作業系統中滿足的大多數需求都涉及程序,在有了應用程式、系統軟體和資源的概念,就需要一種有序的方式管理應用程式的執行,從而能夠讓資源對多個應用程式是可用的、能夠讓所有程式得以執行、充分利用所有裝置。 程序如此重要那麼程序是什麼?首先程序是一個正在計算機上執行的程式例項,即程式是靜態
一個例子加深對servlet與tcp協議的理解
puts 一個 .com images 發送信息 mage 交流 tcp協議 host 理解一下servlet Java Servlet 是運行在 Web 服務器或應用服務器上的程序,它是作為來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 服務器上的數據庫或
對SSL一個疑問的新理解
別人 部分 一個 證書 解鎖 企業 spa 簽證 http 看了很多關於Https/SSL的介紹,關於數字證書部分,我一直有個疑問:如果數字證書文件被別人拿到,那是不是就可以進行通訊了呢?如果這樣,那整個安全機制就完全失去作用了。從開發的角度,我拿到別人的數字證書,我就可以
TCP狀態轉換圖的理解
fin 2msl 建立 情況 方便 bsp 斷開連接 主動斷開 一次 怎樣去讀懂TCP的狀態轉換圖? 1.概述 我第一次看這個轉換圖的時候,看的有點蒙,雖然知道表示的是TCP連接的狀態轉換圖,但是不知道怎麽去看這個圖,怎麽去理出個頭緒
十、對面向物件新的理解
看了一個視訊,顛覆了之前對面向物件設計的理解,程式設計真的的很神奇,他的部落格: 之前以為面向物件就是class A(){},現在知道了只用函式也可以面向物件程式設計。 面向過程、面向物件、函數語言程式設計只是不同的程式設計正規化吧,本身沒有好壞之分,看用的人了。
對TCP協議握手的理解(轉)
向上 重新啟動 應該 開始 不發送 開發 釋放 還要 knowledge 目錄: 31.Tcp握手的一些問題? 21.Tcp三次握手及SYN攻擊; 四次握手? 為什麽建立連接是三次握手,而關閉連接卻是四次揮手? 13.TCP釋放連接四次握手 12.TCP建立連接三次握
對tcp擁塞控制的理解
TCP協議作為一個可靠的面向流的傳輸協議,其可靠性和流量控制由滑動視窗協議保證,而擁塞控制則由控制視窗結合一系列的控制演算法實現。 一、滑動視窗協議 關於這部分自己不曉得怎麼敘述才好,因為理解的部分更多,下面就用自己的理解來介紹下TCP的精髓:滑動
zabbix系列(七)zabbix3.0新增對tcp連線數及狀態的監控
原理: netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}' TIME_WAIT 79 ESTABLISHED 6 LISTEN 3 可以使用man netstat檢視TCP的各種狀態資訊描述 E
zabbix3.0對tcp連線數和狀態的監控優化
zabbix3.0對tcp連線數及狀態的監控優化 之前對tcp的監控採用netstat命令,發現在伺服器繁忙的時候效果不理想,這個命令佔用大量的cpu有時候高達90%以上,可能會導致業務的不穩定,所以改用ss命令對指令碼進行優化 在需要被監控的zabbix-agent端新增指令碼編寫 建立資料夾 mkd
對執行緒的一點點新理解
最近在做一個提示框,要用到執行緒,遇到的問題是不知道怎麼在一個類中用同一個執行緒來呼叫所有方法。 後來想,是不是隻要線上程中建立了這個類,那這個類裡的所有原生的東西都屬於這個執行緒。 於是寫了個簡單的程式試了下: public class Class1 {
TCP狀態圖的理解以及TIME_WAIT狀態的作用
TCP/IP狀態圖 以及 TIME_WAIT作用 在TCP/IP狀態圖中,有很多種的狀態,它們之間有的是可以互相轉換的,也就是說,從一種狀態轉到另一種狀態,但是這種轉換不是隨便傳送的,是要滿足一定的條件。TCP/IP狀態圖看起來更像是自動機。下圖即為TCP/IP狀態。 由上圖可以看出,一共有11種
對TCP/IP網絡協議的深入淺出歸納
通過 傳輸速率 兩個人 比較 多層 本質 恰恰 transport 前段時間 前段時間做了一個開發,涉及到網絡編程,開發過程比較順利,但任務完成後始終覺得有一些疑惑。主要是因為對網絡協議不太熟悉,對一些概念也沒弄清楚。後來 我花了一些時間去了解這些網絡協議,現在對TCP/I
Hibernate 持久化對象狀態
mage 相同 import delet 官方 t對象 nfa oid bsp 持久化對象PO類狀態 1.狀態分類 transient 瞬時態:hibernate的session緩存中沒有存放,數據庫中沒有數據。例如新建的po類,沒有OID值 pers
【JAVAEE學習筆記】hibernate02:實體規則、對象狀態、緩存、事務、批量查詢和實現客戶列表顯示
使用 ins tro trace ges create 綁定 criteria 命名 一、hibernate中的實體規則 實體類創建的註意事項 1.持久化類提供無參數構造 2.成員變量私有,提供共有get/set方法訪問.需提供屬性 3.持久化類中的屬性,應盡量使用包
解構委托、事件--我對他們本質的理解
remove 類型 實例化 如果 方法 擴展 調用 所有 csharp 一、委托 1、因為委托是一個特殊的類,所以定義委托和定義類一樣,可以在命名空間下定義; namespace _06委托的理解 { public delegate void MyDelege
tcp狀態
維護 服務端 日常 pri tro 服務 rec end ron 在服務器的日常維護過程中,會經常用到下面的命令: netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘ 它會顯示
論TCP狀態監控在異常偵測、業務告警中有多重要
tcp連接 監控告警 異常偵測 很多同學在做監控告警、異常偵測時專註於軟件本身的數據,而忽略了TCP連接狀態的監控,其實TCP連接真實的反應了服務器和服務本身的隊列情況,是最靈敏的服務陰晴表。 現在的服務之間都是通過網絡進行通信,而很多服務通信是基於TCP的方式,包括大家 熟悉的HT
對Spring IOC的理解
更多 要求 color 構造 這一 漂亮 興趣 生命 tro 1、IoC和DI DI—Dependency Injection,即“依賴註入”:組件之間依賴關系由容器在運行期決定,形象的說,即由容器動態的將某個依賴關系註入到組件之中。依賴註入的目的並非為軟件系統帶來更多
ES6面向對象的淺理解。
.sh 添加屬性 con efault 面向 som fine 新人 構造 網上一些es6資源還是很多的在對於es6面向這塊比較少,所以新人在學習的時候做了一些總結。 因本人並不資深也能看懂,直接貼代碼。 class Person{ //為對象添加屬性