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