當前位置:首頁 » 網路連接 » 計算機網路報文結束的標志
擴展閱讀
局研究部署網路安全工作 2025-04-07 22:30:35
銅陵網路安全支隊長 2025-04-07 22:23:27

計算機網路報文結束的標志

發布時間: 2025-04-07 01:39:19

計算機網路的數據交換技術有四種,分別是

電路交換、報文交換、分組交換、信元交換

電路交換:端對端通信質量因約定了通信資源獲得可靠保障,對連續傳送大量數據效率高。

報文交換:無須預約傳輸帶寬,動態逐段利用傳輸帶寬對突發式數據通信效率高,通信迅速。

分組交換:具有報文交換之高效、迅速的要點,且各分組小,路由靈活,網路生存性能好。

信元交換又叫ATM(非同步傳輸模式),是一種面向連接的快速分組交換技術,它是通過建立虛電路來進行數據傳輸的。

(1)計算機網路報文結束的標志擴展閱讀:

報文交換的原理是當發送方的信息到達報文交換用的計算機時,先存放在外存儲器中,待中央處理機分析報頭,確定轉發路由,並選到與此路由相應的輸出電路上進行排隊,等待輸出。一旦電路空閑,立即將報文從外存儲器取出後發出,這就提高了這條電路的利用率。

報文交換雖然提高了電路的利用率,但報文經存儲轉發後會產生較大的時延。分組交換也是一種存儲轉發交換方式,但與報文交換不同,它是把報文劃分為一定長度的分組,以分組為單位進行存儲轉發。

這就不但具備了報文交換方式提高電路利用率的優點,同時克服了時延大的缺點。

參考資料來源:網路-數據交換

Ⅱ 計算機網路總結

標志欄位中的最低位記為MF (More Fragment)。MF=1即表示後面「還有分片 」的數據報。MF=0表示這已是若干數據報片中的最後一個。
標志欄位中間的一位記為DF (Don't Fragment),意思是「不能分片 」。只有當DF=0時才允許分片。

TCP最初只規定了一種選項,即最大報文段長度 MSS(Maximum Segment Size)[RFC 879]。請注意MSS這個名詞的含義。MSS是每一個TCP報文段中的數據欄位的最大長度 。數據欄位加上TCP首部才等於整個的TCP報文段。所以MSS並不是整個TCP報文段的最大長度,而是「TCP報文段長度減去TCP首部長度」。

假定主機A運行的是TCP客戶程序,而B運行TCP伺服器程序。最初兩端的TCP進程都處於CLOSED(關閉)狀態。圖中在主機下面的方框分別是TCP進程所處的狀態。請注意,在本例中,A主動打開連接 ,而B被動打開連接 。

一開始,B的TCP伺服器進程先創建傳輸控制塊 TCB (15) ,准備接受客戶進程的連接請求。然後伺服器進程就處於LISTEN(收聽)狀態,等待客戶的連接請求。如有,即作出響應。

A的TCP客戶進程也是首先創建傳輸控制模塊 TCB。然後,在打算建立TCP連接時,向B發出連接請求報文段,這時首部中的同步位SYN=1, ACK=0 同時選擇一個初始序號seq=x。TCP規定,SYN報文段(即SYN=1的報文段)不能攜帶數據,但要消耗掉一個序號 。這時,TCP客戶進程進入SYN-SENT(同步已發送)狀態。

B收到連接請求報文段後,如同意建立連接,則向A發送確認。在確認報文段中應把SYN位和ACK位都置1,確認號是ack=x+1,同時也為自己選擇一個初始序號seq=y。請注意,這個報文段也不能攜帶數據,但同樣要消耗掉一個序號 。這時TCP伺服器進程進入SYN-RCVD(同步收到)狀態。

TCP客戶進程收到B的確認後,還要向B給出確認。確認報文段的ACK置1,確認號ack=y+1,而自己的序號seq=x+1。TCP的標准規定,ACK報文段可以攜帶數據。但如果不攜帶數據則不消耗序號 ,在這種情況下,下一個數據報文段的序號仍是seq=x+1。這時,TCP連接已經建立,A進入ESTABLISHED(已建立連接)狀態。

當B收到A的確認後,也進入ESTABLISHED狀態。

B收到連接釋放報文段後即發出確認,確認號是ack=u+1,而這個報文段自己的序號是v,等於B前面已傳送過的數據的最後一個位元組的序號加1。然後B就進入CLOSE-WAIT(關閉等待)狀態。TCP伺服器進程這時應通知高層應用進程,因而從A到B這個方向的連接就釋放了,這時的TCP連接處於半關閉 (half-close)狀態,即A已經沒有數據要發送了,但B若發送數據,A仍要接收。也就是說,從B到A這個方向的連接並未關閉,這個狀態可能會持續一段時間。

A收到來自B的確認後,就進入FIN-WAIT-2(終止等待2)狀態,等待B發出的連接釋放報文段。

若B已經沒有要向A發送的數據,其應用進程就通知TCP釋放連接。這時B發出的連接釋放報文段必須使FIN=1。現假定B的序號為w(在半關閉狀態B可能又發送了一些數據)。B還必須重復上次已發送過的確認號ack=u+1。這時B就進入LAST-ACK(最後確認)狀態,等待A的確認。

A在收到B的連接釋放報文段後,必須對此發出確認。在確認報文段中把ACK置1,確認號ack=w+1,而自己的序號是seq=u+1(根據TCP標准,前面發送過的FIN報文段要消耗一個序號)。然後進入到TIME-WAIT(時間等待)狀態。請注意,現在TCP連接還沒有釋放掉。必須經過時間等待計時器 (TIME-WAIT timer)設置的時間2MSL後,A才進入到CLOSED狀態。時間MSL叫做最長報文段壽命 (Maximum Segment Lifetime),RFC 793建議設為2分鍾。但這完全是從工程上來考慮的,對於現在的網路,MSL=2分鍾可能太長了一些。因此TCP允許不同的實現可根據具體情況使用更小的MSL值。因此,從A進入到TIME-WAIT狀態後,要經過4分鍾才能進入到CLOSED狀態,才能開始建立下一個新的連接。當A撤銷相應的傳輸控制塊TCB後,就結束了這次的TCP連接。

第一,為了保證A發送的最後一個ACK報文段能夠到達B。這個ACK報文段有可能丟失,因而使處在LAST-ACK狀態的B收不到對已發送的FIN+ACK報文段的確認。B會超時重傳這個FIN+ACK報文段,而A就能在2MSL時間內收到這個重傳的FIN+ACK報文段。接著A重傳一次確認,重新啟動2MSL計時器。最後,A和B都正常進入到CLOSED狀態。如果A在TIME-WAIT狀態不等待一段時間,而是在發送完ACK報文段後立即釋放連接,那麼就無法收到B重傳的FIN+ACK報文段,因而也不會再發送一次確認報文段。這樣,B就無法按照正常步驟進入CLOSED狀態。

第二,防止上一節提到的「已失效的連接請求報文段」出現在本連接中。A在發送完最後一個ACK報文段後,再經過時間2MSL,就可以使本連接持續的時間內所產生的所有報文段都從網路中消失。這樣就可以使下一個新的連接中不會出現這種舊的連接請求報文段。

B只要收到了A發出的確認,就進入CLOSED狀態。同樣,B在撤銷相應的傳輸控制塊TCB後,就結束了這次的TCP連接。我們注意到,B結束TCP連接的時間要比A早一些。