青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 297,  comments - 15,  trackbacks - 0
1
、建立連接協議(三次握手)
(1)客戶端發送一個帶SYN標志的TCP報文到服務器。這是三次握手過程中的報文1。
(2) 服務器端回應客戶端的,這是三次握手中的第2個報文,這個報文同時帶ACK標志和SYN標志。因此它表示對剛才客戶端SYN報文的回應;同時又標志SYN給客戶端,詢問客戶端是否準備好進行數據通訊。
(3) 客戶必須再次回應服務段一個ACK報文,這是報文段3。
2
、連接終止協議(四次揮手)
   由于TCP連接是全雙工的,因此每個方向都必須單獨進行關閉。這原則是當一方完成它的數據發送任務后就能發送一個FIN來終止這個方向的連接。收到一個 FIN只意味著這一方向上沒有數據流動,一個TCP連接在收到一個FIN后仍能發送數據。首先進行關閉的一方將執行主動關閉,而另一方執行被動關閉。
 (1) TCP客戶端發送一個FIN,用來關閉客戶到服務器的數據傳送(報文段4)。
 (2) 服務器收到這個FIN,它發回一個ACK,確認序號為收到的序號加1(報文段5)。和SYN一樣,一個FIN將占用一個序號。
 (3) 服務器關閉客戶端的連接,發送一個FIN給客戶端(報文段6)。
 (4) 客戶段發回ACK報文確認,并將確認序號設置為收到序號加1(報文段7)。
CLOSED: 這個沒什么好說的了,表示初始狀態。
LISTEN: 這個也是非常容易理解的一個狀態,表示服務器端的某個SOCKET處于監聽狀態,可以接受連接了。
SYN_RCVD: 這個狀態表示接受到了SYN報文,在正常情況下,這個狀態是服務器端的SOCKET在建立TCP連接時的三次握手會話過程中的一個中間狀態,很短暫,基本 上用netstat你是很難看到這種狀態的,除非你特意寫了一個客戶端測試程序,故意將三次TCP握手過程中最后一個ACK報文不予發送。因此這種狀態 時,當收到客戶端的ACK報文后,它會進入到ESTABLISHED狀態。
SYN_SENT: 這個狀態與SYN_RCVD遙想呼應,當客戶端SOCKET執行CONNECT連接時,它首先發送SYN報文,因此也隨即它會進入到了SYN_SENT狀 態,并等待服務端的發送三次握手中的第2個報文。SYN_SENT狀態表示客戶端已發送SYN報文。
ESTABLISHED:這個容易理解了,表示連接已經建立了。
FIN_WAIT_1: 這個狀態要好好解釋一下,其實FIN_WAIT_1和FIN_WAIT_2狀態的真正含義都是表示等待對方的FIN報文。而這兩種狀態的區別 是:FIN_WAIT_1狀態實際上是當SOCKET在ESTABLISHED狀態時,它想主動關閉連接,向對方發送了FIN報文,此時該SOCKET即 進入到FIN_WAIT_1狀態。而當對方回應ACK報文后,則進入到FIN_WAIT_2狀態,當然在實際的正常情況下,無論對方何種情況下,都應該馬 上回應ACK報文,所以FIN_WAIT_1狀態一般是比較難見到的,而FIN_WAIT_2狀態還有時常常可以用netstat看到。
FIN_WAIT_2:上面已經詳細解釋了這種狀態,實際上FIN_WAIT_2狀態下的SOCKET,表示半連接,也即有一方要求close連接,但另外還告訴對方,我暫時還有點數據需要傳送給你,稍后再關閉連接。
TIME_WAIT: 表示收到了對方的FIN報文,并發送出了ACK報文,就等2MSL后即可回到CLOSED可用狀態了。如果FIN_WAIT_1狀態下,收到了對方同時帶 FIN標志和ACK標志的報文時,可以直接進入到TIME_WAIT狀態,而無須經過FIN_WAIT_2狀態。
CLOSING: 這種狀態比較特殊,實際情況中應該是很少見,屬于一種比較罕見的例外狀態。正常情況下,當你發送FIN報文后,按理來說是應該先收到(或同時收到)對方的 ACK報文,再收到對方的FIN報文。但是CLOSING狀態表示你發送FIN報文后,并沒有收到對方的ACK報文,反而卻也收到了對方的FIN報文。什 么情況下會出現此種情況呢?其實細想一下,也不難得出結論:那就是如果雙方幾乎在同時close一個SOCKET的話,那么就出現了雙方同時發送FIN報 文的情況,也即會出現CLOSING狀態,表示雙方都正在關閉SOCKET連接。
CLOSE_WAIT: 這種狀態的含義其實是表示在等待關閉。怎么理解呢?當對方close一個SOCKET后發送FIN報文給自己,你系統毫無疑問地會回應一個ACK報文給對 方,此時則進入到CLOSE_WAIT狀態。接下來呢,實際上你真正需要考慮的事情是察看你是否還有數據發送給對方,如果沒有的話,那么你也就可以 close這個SOCKET,發送FIN報文給對方,也即關閉連接。所以你在CLOSE_WAIT狀態下,需要完成的事情是等待你去關閉連接。
LAST_ACK: 這個狀態還是比較容易好理解的,它是被動關閉一方在發送FIN報文后,最后等待對方的ACK報文。當收到ACK報文后,也即可以進入到CLOSED可用狀態了。
最后有2個問題的回答,我自己分析后的結論(不一定保證100%正確)
1、 為什么建立連接協議是三次握手,而關閉連接卻是四次握手呢?
這 是因為服務端的LISTEN狀態下的SOCKET當收到SYN報文的建連請求后,它可以把ACK和SYN(ACK起應答作用,而SYN起同步作用)放在一 個報文里來發送。但關閉連接時,當收到對方的FIN報文通知時,它僅僅表示對方沒有數據發送給你了;但未必你所有的數據都全部發送給對方了,所以你可以未 必會馬上會關閉SOCKET,也即你可能還需要發送一些數據給對方之后,再發送FIN報文給對方來表示你同意現在可以關閉連接了,所以它這里的ACK報文 和FIN報文多數情況下都是分開發送的。
2、 為什么TIME_WAIT狀態還需要等2MSL后才能返回到CLOSED狀態?
這是因為: 雖然雙方都同意關閉連接了,而且握手的4個報文也都協調和發送完畢,按理可以直接回到CLOSED狀態(就好比從SYN_SEND狀態到 ESTABLISH狀態那樣);但是因為我們必須要假想網絡是不可靠的,你無法保證你最后發送的ACK報文會一定被對方收到,因此對方處于 LAST_ACK狀態下的SOCKET可能會因為超時未收到ACK報文,而重發FIN報文,所以這個TIME_WAIT狀態的作用就是用來重發可能丟失的 ACK報文。
轉自:
posted on 2009-10-20 21:15 chatler 閱讀(319) 評論(0)  編輯 收藏 引用 所屬分類: Network
<2009年10月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用鏈接

