成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

TCP 狀態變化

網絡 網絡管理
關閉socket分為主動關閉和被動關閉兩種情況。前者是指有本地主機主動發起的關閉;而后者則是指本地主機檢測到遠程主機發起關閉之后,作出回應,從而關閉整個連接。

TCP 狀態變化

關閉socket分為主動關閉(Active closure)和被動關閉(Passive closure)兩種情況。前者是指有本地主機主動發起的關閉;而后者則是指本地主機檢測到遠程主機發起關閉之后,作出回應,從而關閉整個連接。將關閉部分的狀態轉移摘出來,就得到了下圖:

TCP 狀態變化

 

發生原因

通過圖上,我們來分析,什么情況下,連接處于CLOSE_WAIT狀態呢?

在被動關閉連接情況下,在已經接收到FIN,但是還沒有發送自己的FIN的時刻,連接處于CLOSE_WAIT狀態。

通常來講,CLOSE_WAIT狀態的持續時間應該很短,正如SYN_RCVD狀態。但是在一些特殊情況下,就會出現連接長時間處于CLOSE_WAIT狀態的情況。

出現大量close_wait的現象,主要原因是某種情況下對方關閉了socket鏈接,但是我方忙與讀或者寫,沒有關閉連接。代碼需要判斷socket,一旦讀到0,斷開連接,read返回負,檢查一下errno,如果不是AGAIN,就斷開連接。

more:

起初每個socket都是CLOSED狀態,當客戶端初使化一個連接,他發送一個SYN包到服務器,客戶端進入SYN_SENT狀態。服務器接收到SYN包,反饋一個SYN-ACK包,客戶端接收后返饋一個ACK包客戶端變成ESTABLISHED狀態,如果長時間沒收到SYN-ACK包,客戶端超時進入CLOSED狀態。

當服務器綁定并監聽某一端口時,socket的狀態是LISTEN,當客戶企圖建立連接時,服務器收到一個SYN包,并反饋SYN-ACK包。服務器狀態變成SYN_RCVD,當客戶端發送一個ACK包時,服務器socket變成ESTABLISHED狀態。

當一個程序在ESTABLISHED狀態時有兩種圖徑關閉它,***是主動關閉,第二是被動關閉。如果你要主動關閉的話,發送一個FIN包。當你的程序closesocket或者shutdown(標記),你的程序發送一個FIN包到peer,你的socket變成FIN_WAIT_1狀態。peer反饋一個ACK包,你的socket進入FIN_WAIT_2狀態。如果peer也在關閉連接,那么它將發送一個FIN包到你的電腦,你反饋一個ACK包,并轉成TIME_WAIT狀態。  TIME_WAIT狀態又號2MSL等待狀態。MSL意思是***段生命周期(Maximum+Segment+Lifetime)表明一個包存在于網絡上到被丟棄之間的時間。每個IP包有一個TTL(time_to_live),當它減到0時則包被丟棄。每個路由器使TTL減一并且傳送該包。當一個程序進入TIME_WAIT狀態時,他有2個MSL的時間,這個充許TCP重發***的ACK,萬一***的ACK丟失了,使得FIN被重新傳輸。在2MSL等待狀態完成后,socket進入CLOSED狀態。

被動關閉:當程序收到一個FIN包從peer,并反饋一個ACK包,于是程序的socket轉入CLOSE_WAIT狀態。因為peer已經關閉了,所以不能發任何消息了。但程序還可以。要關閉連接,程序自已發送給自已FIN,使程序的TCP socket狀態變成LAST_ACK狀態,當程序從peer收到ACK包時,程序進入CLOSED狀態。

 

責任編輯:林琳 來源: iteye
相關推薦

2023-12-01 14:57:22

TCP連接

2010-07-05 17:04:42

Netstat TCP

2015-10-13 15:09:31

2023-11-29 16:29:09

線程java

2023-10-26 07:15:46

2020-02-18 23:53:19

TCP網絡協議

2012-12-26 13:26:38

Android開發飛行模式

2014-08-22 09:10:46

2019-02-25 17:42:43

TCP協議狀態轉換

2015-10-12 08:33:06

TCP網絡協議服務端

2015-10-10 09:51:51

TCP網絡協議客戶端

2014-09-19 09:46:46

TCPIP

2019-09-02 10:39:15

TCPWindows連接

2023-05-08 23:20:49

WebYARN管理

2023-07-24 16:28:51

@State@Observed裝飾器監聽

2010-08-09 13:05:24

Flex4beta

2011-08-08 16:45:02

iPhone NSLog Release

2015-03-27 10:18:25

TCP協議CLOSE_WAIT狀服務器異常

2011-07-08 18:34:34

iOS Debug Release

2020-06-18 10:52:17

運維架構技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲视频中文字幕 | 久久青 | 台湾a级理论片在线观看 | 成人久草| 亚洲欧美日韩中文在线 | 精品国产免费人成在线观看 | 三级av免费| 国产精品日韩欧美一区二区三区 | 夜夜爆操| 日韩欧美在线播放 | 亚洲欧美自拍偷拍视频 | 免费黄色片视频 | 日韩精品无码一区二区三区 | 亚洲视频一区在线观看 | 99re6在线视频精品免费 | 日韩在线观看视频一区 | 成人av一区二区三区 | 欧美精品久久一区 | 国产激情视频在线 | 在线播放中文字幕 | 毛片网络 | 黄视频国产 | 日韩欧美大片在线观看 | 久青草影院 | 黄色网址在线免费播放 | 国产一区日韩在线 | 人操人免费视频 | 日韩一区二区av | 欧美精三区欧美精三区 | 国产精品一区在线播放 | 91日日| 在线中文字幕日韩 | 亚洲精品一区二区另类图片 | 亚洲一级二级三级 | 一区二区成人在线 | 免费久久99精品国产婷婷六月 | 99精品视频在线观看 | 国产在线不卡 | 国产精品福利久久久 | 免费看91 | 成人免费网站视频 |