版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第九章運輸層運輸層協(xié)議概述TCP/IP體系中的運輸層用戶數(shù)據(jù)報協(xié)議UDP運輸控制協(xié)議TCP2025/12/221303教研室張來順運輸層協(xié)議概述運輸層在層次體系結(jié)構(gòu)中的地位運輸層網(wǎng)絡(luò)層應(yīng)用層用戶功能網(wǎng)絡(luò)功能面向通訊面向信息處理數(shù)據(jù)鏈路層物理層2025/12/222303教研室張來順運輸層協(xié)議概述傳輸層傳輸層OSI上三層OSI上三層OSI下三層OSI下三層用戶進程管理通信子網(wǎng)向上提供標(biāo)準(zhǔn)的傳輸服務(wù)向下屏蔽不同的通信子網(wǎng)2025/12/223303教研室張來順運輸層協(xié)議概述物理層使鏈路上能透明地傳送比特流;鏈路層使各條鏈路能透明地傳送無差錯的幀(按序,無丟失,不重復(fù))。點到點通信網(wǎng)絡(luò)層提供路由選擇和網(wǎng)絡(luò)互連。主機間通信運輸層提供一條端到端的可靠的通信服務(wù)。主機進程間通信主機AAP1AP2AP3N1N2主機BAP4AP5AP62025/12/224303教研室張來順運輸層協(xié)議概述嚴(yán)格地講,兩個主機進行通信實際上就是兩個主機中的應(yīng)用進程互相通信;網(wǎng)絡(luò)層為主機之間提供邏輯通信,IP協(xié)議雖然能夠把分組送到目的主機,但是無法交付給主機中的應(yīng)用進程;在網(wǎng)絡(luò)層,IP數(shù)據(jù)報首部中的檢驗和字段,只檢驗首部是否出現(xiàn)差錯而不檢查數(shù)據(jù)部分;因此,在網(wǎng)絡(luò)層之上,設(shè)置一個傳輸層向它上面的應(yīng)用層提供通信服務(wù)。2025/12/225303教研室張來順運輸層協(xié)議概述傳輸層的功能基本功能:提供端到端(進程-進程)的可靠通信,即向高層用戶屏蔽通信子網(wǎng)的細節(jié),提供通用的傳輸接口。主要功能:把傳輸?shù)刂酚成錇榫W(wǎng)絡(luò)地址把端到端的傳輸連接復(fù)用到網(wǎng)絡(luò)連接上傳輸連接管理端到端的順序控制、差錯檢測及恢復(fù)、分段處理及QoS監(jiān)測加速數(shù)據(jù)傳送2025/12/226303教研室張來順運輸層協(xié)議概述運輸層模型運輸服務(wù)用戶運輸服務(wù)用戶應(yīng)用層抽象機器.....運輸服務(wù)提供者(運輸實體)運輸服務(wù)訪問點TSAP連接端點2025/12/227303教研室張來順TCP/IP體系中的運輸層TCP/IP的運輸層2個協(xié)議用戶數(shù)據(jù)報協(xié)議UDP(UserDatagramProtocol)運輸控制協(xié)議TCP(TransmissionControlProtocol)與各種網(wǎng)絡(luò)接口IPUDPTCP應(yīng)用層2025/12/228303教研室張來順TCP/IP體系中的運輸層UDPUDP是無連接的數(shù)據(jù)報服務(wù)。即UDP不提供可靠交付,但在某些情況下UDP是一種最有效的工作方式。注意UDP用戶數(shù)據(jù)報與IP數(shù)據(jù)報的區(qū)別。IP數(shù)據(jù)報要經(jīng)過路由器的存儲轉(zhuǎn)發(fā),UDP數(shù)據(jù)報是在運輸層的端到端抽象的邏輯信道中傳送的。但這個邏輯信道并不是經(jīng)過路由器(運輸層看不見路由器),UDP數(shù)據(jù)報只是IP數(shù)據(jù)報中的數(shù)據(jù),因此路由器看不見有用戶數(shù)據(jù)報經(jīng)過它。2025/12/229303教研室張來順TCP/IP體系中的運輸層TCPTCP提供面向連接的服務(wù)。IP層不保證報文正確傳輸,TCP進行超時、重傳控制。報文不一定按順序到達,TCP進行重新裝配。TCP不提供廣播或多播服務(wù)。注意TCP連接與網(wǎng)絡(luò)層中虛電路(如X.25所使用的)的不同。TCP報文段是在運輸層抽象的端到端邏輯信道中傳送,這種信道是可靠的全雙工信道。但這樣的信道卻不知道究竟經(jīng)過了哪些路由器。而在X.25建立的虛電路所經(jīng)過的交換結(jié)點中,都必須保存X.25虛電路的狀態(tài)信息。2025/12/2210303教研室張來順TCP/IP體系中的運輸層TCP的功能多路復(fù)用多種應(yīng)用數(shù)據(jù)TCP同時接收多個應(yīng)用數(shù)據(jù),把它們打包到數(shù)據(jù)段中傳給IPTCP通過端口來實現(xiàn)跟蹤記錄到達的報文要轉(zhuǎn)發(fā)到的應(yīng)用程序(如端口80:超文本傳輸協(xié)議,http)測試所接收數(shù)據(jù)的完整性比較TCP頭的校驗和,如果出現(xiàn)問題就給源主機發(fā)一請求,要求其重發(fā)一份數(shù)據(jù)拷貝順序化亂序接收的數(shù)據(jù)通過查看TCP頭中的序列號域可以完成這個任務(wù)2025/12/2211303教研室張來順TCP/IP體系中的運輸層速率-適應(yīng)的流控流量控制使用的是TCP窗口大小。源和目的機的窗口大小通過TCP頭進行通信如果機器的緩沖完全被填滿,它就會發(fā)送一個有關(guān)最后收到數(shù)據(jù)的應(yīng)答報文,其中新的窗口大小為0。這樣會有效地使發(fā)送停止,直到擁塞的機器能清理掉其緩沖定時功能
計時器可以間接地管理網(wǎng)絡(luò)擁塞,其方法是當(dāng)超時出現(xiàn)時減慢傳輸率應(yīng)答接收沒被應(yīng)答的數(shù)據(jù)段被認(rèn)為在傳輸過程中已丟失,并被重傳2025/12/2212303教研室張來順TCP/IP體系中的運輸層端口的概念什么是端口(Port)?端口就是傳輸層的服務(wù)訪問點(TSAP),用來區(qū)分不同的應(yīng)用進程,運輸層進行復(fù)用和分用。UDP和TCP都使用了與應(yīng)用層接口處的端口與上層的應(yīng)用進程進行通信。應(yīng)用層的各種進程是通過相應(yīng)的端口與傳輸層實體進行交互。當(dāng)傳輸層收到IP層交上來的數(shù)據(jù)(即TCP報文段或UDP數(shù)據(jù)報),就要根據(jù)其首部中的端口號來決定應(yīng)當(dāng)通過哪個端口上交給應(yīng)當(dāng)接收此數(shù)據(jù)的應(yīng)用進程。2025/12/2213303教研室張來順TCP/IP體系中的運輸層端口在進程中的作用應(yīng)用進程應(yīng)用進程應(yīng)用進程應(yīng)用進程應(yīng)用層運輸層網(wǎng)絡(luò)層端口端口…端口端口…端口端口…端口端口…TCP復(fù)用UDP復(fù)用NSAPNSAPNSAPNSAPUDP分用TCP分用IP復(fù)用IP分用IP數(shù)據(jù)報IP數(shù)據(jù)報UDP數(shù)據(jù)報UDP數(shù)據(jù)報TCP報文段TCP報文段2025/12/2214303教研室張來順TCP/IP體系中的運輸層端口的復(fù)用和分用功能端口將應(yīng)用層的不同進程區(qū)分開;使用復(fù)用和分用技術(shù),使得運輸層和網(wǎng)絡(luò)層的交互看不見各種應(yīng)用進程,而只有TCP報文段或UDP數(shù)據(jù)報;IP層也使用類似的復(fù)用和分用技術(shù),因而網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層的交互也只有IP數(shù)據(jù)報。傳輸層和應(yīng)用層的接口上所設(shè)置的端口是一個16比特的地址,并用端口號進行標(biāo)識。端口號分為兩類:一類是因特網(wǎng)指派名字和號碼公司ICANN負(fù)責(zé)分配給一些常用的應(yīng)用層程序(標(biāo)準(zhǔn)服務(wù)器端)固定使用的熟知端口,其數(shù)值范圍為1-1023。另一類則是一般端口,用來隨時分配給請求通信的客戶進程,其數(shù)值范圍為1024-65535。2025/12/2215303教研室張來順TCP/IP體系中的運輸層常用熟知端口熟知端口應(yīng)用程序21,20FTP23TELNET25SMTP53DNS69TFTP80HTTP161SNMP162SNMP(trap)2025/12/2216303教研室張來順TCP/IP體系中的運輸層端口500端口501IP=3A端口500IP=2B端口25IP=5C連接1連接2連接3例:與主機C的SMTP建立三個連接A與C先建立第一個連接,端口500→端口25A與C后建立第二個連接,端口501→端口25同樣,B與C建立第三個連接,端口500→端口252025/12/2217303教研室張來順TCP/IP體系中的運輸層端口號與IP地址結(jié)合使用為了在通信時不致發(fā)生混亂,必須將端口號與主機的IP地址結(jié)合在一起使用;TCP使用“連接”作為最基本的抽象,一個連接由它的兩個端點來標(biāo)識,這樣的端點稱為插口(socket),就是我們常說的“套接字”。插口包括IP地址(32比特)和端口號(16比特),共48比特;插口=(IP地址,端口號)在整個因特網(wǎng)中,在運輸層通信的一對插口必須是唯一的;從上例可知:使用面向連接的TCP,就是建立一條端到端的虛連接。形成一對插口(3,501)和(5,25)2025/12/2218303教研室張來順UDPUDP只在IP的數(shù)據(jù)報服務(wù)之上增加了很少一點功能,就是端口的功能和差錯檢測的功能。無連接服務(wù),減少了開銷和發(fā)送數(shù)據(jù)之前的時延。UDP不使用擁塞控制,也不保證可靠交付,因此主機不需要維持具有許多參數(shù)的、復(fù)雜的連接狀態(tài)表。UDP首部字段只有8個字節(jié),比TCP的20字節(jié)的首部要短。由于UDP沒有擁塞控制,因此網(wǎng)絡(luò)出現(xiàn)的擁塞不會使源主機的發(fā)送效率降低。這些對某些實時應(yīng)用是很重要的。這些應(yīng)用,允許丟失一些數(shù)據(jù),不允許數(shù)據(jù)有太大的時延。2025/12/2219303教研室張來順UDP使用UDP、TCP的應(yīng)用及應(yīng)用層協(xié)議應(yīng)用應(yīng)用層協(xié)議運輸層協(xié)議域名解析DNSUDP文件傳送TFTPUDP路由選擇協(xié)議RIPUDPIP地址配置BOOTP,DHCPUDP網(wǎng)絡(luò)管理SNMPUDP遠程文件服務(wù)器NFSUDPIP電話專用協(xié)議UDP流式多媒體通信專用協(xié)議UDP多播IGMPUDP電子郵件SMTPTCP遠程終端接入TELNETTCP萬維網(wǎng)HTTPTCP文件傳送FTPTCP2025/12/2220303教研室張來順UDPUDP用戶數(shù)據(jù)報首部格式首部數(shù)據(jù)UDP偽首部源端口目的端口長度檢驗和122222源IP地址目的IP地址017UDP長度441122025/12/2221303教研室張來順UDPUDP報文首部8個字節(jié)長度字段為整個報文的總長度校驗和采用IP數(shù)據(jù)報首部的校驗方式。對整個UDP報文計算。以16bit為單位,按二進制反碼運算求和,得出的結(jié)果在求反碼即為校驗和。計算前校驗和字段填“0”。增加偽首部僅計算校驗和時使用。偽首部既不向下傳遞,又不向上移交。校驗和既檢查了UDP報源和目的端口號,又檢查了IP數(shù)據(jù)報的源和目的地址。偽首部的第四字段值為17,表示IP報傳送UDP報文。(協(xié)議字段)2025/12/2222303教研室張來順UDPUDP數(shù)據(jù)報的封裝幀首部IP首部UDP首部UDP首部應(yīng)用數(shù)據(jù)應(yīng)用數(shù)據(jù)IP首部UDP首部應(yīng)用數(shù)據(jù)UDP數(shù)據(jù)報應(yīng)用數(shù)據(jù)2025/12/2223303教研室張來順UDPUDP應(yīng)用簡單、簡短的應(yīng)用如查詢操作、網(wǎng)絡(luò)管理IPphone,利用UDP快捷的特點UDP以客戶/服務(wù)器模式方式工作服務(wù)端:固定守候在特定port:x,提供服務(wù)客戶端:動態(tài)綁定任意port:n,向服務(wù)器的portx發(fā)出請求,獲得服務(wù)響應(yīng)xServernClient請求(n,x)響應(yīng)(x,n)2025/12/2224303教研室張來順TCP高層的許多應(yīng)用需要傳輸大量的數(shù)據(jù)可靠的通信服務(wù)無法容忍IP或UDP提供的無可靠性保證的服務(wù)各種應(yīng)用無法保證完全一致的可靠性方法TCP提供通用的、可靠的通信服務(wù)提供統(tǒng)一的數(shù)據(jù)流投遞服務(wù)接口支持同時雙向通信2025/12/2225303教研室張來順TCP兩種通信方法報文流投遞和接收的單位為報文可靠性:報文按序接收連續(xù)報文流,報文邊界接收的報文:大小和順序嚴(yán)格與發(fā)送方相同發(fā)送單位:報文,前后報文不能合并接收單位:報文數(shù)據(jù)流投遞和接收的單位為byte可靠性:byte按序接收連續(xù)字節(jié)流、無邊界接收的字節(jié):順序嚴(yán)格與發(fā)送方發(fā)送的順序相同發(fā)送單位:數(shù)據(jù)塊或逐字節(jié),前后可合并接收單位:數(shù)據(jù)塊或逐字節(jié)2025/12/2226303教研室張來順TCPTCP可靠性保證采用面向連接的通信方式滑動窗口協(xié)議,以提高通信性能捎帶應(yīng)答方式未使用顯示確認(rèn),減少報文種類TCP只有一種報文格式完成建立、撤除連接數(shù)據(jù)傳輸確認(rèn)、流量控制、窗口滑動2025/12/2227303教研室張來順TCP
TCP的端口、插點、連接端口號、插口的概念和方式與UDP相同端口(port):TCP/UDP端口統(tǒng)一由Socket管理和分配插口(endpoint):由(IP地址,端口)表示連接TCP上通信雙方抽象的虛電路連接每個連接由連接的一對插口標(biāo)識如:(IP1,port1)和(IP2,port2)標(biāo)識唯一一個連接2025/12/2228303教研室張來順TCP共享端口號情況(IP1,Port1)和(IP2,Port2)表示一個連接(IP1,Port1)和(IP2,Port3)表示另一個連接TCP使用連接的一對插口來唯一標(biāo)識一個連接兩個連接只有在這四個值完全相同時,才認(rèn)為是同一個連接適合C/S模型,服務(wù)器在一個端口上提供若干連接TCPTCP應(yīng)用1應(yīng)用1應(yīng)用2應(yīng)用2TCP應(yīng)用1應(yīng)用1應(yīng)用1應(yīng)用12025/12/2229303教研室張來順TCP主動和被動建立連接TCP區(qū)分主動建立連接和被動建立連接主動建立連接發(fā)起建立連接方,一般是客戶方被動建立連接接受建立連接方,一般是服務(wù)器方被動建立連接方一般先于主動連接方啟動,但不發(fā)起連接建立過程,而是在某個端口上等待主動方的連接請求2025/12/2230303教研室張來順TCP
TCP通信面臨的問題較長的網(wǎng)絡(luò)傳輸時延(穿越多個網(wǎng))采用滑動窗口協(xié)議(采用停等協(xié)議性能非常低)高效利用網(wǎng)絡(luò)通信資源報文丟失、重復(fù)、亂序滑動窗口控制順序傳輸時延不定(端點遠近差別很大)重傳定時的動態(tài)確定網(wǎng)絡(luò)擁塞探測擁塞問題、克服擁塞辦法2025/12/2231303教研室張來順TCP
數(shù)據(jù)流、報文段和序號
TCP協(xié)議是面向字節(jié)的切割:根據(jù)適合傳輸?shù)拇笮?shù)據(jù)流進行切割最大報文段長度<64Kbytes通常:MTU-(IP頭+TCP頭)復(fù)原:用報文段恢復(fù)原始數(shù)據(jù)流的字節(jié)順序序號:排序、查錯及數(shù)據(jù)流復(fù)原數(shù)據(jù)流切割報文段數(shù)據(jù)流TCP發(fā)送報文段數(shù)據(jù)流復(fù)原發(fā)送緩沖接收緩沖TCP接收TCP2025/12/2232303教研室張來順TCP報文序號依據(jù)數(shù)據(jù)流中的字節(jié)序號(流序號)報文序號為報文段中第一字節(jié)的流序號如:流序號=x,長度=L的報文段,則:報文的序號為x,下一報文序號為x+L序號特點報文的順序關(guān)系數(shù)據(jù)流的位置,更便于流的復(fù)原需較大的序號空間(32bit,4Gbyte)xL2025/12/2233303教研室張來順TCP例如:在一個報文中,序號為300,而報文中數(shù)據(jù)有100字節(jié)。下一個報文段,其序號為400;200序號:600200數(shù)據(jù)序號:400100數(shù)據(jù)序號:300第三組報文第二組報文第一組報文2025/12/2234303教研室張來順TCPTCP的流量控制TCP采用可變發(fā)送窗口的技術(shù)進行流量控制,窗口大小的單位是字節(jié)。在TCP報文段首部的窗口字段寫入的數(shù)值就是當(dāng)前設(shè)定的接收窗口數(shù)值。發(fā)送窗口在連接建立時由雙方商定,在通信過程中,接收端可根據(jù)自己的資源情況,隨時動態(tài)地調(diào)整自己的接收窗口,并且告訴對方,使對方的發(fā)送窗口和自己的接收窗口一致。2025/12/2235303教研室張來順TCP說明:發(fā)送端要發(fā)送的數(shù)據(jù)共9個報文段,每個報文符長100字節(jié),共900個字節(jié);而接收端允許的發(fā)送窗口為500字節(jié);在當(dāng)前情況下,發(fā)送方可連續(xù)發(fā)送5個報文段,而不必收到時確認(rèn),(已發(fā)送了二個,還可發(fā)送三個報文符);1100101200301400401500501600601700701800801900201300接收端許諾的發(fā)送窗口已發(fā)送并確認(rèn)已發(fā)送未確認(rèn)可連續(xù)發(fā)送不可發(fā)送2025/12/2236303教研室張來順TCP利用可變窗口進行流量控制舉例主機A向主機B發(fā)送數(shù)據(jù),雙方商定的窗口值是400,每一個報文段為100字節(jié),序號的初始值為1。主機B進行了3次流量控制。主機A主機B序號=1序號=101序號=201確認(rèn)序號=201窗口=300序號=301序號=401序號=201確認(rèn)序號=501窗口=200序號=501確認(rèn)序號=601窗口=0丟棄A還能發(fā)送300字節(jié)A還能發(fā)送200字節(jié)允許A再發(fā)送300字節(jié)A還能發(fā)送200字節(jié)A還能發(fā)送100字節(jié)A超時重發(fā),但不能再發(fā)送A還能發(fā)送100字節(jié)允許A再發(fā)送200字節(jié)不允許A再發(fā)送2025/12/2237303教研室張來順TCP發(fā)送窗口發(fā)送端在發(fā)送數(shù)據(jù)時,既要考慮到接收方的接收能力,又要使網(wǎng)絡(luò)不要發(fā)生擁塞。發(fā)送窗口的確定:發(fā)送窗口=Min[通知窗口,擁塞窗口]注:通知窗口:是采用接收端的流量控制窗口,其窗口值放在TCP報文首部中傳送給發(fā)送端。擁塞窗口:是發(fā)送端根據(jù)網(wǎng)絡(luò)擁塞情況得出的窗口值,來自發(fā)送端的流量控制。在未發(fā)生擁塞的穩(wěn)定工作狀態(tài),二個窗口是一致的。2025/12/2238303教研室張來順TCPTCP擁塞控制TCP流量控制可變發(fā)送窗口(BYTE)TCP擁塞控制當(dāng)加載到網(wǎng)絡(luò)上的載荷超過其處理能力時,擁塞便會出現(xiàn)分組丟失而造成超時的原因傳輸線路的噪聲干擾擁塞的路由器丟棄了分組目前互聯(lián)網(wǎng)上發(fā)生的大多數(shù)超時現(xiàn)象都是由于擁塞造成的,傳輸錯誤造成的分組丟失較少解決擁塞最切實的辦法是降低數(shù)據(jù)傳輸速率擁塞控制大部分是由TCP完成的。TCP試圖通過動態(tài)地控制滑動窗口的大小來達到控制擁塞的目的2025/12/2239303教研室張來順TCP擁塞控制的三種技術(shù)慢啟動(slow-start)加速遞減(multiplicativedecrease)擁塞避免(congestionavoidance)前提條件:通信線路使得分組丟失概率很小(﹤1%),即分組的丟失主要因為擁塞造成的。2025/12/2240303教研室張來順TCP慢啟動(SlowStart)慢啟動同時考慮可能造成擁塞的網(wǎng)絡(luò)容量和接收方容量,取以下兩個窗口的最小值作為可以發(fā)送的字節(jié)數(shù)上限通告窗口(OfferedWindow)擁塞窗口(CongestionWindow)擁塞窗口的大小發(fā)送方開始時發(fā)送一個報文段,然后等待ACK。當(dāng)收到該ACK時,擁塞窗口從1增加為2,即可以發(fā)送兩個報文段。當(dāng)收到這兩個報文段的ACK時,擁塞窗口就增加為4。這是一種指數(shù)增加的關(guān)系擁塞窗口是發(fā)送方使用的流量控制,而通告窗口則是接收方使用的流量控制所有的TCP實現(xiàn)都支持慢啟動2025/12/2241303教研室張來順TCP加速遞減(MultiplicativeDecrease)每出現(xiàn)一次超時,門限窗口值減半。擁塞避免(CongestionAvoidance)當(dāng)擁塞窗口增大到門限窗口值時,擁塞窗口的增長將變?yōu)榫€性增長,避免網(wǎng)絡(luò)再次擁塞2025/12/2242303教研室張來順TCP實現(xiàn)擁塞控制的步驟當(dāng)一個連接初始化時,將擁塞窗口設(shè)置為1。并設(shè)置慢啟動的門限窗口值。發(fā)送端的發(fā)送窗口不能超過擁塞窗口和通知窗口中的最小值,現(xiàn)在假定接收端不進行流量控制(即通知窗口無限大)。發(fā)送端若收到了對所有發(fā)出的報文段的確認(rèn),就在下一次發(fā)送時將擁塞窗口加倍??梢姄砣翱趶?開始,按指數(shù)規(guī)律增長。當(dāng)擁塞窗口增長到慢啟動的門限窗口值時,就改為執(zhí)行擁塞避免算法,擁塞窗口按線性規(guī)律增長。若出現(xiàn)了超時,則將當(dāng)時的擁塞窗口減半,作為新的門限窗口值,同時擁塞窗口再次變?yōu)?。擁塞窗口重新從1開始按指數(shù)規(guī)律增長,當(dāng)增長到新的門限窗口值時,擁塞窗口按線性規(guī)律增長。當(dāng)網(wǎng)絡(luò)又出現(xiàn)了超時,仍重復(fù)上述過程。2025/12/2243303教研室張來順TCP超時門限窗口傳輸次數(shù)擁塞窗口(Kbyte)“加速遞減”出現(xiàn)一次超時,門限減半。指數(shù)增長“擁塞避免”從指數(shù)增長改為線性增長。慢啟動從1開始2025/12/2244303教研室張來順TCP以上討論可以看出“慢啟動”是指每出現(xiàn)一次超時,擁塞窗口都降低到“1”,使報文每慢慢注入回到網(wǎng)絡(luò)中?!凹铀龠f減”是指每出現(xiàn)一次超時,就將門限值減半?!皳砣苊狻笔侵笓砣翱谠龃蟮介T限窗口值時,就將擁塞窗口值從指數(shù)增長降低為線性增長,避免網(wǎng)絡(luò)再次出現(xiàn)擁塞。采用這樣的流量控制的方法使得TCP的性能有明顯的改進。2025/12/2245303教研室張來順TCPTCP的重發(fā)機制TCP的報文重發(fā)是根據(jù)所設(shè)置的定時器決定的。當(dāng)定時器的重發(fā)時間到而還沒有收到確認(rèn),就要重發(fā)這一報文段。TCP采用了一種自適應(yīng)算法確定超時定時器的重發(fā)時間。
2025/12/2246303教研室張來順TCP每個連接都維持一個變量RTT(當(dāng)前往返時間的最佳估算值)。發(fā)送方的計時器(發(fā)送時啟動)在達到超時間隔時觸發(fā)重發(fā)機制;若在超時之前收到確認(rèn),則測量出往返時間M:修正 RTT=RTT+(1-)M
其中
為一個平滑因子(一般為7/8)修正實際往返時間M同估算值RTT的偏差|RTT-M| D=D+(1-)|RTT-M|
這里的
可能不同前面的
確定當(dāng)前的超時間隔Timeout=RTT+4D補充算法:對已重發(fā)的數(shù)據(jù)段無需修正RTT,而在傳輸失敗時將超時時間加倍。效果:在網(wǎng)絡(luò)擁塞或收發(fā)雙方距離較遠時能夠自動延長超時間隔,減少不必要的重發(fā);網(wǎng)絡(luò)較為空閑或雙方距離較近時又能迅速減小超時間隔,及時重發(fā)出錯的段。2025/12/2247303教研室張來順TCP
TCP報文格式
TCP協(xié)議只定義了一種報文格式,建立、拆除連接、傳輸數(shù)據(jù)使用同樣的報文源端口UGR目的端口ACKPSHRSTSYNFIN序號確認(rèn)序號保留數(shù)據(jù)偏移窗口檢驗和緊急指針選項和填充數(shù)據(jù)32bitTCP首部20字節(jié)2025/12/2248303教研室張來順TCP源端口和目的端口:各占2個字節(jié),16比特的端口號加上32比特的IP地址,共同構(gòu)成相當(dāng)于傳輸層服務(wù)訪問點的地址,即“插口”。這些端口可用來將若干高層協(xié)議向下復(fù)用。序號字段和確認(rèn)序號字段:序號:占4個字節(jié),是本報文段所發(fā)送的數(shù)據(jù)部分第一個字節(jié)的序號。在TCP傳送的數(shù)據(jù)流中,每一個字節(jié)都有一個序號。例如,一報文段的序號為300,而數(shù)據(jù)為100字節(jié),則下一個報文段的序號就是400。確認(rèn)序號:占4字節(jié),是期望收到對方下次發(fā)送的數(shù)據(jù)的第一個字節(jié)的序號,也就是期望收到的下一個報文段的首部中的序號。由于序號字段有32比特長,可以對4GB的數(shù)據(jù)進行編號,這樣就可保證當(dāng)序號重復(fù)使用時,舊序號的數(shù)據(jù)早已在網(wǎng)絡(luò)中消失了。2025/12/2249303教研室張來順TCP數(shù)據(jù)偏移:占4比特,表示數(shù)據(jù)開始的地方離TCP報文段的起始處有多遠。這實際上就是TCP報文段首部的長度。由于首部長度不固定,因此數(shù)據(jù)偏移字段是必要的。保留字段:6比特,供今后使用,目前置為0。2025/12/2250303教研室張來順TCP六個比特的控制字段緊急比特URGent:當(dāng)URG=1時,表明此報文應(yīng)盡快傳送,而不要按原來的排隊順序來傳送。與“緊急指針”字段配合使用,緊急指針指出在本報文段中的緊急數(shù)據(jù)的最后一個字節(jié)的序號,使接收方可以知道緊急數(shù)據(jù)共有多長。確認(rèn)比特ACK:只有當(dāng)ACK=1時,確認(rèn)序號字段才有意義。急迫比特PSH:當(dāng)PSH=1時,表明請求遠地TCP將本報文段立即傳送給其應(yīng)用層,而不要等到整個緩存都填滿了之后再向上交付。復(fù)位比特ReSeT:當(dāng)RST=1時,表明出現(xiàn)嚴(yán)重差錯,必須釋放連接,然后再重建傳輸連接。復(fù)位比特還用來拒絕一個非法的報文段或拒絕打開一個連接。同步比特SYN:在建立連接時使用,當(dāng)SYN=1而ACK=0時,表明這是一個連接請求報文段。對方若同意建立連接,在發(fā)回的報文段中使SYN=1和ACK=1。因此,SYN=1表示這是一個連接請求或連接接受報文,而ACK的值用來區(qū)分是哪一種報文。終止比特FINal:用來釋放一個連接,當(dāng)FIN=1時,表明欲發(fā)送的字節(jié)串已經(jīng)發(fā)完,并要求釋放傳輸連接。2025/12/2251303教研室張來順TCP窗口字段窗口Window:占2字節(jié),表示報文段發(fā)送方的接收窗口,單位為字節(jié)。此窗口告訴對方,“在未收到我的確認(rèn)時,你能夠發(fā)送的數(shù)據(jù)的字節(jié)數(shù)至多是此窗口的大小?!蓖ㄖ翱赼dvertisedwindow:接收端根據(jù)其接收能力許諾的窗口值,是來自接收端的流量控制。接收端將通知窗口的值放在TCP報文的首部中,傳送給對方。擁塞窗口congestionwindow:是發(fā)送端根據(jù)網(wǎng)絡(luò)擁塞情況得出的窗口值,是來自發(fā)送端的流量控制。2025/12/2252303教研室張來順TCP檢驗和字段:檢驗和字段檢驗的范圍包括首部和數(shù)據(jù)這兩部分。這是一個強制性的字段,由發(fā)端計算和存儲,由收端進行驗證。和UDP用戶數(shù)據(jù)報一樣,計算檢查和時,在TCP報文段的前面加上12字節(jié)的偽首部。偽首部格式同UTP的偽首部,但將偽首部第4字段中的17改為6(TCP的協(xié)議號是6),第5字段的長度為TCP長度。選項字段允許每臺主機設(shè)定能夠接受的最大TCP載荷能力(缺省536字節(jié))2025/12/2253303教研室張來順TCPTCP分節(jié)的封裝幀首部IP首部TCP首部TCP首部應(yīng)用數(shù)據(jù)應(yīng)用數(shù)據(jù)應(yīng)用數(shù)據(jù)IP首部TCP首部應(yīng)用數(shù)據(jù)TCP分段segment2025/12/2254303教研室張來順TCPTCP的運輸連接管理TCP是面向連接的協(xié)議,運輸連接的建立和釋放是每一次面向連接的通信中必不可少的過程。運輸連接的管理就是使運輸連接的建立和釋放都能正常地進行。在連接建立過程中要解決以下三個問題:要使每一方能夠確知對方的存在要允許雙方協(xié)商一些參數(shù)(如,最大報文段長度,最大窗口大小,服務(wù)質(zhì)量等)能夠?qū)\輸實體資源(如緩沖區(qū)大小,連接表中的項目等)進行分配2025/12/2255303教研室張來順TCPTCP的傳輸連接管理——三次握手技術(shù)TCP是面向連接的協(xié)議,傳輸連接的建立和釋放是每次通信中必不可少的過程。傳輸連接的管理就是使傳輸連接的建立和釋放都能正常地進行。TCP連接的建立采用客戶/服務(wù)器方式。為了確保連接的建立和釋放都是可靠的,TCP使用三次握手的方式,其中交換了三個報文。已證明三次握手是在分組丟失、重復(fù)和延遲的情況下確保非模糊協(xié)定的充要條件。2025/12/2256303教研室張來順TCP創(chuàng)建一個連接的三次握手TCP使用同步字段SYN來描述用于創(chuàng)建一個連接的三次握手中的報文段;每一端產(chǎn)生一個隨機32位序列號;每建立一個新連接,TCP就選擇一個新的隨機數(shù)。三次握手過程客戶端向服務(wù)器端發(fā)送請求建立報文段,SYN=1,ACK=O,發(fā)送序號=x服務(wù)器端若允許建立連接,向客戶端發(fā)送確認(rèn)報文段,SYN=1,ACK=1,發(fā)送序號=y,確認(rèn)序號=x+1客戶端再向服務(wù)器端發(fā)送一確認(rèn),SYN=0,ACK=1,確認(rèn)序號=y+1,序號=x+12025/12/2257303教研室張來順TCP用三次握手建立TCP連接主機A主機B主動打開被動打開SYN=1,ACK=0,序號=xSYN=0,ACK=1,序號=x+1,確認(rèn)序號=y+1SYN=1,ACK=1,序號=y,確認(rèn)序號=x+1確認(rèn)確認(rèn)2025/12/2258303教研室張來順TCP同時發(fā)起建立請求主機A主機BSYN=1,ACK=0,序號=xSYN=1,ACK=1,序號=x,確認(rèn)序號=y+1SYN=1,ACK=0,序號=ySYN=1,ACK=1,序號=x+1,確認(rèn)序號=y2025/12/2259303教研室張來順TCP為何使用三次握手當(dāng)客戶端發(fā)送一連接請求報文段,沒有收到服務(wù)器端的確認(rèn),認(rèn)為丟失??蛻舳嗽僦貍饕淮?,得到確認(rèn),傳輸數(shù)據(jù),釋放連接。然而,客戶端第一個請求報文段并每沒有丟失,而是延時到這次連接、數(shù)據(jù)傳輸、釋放連接后才到達服務(wù)器端。服務(wù)器端認(rèn)為又一次新的連接,向客戶端發(fā)一確認(rèn)??蛻舳擞捎诓]有發(fā)起新的連接,不會發(fā)送數(shù)據(jù),服務(wù)器端會一直等待,造成資源浪費。2025/12/2260303教研室張來順TCP數(shù)據(jù)傳輸發(fā)送端接收端Send_Seq=0(0-2047)Ack_Seq=2048,WIN=2048應(yīng)用進程交付3KAck_Seq=4096,WIN=0向應(yīng)用進程交付2K空閑緩存4K2KSend_Seq=2048(2048-4095)0Ack_Seq
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026福建海峽環(huán)保集團股份有限公司市場化選聘所屬企業(yè)職業(yè)經(jīng)理人1人備考題庫及參考答案詳解一套
- 2026重慶兩江假日酒店管理有限公司第二批職業(yè)經(jīng)理人招聘6人備考題庫及1套參考答案詳解
- 浙美版六年級下冊美術(shù)教案
- 信息技術(shù)手段支持的小學(xué)英語課堂導(dǎo)入設(shè)計
- 車輛應(yīng)急預(yù)案及事故處理
- 行政處罰聽證會現(xiàn)場流程
- 部編版二年級語文下冊:識字3“貝”的故事
- 品牌授權(quán)合作協(xié)議書范本
- 重大安全風(fēng)險管控方案及措施5
- 2025屆浙江省湖州、衢州、麗水三地市高三上學(xué)期教學(xué)質(zhì)量檢測英語試題試題
- 2026云南保山電力股份有限公司校園招聘50人筆試參考題庫及答案解析
- 《智能網(wǎng)聯(lián)汽車先進駕駛輔助技術(shù)》課件 項目1 先進駕駛輔助系統(tǒng)的認(rèn)知
- 2024-2025學(xué)年北京清華附中高一(上)期末英語試卷(含答案)
- 引水壓力鋼管制造及安裝工程監(jiān)理實施細則
- 2025年全行業(yè)薪酬報告
- 輔助生殖項目五年發(fā)展計劃
- 河北省石家莊第二中學(xué)2025-2026學(xué)年高一上數(shù)學(xué)期末聯(lián)考試題含解析
- (2025年)qc培訓(xùn)考試試題(含答案)
- DBJ50-T-271-2017 城市軌道交通結(jié)構(gòu)檢測監(jiān)測技術(shù)標(biāo)準(zhǔn)
- 中醫(yī)醫(yī)院等級評審材料準(zhǔn)備全攻略
- 腫瘤科普宣傳課件
評論
0/150
提交評論