摘要:發(fā)送窗口、接收窗口尺寸可動(dòng)態(tài)調(diào)整。在TCP中,可發(fā)送的未應(yīng)答信息長(zhǎng)度是可以調(diào)整的。根據(jù)收方和網(wǎng)絡(luò)負(fù)載情況,可動(dòng)態(tài)調(diào)糧窗口大小。例如,當(dāng)出現(xiàn)網(wǎng)絡(luò)擁塞時(shí),TCP會(huì)自動(dòng)按照將窗口尺寸減小一半的方法來(lái)逐步減小發(fā)送流量。超時(shí)重發(fā)間隔:TCP超時(shí)間隔的計(jì)算較復(fù)雜,要使用很多參數(shù),動(dòng)態(tài)進(jìn)行計(jì)算。當(dāng)發(fā)生網(wǎng)絡(luò)擁塞時(shí),TCP按照逐步加倍超時(shí)間
發(fā)送窗口、接收窗口尺寸可動(dòng)態(tài)調(diào)整。在TCP中,可發(fā)送的未應(yīng)答信息長(zhǎng)度是可以調(diào)整的。根據(jù)收方和網(wǎng)絡(luò)負(fù)載情況,可動(dòng)態(tài)調(diào)糧窗口大小。例如,當(dāng)出現(xiàn)網(wǎng)絡(luò)擁塞時(shí),TCP會(huì)自動(dòng)按照將窗口尺寸減小一半的方法來(lái)逐步減小發(fā)送流量。
超時(shí)重發(fā)間隔:TCP超時(shí)間隔的計(jì)算較復(fù)雜,要使用很多參數(shù),動(dòng)態(tài)進(jìn)行計(jì)算。當(dāng)發(fā)生網(wǎng)絡(luò)擁塞時(shí),TCP按照逐步加倍超時(shí)間隔的方法來(lái)適應(yīng)網(wǎng)絡(luò)狀態(tài)。
編號(hào)與確認(rèn):TCP把所傳送信息看成是一個(gè)連續(xù)的字節(jié)流。一個(gè)TCP報(bào)文所傳送的信息段在該字節(jié)流中的位置就是該報(bào)文段的編號(hào),收方可據(jù)此對(duì)報(bào)文段進(jìn)行應(yīng)答。
TCP中無(wú)否認(rèn)應(yīng)答NAK,其差錯(cuò)控制由ACK和超時(shí)重發(fā)完成。但收到錯(cuò)序的報(bào)文時(shí)應(yīng)如何處理,TCP未做明確規(guī)定,而是讓TCP實(shí)現(xiàn)者自行決定。因?yàn)榘醋止?jié)流編號(hào)方便了緩沖區(qū)管理,所以通常采用選擇ARQ方式。
按字節(jié)流編號(hào)方便了收方緩沖區(qū)管理。如果收方收到錯(cuò)序報(bào)文,可以方便地嵌入接收緩存區(qū)中的適當(dāng)位置。當(dāng)所缺報(bào)文到達(dá)時(shí),可以將接收緩沖區(qū)中的數(shù)據(jù)連續(xù)地拼接在一起,并提交給上層。這樣可以避免對(duì)緩沖區(qū)進(jìn)行搜索,避免出現(xiàn)內(nèi)存碎片,提高了內(nèi)存利用率和處理速度。
因?yàn)槭亲止?jié)流,TCP只完成字節(jié)流的透明傳輸,不需對(duì)字節(jié)流進(jìn)行解釋?zhuān)矡o(wú)需進(jìn)行分段和重裝。
TCP報(bào)文的格式如圖5-30所示。與IP數(shù)據(jù)報(bào)格式一樣,TCP報(bào)文的長(zhǎng)度是以4Byte為單位的。TCP報(bào)文分為首部和數(shù)據(jù)兩個(gè)部分。首部的前20字節(jié)是固定的,后面的選項(xiàng)是可變長(zhǎng)度的。首部固定部分各字段意義如下。
源端口和目的端口:各16bit.可表示64000個(gè)不同埔口。端口是運(yùn)輸層向上層提供服務(wù)的接口,也就是運(yùn)輸服務(wù)訪(fǎng)問(wèn)點(diǎn)(TSAP)。不同的端口對(duì)應(yīng)不同的應(yīng)用層程序。對(duì)于一些常用的應(yīng)用層服務(wù),都有一個(gè)對(duì)應(yīng)的端口號(hào)碼,這種端口號(hào)碼稱(chēng)為熟知端U(well-knownport),數(shù)值為0?255.例如,F(xiàn)TP使用21號(hào)端口,SMTP使用25號(hào)端口,SNMP使用161號(hào)端口,Telnet使用23號(hào)端口端口和IP地址結(jié)合在一起,稱(chēng)為插口或套接字(SOCKET)。序號(hào):32bit,可在4GB的數(shù)據(jù)流中定位。上面已介紹過(guò),TCP報(bào)文不是按報(bào)文個(gè)數(shù)來(lái)編號(hào)的,而是按它所傳數(shù)據(jù)的第一個(gè)字節(jié)在數(shù)據(jù)流中的位置來(lái)編號(hào)的。
確認(rèn)序號(hào):32bit.表示期望收到的下一段數(shù)據(jù)的第一字節(jié)序號(hào)。
數(shù)據(jù)偏移:表示數(shù)據(jù)從什么位置開(kāi)始,也就是首部長(zhǎng)度。4bit,可表達(dá)的長(zhǎng)度范圍是0-15,單位是4Byte.首部長(zhǎng)度最大可達(dá)60Byte.
URG(Ui^ent):緊急比特。當(dāng)收到URG=1的報(bào)文時(shí),通知上層應(yīng)用程序,目前數(shù)據(jù)流中有緊急數(shù)據(jù),應(yīng)用程序不要按原來(lái)的排隊(duì)顒序接收數(shù)據(jù)。而要先接收緊急數(shù)據(jù)。例如,發(fā)送方剛剛發(fā)送了很長(zhǎng)的數(shù)據(jù)給對(duì)方,又有緊急的控制信息要發(fā)給對(duì)方,就可以用URG=1的方式。這時(shí)收方應(yīng)用程序停止正常的數(shù)據(jù)接收,待取走控制信息后,再恢復(fù)正常數(shù)據(jù)接收。URG比特要和“緊急指針”配合使用。
ACK:確認(rèn)比特。ACK=1時(shí)“確認(rèn)序號(hào)”才有意義,ACK=0時(shí)“確認(rèn)序號(hào)”無(wú)意義。PSH(Push):急迫推進(jìn)比特。PSH=1時(shí)應(yīng)立即將報(bào)文發(fā)送出去,而不要在緩沖區(qū)停留。在上層應(yīng)用程序和TCP程序之間,有一個(gè)緩沖區(qū)。上層程序通過(guò)向這個(gè)緩沖區(qū)存入或取出數(shù)據(jù),便可使用TCP提供的數(shù)據(jù)流傳送服務(wù)。在傳送數(shù)據(jù)時(shí),應(yīng)用程序使用適合的數(shù)據(jù)段長(zhǎng)度。這樣的長(zhǎng)度可能小到一個(gè)字節(jié)。TCP為了提高傳送效率,要收集足夠的數(shù)據(jù),填入一個(gè)適當(dāng)大小的TCP報(bào)文中,再通過(guò)網(wǎng)絡(luò)發(fā)送出去。為了把數(shù)據(jù)立即傳送給對(duì)方,便要使用PSH=1的方式:在發(fā)送方,TCP立即將發(fā)送緩沖區(qū)中數(shù)據(jù)全都發(fā)送出去,不用等到收集到足夠的數(shù)據(jù):在接收方,上層應(yīng)用程序立即把數(shù)據(jù)取走。
RST(Reset):重建比特。RST=1時(shí)表明出現(xiàn)嚴(yán)重差錯(cuò),必須釋放連接,然后重建運(yùn)輸層連接。
SYN:同步比特。當(dāng)SYN=1、ACK=0時(shí),表明請(qǐng)求建立連接;當(dāng)SYN=1、ACK=1時(shí),表明同意建立連接。
FIN(Final):終止比特。FIN=1時(shí)釋放連接。
窗口:16bit,告訴對(duì)方在“確認(rèn)序號(hào)”后能夠發(fā)送的數(shù)據(jù)量。用于流量控制。當(dāng)該值為零時(shí),對(duì)方要暫時(shí)停止發(fā)送。
檢驗(yàn)和:16bit。檢驗(yàn)的范圍包括首部和數(shù)據(jù)。
緊急指針:16bit。指出緊急數(shù)據(jù)的最后一個(gè)字節(jié)相對(duì)于“序號(hào)”字段給出位置的偏移。當(dāng)緊急數(shù)據(jù)傳送結(jié)束后,恢復(fù)正常的數(shù)據(jù)傳送。緊急數(shù)據(jù)的開(kāi)始位置,由第一個(gè)緊急報(bào)文的“序號(hào)”字段給出。
選項(xiàng):長(zhǎng)度可變。用來(lái)說(shuō)明常規(guī)TCP沒(méi)有的附加特性。常用的選項(xiàng)有“最大報(bào)文長(zhǎng)度”.利用選項(xiàng),可增加移動(dòng)網(wǎng)絡(luò)需要的特性。
返回目錄:通信工程師考試培訓(xùn)互聯(lián)網(wǎng)技術(shù)重點(diǎn)匯總
編輯相關(guān)推薦:
2013年通信工程師考試學(xué)習(xí)在線(xiàn)輔導(dǎo)
通信考試終端與業(yè)務(wù)通信員工職業(yè)規(guī)范
通信專(zhuān)業(yè)實(shí)務(wù)互聯(lián)網(wǎng)技術(shù)數(shù)據(jù)通信基礎(chǔ)教程
通信工程師備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬(wàn)道題
已有25.02萬(wàn)小伙伴參與做題
售后投訴:156-1612-8671