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

來源:http://blog.csdn.net/sfwork/article/details/6876692
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報文。

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


Copyright © 天邊藍

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            在线观看欧美日本| 久久国产精品第一页| 亚洲永久精品大片| 久久夜色精品国产亚洲aⅴ| 国产精品sm| 最新亚洲电影| 久久久精品999| 中文在线资源观看网站视频免费不卡| 老牛影视一区二区三区| 国产美女精品一区二区三区| 99精品视频网| 欧美国产日韩精品| 久久精品噜噜噜成人av农村| 国产精品日日摸夜夜添夜夜av| 99精品福利视频| 欧美黄色免费| 久久嫩草精品久久久精品| 国产亚洲欧美日韩美女| 午夜精品久久久久久久99黑人| 亚洲欧洲日本国产| 久久精品国产99国产精品| 国产精品午夜av在线| 亚洲一区二区三区在线视频| 亚洲精品欧美日韩专区| 牛夜精品久久久久久久99黑人| 黑人一区二区| 欧美伊人精品成人久久综合97| 国产精品99久久99久久久二8| 欧美日韩国产小视频在线观看| 亚洲激情视频| 欧美激情a∨在线视频播放| 久久久欧美一区二区| 国内精品伊人久久久久av影院| 欧美亚洲综合久久| 亚洲综合999| 国产精品尤物| 欧美在线免费观看| 午夜久久tv| 国产日韩欧美亚洲一区| 欧美在线影院| 欧美一级视频精品观看| 国产美女精品| 久久精品72免费观看| 欧美一级电影久久| 国内精品美女av在线播放| 久久久亚洲影院你懂的| 欧美专区在线| 欧美日韩在线精品| 亚洲视频在线播放| 一本色道久久| 国产精品美女主播在线观看纯欲| 亚洲影院在线| 亚洲欧美日韩国产成人精品影院 | 亚洲综合色噜噜狠狠| 亚洲美女av在线播放| 欧美日韩亚洲91| 亚洲欧美日本日韩| 午夜精品在线观看| 精品福利av| 亚洲第一精品在线| 欧美欧美天天天天操| 亚洲亚洲精品在线观看| 亚洲自拍16p| 国产亚洲欧美一区在线观看| 老司机一区二区三区| 男人的天堂亚洲在线| 日韩一级精品视频在线观看| 99精品欧美一区二区蜜桃免费| 欧美午夜视频在线| 久久精品国产77777蜜臀| 久久久综合网站| 亚洲欧洲日韩在线| 亚洲精品久久久久久一区二区| 国产精品扒开腿爽爽爽视频| 久久激情五月婷婷| 老司机一区二区三区| 宅男噜噜噜66一区二区| 亚洲欧美日韩国产一区| 尤物99国产成人精品视频| 欧美激情一区二区三区不卡| 欧美日韩在线第一页| 久久精品91| 欧美成人在线免费观看| 亚洲欧美www| 欧美在线精品一区| 亚洲精品韩国| 亚洲免费人成在线视频观看| 在线免费观看日本一区| 日韩一级二级三级| 国产一区视频观看| 亚洲日本中文字幕区| 国产精品美女久久福利网站| 久久综合久久综合久久| 欧美日韩视频不卡| 久久久久国产精品厨房| 欧美日韩综合在线免费观看| 又紧又大又爽精品一区二区| 亚洲人体一区| 国产丝袜美腿一区二区三区| 欧美激情第五页| 国产精品久久久久久av福利软件| 久久这里只有| 欧美色视频日本高清在线观看| 久久精品人人做人人爽| 欧美黄色视屏| 久久久精品久久久久| 欧美日本国产精品| 久久国产精品99久久久久久老狼| 欧美黄色免费| 久热精品在线| 国产精品日韩精品欧美精品| 亚洲成人在线视频网站| 国产午夜亚洲精品羞羞网站| 亚洲人成亚洲人成在线观看图片| 国产免费成人av| 亚洲人成艺术| 永久555www成人免费| 亚洲资源av| 亚洲色无码播放| 女女同性女同一区二区三区91| 亚洲欧美日韩精品久久| 欧美福利视频在线| 老司机aⅴ在线精品导航| 国产精品扒开腿爽爽爽视频| 欧美成人免费网站| 国产精品日日摸夜夜添夜夜av | 欧美中文在线观看| 欧美区日韩区| 免费欧美电影| 国产日本欧美一区二区| 亚洲乱码精品一二三四区日韩在线| 激情综合色综合久久| 亚洲一二三区精品| 日韩一区二区精品葵司在线| 久久午夜精品| 久久国产精品亚洲77777| 欧美日韩一区二区视频在线观看| 欧美成人亚洲成人| 国内久久精品| 欧美一区二区福利在线| 午夜激情一区| 欧美日韩国产在线看| 亚洲国产成人91精品| 在线免费观看日本欧美| 久久xxxx精品视频| 欧美一区二区日韩| 国产精品久久久久99| 夜夜爽99久久国产综合精品女不卡| 亚洲精品一区二区三区99| 久久综合一区| 欧美14一18处毛片| 一区在线免费观看| 久久久亚洲精品一区二区三区| 久久精品女人| 国产午夜久久久久| 欧美一区二区高清在线观看| 性刺激综合网| 国产精品一区二区三区成人| 亚洲午夜视频在线| 亚洲一区二区三区欧美| 欧美四级在线观看| 一区二区三区四区国产| 亚洲无线一线二线三线区别av| 欧美成人黄色小视频| 亚洲国产成人一区| 亚洲精品视频在线| 欧美激情一区二区三区在线视频观看| 欧美a级一区| 91久久在线播放| 欧美α欧美αv大片| 亚洲国产美女精品久久久久∴| 91久久午夜| 欧美另类99xxxxx| 99国产精品视频免费观看一公开 | 欧美成人一区二区在线| 亚洲黄色免费网站| 日韩亚洲一区在线播放| 欧美啪啪一区| 在线视频亚洲一区| 中日韩视频在线观看| 欧美视频国产精品| 亚洲图中文字幕| 欧美一区二区福利在线| 国产精品美女www爽爽爽| 亚洲欧美日韩精品久久| 久久久久久精| 亚洲国产aⅴ天堂久久| 欧美xx视频| 一本色道久久88综合日韩精品| 亚洲午夜羞羞片| 欧美亚洲专区| 久久婷婷麻豆| 亚洲人成免费| 欧美午夜女人视频在线| 亚洲——在线| 久久午夜视频| 亚洲精品日韩一| 国产精品二区影院| 欧美高清视频| av成人激情|