亚洲mv大片欧洲mv大片入口,国产粉嫩无码一区二区三区,国内精品自产拍在线观看91,久久久亚洲欧洲日产国码二区,中文字幕人妻久久一区二区三区

常州機器視覺培訓(xùn)

常州上位機軟件開發(fā)

常州工業(yè)機器人編程設(shè)計培訓(xùn)

常州PLC培訓(xùn)

常州PLC

常州PLC編程培訓(xùn)

常州電工培訓(xùn)

常州和訊plc培訓(xùn)中心歡迎您!
當(dāng)前位置:網(wǎng)站首頁 > 新聞中心 新聞中心
TCP通信靈魂二十問【下】常州上位機培訓(xùn),常州機器視覺培訓(xùn)
日期:2023-12-19 11:25:12人氣:  標(biāo)簽:常州上位機培訓(xùn) 常州機器視覺培訓(xùn)

 

11. 四次揮手中的TIME_WAIT狀態(tài)?

首先要明確一點:主動關(guān)閉連接的一方,才會有TIME_WAIT狀態(tài)。


之所以需要TIME_WAIT狀態(tài),主要是兩個原因:


防止相同的端口重新連接時,服務(wù)器收到的是停留在網(wǎng)絡(luò)間的數(shù)據(jù)包

保證被動關(guān)閉連接的一方能被正確的關(guān)閉,即保證最后的 ACK 能讓被動關(guān)閉方接收,從而幫助其正常關(guān)閉

12. 為什么TIME_WAIT時間為2MSL?

MSL 是 Maximum Segment Lifetime,報文最大生存時間,它是任何報文在網(wǎng)絡(luò)上存在的最長時間,超過這個時間報文將被丟棄。比如如果被動關(guān)閉方?jīng)]有收到斷開連接的最后的 ACK 報文,就會觸發(fā)超時重發(fā) FIN 報文,另一方接收到 FIN 后,會重發(fā) ACK 給被動關(guān)閉方,一來一去正好 2 個 MSL。

2MSL 的時間是從客戶端接收到 FIN 后發(fā)送 ACK 開始計時的。如果在 TIME-WAIT 時間內(nèi),因為客戶端的 ACK 沒有傳輸?shù)椒⻊?wù)端,客戶端又接收到了服務(wù)端重發(fā)的 FIN 報文,那么 2MSL 時間將重新計時。在Linux系統(tǒng)中,2MSL默認值是60秒。


13. 什么是TCP的;顧C制?

定義一個時間段,在這個時間段內(nèi),如果沒有任何連接相關(guān)的活動,TCP;顧C制會開始作用,每隔一個時間間隔,發(fā)送一個探測報文,該探測報文包含的數(shù)據(jù)非常少,如果連續(xù)幾個探測報文都沒有得到響應(yīng),則認為當(dāng)前的TCP 連接已經(jīng)死亡,系統(tǒng)內(nèi)核將錯誤信息通知給上層應(yīng)用程序。


14. 已經(jīng)建立連接,客戶端故障怎么辦?

這種情況就會觸發(fā)TCP的;顧C制,對應(yīng)的參數(shù)包括;顣r間、;钐綔y的次數(shù)、;钐綔y的時間間隔,其中;顣r間默認為7200秒,;钐綔y次數(shù)為9,;钐綔y時間間隔為75秒。


也就意味著,如果客戶端突然故障,會經(jīng)過7200+75*9=7875秒即2小時11分15后,服務(wù)器才會判斷該連接失效,以上參數(shù)可以手動設(shè)置。


15. TCP/IP協(xié)議與Socket之間是什么關(guān)系?

網(wǎng)絡(luò)有一段關(guān)于Socket和TCP/IP協(xié)議關(guān)系的說法比較容易理解:


