❤️強烈推薦人工智慧學習**❤️
我們在學習tcp的時候,不僅要考慮理想情況還要考慮tcp失敗的幾種情況,下面簡單來說一下tcp的幾種失敗模式。
1.網路紊亂
網路紊亂可能原因可能有很多,如路由器失敗,主幹網鏈結失敗,或網線頭鬆動都可能造成網路紊亂,最終造成網路或主機不可達。當發出去的包沒有收到確認時,tcp會進行重傳,直到中間的路由器傳送乙個icmp訊息來說明網路或主機不可達,然後傳送rst。
2.伺服器程序崩潰
簡單來說就是伺服器主機上面的伺服器程序掛掉了,伺服器程序掛掉之後將會給對等方傳送fin,當傳送fin後並不表示伺服器已經不能再接收資料了。當客戶端接收到fin後,再次給服務端傳送資料,此時服務端會返回rst。如果客戶端又一次給服務端傳送資料,則此時客戶端程序自動掛掉。
3.伺服器主機崩潰
在談到這個問題時,不要把和服務端程序崩潰搞混了。伺服器主機崩潰時是不會給對等方傳送fin的,這就是它們的區別。當伺服器主機崩潰時,客戶端啥都收不到。客戶端向往常一樣給伺服器發資料,但是一直接收不到確認,客戶端會進行超時重傳,當重傳達到一定次數就會返回超時,然後重置連線
3.伺服器主機崩潰後重啟
當伺服器主機崩潰後,原先的伺服器程序不存在了,套接字也不存在了,故連線也不存在了。當伺服器收到客戶端傳送的資料時,伺服器會返回rst。
tcp鏈結的幾種狀態
說明 通常情況下 乙個正常的tcp連線,都會有三個階段 1 tcp三次握手 2 資料傳送 3 tcp四次揮手 裡面的幾個概念 客戶端發起乙個和服務建立tcp鏈結的請求,這裡是syn j 服務端接受到客戶端的建立請求後,返回兩個資訊 syn k ack j 1 客戶端在接受到服務端的ack資訊校驗成功...
TCP常見的幾種狀態
tcp常見的幾種狀態 closed 初始狀態,表示沒有任何連線。listen server端的某個socket正在監聽來自遠方的tcp埠的連線請求。syn sent 傳送連線請求後等待確認資訊。當客戶端socket進行connect連線時,會首先傳送syn包,隨即進入syn sent狀態,然後等待s...
crontab執行失敗的幾種場景
一般能使用crontab e編輯任務的機器crond服務都開啟了,但會存在某些時刻內容修改之後新增的任務不啟動的問題。比較典型的場景是舊的定時任務還在執行,新的定時任務沒有啟動。service crond restart指令碼沒有執行許可權,可以使用chmod命令對指定檔案增加執行許可權,然後可以正...