自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

終于把TCP傳輸層協(xié)議搞明白了

網(wǎng)絡(luò)
TCP既管理來自各上層的數(shù)據(jù)報流,也管理來自IP層的數(shù)據(jù)報流。同時它還必須兼顧優(yōu)先級和安全性。

傳輸控制協(xié)議(TCP)

傳輸控制協(xié)議可向IP層及其上各層提供大量服務(wù)。最為重要的是它可向各上層提供面向連接的服務(wù),使各上層啟動應(yīng)用程序,以確保網(wǎng)絡(luò)上所發(fā)送的數(shù)據(jù)報被完整接收。就這種作用而言,TCP的作用是提供可靠通信的有效報文協(xié)議。一旦數(shù)據(jù)報被破壞或丟失,通常是TCP(不是高層中的應(yīng)用程序)將其重新傳輸。

TCP既管理來自各上層的數(shù)據(jù)報流,也管理來自IP層的數(shù)據(jù)報流。同時它還必須兼顧優(yōu)先級和安全性。TCP必須能夠處理它上面的應(yīng)用程序的終端,該終端正等待著進入的數(shù)據(jù)報以及各低層中的故障。TCP還必須維護TCP層內(nèi)外所有數(shù)據(jù)流的狀態(tài)表。獨立層內(nèi)的這些服務(wù)的隔離能夠啟動要設(shè)計的應(yīng)用程序,而不必考慮控制或報文的可靠性。如果沒有TCP層,每個應(yīng)用程序都必須處理這些服務(wù)本身,這是一種資源浪費。

TCP駐留在傳輸層,位于IP之上,但在各上層及其應(yīng)用程序之下,如圖7-1所示。TCP只駐留在實際處理數(shù)據(jù)報的設(shè)備中,以確保數(shù)據(jù)報從源計算機傳輸?shù)侥繕擞嬎銠C。它不駐留在僅路由數(shù)據(jù)報的設(shè)備上,所以網(wǎng)關(guān)中沒有TCP層。這是很有意義的,因為在網(wǎng)關(guān)上,數(shù)據(jù)報在分層模式中不必比IP層傳輸?shù)阶罡邔印?/p>

因為TCP是面向連接的協(xié)議,它負責保證數(shù)據(jù)從源計算機到目標計算機的傳輸(即終端對終端通信),因此,TCP必須從信宿計算機接收通信信息,以確認數(shù)據(jù)報的接收。虛擬電路這一術(shù)語通常用于指示在這兩個終端計算機之間傳輸?shù)男盘栁帐?,它們大多?shù)是簡單的確認報文(接收確認或故障代碼)和數(shù)據(jù)報序號。

圖:TCP提供終端對終端的通信

為了描述TCP的作用,有必要跟蹤兩臺計算機之間的一個樣本報文。報文由應(yīng)用程序生成,它從體系結(jié)構(gòu)的下一個高層通過某些協(xié)議(通常指上層協(xié)議或ULP,以指明它駐留在TCP之上)傳輸?shù)絋CP。報文按流傳輸,流是非同步發(fā)送的單個字符序列。這與大多數(shù)協(xié)議是有區(qū)別的,大多數(shù)協(xié)議通常都使用固定的數(shù)據(jù)塊。程序只處理常規(guī)構(gòu)造的數(shù)據(jù)塊或固定尺寸的報文,所以這里涉及到某些轉(zhuǎn)換問題。

TCP接收字節(jié)流并將它們集中到TCP數(shù)據(jù)段或包。在組合數(shù)據(jù)段的過程中,要加上頭標信息。每個數(shù)據(jù)段都有已計算的校驗和,并嵌入在頭標中,如果整個報文中包括不止一個數(shù)據(jù)段,則它還有序號。該數(shù)據(jù)段的長度通常由TCP或系統(tǒng)管理員設(shè)置的系統(tǒng)值來決定。

如果要求雙向通信(如與Telnet或FTP通信),并且為了路由在將數(shù)據(jù)段傳輸?shù)絀P之前,則需在發(fā)送和接收計算機之間建立連接(虛擬電路)。首先發(fā)送TCP的軟件向接收計算機提出建立TCP連接的請求,請求報文中有個唯一數(shù)(稱為插口號),用以標識發(fā)送計算機的連接。接收TCP的軟件指定它自己的唯一插口號,并將它發(fā)回到源計算機。在虛擬電路終止之前,這兩個唯一數(shù)定義兩臺計算機之間的連接。

虛擬電路建立之后,TCP將數(shù)據(jù)段發(fā)送到IP軟件,IP軟件將其作為數(shù)據(jù)報通過網(wǎng)絡(luò)發(fā)送該報文。經(jīng)過網(wǎng)絡(luò)上的復雜過程之后,接收計算機的IP將接收到的數(shù)據(jù)段傳輸?shù)浇邮沼嬎銠C的TCP層,在此處理該數(shù)據(jù)段,并使用上層協(xié)議將其傳輸?shù)剿厦娴膽?yīng)用程序。

