精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TCP狀態(tài)流轉圖詳解

麥辣雞腿堡 ? 來源:盼盼編程 ? 作者:盼盼編程 ? 2023-10-08 17:11 ? 次閱讀

接下來再看一下著名的 TCP 狀態(tài)流轉圖。

圖片

CLOSED狀態(tài):表示初始狀態(tài)。

LISTEN狀態(tài):表示服務器端的某個 socket 處于監(jiān)聽狀態(tài),可以接受連接。

SYN_SENT狀態(tài):在服務端監(jiān)聽后,客戶端 socket 執(zhí)行 CONNECT 連接時,客戶端發(fā)送 SYN 報文,此時客戶端就進入 SYN_SENT
狀態(tài),等待服務端的確認。

SYN_RCVD狀態(tài):表示服務端接收到了SYN 報文,在正常情況下,這個狀態(tài)是服務器端的 socket 在建立 TCP連接時的三次握手會話過程中的一個中間狀態(tài),很短暫,基本上用網絡查詢工具 netstat 是很難看到這種狀態(tài)的。因此這種狀態(tài)時,當收到客戶端的 ACK報文后,它會進入到 ESTABLISHED 狀態(tài)。

ESTABLISHED狀態(tài):表示連接已經建立了。

FIN_WAIT_1狀態(tài):這個是已經建立連接之后,其中一方請求終止連接,等待對方的 FIN 報文 。

FIN_WAIT_1 狀態(tài)是當 socket 在 ESTABLISHED 狀態(tài)時,它想主動關閉連接,向對方發(fā)送了 FIN 報文,此時該 socket即進入到 FIN_WAIT_1 狀態(tài)。而當對方回應 ACK 報文后,則進入到 FIN_WAIT_2 狀態(tài)。

當然在實際的正常情況下,無論對方處于何種情況,都應該馬上回應 ACK 報文,所以 FIN_WAIT_1 狀態(tài)一般是比較難見到的,而FIN_WAIT_2 狀態(tài)還可以用 netstat 看到。

FIN_WAIT_2狀態(tài):實際上 FIN_WAIT_2 狀態(tài)下的 socket,表示半連接,即有一方要求關閉連接,但另外還告訴對方:我暫時還有點數據需要傳送給你,請稍后關閉連接。

TIME_ WAIT狀態(tài):表示收到了對方的 FIN 報文,并發(fā)送出了 ACK 報文,就等 2MSL 后即可回到 CLOSED 可用狀態(tài)了。如果在FIN_WAIT_1 狀態(tài)下,收到了對方同時帶 FIN 標志和 ACK 標志的報文時,可以直接進入到 TIME_WAIT 狀態(tài),而無需經過 FIN_WAIT_2狀態(tài)。

CLOSING狀態(tài):這種狀態(tài)比較特殊,實際情況中應該是很少見。正常情況下,當發(fā)送 FIN 報文后,按理來說是應該先收到(或同時收到)對方的ACK報文,再收到對方的 FIN 報文 。但是 CLOSING 狀態(tài)表示你發(fā)送 FIN 報文后,并沒有收到對方的 ACK 文,反而收到了對方的 FIN 報文。

如果雙方幾乎在同時關閉一個 socket 的話,那么就出現了雙方同時發(fā)送 FIN 報文的情況,就會出現 CLOSING 狀態(tài),表示雙方都正在關閉
socket 連接。

CLOSE_WAIT狀態(tài):表示在等待關閉。當對方關閉一個 socket 后發(fā)送 FIN 報文給自己時,系統(tǒng)將毫無疑問地會回應 ACK報文給對方,此時則進入到 CLOSE_WAIT 狀態(tài)。

接下來呢,實際上你真正需要考慮的事情是察看你是否還有數據發(fā)送給對方,如果沒有,那么你也就可以關閉這個socket了,發(fā)送 FIN報文給對方,即關閉連接 。CLOSE _WAIT 狀態(tài)下,需要完成的事情是等待你去關閉連接。

LAST_ACK狀態(tài):這個狀態(tài)還是比較好理解的,它是被動關閉 方在發(fā)送 FIN 報文后,最后等待對方的 ACK 報文。

CLOSED狀態(tài):當收到 ACK 報文后,也即可以進入到 CLOSED 可用狀態(tài)了。

2MSL 等待狀態(tài):在 FIN_WAIT_2 發(fā)送了最后一個 ACK 數據報以后,要進入 TIME_WAIT
態(tài),這個狀態(tài)是防止最后一次握手的數據報沒有傳送到對方那里而準備的。

由于 socket 2MSL 狀態(tài),使得應用程序在 2MSL 時間內無法再次使用同一個 socket ,對于客戶程序還好些,但是對于服務程序(httpd),它總是要使用同一個端口來進行服務,而在 2MSL 時間內,啟動 httpd 就會出現錯誤(插口被使用)。

為了避免這個錯誤,服務器給出了一個平靜時間的概念,這是說在 2MSL的時間內,雖然可以重新啟動服務器,但是這個服務器還是要平靜地等待 2MSL的時間才能進行下一次連接。

FIN WAIT_2 狀態(tài):這就是著名的半關閉狀態(tài)了,這是在關閉連接時,客戶端和服務器兩次握手之后的狀態(tài) 。