留言簿(10)

隨筆分類(307)

隨筆檔案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

  • cloudward
  • 感覺這個博客還是不錯,雖然做的東西和我不大相關,覺得看看還是有好處的

network

OSS

  • Google Android
  • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • os161 file list

overall

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美成人有码| 91久久黄色| 香蕉成人久久| 国产视频精品网| 久久精品国产免费观看| 欧美在线一级va免费观看| 国产精品一区二区在线观看网站| 欧美一级淫片aaaaaaa视频| 亚洲欧美www| 精品1区2区3区4区| 欧美jjzz| 久热精品视频在线免费观看| 91久久久久久久久久久久久| 亚洲日本欧美日韩高观看| 欧美日精品一区视频| 新狼窝色av性久久久久久| 久久精品一区蜜桃臀影院| 亚洲三级电影全部在线观看高清| 亚洲美女福利视频网站| 国产精品人成在线观看免费| 久久婷婷国产综合精品青草 | 久久av资源网站| 久久人人看视频| 这里只有精品在线播放| 欧美亚洲一区在线| 亚洲精品久久久久久久久| 亚洲视频欧美在线| 亚洲国产一二三| 亚洲——在线| 亚洲国产精品传媒在线观看| 中文久久乱码一区二区| 亚洲第一综合天堂另类专| 中文国产亚洲喷潮| 亚洲国产乱码最新视频| 午夜激情综合网| 在线视频欧美日韩精品| 久久国产视频网站| 亚洲欧美日韩国产中文| 欧美不卡激情三级在线观看| 久久精品视频播放| 欧美小视频在线观看| 亚洲第一色中文字幕| 国产一区二区三区久久久久久久久| 欧美激情中文字幕一区二区| 国产亚洲女人久久久久毛片| 夜夜爽夜夜爽精品视频| 亚洲国产婷婷香蕉久久久久久99| 羞羞色国产精品| 亚洲自拍偷拍视频| 欧美久久影院| 亚洲国产一区二区视频| 亚洲精品自在久久| 免费看的黄色欧美网站| 欧美制服丝袜第一页| 欧美色区777第一页| 91久久在线| 亚洲人成在线观看| 免费亚洲视频| 欧美成人第一页| 影音先锋久久精品| 久久国产精品久久国产精品| 欧美一区二区三区视频在线| 国产精品免费一区二区三区在线观看| 99国产精品视频免费观看| 亚洲精选在线观看| 欧美精品在线观看91| 亚洲国产精品一区二区尤物区| 亚洲国产日韩欧美在线99| 久久一区二区三区国产精品 | 国产精品乱码| 亚洲伦理在线免费看| 亚洲视频欧洲视频| 欧美视频在线播放| 亚洲一区二区在线免费观看| 性欧美大战久久久久久久免费观看| 国产精品对白刺激久久久| 一区二区毛片| 欧美在线啊v| 国产一区二区三区久久久久久久久| 性欧美长视频| 欧美1区2区3区| 99精品视频免费全部在线| 欧美日韩在线播放三区| 亚洲一区免费观看| 欧美影视一区| 影音先锋中文字幕一区| 欧美激情视频网站| 亚洲图片欧美午夜| 麻豆成人在线播放| 一区二区三区日韩在线观看| 国产精品一二三四| 久久在线免费| 中日韩美女免费视频网址在线观看| 久久精品成人一区二区三区| 亚洲日韩欧美视频| 国产精品入口麻豆原神| 久久一日本道色综合久久| 一区二区三区你懂的| 麻豆精品一区二区av白丝在线| 日韩视频专区| 国产一区自拍视频| 欧美日韩精品一区二区天天拍小说| 亚洲欧美日韩第一区| 欧美激情久久久久久| 午夜精品影院在线观看| 亚洲伦理中文字幕| 国产一区激情| 国产精品久久久久久久久久久久久久 | 国产精品日本一区二区| 一本到高清视频免费精品| 欧美午夜一区二区| 久久av一区二区三区| 久久这里有精品15一区二区三区| 狠狠爱综合网| 欧美日韩亚洲一区二区三区在线观看| 亚洲夜晚福利在线观看| 亚洲高清网站| 亚洲欧洲av一区二区| 在线电影国产精品| 国产精品国产一区二区| 久久精品亚洲一区二区| 麻豆精品网站| 久久国产免费看| 亚洲毛片网站| 国产偷自视频区视频一区二区| 久久综合福利| 欧美在线视频一区二区| 日韩亚洲欧美成人一区| 久久亚洲风情| 午夜精品视频在线| 亚洲片在线观看| 国产一区二区三区网站 | 欧美一区免费视频| 伊人一区二区三区久久精品| 欧美日韩一区三区四区| 久久字幕精品一区| 在线视频精品一区| 欧美激情一区二区三区 | 久久久久九九九九| 亚洲欧美激情一区| 亚洲永久视频| 一级成人国产| 亚洲欧洲综合另类| 午夜精品久久久久久久白皮肤| 亚洲视频在线观看一区| 亚洲日本理论电影| 亚洲激情在线| 在线观看av不卡| 国产精品日韩精品| 国产亚洲欧洲| 国产三级欧美三级日产三级99| 欧美日韩国产综合久久| 欧美激情亚洲| 欧美成人精品一区二区三区| 久久永久免费| 玖玖玖免费嫩草在线影院一区| 久久国产乱子精品免费女| 欧美有码在线视频| 米奇777在线欧美播放| 久久香蕉国产线看观看网| 久久久久久久综合色一本| 欧美在线一二三区| 亚洲线精品一区二区三区八戒| 香蕉av777xxx色综合一区| 亚洲欧美在线磁力| 欧美一区影院| 久久久伊人欧美| 久久国产免费看| 欧美精品在线视频| 国产精品久久久久999| 国产精品日本一区二区| 国产日韩欧美不卡| 亚洲美女区一区| 亚洲一卡二卡三卡四卡五卡| 亚洲综合成人在线| 久久九九免费| 欧美激情一区二区三区高清视频 | 欧美成人免费va影院高清| 欧美精品在线一区| 国产精品观看| 欧美aⅴ99久久黑人专区| 国产精品女主播在线观看| 国产午夜精品视频免费不卡69堂| 狠狠干狠狠久久| 亚洲国产综合在线看不卡| 国产在线播精品第三| 99国产精品久久| 欧美一区午夜精品| 美女国内精品自产拍在线播放| 亚洲人成亚洲人成在线观看图片| 一区二区欧美国产| 欧美在线一二三| 欧美日韩一区二区三区四区在线观看 | 欧美视频在线免费| 国产午夜亚洲精品羞羞网站 | 亚洲最新视频在线播放| 久久精品一区二区三区不卡| 久久嫩草精品久久久精品一| 国产精品一区二区你懂的| 亚洲日韩中文字幕在线播放|