如果報文包括多個數(shù)據(jù)段,接收TCP軟件根據(jù)每個數(shù)據(jù)段頭標中包含的序號將報文分解。如果數(shù)據(jù)丟失或損壞(可通過校驗和確定),TCP將文件中帶有錯誤序號的報文返回,然后,源發(fā)送TCP軟件重新發(fā)送這個錯誤數(shù)據(jù)段。

如果整個報文只有一個數(shù)據(jù)段,在與該段的校驗和重新計算的值比較之后,接收TCP軟件產(chǎn)生肯定確認(ACK)或請求重新發(fā)送該數(shù)據(jù)段,并將其發(fā)回到發(fā)送層。

接收計算機TCP的實施可以執(zhí)行簡單的流控制,以防止緩沖器過載。它通過向發(fā)送計算機發(fā)送一個窗口值來實現(xiàn)這種控制,然后,發(fā)送計算機發(fā)送合適的字節(jié)填充該窗口。這樣可在兩臺計算機之間提供一個信息交換的協(xié)議,盡管這樣確實會降低傳輸速度并使網(wǎng)絡(luò)信息量稍有增加。

與大多數(shù)基于連接的協(xié)議一樣,定時器是TCP的一個很重要的方面。定時器的使用可確保在等待ACK或重復ACK報文,避免不必要的時間耽擱。如果定時器到時,定時處理程序通常會造成從源計算機重發(fā)數(shù)據(jù)報。

使用TCP時,定時器也會導致一些麻煩。TCP規(guī)范只提供確認正確接收的最大數(shù)據(jù)報號,但這樣不能正確處理零散的接收。如果報文由多個順序混亂的數(shù)據(jù)報組成,該規(guī)范說明在接收到所有數(shù)據(jù)報之前,TCP無法確認報文是否被接收。所以,即使該序列中部的一個數(shù)據(jù)報幾乎接收成功,定時處理程序也可能執(zhí)行,并使所有數(shù)據(jù)報必須重新發(fā)送。對于大型報文,這樣可能造成網(wǎng)絡(luò)通信量激增。

如果接收TCP軟件接收到重復的數(shù)據(jù)報(定時期滿后重新傳輸),TCP的接收方案將放棄任何重復數(shù)據(jù)報,不發(fā)送重復ACK報文,發(fā)送系統(tǒng)只關(guān)心報文是否被接收,并不關(guān)心對方收到多少份。

TCP沒有否定確認(NAK)功能,它根據(jù)定時程序來指明沒有確認。如果定時程序在發(fā)送數(shù)據(jù)報后未接收確認便執(zhí)行,則認為該數(shù)據(jù)報已經(jīng)丟失,并重新傳輸。發(fā)送TCP軟件在正確確認之前,在緩沖器中保存多份所有未確認的數(shù)據(jù)報。當確認證實后,重發(fā)定時程序中止運行,從緩沖器中刪除該數(shù)據(jù)報。

TCP支持來自上層協(xié)議的進棧功能。應(yīng)用程序希望立即發(fā)送數(shù)據(jù),并且證實傳輸?shù)絋CP的報文已被傳輸成功,這時可以使用進棧功能,為此,在ULP連接中設(shè)置一個進棧標志,通知TCP盡快將應(yīng)用程序中的緩存信息發(fā)送到信宿(相反,在準備發(fā)送之前一直保存在緩沖器中)。

 

責任編輯:趙寧寧 來源: 廈門微思網(wǎng)絡(luò)
相關(guān)推薦

2022-02-15 08:30:04

TCP三次握手四次揮手

2021-06-13 12:03:46

SaaS軟件即服務(wù)

2021-10-09 00:02:04

DevOps敏捷開發(fā)

2022-03-27 20:32:28

Knative容器事件模型

2021-03-25 11:24:25

爬蟲技術(shù)開發(fā)

2022-04-27 18:25:02

數(shù)據(jù)采集維度

2021-10-17 20:38:30

微服務(wù)內(nèi)存組件

2020-11-03 07:04:39

云計算公有云私有云

2021-10-12 18:31:40

流量運營前端

2021-12-03 18:25:56

數(shù)據(jù)指標本質(zhì)

2010-06-09 13:21:30

TCP傳輸層協(xié)議

2021-02-14 00:21:37

區(qū)塊鏈數(shù)字貨幣金融

2021-03-03 21:31:24

量化投資利潤

2021-06-29 11:21:41

數(shù)據(jù)安全網(wǎng)絡(luò)安全黑客

2022-01-05 18:27:44

數(shù)據(jù)挖掘工具

2020-11-30 08:34:44

大數(shù)據(jù)數(shù)據(jù)分析技術(shù)

2022-04-12 18:29:41

元數(shù)據(jù)系統(tǒng)架構(gòu)

2022-04-22 11:26:55

數(shù)據(jù)管理架構(gòu)

2022-07-31 20:29:28

日志系統(tǒng)

2021-01-26 10:17:48

智能語音大數(shù)據(jù)機器學習
點贊
收藏

51CTO技術(shù)棧公眾號