摘要:連接管理概述是面向連接的協(xié)議。要使每一方能夠確知對方的存在。的應用進程先向其發(fā)出連接釋放報文段,并停止發(fā)送數(shù)據(jù),主動關(guān)閉連接。將連接釋放報文的終止控制位設(shè)置為,序列號為。收到的連接釋放報文之后,發(fā)送確認。
TCP連接管理概述
TCP是面向連接的協(xié)議。運輸連接是用來傳送TCP報文的。TCP的連接和釋放是每一次面向連接的通信中必不可少的過程。因此,運輸連接就有三個階段,即:連接建立,數(shù)據(jù)傳輸和連接釋放。運輸連接的管理就是使運輸連接的建立和釋放都可以正常的進行。
在TCP連接的建立過程中要解決一下三個問題。
1.要使每一方能夠確知對方的存在。
2.要允許雙方協(xié)商一些參數(shù)(如窗口最大值、是否使用窗口擴大選項和時間戳選項以及服務質(zhì)量等)。
3.能夠?qū)\輸實體資源(如緩存大小、連接中的項目等)進行分配。
TCP連接的建立采用客戶服務器方式。主動發(fā)起建立連接的應用叫做客戶(Client),而被動等待連接建立的應用進程叫做服務器(server)。
TCP連接的建立下圖表示的是TCP連接建立的過程。主機A運行的是TCP客戶端程序,而B運行TCP服務器端程序。最初的時候,雙方的TCP進程都處于關(guān)閉(CLOSED)狀態(tài)。然后A主動打開連接,而B被動打開連接。
1.A發(fā)送一個SYN=1的TCP報文,序列號seq是x。A的狀態(tài)由CLOSED進入到SYN-SENT。
2.B收到之后發(fā)送SYN=1,ACK=1的TCP報文,同樣為自己選一個序列號seq=y,確認號ack=x+1。B的狀態(tài)由LISTEN進入到SYN-RCVD。
3.A收到B的確認之后,需要給B確認。ACK=1,seq=x+1,確認號ack是y+1。A的狀態(tài)由SYN-SENT進入到ESTABLISH,B在收到A的確認之后也由SYN-RCVD進入到ESTABLISH。
以上的過程就是3次握手。這里一個常見的問題就是為什么在A發(fā)送建立連接的請求后還需要發(fā)送一個確認報文?這是因為主要是為了避免已經(jīng)失效的連接請求報文段突然又傳到了B而產(chǎn)生錯誤。失效的報文主要是在出現(xiàn)在網(wǎng)絡不是很通暢的時候會產(chǎn)生,而三次握手機制避免了這種情況會產(chǎn)生的問題。
TCP連接的釋放在傳輸結(jié)束之后,通信雙方都可以釋放連接。A的應用進程先向其TCP發(fā)出連接釋放報文段,并停止發(fā)送數(shù)據(jù),主動關(guān)閉TCP連接。
1.A將連接釋放報文的終止控制位FIN設(shè)置為1,seq序列號為u。此時A的狀態(tài)由ESTABLISH進入到FIN-WAIT-1。
2.B在收到這個報文之后,隨即發(fā)出確認。ACK=1 seq=v ack=u+1。此時B由ESTABLISH進入到CLOSE-WAIT狀態(tài)。A收到B的確認之后進入到FIN-WAIT-2。此時B的TCP服務器進程會通知高層應用進程。這個時候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(必須重復上次的確認號)。B由CLOSE-WAIT進入到LAST-ACK狀態(tài)。
4.A收到B的連接釋放報文之后,發(fā)送確認ACK=1 seq=u+1 ack=w+1。此時A由FIN-WAIT-2進入到TIME-WAIT。B在收到A的確認之后由LAST-ACK進入CLOSED狀態(tài)。A在2MSL(大約是4分鐘)之后進入到CLOSED狀態(tài)。
這里一個常見的問題就是A為什么需要2MSL的等待時間。第一是為了保證A最后發(fā)送的ACK報文到達B。第二是為了當時出現(xiàn)上文提到的失效的報文段。因為2MSL會使本次連接產(chǎn)生的報文段都從網(wǎng)絡中消失。
全文完。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/29883.html
摘要:正文討論深淺拷貝,首先要從的基本數(shù)據(jù)類型說起根據(jù)中的變量類型傳遞方式,分為值類型和引用類型,值類型變量包括。當你拷貝的對象有多級的時候,就是深拷貝。數(shù)據(jù)不存在則對其拷貝。 前言: 本文主要閱讀對象:對深淺拷貝印象模糊對初級前端,想對js深淺拷貝聊一聊的中級前端。 如果是對這些有完整對認知體系和解決方法的大佬,可以選擇略過。 正文: 討論深淺拷貝,首先要從js的基本數(shù)據(jù)類型說起: 根據(jù) J...
閱讀 3397·2023-04-25 16:25
閱讀 3955·2021-11-15 18:01
閱讀 1680·2021-09-10 11:21
閱讀 3175·2021-08-02 16:53
閱讀 3157·2019-08-30 15:55
閱讀 2556·2019-08-29 16:24
閱讀 2167·2019-08-29 13:14
閱讀 1114·2019-08-29 13:00