成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

當(dāng)我們討論TCP的連接運(yùn)輸管理時(shí),我們?cè)谡f什么

bitkylin / 1879人閱讀

摘要:連接管理概述是面向連接的協(xié)議。要使每一方能夠確知對(duì)方的存在。的應(yīng)用進(jìn)程先向其發(fā)出連接釋放報(bào)文段,并停止發(fā)送數(shù)據(jù),主動(dòng)關(guān)閉連接。將連接釋放報(bào)文的終止控制位設(shè)置為,序列號(hào)為。收到的連接釋放報(bào)文之后,發(fā)送確認(rèn)。

TCP連接管理概述

TCP是面向連接的協(xié)議。運(yùn)輸連接是用來傳送TCP報(bào)文的。TCP的連接和釋放是每一次面向連接的通信中必不可少的過程。因此,運(yùn)輸連接就有三個(gè)階段,即:連接建立,數(shù)據(jù)傳輸和連接釋放。運(yùn)輸連接的管理就是使運(yùn)輸連接的建立和釋放都可以正常的進(jìn)行。

在TCP連接的建立過程中要解決一下三個(gè)問題。

1.要使每一方能夠確知對(duì)方的存在。
2.要允許雙方協(xié)商一些參數(shù)(如窗口最大值、是否使用窗口擴(kuò)大選項(xiàng)和時(shí)間戳選項(xiàng)以及服務(wù)質(zhì)量等)。
3.能夠?qū)\(yùn)輸實(shí)體資源(如緩存大小、連接中的項(xiàng)目等)進(jìn)行分配。

TCP連接的建立采用客戶服務(wù)器方式。主動(dòng)發(fā)起建立連接的應(yīng)用叫做客戶(Client),而被動(dòng)等待連接建立的應(yīng)用進(jìn)程叫做服務(wù)器(server)。

TCP連接的建立

下圖表示的是TCP連接建立的過程。主機(jī)A運(yùn)行的是TCP客戶端程序,而B運(yùn)行TCP服務(wù)器端程序。最初的時(shí)候,雙方的TCP進(jìn)程都處于關(guān)閉(CLOSED)狀態(tài)。然后A主動(dòng)打開連接,而B被動(dòng)打開連接。

1.A發(fā)送一個(gè)SYN=1的TCP報(bào)文,序列號(hào)seq是x。A的狀態(tài)由CLOSED進(jìn)入到SYN-SENT。
2.B收到之后發(fā)送SYN=1,ACK=1的TCP報(bào)文,同樣為自己選一個(gè)序列號(hào)seq=y,確認(rèn)號(hào)ack=x+1。B的狀態(tài)由LISTEN進(jìn)入到SYN-RCVD。
3.A收到B的確認(rèn)之后,需要給B確認(rèn)。ACK=1,seq=x+1,確認(rèn)號(hào)ack是y+1。A的狀態(tài)由SYN-SENT進(jìn)入到ESTABLISH,B在收到A的確認(rèn)之后也由SYN-RCVD進(jìn)入到ESTABLISH。

以上的過程就是3次握手。這里一個(gè)常見的問題就是為什么在A發(fā)送建立連接的請(qǐng)求后還需要發(fā)送一個(gè)確認(rèn)報(bào)文?這是因?yàn)橹饕菫榱吮苊庖呀?jīng)失效的連接請(qǐng)求報(bào)文段突然又傳到了B而產(chǎn)生錯(cuò)誤。失效的報(bào)文主要是在出現(xiàn)在網(wǎng)絡(luò)不是很通暢的時(shí)候會(huì)產(chǎn)生,而三次握手機(jī)制避免了這種情況會(huì)產(chǎn)生的問題。

TCP連接的釋放

在傳輸結(jié)束之后,通信雙方都可以釋放連接。A的應(yīng)用進(jìn)程先向其TCP發(fā)出連接釋放報(bào)文段,并停止發(fā)送數(shù)據(jù),主動(dòng)關(guān)閉TCP連接。

1.A將連接釋放報(bào)文的終止控制位FIN設(shè)置為1,seq序列號(hào)為u。此時(shí)A的狀態(tài)由ESTABLISH進(jìn)入到FIN-WAIT-1。
2.B在收到這個(gè)報(bào)文之后,隨即發(fā)出確認(rèn)。ACK=1 seq=v ack=u+1。此時(shí)B由ESTABLISH進(jìn)入到CLOSE-WAIT狀態(tài)。A收到B的確認(rèn)之后進(jìn)入到FIN-WAIT-2。此時(shí)B的TCP服務(wù)器進(jìn)程會(huì)通知高層應(yīng)用進(jìn)程。這個(gè)時(shí)候A到B的傳輸就釋放了,TCP的連接處于半關(guān)閉狀態(tài)。A沒有數(shù)據(jù)發(fā)送到B,若B還有數(shù)據(jù),可以發(fā)送到A。
3.B發(fā)送FIN=1 ACK=1 seq=w ack=u+1(必須重復(fù)上次的確認(rèn)號(hào))。B由CLOSE-WAIT進(jìn)入到LAST-ACK狀態(tài)。
4.A收到B的連接釋放報(bào)文之后,發(fā)送確認(rèn)ACK=1 seq=u+1 ack=w+1。此時(shí)A由FIN-WAIT-2進(jìn)入到TIME-WAIT。B在收到A的確認(rèn)之后由LAST-ACK進(jìn)入CLOSED狀態(tài)。A在2MSL(大約是4分鐘)之后進(jìn)入到CLOSED狀態(tài)。

這里一個(gè)常見的問題就是A為什么需要2MSL的等待時(shí)間。第一是為了保證A最后發(fā)送的ACK報(bào)文到達(dá)B。第二是為了當(dāng)時(shí)出現(xiàn)上文提到的失效的報(bào)文段。因?yàn)?MSL會(huì)使本次連接產(chǎn)生的報(bào)文段都從網(wǎng)絡(luò)中消失。

全文完。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/29883.html

相關(guān)文章

  • 9012年,當(dāng)我們討論js深淺拷貝時(shí)我們在說什么

    摘要:正文討論深淺拷貝,首先要從的基本數(shù)據(jù)類型說起根據(jù)中的變量類型傳遞方式,分為值類型和引用類型,值類型變量包括。當(dāng)你拷貝的對(duì)象有多級(jí)的時(shí)候,就是深拷貝。數(shù)據(jù)不存在則對(duì)其拷貝。 前言: 本文主要閱讀對(duì)象:對(duì)深淺拷貝印象模糊對(duì)初級(jí)前端,想對(duì)js深淺拷貝聊一聊的中級(jí)前端。 如果是對(duì)這些有完整對(duì)認(rèn)知體系和解決方法的大佬,可以選擇略過。 正文: 討論深淺拷貝,首先要從js的基本數(shù)據(jù)類型說起: 根據(jù) J...

    xeblog 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<