在這個狀態(tài)下,應用程序還有接收數據的能力。已經無法發(fā)送數據,但是也有一種可能是,客戶端處于FIN_WAIT_2 狀態(tài),而服務器則一直處于WAIT_CLOSE 狀態(tài),直到應用層來決定關閉這個狀態(tài)。

RST 同時打開和同時關閉:RST 是另一種關閉連接的方式,應用程序應該可以判斷RST 包的真實性,即是否為異常中止而同時打開和同時關閉則是兩種特殊的 TCP 狀態(tài),發(fā)生的概率很小。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9024

    瀏覽量

    85186
  • 網絡
    +關注

    關注

    14

    文章

    7519

    瀏覽量

    88635
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1351

    瀏覽量

    78989
  • 連接
    +關注

    關注

    2

    文章

    95

    瀏覽量

    20950
收藏 人收藏

    評論

    相關推薦

    TCP-IP詳解

    Stevens關于TCP/IP的經典著作(共3卷)的中譯本。其中的卷3:《TCP/IP詳解 卷3:TCP事務協(xié)議、HTTP、NNTP、UNIX域協(xié)議》。  
    發(fā)表于 08-08 17:30

    狀態(tài)圖使用詳解-作者做了一個動態(tài)顯示狀態(tài),怎么做的??

    論壇里的帖子,狀態(tài)圖使用詳解-簡單入門 我初學者,很有幫助,甚是感謝!! 軟件界面里的圖片,狀態(tài)切換動畫是怎么實現的? 沒看明白,能給說一下嗎?感謝
    發(fā)表于 11-30 11:41

    TCP-IP詳解_卷3_TCP事務協(xié)議,HTTP,NNTP

    TCP-IP詳解_卷3_TCP事務協(xié)議,HTTP,NNTP和UNIX域協(xié)議》
    發(fā)表于 03-24 22:42 ?39次下載

    tcp ip協(xié)議詳解卷三 下載

    tcp ip協(xié)議詳解卷三:第三卷的內容細節(jié)覆蓋了當今TCP/IP編程人員和網絡管理員必須熟練掌握的四個基本方面:    T/TCP (
    發(fā)表于 05-19 11:52 ?437次下載
    <b class='flag-5'>tcp</b> ip協(xié)議<b class='flag-5'>詳解</b>卷三 下載

    tcp ip協(xié)議詳解卷一

    tcp ip協(xié)議詳解卷一:《TCP/IP詳解,卷1:協(xié)議》是一本完整而詳細的TCP/IP協(xié)議指南。描述了屬于每一層的各個協(xié)議以及它們如何在不
    發(fā)表于 05-19 12:02 ?712次下載

    TCP-IP詳解卷2_插口選項

    學習TCP很好的資料,電子書:TCP-IP詳解卷2 。
    發(fā)表于 05-09 14:33 ?0次下載

    TCP-IP詳解卷2_插口層

    學習TCP很好的資料,電子書:TCP-IP詳解卷2 。
    發(fā)表于 05-09 14:33 ?0次下載

    TCP-IP詳解卷2_域和協(xié)議

    學習TCP很好的資料,電子書:TCP-IP詳解卷2 。
    發(fā)表于 05-09 14:33 ?0次下載

    TCP實現:TCP輸出

    學習TCP-IP的很好的書。TCP-IP詳解卷3。
    發(fā)表于 05-09 14:33 ?0次下載

    TCP實現:TCP概要

    學習TCP-IP的很好的書。TCP-IP詳解卷3。
    發(fā)表于 05-09 16:07 ?0次下載

    TCP實現:TCP函數

    學習TCP-IP的很好的書。TCP-IP詳解卷3。
    發(fā)表于 05-09 16:07 ?0次下載

    TCP實現:TCP輸入

    學習TCP-IP的很好的書。TCP-IP詳解卷3。
    發(fā)表于 05-09 16:07 ?0次下載

    TCP IP協(xié)議有什么樣的狀態(tài)

    首先介紹一下TCP連接建立與關閉過程中的狀態(tài)TCP連接過程是狀態(tài)的轉換,促使狀態(tài)發(fā)生轉換的因素包括用戶調用、特定數據包以及超時等,具體
    的頭像 發(fā)表于 02-24 14:31 ?3128次閱讀
    <b class='flag-5'>TCP</b> IP協(xié)議有什么樣的<b class='flag-5'>狀態(tài)</b>

    什么是TCP狀態(tài)轉移

    TCP協(xié)議根據連接時接收到報文的不同類型,采取相應動作也不同,還要處理各個狀態(tài)的關系,如當收到握手報文時候、超時的時候、用戶主動關閉的時候等都需要不一樣的狀態(tài)去采取不一樣的處理。在LwIP中,為了實現`
    的頭像 發(fā)表于 02-14 10:35 ?1163次閱讀
    什么是<b class='flag-5'>TCP</b><b class='flag-5'>狀態(tài)</b>轉移

    TCP狀態(tài)機設計與實現

    TCP狀態(tài)機是TCP連接的變化過程。TCP在三次握手和四次揮手的過程,就是一個TCP狀態(tài)說明,
    的頭像 發(fā)表于 04-21 11:47 ?1654次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>狀態(tài)</b>機設計與實現