TCP/IP只是一個協(xié)議棧,就像操作系統(tǒng)的運行機制一樣,必須要具體實現(xiàn),同時還要提供對外的操作接口。這個就像操作系統(tǒng)會提供標(biāo)準(zhǔn)的編程接口,比如Win32編程接口一樣,TCP/IP也要提供可供程序員做網(wǎng)絡(luò)開發(fā)所用的接口,這就是Socket編程接口。


所以,Socket跟TCP/IP并沒有必然的聯(lián)系,Socket編程接口在設(shè)計的時候,就希望能適應(yīng)其他的網(wǎng)絡(luò)協(xié)議。Socket的出現(xiàn)只是可以更方便的使用TCP/IP協(xié)議棧而已,其對TCP/IP進行了抽象,形成了一些最基本的函數(shù)接口,比如Send,Listen等。


16. 什么是SYN攻擊?

我們都知道 TCP 連接建立是需要三次握手,假設(shè)攻擊者短時間偽造不同 IP 地址的 SYN 報文,服務(wù)端每接收到一個SVN 報文,就進入SYN_RCVD 狀態(tài),但服務(wù)端發(fā)送出去的 ACK + SYN 報文,無法得到未知IP 主機的 ACK 應(yīng)答,久而久之就會占滿服務(wù)端的 SYN 接收隊列(未連接隊列),使得服務(wù)器不能為正常用戶服務(wù)。


17. 如何避免SYN攻擊?

避免SYN攻擊的兩個方案:

通過修改內(nèi)核參數(shù),控制隊列大小,并確定好當(dāng)隊列滿之后應(yīng)該如何處理,比如隊列滿之后,對新的SYN直接回復(fù)RST,丟棄連接。

當(dāng)SYN隊列滿了之后,后續(xù)收到的SYN,不直接進入SYN隊列,而是先計算Cookie值,再發(fā)送,后續(xù)可以驗證ACK包的合法性

18. TCP服務(wù)器Socket編程流程

服務(wù)端初始化 Socket,得到文件描述符

服務(wù)端調(diào)用 Bind,將綁定在 IP 地址和端口

服務(wù)端調(diào)用 Listen,進行監(jiān)聽

服務(wù)端調(diào)用 Accept,建立客戶端連接

通過Send向客戶端發(fā)送消息

通過Receive接收客戶端消息

19. TCP客戶端Socket編程?

客戶端初始化 Socket,得到文件描述符

客戶端調(diào)用Connect,連接服務(wù)器

連接成功調(diào)用Send向客戶端發(fā)送消息

通過Receive接收客戶端消息

20. Listen中的backlog參數(shù)什么意義?

Linux內(nèi)核中會維護兩個隊列:


未完成連接隊列(SYN 隊列):接收到一個 SYN 建立連接請求,處于 SYN_RCVD 狀態(tài); 已完成連接隊列(Accpet 隊列):已完成 TCP 三次握手過程,處于 ESTABLISHED 狀態(tài);


在內(nèi)核 2.2 之后,backlog 變成 Accept 隊列,也就是已完成連接建立的隊列長度,所以現(xiàn)在通常認為 backlog 是 Accept 隊列。


本文網(wǎng)址:
下一篇:沒有資料

相關(guān)信息:
版權(quán)所有 CopyRight 2006-2017 江蘇和訊自動化設(shè)備有限公司 常州自動化培訓(xùn)中心 電話:0519-85602926 地址:常州市新北區(qū)府琛商務(wù)廣場2號樓1409室
蘇ICP備14016686號-2 技術(shù)支持:常州山水網(wǎng)絡(luò)
本站關(guān)鍵詞:常州PLC培訓(xùn) 常州PLC編程培訓(xùn) 常州PLC編程 常州PLC培訓(xùn)班 網(wǎng)站地圖 網(wǎng)站標(biāo)簽
在線與我們?nèi)〉寐?lián)系
亚洲mv大片欧洲mv大片入口,国产粉嫩无码一区二区三区,国内精品自产拍在线观看91,久久久亚洲欧洲日产国码二区,中文字幕人妻久久一区二区三区