計(jì)算機(jī)網(wǎng)絡(luò)第五章_第1頁
計(jì)算機(jī)網(wǎng)絡(luò)第五章_第2頁
計(jì)算機(jī)網(wǎng)絡(luò)第五章_第3頁
計(jì)算機(jī)網(wǎng)絡(luò)第五章_第4頁
計(jì)算機(jī)網(wǎng)絡(luò)第五章_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1l考慮如下問題:考慮如下問題:1、如何向應(yīng)用程序提供正確的數(shù)據(jù)流,、如何向應(yīng)用程序提供正確的數(shù)據(jù)流,并保證正確的順序,即如何實(shí)現(xiàn)可靠傳輸?并保證正確的順序,即如何實(shí)現(xiàn)可靠傳輸? 2、一臺(tái)主機(jī)只有一個(gè)網(wǎng)絡(luò)地址,但可能、一臺(tái)主機(jī)只有一個(gè)網(wǎng)絡(luò)地址,但可能同時(shí)運(yùn)行多個(gè)應(yīng)用程序,如何區(qū)別這些數(shù)同時(shí)運(yùn)行多個(gè)應(yīng)用程序,如何區(qū)別這些數(shù)據(jù)報(bào)文是哪個(gè)應(yīng)用程序的數(shù)據(jù)?據(jù)報(bào)文是哪個(gè)應(yīng)用程序的數(shù)據(jù)?2l6.1 概述概述l6.2 用戶數(shù)據(jù)報(bào)協(xié)議用戶數(shù)據(jù)報(bào)協(xié)議UDPl6.3 TCP協(xié)議概述協(xié)議概述 l6.4 傳輸控制協(xié)議傳輸控制協(xié)議TCPl6.5 可靠傳輸協(xié)議工作原理可靠傳輸協(xié)議工作原理l6.5 TCP協(xié)議首部協(xié)議首部l

2、6.6 TCP可靠傳輸可靠傳輸l6.7 TCP的流量控制的流量控制l6.8 TCP的連接管理的連接管理l6.9 TCP的擁塞控制的擁塞控制l6.10 C/S編程的有關(guān)問題編程的有關(guān)問題36.1 概述概述l傳輸層的地位傳輸層的地位:中間層:中間層 應(yīng)用層應(yīng)用層傳輸層傳輸層網(wǎng)絡(luò)層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層物理層物理層面向信面向信息處理息處理面向面向通信通信用戶用戶功能功能網(wǎng)絡(luò)網(wǎng)絡(luò)功能功能兩種觀點(diǎn)劃分高層與低層兩種觀點(diǎn)劃分高層與低層IP層層AP1AP2AP3AP4傳輸層提供邏輯通信傳輸層提供邏輯通信應(yīng)用程序應(yīng)用程序傳輸層的作用傳輸層的作用123454 IP 協(xié)議的作用范圍運(yùn)輸層協(xié)議 TCP 和 UD

3、P 的作用范圍54321運(yùn)輸層提供應(yīng)用進(jìn)程間的邏輯通信主機(jī) A主機(jī) B應(yīng)用進(jìn)程應(yīng)用進(jìn)程路由器 1路由器 2AP1LAN2WANAP2AP3AP4IP 層LAN1AP1AP2AP4端口端口54321AP356.1 概述概述(續(xù)1)和和兩主機(jī)通信實(shí)際是主機(jī)中的兩主機(jī)通信實(shí)際是主機(jī)中的;應(yīng)用進(jìn)程之間的通信又稱為應(yīng)用進(jìn)程之間的通信又稱為。用于實(shí)現(xiàn)計(jì)算機(jī)級(jí)的用于實(shí)現(xiàn)計(jì)算機(jī)級(jí)的邏輯通信邏輯通信(主機(jī)(主機(jī)-主機(jī)主機(jī)的通信),即只負(fù)責(zé)將信息送到目標(biāo)計(jì)算機(jī)處的通信),即只負(fù)責(zé)將信息送到目標(biāo)計(jì)算機(jī)處; 傳輸層協(xié)議把信息進(jìn)一步傳送給適當(dāng)?shù)倪M(jìn)程,從傳輸層協(xié)議把信息進(jìn)一步傳送給適當(dāng)?shù)倪M(jìn)程,從而建立而建立的端到端的通信

4、。的端到端的通信。 即:即:66.1 概述概述(續(xù)2)提供端到端(進(jìn)程提供端到端(進(jìn)程-進(jìn)程)的可靠通信,即向進(jìn)程)的可靠通信,即向高層用戶屏蔽通信子網(wǎng)的細(xì)節(jié),提供通用的傳高層用戶屏蔽通信子網(wǎng)的細(xì)節(jié),提供通用的傳輸接口,建立兩傳輸層實(shí)體間的一個(gè)輸接口,建立兩傳輸層實(shí)體間的一個(gè); 對(duì)收到的報(bào)文進(jìn)行差錯(cuò)檢測。對(duì)收到的報(bào)文進(jìn)行差錯(cuò)檢測。根據(jù)不同的應(yīng)用,提供兩種不同的運(yùn)輸協(xié)議,根據(jù)不同的應(yīng)用,提供兩種不同的運(yùn)輸協(xié)議,即面向連接的即面向連接的 TCP 和無連接的和無連接的 UDP。另一個(gè)重要功能:復(fù)用和分用另一個(gè)重要功能:復(fù)用和分用76.1 概述概述(續(xù)3)面向連接的面向連接的和和無連接的無連接的在在T

5、CP/IP網(wǎng)絡(luò)中,傳輸層可以使用兩個(gè)不同的協(xié)議:網(wǎng)絡(luò)中,傳輸層可以使用兩個(gè)不同的協(xié)議: :盡管網(wǎng)絡(luò)層不可靠,但這時(shí)的邏盡管網(wǎng)絡(luò)層不可靠,但這時(shí)的邏輯信道相當(dāng)于一條全雙工的輯信道相當(dāng)于一條全雙工的可靠信道可靠信道,因此能,因此能將數(shù)據(jù)可靠地交付給接收端的應(yīng)用層;將數(shù)據(jù)可靠地交付給接收端的應(yīng)用層;邏輯信道相當(dāng)于一條邏輯信道相當(dāng)于一條不可靠信道不可靠信道,從而不能保證正確交付,即接收時(shí)可能不按序、從而不能保證正確交付,即接收時(shí)可能不按序、可能出現(xiàn)丟失和重復(fù),可能出現(xiàn)丟失和重復(fù),但不接收有差錯(cuò)的報(bào)文但不接收有差錯(cuò)的報(bào)文。8 應(yīng)用層運(yùn)輸層發(fā)送進(jìn)程接收進(jìn)程數(shù)據(jù)數(shù)據(jù)全雙工可靠信道使用 TCP 協(xié)議?接收進(jìn)程

6、數(shù)據(jù)數(shù)據(jù)使用 UDP 協(xié)議不可靠信道發(fā)送進(jìn)程96.1 概述概述(續(xù)4)TCP提供面向連接的服務(wù),增加許提供面向連接的服務(wù),增加許多開銷和管理,占用更多的處理機(jī)多開銷和管理,占用更多的處理機(jī)資源,不提供廣播或多播服務(wù),資源,不提供廣播或多播服務(wù),PDU稱為稱為;UDP是無連接的,某些情況下是無連接的,某些情況下 UDP 是一種最有效的工作方式,是一種最有效的工作方式,PDU稱稱為為或或;無論無論TCP還是還是UDP, 都是在端到端的都是在端到端的邏輯信道中傳送。邏輯信道中傳送。各種應(yīng)用協(xié)議各種應(yīng)用協(xié)議telnet,ftp,smtp等等IP與各種網(wǎng)絡(luò)接口與各種網(wǎng)絡(luò)接口物理硬件物理硬件106.1 概

7、述概述(續(xù)5)lUDP數(shù)據(jù)報(bào)與數(shù)據(jù)報(bào)與IP數(shù)據(jù)報(bào):數(shù)據(jù)報(bào):都是盡最大努力交付都是盡最大努力交付前者在傳輸層的端到端的抽象邏輯信道中傳送,路由器前者在傳輸層的端到端的抽象邏輯信道中傳送,路由器是看不見的;后者經(jīng)路由器的存儲(chǔ)轉(zhuǎn)發(fā),傳輸層也是看是看不見的;后者經(jīng)路由器的存儲(chǔ)轉(zhuǎn)發(fā),傳輸層也是看不到路由器的。不到路由器的。UDP校驗(yàn)數(shù)據(jù),校驗(yàn)數(shù)據(jù),IP不校驗(yàn)數(shù)據(jù)部分。不校驗(yàn)數(shù)據(jù)部分。lTCP連接與網(wǎng)絡(luò)層虛電路:連接與網(wǎng)絡(luò)層虛電路:都是可靠的全雙工邏輯通道;都是可靠的全雙工邏輯通道;前者是在前者是在傳輸層傳輸層建立的端到端的抽象邏輯信道,路由器建立的端到端的抽象邏輯信道,路由器并不知道其中傳輸?shù)男畔ⅲ欠?/p>

8、建立連接等;而虛電路并不知道其中傳輸?shù)男畔ⅲ欠窠⑦B接等;而虛電路的是在網(wǎng)絡(luò)層建立的,需要在路由器中記錄其相關(guān)狀態(tài)的是在網(wǎng)絡(luò)層建立的,需要在路由器中記錄其相關(guān)狀態(tài)信息,用來傳輸信息,用來傳輸IP數(shù)據(jù)報(bào);數(shù)據(jù)報(bào);網(wǎng)絡(luò)層連接的改變不會(huì)影響網(wǎng)絡(luò)層連接的改變不會(huì)影響TCP連接。連接。116.1 概述概述(續(xù)6)標(biāo)識(shí)標(biāo)識(shí)(必須與特定必須與特定OS無關(guān)無關(guān))是應(yīng)用層的各種協(xié)議進(jìn)程與傳輸層實(shí)體間進(jìn)行是應(yīng)用層的各種協(xié)議進(jìn)程與傳輸層實(shí)體間進(jìn)行交互的依據(jù)(一種邏輯地址),用來標(biāo)識(shí)不同交互的依據(jù)(一種邏輯地址),用來標(biāo)識(shí)不同的的;端口端口是用一個(gè)是用一個(gè)16bit的的端口號(hào)端口號(hào)標(biāo)識(shí),端口號(hào)只有標(biāo)識(shí),端口號(hào)只有本

9、地意義,只標(biāo)識(shí)本計(jì)算機(jī)上的應(yīng)用層進(jìn)程。本地意義,只標(biāo)識(shí)本計(jì)算機(jī)上的應(yīng)用層進(jìn)程。因特網(wǎng)中不同計(jì)算機(jī)的相同端口號(hào)是沒有聯(lián)系因特網(wǎng)中不同計(jì)算機(jī)的相同端口號(hào)是沒有聯(lián)系的。的。126.1 概述概述(續(xù)7)TCP/IP最重要的一些應(yīng)用服務(wù)最重要的一些應(yīng)用服務(wù)的端口,一般是的端口,一般是01023; 數(shù)值為數(shù)值為102449151, 為沒有熟知端口號(hào)的為沒有熟知端口號(hào)的 應(yīng)用程序使用的。應(yīng)用程序使用的。 必須在必須在 IANA 登記。登記。:數(shù)值為數(shù)值為4915265535,留,留給客戶進(jìn)程選擇暫時(shí)使用。通信結(jié)束后,這個(gè)端口號(hào)可給客戶進(jìn)程選擇暫時(shí)使用。通信結(jié)束后,這個(gè)端口號(hào)可 供其他客戶進(jìn)程以后使用。供其他

10、客戶進(jìn)程以后使用。RPCSNMPTFTPSMTPFTPTELNET()()()()()() ()()()()()()6116169252123 UDPTCP13 IP 數(shù)據(jù)報(bào)IP 數(shù)據(jù)報(bào)TCP 報(bào)文段UDP用戶數(shù)據(jù)報(bào) 應(yīng)用進(jìn)程端口TCP 分用UDP 分用IP 分用接收方應(yīng)用層運(yùn)輸層網(wǎng)絡(luò)層TCP 報(bào)文段UDP用戶數(shù)據(jù)報(bào)應(yīng)用進(jìn)程TCP 復(fù)用IP 復(fù)用UDP 復(fù)用端口發(fā)送方14l與與IP的數(shù)據(jù)報(bào)服務(wù)相比,的數(shù)據(jù)報(bào)服務(wù)相比,UDP增加了兩個(gè)功能:增加了兩個(gè)功能:無連接的、不可靠的、簡單高效無連接的、不可靠的、簡單高效 。UDP 是無連接的;是無連接的;每一個(gè)由每一個(gè)由UDP發(fā)送的數(shù)據(jù)報(bào)都是一個(gè)獨(dú)立的數(shù)

11、據(jù)報(bào),不同的用戶發(fā)送的數(shù)據(jù)報(bào)都是一個(gè)獨(dú)立的數(shù)據(jù)報(bào),不同的用戶數(shù)據(jù)報(bào)間沒有任何聯(lián)系;數(shù)據(jù)報(bào)間沒有任何聯(lián)系;UDP 使用盡最大努力交付,即不保證可靠交付,同時(shí)也不使用擁使用盡最大努力交付,即不保證可靠交付,同時(shí)也不使用擁塞控制;塞控制;UDP 是面向報(bào)文的。是面向報(bào)文的。UDP 沒有擁塞控制,很適合多媒體通信的要沒有擁塞控制,很適合多媒體通信的要求,能滿足實(shí)時(shí)性要求;求,能滿足實(shí)時(shí)性要求; UDP 支持一對(duì)一、一對(duì)多、多對(duì)一和多對(duì)多的交互通信;支持一對(duì)一、一對(duì)多、多對(duì)一和多對(duì)多的交互通信;UDP首部開銷小,除報(bào)頭中的檢驗(yàn)和,沒有任何差錯(cuò)控制機(jī)制首部開銷小,除報(bào)頭中的檢驗(yàn)和,沒有任何差錯(cuò)控制機(jī)制 。

12、15(續(xù)1)UDP長度源 IP 地址目的 IP 地址017字節(jié)44112偽首部源端口目的端口長 度檢驗(yàn)和122222字節(jié)數(shù) 據(jù)首 部IP 數(shù)據(jù)報(bào)發(fā)送在前數(shù) 據(jù)首 部UDP 用戶數(shù)據(jù)報(bào)16(續(xù)2)lUDP報(bào)文首部說明報(bào)文首部說明1、源端口號(hào)標(biāo)識(shí)發(fā)送進(jìn)程,目的端口號(hào)標(biāo)識(shí)接收進(jìn)程、源端口號(hào)標(biāo)識(shí)發(fā)送進(jìn)程,目的端口號(hào)標(biāo)識(shí)接收進(jìn)程;2、UDP報(bào)文長度包括報(bào)文長度包括UDP報(bào)頭報(bào)頭和和數(shù)據(jù)部分?jǐn)?shù)據(jù)部分在內(nèi)的報(bào)文長在內(nèi)的報(bào)文長度,以字節(jié)為單位,最小值為度,以字節(jié)為單位,最小值為8;3、校驗(yàn)和的計(jì)算包括、校驗(yàn)和的計(jì)算包括。UDP校驗(yàn)和的計(jì)算方法與校驗(yàn)和的計(jì)算方法與IP數(shù)據(jù)報(bào)首部數(shù)據(jù)報(bào)首部校驗(yàn)和計(jì)算方法相似;校驗(yàn)

13、和計(jì)算方法相似;UDP數(shù)據(jù)報(bào)的長度可以為奇數(shù)字節(jié),但檢驗(yàn)和算法是把若干個(gè)數(shù)據(jù)報(bào)的長度可以為奇數(shù)字節(jié),但檢驗(yàn)和算法是把若干個(gè)16 bit字相加。字相加。偽首部:計(jì)算偽首部:計(jì)算UDP校驗(yàn)和時(shí),在用戶數(shù)據(jù)報(bào)前增加的校驗(yàn)和時(shí),在用戶數(shù)據(jù)報(bào)前增加的12字節(jié)的首部,但不用于傳輸;字節(jié)的首部,但不用于傳輸;校驗(yàn)和既檢查了用戶數(shù)據(jù)報(bào)的校驗(yàn)和既檢查了用戶數(shù)據(jù)報(bào)的、和和,還包括,還包括IP數(shù)據(jù)報(bào)的數(shù)據(jù)報(bào)的和和。17(續(xù)3)根據(jù)首部中的目的端根據(jù)首部中的目的端口號(hào),把數(shù)據(jù)上交給應(yīng)用程序??谔?hào),把數(shù)據(jù)上交給應(yīng)用程序。IP 層UDP 數(shù)據(jù)報(bào)到達(dá)端口 2端口 3端口 1UDP 分用18TCP 是是的運(yùn)輸層協(xié)議;的運(yùn)輸層

14、協(xié)議;每一條每一條 TCP 連接只能有兩個(gè)連接只能有兩個(gè),只能是,只能是的;的; TCP 提供提供的服務(wù)(無差錯(cuò)、不丟失、不的服務(wù)(無差錯(cuò)、不丟失、不重復(fù)、且按序到達(dá))重復(fù)、且按序到達(dá)) ; TCP 提供提供通信:連接的兩端都設(shè)有發(fā)送緩?fù)ㄐ牛哼B接的兩端都設(shè)有發(fā)送緩沖和接收緩沖;沖和接收緩沖;19(續(xù)1)7 68H發(fā)送 TCP 報(bào)文段發(fā)送方接收方把字節(jié)寫入發(fā)送緩存從接收緩存讀取字節(jié)應(yīng)用進(jìn)程應(yīng)用進(jìn)程1230181716151419202145131211H109 H加上 TCP 首部構(gòu)成 TCP 報(bào)文段TCPTCP字節(jié)流字節(jié)流H表示 TCP 報(bào)文段的首部x表示序號(hào)為 x 的數(shù)據(jù)字節(jié)TCP 連接20

15、(續(xù)2)TCP 連接是一條虛連接而不是一條真正的物理連接是一條虛連接而不是一條真正的物理連接。連接。TCP 對(duì)應(yīng)用進(jìn)程一次把多長的報(bào)文發(fā)送到對(duì)應(yīng)用進(jìn)程一次把多長的報(bào)文發(fā)送到TCP 的緩存中是不關(guān)心的。的緩存中是不關(guān)心的。TCP 根據(jù)對(duì)方給出的根據(jù)對(duì)方給出的和當(dāng)前和當(dāng)前決定一個(gè)報(bào)文段應(yīng)包含的字節(jié)數(shù)(決定一個(gè)報(bào)文段應(yīng)包含的字節(jié)數(shù)(UDP 發(fā)發(fā)送的報(bào)文長度是應(yīng)用進(jìn)程給出的)。送的報(bào)文長度是應(yīng)用進(jìn)程給出的)。TCP 可把太長的數(shù)據(jù)塊劃分短一些再傳送可把太長的數(shù)據(jù)塊劃分短一些再傳送, 也可也可等待積累有足夠多的字節(jié)后再構(gòu)成報(bào)文段發(fā)送出等待積累有足夠多的字節(jié)后再構(gòu)成報(bào)文段發(fā)送出去。去。 21(續(xù)3)TCP

16、通過通過來標(biāo)識(shí)不同的通信對(duì)象來標(biāo)識(shí)不同的通信對(duì)象;一個(gè)連接是由兩個(gè)端點(diǎn)來表示的。每個(gè)端點(diǎn)表示為:一個(gè)連接是由兩個(gè)端點(diǎn)來表示的。每個(gè)端點(diǎn)表示為:(HOST, PORT),即,即; 標(biāo)識(shí)一個(gè)標(biāo)識(shí)一個(gè)TCP連接的端點(diǎn),包括連接的端點(diǎn),包括IP地址地址和和端口端口號(hào)號(hào);套接字和端口、套接字和端口、IP 地址的關(guān)系:地址的關(guān)系:22(續(xù)4)在整個(gè)因特網(wǎng)中,傳輸層的每一對(duì)套接字都必須是唯一的在整個(gè)因特網(wǎng)中,傳輸層的每一對(duì)套接字都必須是唯一的。如(如(3,1500)和()和(5,25) (3,1501)和()和(5,25

17、)每一條每一條TCP連接唯一地被通信兩端的兩個(gè)端點(diǎn)所確定。兩連接唯一地被通信兩端的兩個(gè)端點(diǎn)所確定。兩個(gè)連接的任何一端的個(gè)連接的任何一端的端點(diǎn)不同端點(diǎn)不同,則表示兩個(gè),則表示兩個(gè)不同的連接不同的連接。單一主機(jī)內(nèi)的多個(gè)進(jìn)程可以通過不同的端口號(hào)同時(shí)使用單一主機(jī)內(nèi)的多個(gè)進(jìn)程可以通過不同的端口號(hào)同時(shí)使用TCP通信服務(wù),某個(gè)通信服務(wù),某個(gè)TCP端口號(hào)可以被多個(gè)連接所共享,端口號(hào)可以被多個(gè)連接所共享,如服務(wù)器上的各熟知端口。如服務(wù)器上的各熟知端口。23信道不是理想的,傳輸過程中會(huì)產(chǎn)生差錯(cuò);信道不是理想的,傳輸過程中會(huì)產(chǎn)生差錯(cuò);同時(shí)需要對(duì)數(shù)據(jù)的發(fā)送端進(jìn)行流量控制,接收方接同時(shí)需要對(duì)數(shù)據(jù)的發(fā)送端進(jìn)行流量控制,接

18、收方接收數(shù)據(jù)時(shí)的狀況是復(fù)雜的。收數(shù)據(jù)時(shí)的狀況是復(fù)雜的。采用可靠傳輸協(xié)議,發(fā)生差錯(cuò)時(shí)可要求重傳;采用可靠傳輸協(xié)議,發(fā)生差錯(cuò)時(shí)可要求重傳;接收方來不及接收處理數(shù)據(jù)時(shí),可要求對(duì)方降接收方來不及接收處理數(shù)據(jù)時(shí),可要求對(duì)方降低發(fā)送數(shù)據(jù)的速度。低發(fā)送數(shù)據(jù)的速度。24發(fā)送端:發(fā)送端:每發(fā)送完一個(gè)分組后就停止發(fā)送,等每發(fā)送完一個(gè)分組后就停止發(fā)送,等待接收端的確認(rèn)。若收到確認(rèn)待接收端的確認(rèn)。若收到確認(rèn)ACK,就繼續(xù)發(fā)送,就繼續(xù)發(fā)送下一分組;下一分組;接收端:接收端:每收到一個(gè)無差錯(cuò)分組,就交付給上每收到一個(gè)無差錯(cuò)分組,就交付給上層軟件,并向發(fā)送端發(fā)送層軟件,并向發(fā)送端發(fā)送ACK信息。如果是有差信息。如果是有差錯(cuò)

19、的分組,直接丟棄錯(cuò)誤分組,什么也不做;錯(cuò)的分組,直接丟棄錯(cuò)誤分組,什么也不做;采用超時(shí)重傳機(jī)制實(shí)現(xiàn)自動(dòng)重傳;采用超時(shí)重傳機(jī)制實(shí)現(xiàn)自動(dòng)重傳;為保證可靠交付,發(fā)送端必須對(duì)所發(fā)的分組編為保證可靠交付,發(fā)送端必須對(duì)所發(fā)的分組編號(hào);接收端在發(fā)送確認(rèn)時(shí),應(yīng)明確是確認(rèn)對(duì)方哪號(hào);接收端在發(fā)送確認(rèn)時(shí),應(yīng)明確是確認(rèn)對(duì)方哪個(gè)分組的序號(hào)。個(gè)分組的序號(hào)。25ABtout(續(xù)1)AB送主機(jī)送主機(jī)時(shí)間ABDATA1送主機(jī)DATA0ACKACK(a) 正常情況正常情況DATA0DATA0送主機(jī)ACK(c) 分組丟失分組丟失重傳tout丟失 !DATA0DATA0ACK(b) 分組出錯(cuò)分組出錯(cuò)重傳出錯(cuò)出錯(cuò)26(續(xù)2)ABDAT

20、A0送主機(jī)ACKDATA0丟丟棄棄ACK(d) 確認(rèn)丟失確認(rèn)丟失重傳丟失 !toutABDATA0送主機(jī)DATA0丟丟棄棄ACK(e) 確認(rèn)遲到確認(rèn)遲到重傳toutDATA1送主機(jī)收下遲到的確認(rèn)但什么也不做27(續(xù)2)流量控制、死鎖、重復(fù)分組流量控制、死鎖、重復(fù)分組每發(fā)送一分組就停下等待確認(rèn)信息,收方每發(fā)送一分組就停下等待確認(rèn)信息,收方肯定不會(huì)來不及接收,從而由收方控制了發(fā)方的發(fā)送速率;肯定不會(huì)來不及接收,從而由收方控制了發(fā)方的發(fā)送速率;:因鏈路問題或其它原因因鏈路問題或其它原因(如差錯(cuò)檢測丟棄分組如差錯(cuò)檢測丟棄分組后什么也不做后什么也不做),使發(fā)送端收不到接收端的任何確認(rèn);,使發(fā)送端收不到接

21、收端的任何確認(rèn);若發(fā)送端要等到收到接收方的確認(rèn)信息后再發(fā)若發(fā)送端要等到收到接收方的確認(rèn)信息后再發(fā)送下一個(gè)分組,則發(fā)送端必然永遠(yuǎn)等待下去;確認(rèn)信息丟送下一個(gè)分組,則發(fā)送端必然永遠(yuǎn)等待下去;確認(rèn)信息丟失也相同;失也相同;發(fā)送端每發(fā)送完一個(gè)分組,就啟動(dòng)一個(gè)發(fā)送端每發(fā)送完一個(gè)分組,就啟動(dòng)一個(gè)超時(shí)計(jì)超時(shí)計(jì)時(shí)器時(shí)器。若超過了設(shè)定的重傳時(shí)間。若超過了設(shè)定的重傳時(shí)間tout而收不到確認(rèn),發(fā)送端而收不到確認(rèn),發(fā)送端就重傳前面所發(fā)送的分組;就重傳前面所發(fā)送的分組;28(續(xù)3)超時(shí)重傳機(jī)制中,若丟失確認(rèn)分組,超時(shí)重傳機(jī)制中,若丟失確認(rèn)分組,則將使接收端收到兩個(gè)同樣的數(shù)據(jù)分組,并且不則將使接收端收到兩個(gè)同樣的數(shù)據(jù)分組

22、,并且不能識(shí)別,導(dǎo)致重復(fù)分組的出現(xiàn)。是一種能識(shí)別,導(dǎo)致重復(fù)分組的出現(xiàn)。是一種不允許出不允許出現(xiàn)的差錯(cuò)現(xiàn)的差錯(cuò);使每個(gè)數(shù)據(jù)分組帶上使每個(gè)數(shù)據(jù)分組帶上不同的發(fā)送序號(hào)不同的發(fā)送序號(hào)。每發(fā)送一個(gè)新的數(shù)據(jù)分組,就將其發(fā)送序號(hào)加每發(fā)送一個(gè)新的數(shù)據(jù)分組,就將其發(fā)送序號(hào)加1;如接收端收到相同序號(hào)的分組,就表明出現(xiàn)重復(fù)如接收端收到相同序號(hào)的分組,就表明出現(xiàn)重復(fù)分組。應(yīng)做兩件事:丟棄該分組,然后向發(fā)方再分組。應(yīng)做兩件事:丟棄該分組,然后向發(fā)方再次發(fā)確認(rèn)信息。次發(fā)確認(rèn)信息。29(續(xù)4)使用上述的確認(rèn)和重傳機(jī)制,就可以使用上述的確認(rèn)和重傳機(jī)制,就可以在不可靠在不可靠的傳輸網(wǎng)絡(luò)上實(shí)現(xiàn)可靠的通信的傳輸網(wǎng)絡(luò)上實(shí)現(xiàn)可靠的通信

23、。這種可靠傳輸協(xié)議常稱為這種可靠傳輸協(xié)議常稱為自動(dòng)重傳請(qǐng)求自動(dòng)重傳請(qǐng)求ARQ (Automatic Repeat reQuest)。重傳的請(qǐng)求是重傳的請(qǐng)求是自動(dòng)自動(dòng)進(jìn)行的。接收方不需要請(qǐng)求進(jìn)行的。接收方不需要請(qǐng)求發(fā)送方重傳某個(gè)出錯(cuò)的分組發(fā)送方重傳某個(gè)出錯(cuò)的分組 。l停止等待協(xié)議的優(yōu)點(diǎn)是簡單,但缺點(diǎn)是信道停止等待協(xié)議的優(yōu)點(diǎn)是簡單,但缺點(diǎn)是信道利用率太低。利用率太低。30連續(xù)連續(xù) ARQ 協(xié)議協(xié)議 在發(fā)送完一個(gè)數(shù)據(jù)分組后,不是停下來等待確在發(fā)送完一個(gè)數(shù)據(jù)分組后,不是停下來等待確認(rèn)分組,而是可以連續(xù)再發(fā)送若干個(gè)數(shù)據(jù)分組。認(rèn)分組,而是可以連續(xù)再發(fā)送若干個(gè)數(shù)據(jù)分組。如果這時(shí)收到了如果這時(shí)收到了接收端發(fā)來

24、的確認(rèn)分組接收端發(fā)來的確認(rèn)分組,那么還,那么還可以接著發(fā)送數(shù)據(jù)分組。可以接著發(fā)送數(shù)據(jù)分組。由于減少了等待時(shí)間,由于減少了等待時(shí)間,信道上一直有數(shù)據(jù)不間信道上一直有數(shù)據(jù)不間斷地傳送,斷地傳送,提高了整個(gè)通信的吞吐量(提高了整個(gè)通信的吞吐量(信道利用信道利用率率)。)。31連續(xù)連續(xù) ARQ 協(xié)議協(xié)議(續(xù)1)l接收方一般采用接收方一般采用累積確認(rèn)累積確認(rèn)的方式。即只對(duì)按序到的方式。即只對(duì)按序到達(dá)的最后一個(gè)分組發(fā)送確認(rèn),表示:達(dá)的最后一個(gè)分組發(fā)送確認(rèn),表示:到這個(gè)分組到這個(gè)分組為止的所有分組都已正確收到為止的所有分組都已正確收到。優(yōu)點(diǎn):容易實(shí)現(xiàn),即使確認(rèn)丟失也不必重傳。優(yōu)點(diǎn):容易實(shí)現(xiàn),即使確認(rèn)丟失也不

25、必重傳。缺點(diǎn):不能向發(fā)送方反映出接收方已經(jīng)正確收缺點(diǎn):不能向發(fā)送方反映出接收方已經(jīng)正確收到的所有分組的信息。到的所有分組的信息。l連續(xù)連續(xù)ARQ又稱為又稱為Go-back-N ARQ:當(dāng)出現(xiàn):當(dāng)出現(xiàn)差錯(cuò)必須重傳時(shí),要向回走差錯(cuò)必須重傳時(shí),要向回走N個(gè)分組,再開個(gè)分組,再開始重傳。始重傳。32連續(xù)連續(xù) ARQ 協(xié)議協(xié)議(續(xù)2)發(fā)送窗口發(fā)送窗口用來對(duì)發(fā)送端進(jìn)行流量控制,發(fā)送窗口的大小用來對(duì)發(fā)送端進(jìn)行流量控制,發(fā)送窗口的大小WT代表代表在還沒有收到對(duì)方確認(rèn)信息的情況下發(fā)送端在還沒有收到對(duì)方確認(rèn)信息的情況下發(fā)送端最多可以發(fā)送的數(shù)據(jù)分組個(gè)數(shù)最多可以發(fā)送的數(shù)據(jù)分組個(gè)數(shù)。注意:流量控制注意:流量控制 處理的

26、是發(fā)送方發(fā)送能力大于處理的是發(fā)送方發(fā)送能力大于接收方接收能力的問題,接收方接收能力的問題,窗口機(jī)制窗口機(jī)制 就是一種流就是一種流量控制的方法。量控制的方法。WT不允許發(fā)送這些分組不允許發(fā)送這些分組允許發(fā)送允許發(fā)送 5 5 個(gè)分組個(gè)分組0123456701233連續(xù)連續(xù) ARQ 協(xié)議協(xié)議(續(xù)3)l發(fā)送方每收到一個(gè)確認(rèn),就將發(fā)送窗口向前發(fā)送方每收到一個(gè)確認(rèn),就將發(fā)送窗口向前滑動(dòng)一個(gè)分組的位置。滑動(dòng)一個(gè)分組的位置。123456789101112(a) 發(fā)送方維持發(fā)送窗口(發(fā)送窗口是發(fā)送方維持發(fā)送窗口(發(fā)送窗口是 5)發(fā)送窗口發(fā)送窗口(b) 收到一個(gè)確認(rèn)后發(fā)送窗口向前滑動(dòng)收到一個(gè)確認(rèn)后發(fā)送窗口向前滑動(dòng)

27、向前向前123456789101112發(fā)送窗口發(fā)送窗口34 031位位31015源端口源端口目的端口目的端口 發(fā)送序號(hào)發(fā)送序號(hào)24確認(rèn)序號(hào)確認(rèn)序號(hào)檢驗(yàn)和檢驗(yàn)和 選項(xiàng)選項(xiàng)(長度可變長度可變)首部首部長度長度URGACKPSHRSTSYNFIN保留保留窗口大小窗口大小緊急指針緊急指針數(shù)據(jù)(可選)數(shù)據(jù)(可選)TCP首部首部20字字節(jié)節(jié)的的固固定定首首部部填充填充IP首部首部IP數(shù)據(jù)報(bào)的數(shù)據(jù)部分?jǐn)?shù)據(jù)報(bào)的數(shù)據(jù)部分TCP首部首部TCP數(shù)據(jù)部分?jǐn)?shù)據(jù)部分35(續(xù)1)lTCP報(bào)文格式報(bào)文格式: 和和發(fā)送發(fā)送/接收本報(bào)文段接收本報(bào)文段的主機(jī)中應(yīng)用程序的端口號(hào)。的主機(jī)中應(yīng)用程序的端口號(hào)。4字節(jié),分配給字節(jié),分配給本

28、報(bào)文段本報(bào)文段數(shù)據(jù)第一個(gè)字?jǐn)?shù)據(jù)第一個(gè)字節(jié)的編號(hào)。節(jié)的編號(hào)。TCP報(bào)文可視為連續(xù)的數(shù)據(jù)流,報(bào)文可視為連續(xù)的數(shù)據(jù)流,;序列號(hào)為本報(bào)文段中的序列號(hào)為本報(bào)文段中的的編號(hào);的編號(hào);起始序號(hào)在連接建立時(shí)進(jìn)行設(shè)置。起始序號(hào)在連接建立時(shí)進(jìn)行設(shè)置。36(續(xù)2)4字節(jié),希望收到對(duì)方發(fā)來的下一個(gè)報(bào)字節(jié),希望收到對(duì)方發(fā)來的下一個(gè)報(bào)文段數(shù)據(jù)的文段數(shù)據(jù)的的字節(jié)編號(hào)。的字節(jié)編號(hào)。如果接收方成功從發(fā)送方接收的字節(jié)編號(hào)為如果接收方成功從發(fā)送方接收的字節(jié)編號(hào)為X,它就將它就將X+L(L為為X的數(shù)據(jù)長度的數(shù)據(jù)長度)定義為確認(rèn)號(hào);定義為確認(rèn)號(hào);確認(rèn)應(yīng)答和數(shù)據(jù)可以一起確認(rèn)應(yīng)答和數(shù)據(jù)可以一起“捎帶捎帶”傳送。傳送。即首部長度,指出數(shù)據(jù)起

29、始處距離即首部長度,指出數(shù)據(jù)起始處距離TCP報(bào)文段起始處有多遠(yuǎn),以報(bào)文段起始處有多遠(yuǎn),以4B為單位,其值為為單位,其值為515;:占:占 6 位,保留為今后使用,目前應(yīng)置位,保留為今后使用,目前應(yīng)置為為 0。37(續(xù)3):1表示緊急數(shù)據(jù),此時(shí)表示緊急數(shù)據(jù),此時(shí)緊急指針緊急指針的值為緊急的值為緊急數(shù)據(jù)的數(shù)據(jù)的最后一個(gè)字節(jié)最后一個(gè)字節(jié)的序號(hào)的序號(hào) ,要盡快發(fā)送;,要盡快發(fā)送;:1表示表示字段有效,字段有效,0表示確認(rèn)號(hào)無表示確認(rèn)號(hào)無效;效;1表示請(qǐng)求接收端的傳輸實(shí)體盡快將接收的表示請(qǐng)求接收端的傳輸實(shí)體盡快將接收的數(shù)據(jù)交付接收應(yīng)用進(jìn)程;數(shù)據(jù)交付接收應(yīng)用進(jìn)程;1表示出現(xiàn)嚴(yán)重差錯(cuò),須釋放連接,重建;表示

30、出現(xiàn)嚴(yán)重差錯(cuò),須釋放連接,重建;建立連接時(shí)用來同步序號(hào)。建立連接時(shí)用來同步序號(hào)。 SYN=1,ACK=0 表示表示連接請(qǐng)求連接請(qǐng)求消息;消息; SYN=1,ACK=1 表示表示同意建立連接同意建立連接消息;消息;1表示數(shù)據(jù)已發(fā)送完,表示數(shù)據(jù)已發(fā)送完,要求釋放連接要求釋放連接;38(續(xù)4)2字節(jié),接收方通知發(fā)送方接收窗口字節(jié),接收方通知發(fā)送方接收窗口的大小,是發(fā)送方的大小,是發(fā)送方設(shè)置發(fā)送窗口的依據(jù)設(shè)置發(fā)送窗口的依據(jù); 窗口值明確指出現(xiàn)在允許發(fā)送方發(fā)送的數(shù)據(jù)量;窗口值明確指出現(xiàn)在允許發(fā)送方發(fā)送的數(shù)據(jù)量;窗口值是動(dòng)態(tài)變化的窗口值是動(dòng)態(tài)變化的2字節(jié),字節(jié),12B的的TCP偽首部偽首部+TCP首首部部

31、+數(shù)據(jù)部分?jǐn)?shù)據(jù)部分”校驗(yàn)校驗(yàn); 占占 16 位,指出在本報(bào)文段中緊位,指出在本報(bào)文段中緊急數(shù)據(jù)共有多少個(gè)字節(jié)急數(shù)據(jù)共有多少個(gè)字節(jié)39(續(xù)5)最大報(bào)文段長度最大報(bào)文段長度MSS :數(shù)據(jù)字段的最大長度,:數(shù)據(jù)字段的最大長度,默認(rèn)值是默認(rèn)值是536字節(jié)字節(jié);因特網(wǎng)上所有主機(jī)都能接收因特網(wǎng)上所有主機(jī)都能接收的的TCP報(bào)文段長度報(bào)文段長度是是(536+20)B。窗口擴(kuò)大:窗口擴(kuò)大:3B時(shí)間戳:時(shí)間戳:10B,選擇確認(rèn):選擇確認(rèn): 為使整個(gè)首部長度是為使整個(gè)首部長度是 4 字節(jié)的整數(shù)倍。字節(jié)的整數(shù)倍。40(續(xù)6)TCP 的數(shù)據(jù)編號(hào)與確認(rèn)的數(shù)據(jù)編號(hào)與確認(rèn)TCP協(xié)議是面向字節(jié)的。協(xié)議是面向字節(jié)的。TCP將所要

32、傳送的報(bào)文將所要傳送的報(bào)文看成是字節(jié)組成的數(shù)據(jù)流,并使每一個(gè)字節(jié)對(duì)應(yīng)看成是字節(jié)組成的數(shù)據(jù)流,并使每一個(gè)字節(jié)對(duì)應(yīng)于一個(gè)序號(hào)。于一個(gè)序號(hào)。在連接建立時(shí),雙方要商定初始序號(hào)。在連接建立時(shí),雙方要商定初始序號(hào)。TCP每次每次發(fā)送的報(bào)文段的首部中的序號(hào)字段數(shù)值表示該報(bào)發(fā)送的報(bào)文段的首部中的序號(hào)字段數(shù)值表示該報(bào)文段中的文段中的。 TCP的確認(rèn)是對(duì)接收到的數(shù)據(jù)的最高序號(hào)表示確的確認(rèn)是對(duì)接收到的數(shù)據(jù)的最高序號(hào)表示確認(rèn)。確認(rèn)號(hào)表示認(rèn)。確認(rèn)號(hào)表示。確認(rèn)信息采用確認(rèn)信息采用“捎帶捎帶”方式。方式。41前移不允許發(fā)送已發(fā)送并收到確認(rèn)A 的 = 20允許發(fā)送的序號(hào)26 27 28 29 30 31 32 33 34 3

33、5 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56B 期望收到的序號(hào)前沿后沿前移收縮根據(jù) B 給出的窗口值A(chǔ)構(gòu)造出自己的發(fā)送窗口 TCP 標(biāo)準(zhǔn)強(qiáng)烈不贊成發(fā)送窗口前沿向后收縮 B的確認(rèn)報(bào)文:窗口值:20,確認(rèn)號(hào):31 42不允許發(fā)送已發(fā)送并收到確認(rèn)A 的位置不變?cè)试S發(fā)送但尚未發(fā)送26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已發(fā)送但未收到確認(rèn)56P1P3不允許接收已發(fā)送確認(rèn)并交付主機(jī)B 的

34、允許接收26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56未按序收到可用窗口A 發(fā)送了 11 個(gè)字節(jié)的數(shù)據(jù) P3 P1 = A 的發(fā)送窗口(又稱為通知窗口)的發(fā)送窗口(又稱為通知窗口)P2 P1 = 已發(fā)送但尚未收到確認(rèn)的字節(jié)數(shù)已發(fā)送但尚未收到確認(rèn)的字節(jié)數(shù)P3 P2 = 允許發(fā)送但尚未發(fā)送的字節(jié)數(shù)(又稱為可用窗口)允許發(fā)送但尚未發(fā)送的字節(jié)數(shù)(又稱為可用窗口) P243允許發(fā)送但尚未發(fā)送A 的向前滑動(dòng)26 27 28 29 30 31 32 33 34 35 36

35、 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已發(fā)送并收到確認(rèn)不允許發(fā)送已發(fā)送但未收到確認(rèn)56P1P2P3允許接收B 的向前滑動(dòng)26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已發(fā)送確認(rèn)并交付主機(jī)不允許接收56未按序收到A 收到新的確認(rèn)號(hào),發(fā)送窗口向前滑動(dòng) 先存下,等待缺少的數(shù)據(jù)的到達(dá)44不允許發(fā)送已發(fā)送并收到確認(rèn)A 的發(fā)送窗口已滿,有效窗口為零26 27 28 29 30 31 32 33 34

36、35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已發(fā)送但未收到確認(rèn)56P1P2P3A 的發(fā)送窗口內(nèi)的序號(hào)都已用完,但還沒有再收到確認(rèn),必須停止發(fā)送。 45(續(xù)續(xù)1)最后被確認(rèn)的字節(jié)發(fā)送應(yīng)用程序發(fā)送緩存最后發(fā)送的字節(jié)發(fā)送窗口TCP序號(hào)增大l發(fā)送緩存與發(fā)送窗口:發(fā)送緩存與發(fā)送窗口:發(fā)送窗口通常只是發(fā)發(fā)送窗口通常只是發(fā)送緩存的一部分送緩存的一部分46(續(xù)續(xù)2)已收到接收窗口TCP接收緩存下一個(gè)讀取的字節(jié)序號(hào)增大下一個(gè)期望收到的字節(jié)(確認(rèn)號(hào))未按序到達(dá)未按序到達(dá)接收緩存被添滿接收緩存被添滿(應(yīng)用應(yīng)用程序來不及處理程序來不及處理

37、),接收窗口減小為,接收窗口減小為0。47(續(xù)續(xù)3)l發(fā)送緩存與接收緩存的作用發(fā)送緩存與接收緩存的作用發(fā)送緩存用來暫時(shí)存放:發(fā)送緩存用來暫時(shí)存放:發(fā)送應(yīng)用程序傳送給發(fā)送方發(fā)送應(yīng)用程序傳送給發(fā)送方 TCP 準(zhǔn)備發(fā)送的數(shù)據(jù);準(zhǔn)備發(fā)送的數(shù)據(jù);TCP 已發(fā)送出但尚未收到確認(rèn)的數(shù)據(jù)。已發(fā)送出但尚未收到確認(rèn)的數(shù)據(jù)。接收緩存用來暫時(shí)存放:接收緩存用來暫時(shí)存放:按序到達(dá)的、但尚未被接收應(yīng)用程序讀取的數(shù)據(jù);按序到達(dá)的、但尚未被接收應(yīng)用程序讀取的數(shù)據(jù);不按序到達(dá)的數(shù)據(jù)。不按序到達(dá)的數(shù)據(jù)。 48(續(xù)續(xù)4)l需要強(qiáng)調(diào)三點(diǎn)需要強(qiáng)調(diào)三點(diǎn)A 的發(fā)送窗口并不總是和的發(fā)送窗口并不總是和 B 的接收窗口一樣大的接收窗口一樣大(因

38、為有一定的時(shí)間滯后)。(因?yàn)橛幸欢ǖ臅r(shí)間滯后)。TCP 標(biāo)準(zhǔn)沒有規(guī)定對(duì)不按序到達(dá)的數(shù)據(jù)應(yīng)如何標(biāo)準(zhǔn)沒有規(guī)定對(duì)不按序到達(dá)的數(shù)據(jù)應(yīng)如何處理。通常是先臨時(shí)存放在接收窗口中,等到處理。通常是先臨時(shí)存放在接收窗口中,等到字節(jié)流中所缺少的字節(jié)收到后,再按序交付上字節(jié)流中所缺少的字節(jié)收到后,再按序交付上層的應(yīng)用進(jìn)程。層的應(yīng)用進(jìn)程。TCP 要求接收方必須有累積確認(rèn)的功能,這樣要求接收方必須有累積確認(rèn)的功能,這樣可以減小傳輸開銷??梢詼p小傳輸開銷。 實(shí)際上,捎帶確認(rèn)其實(shí)并不經(jīng)常發(fā)生實(shí)際上,捎帶確認(rèn)其實(shí)并不經(jīng)常發(fā)生49(續(xù)續(xù)5)重傳機(jī)制是重傳機(jī)制是 TCP 中中的問題之一。的問題之一。TCP 每發(fā)送一個(gè)報(bào)文段,就為

39、該報(bào)文段設(shè)置一次每發(fā)送一個(gè)報(bào)文段,就為該報(bào)文段設(shè)置一次計(jì)時(shí)器。只要計(jì)時(shí)器設(shè)置的重傳時(shí)間到但還沒有計(jì)時(shí)器。只要計(jì)時(shí)器設(shè)置的重傳時(shí)間到但還沒有收到確認(rèn),就要重傳這一報(bào)文段。收到確認(rèn),就要重傳這一報(bào)文段。TCP采用一種自適應(yīng)算法,記錄一個(gè)報(bào)文發(fā)出的采用一種自適應(yīng)算法,記錄一個(gè)報(bào)文發(fā)出的時(shí)間,以及收到相應(yīng)的確認(rèn)的時(shí)間。兩個(gè)時(shí)間之時(shí)間,以及收到相應(yīng)的確認(rèn)的時(shí)間。兩個(gè)時(shí)間之差就是報(bào)文段的往返時(shí)間差就是報(bào)文段的往返時(shí)間RTT;TCP保留保留RTT的一個(gè)加權(quán)平均往返時(shí)間的一個(gè)加權(quán)平均往返時(shí)間RTTs;應(yīng)稍大于應(yīng)稍大于RTTs。但測量。但測量RTT相相當(dāng)復(fù)雜。當(dāng)復(fù)雜。50(續(xù)續(xù)6)(Selective ACK)

40、接收方收到了和前面的字節(jié)流不連續(xù)的兩個(gè)字接收方收到了和前面的字節(jié)流不連續(xù)的兩個(gè)字節(jié)塊。節(jié)塊。如果這些字節(jié)的序號(hào)都在接收窗口之內(nèi),接收如果這些字節(jié)的序號(hào)都在接收窗口之內(nèi),接收方就先收下這些數(shù)據(jù),但要把這些信息準(zhǔn)確地告方就先收下這些數(shù)據(jù),但要把這些信息準(zhǔn)確地告訴發(fā)送方,使發(fā)送方不再重復(fù)發(fā)送已收到的數(shù)據(jù)。訴發(fā)送方,使發(fā)送方不再重復(fù)發(fā)送已收到的數(shù)據(jù)。 如果使用如果使用SACK ,在建立,在建立TCP連接時(shí),就要在連接時(shí),就要在 TCP 首部的選項(xiàng)中加上首部的選項(xiàng)中加上“允許允許 SACK”的選項(xiàng),的選項(xiàng),原首部,原首部中的中的“確認(rèn)號(hào)字段確認(rèn)號(hào)字段”的用法仍然不變。的用法仍然不變。51:就是讓發(fā)送方的

41、發(fā)送速率不要太快,既就是讓發(fā)送方的發(fā)送速率不要太快,既要讓接收方來得及接收,也不要使網(wǎng)絡(luò)發(fā)生擁塞。要讓接收方來得及接收,也不要使網(wǎng)絡(luò)發(fā)生擁塞。TCP采用采用技術(shù)進(jìn)行流量控制,技術(shù)進(jìn)行流量控制,窗口大小窗口大??; 在在TCP報(bào)文段首部的報(bào)文段首部的寫入的數(shù)值就是當(dāng)前寫入的數(shù)值就是當(dāng)前設(shè)定的接收窗口數(shù)值;設(shè)定的接收窗口數(shù)值;發(fā)送窗口初值在連接建立時(shí)由雙方商定,在通信過發(fā)送窗口初值在連接建立時(shí)由雙方商定,在通信過程中,程中,接收端接收端可根據(jù)自己的資源情況,隨時(shí)調(diào)整自可根據(jù)自己的資源情況,隨時(shí)調(diào)整自己的接收窗口,并且告訴對(duì)方,使對(duì)方的發(fā)送窗口己的接收窗口,并且告訴對(duì)方,使對(duì)方的發(fā)送窗口和自己的接收窗

42、口一致和自己的接收窗口一致()。52ACK = 1, ack = 501, rwnd = 100lA 向向 B 發(fā)送數(shù)據(jù)。連接建立時(shí),發(fā)送數(shù)據(jù)。連接建立時(shí),B 告訴告訴 A: 接收窗口接收窗口 rwnd = 400(字節(jié)字節(jié))。seq = 1, DATAseq = 201, DATAseq = 401, DATAseq = 301, DATAseq = 101, DATAseq = 201, DATAseq = 501, DATAACK = 1, ack = 201, rwnd = 300ACK = 1, ack = 601, rwnd = 0丟失!丟失!AB53(續(xù)續(xù)1)(persisten

43、ce timer)解決非零窗口通知丟失導(dǎo)致可能出現(xiàn)的死鎖問解決非零窗口通知丟失導(dǎo)致可能出現(xiàn)的死鎖問題題;TCP為每一個(gè)連接設(shè)有一個(gè)為每一個(gè)連接設(shè)有一個(gè)。只要一方。只要一方收到對(duì)方的收到對(duì)方的通知,就啟動(dòng)持續(xù)計(jì)時(shí)器。通知,就啟動(dòng)持續(xù)計(jì)時(shí)器。若持續(xù)計(jì)時(shí)器設(shè)置的時(shí)間到期,就發(fā)送一個(gè)零窗口若持續(xù)計(jì)時(shí)器設(shè)置的時(shí)間到期,就發(fā)送一個(gè)零窗口探測報(bào)文段,而對(duì)方就在確認(rèn)這個(gè)探測報(bào)文段時(shí)給探測報(bào)文段,而對(duì)方就在確認(rèn)這個(gè)探測報(bào)文段時(shí)給出現(xiàn)在的窗口值。出現(xiàn)在的窗口值。若窗口仍為零,則收到這個(gè)報(bào)文段的一方就重新設(shè)若窗口仍為零,則收到這個(gè)報(bào)文段的一方就重新設(shè)置持續(xù)計(jì)時(shí)器;否則打破死鎖的僵局。置持續(xù)計(jì)時(shí)器;否則打破死鎖的僵局

44、。Nagle算法和糊涂綜合癥問題算法和糊涂綜合癥問題54即:即:、和和。運(yùn)輸連接的管理就是使運(yùn)輸連接的建立和釋放運(yùn)輸連接的管理就是使運(yùn)輸連接的建立和釋放都能正常地進(jìn)行。都能正常地進(jìn)行。要使每一方能夠確知對(duì)方的存在。要使每一方能夠確知對(duì)方的存在。要允許雙方協(xié)商一些參數(shù)(如最大報(bào)文段長度,要允許雙方協(xié)商一些參數(shù)(如最大報(bào)文段長度,最大窗口大小,服務(wù)質(zhì)量等)。最大窗口大小,服務(wù)質(zhì)量等)。能夠?qū)\(yùn)輸實(shí)體資源(如緩存大小,連接表中能夠?qū)\(yùn)輸實(shí)體資源(如緩存大小,連接表中的項(xiàng)目等)進(jìn)行分配的項(xiàng)目等)進(jìn)行分配。 55TCP連接的建立采用連接的建立采用C/S方式:方式: client和和server; 初始序

45、號(hào)的設(shè)置:初始序號(hào)的設(shè)置: 設(shè)置雙方各自發(fā)送報(bào)文的起始序號(hào)設(shè)置雙方各自發(fā)送報(bào)文的起始序號(hào)SYN = 1, ACK=0 ,seq = 主動(dòng)打開被動(dòng)打開CLOSEDCLOSEDA客戶B服務(wù)器A 的的TCP向向 B 發(fā)出連接請(qǐng)求報(bào)文段,其首部中的發(fā)出連接請(qǐng)求報(bào)文段,其首部中的同步位同步位 SYN = 1,ACK=0,并選擇序號(hào),并選擇序號(hào) seq = x,表明傳送表明傳送數(shù)據(jù)時(shí)的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)是數(shù)據(jù)時(shí)的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)是 x。56(續(xù)1)SYN = 1,ACK=0, seq = CLOSEDCLOSED主動(dòng)打開主動(dòng)打開被動(dòng)打開被動(dòng)打開AB客戶客戶服務(wù)器服務(wù)器SYN = 1, ACK = 1

46、, seq = , ack= B 的的 TCP 收到連接請(qǐng)求報(bào)文段后,如同意,則收到連接請(qǐng)求報(bào)文段后,如同意,則 發(fā)回確認(rèn)。發(fā)回確認(rèn)。 B 在確認(rèn)報(bào)文段中應(yīng)使在確認(rèn)報(bào)文段中應(yīng)使 SYN = 1,使,使 ACK = 1, 其確認(rèn)號(hào)其確認(rèn)號(hào)ack = x 1,自己選擇的序號(hào),自己選擇的序號(hào) seq = y。57(續(xù)2)SYN = 1, ACK=0,seq = ACK = 1, seq = , ack = CLOSEDCLOSED主動(dòng)打開主動(dòng)打開被動(dòng)打開被動(dòng)打開AB客戶客戶服務(wù)器服務(wù)器SYN = 1, ACK = 1, seq = , ack= A 收到此報(bào)文段后向收到此報(bào)文段后向 B 給出確認(rèn),其

47、給出確認(rèn),其 ACK = 1, 確認(rèn)號(hào)確認(rèn)號(hào) ack = y 1。 A 的的 TCP 通知上層應(yīng)用進(jìn)程,連接已經(jīng)建立通知上層應(yīng)用進(jìn)程,連接已經(jīng)建立。 58(續(xù)3)SYN = 1, ACK=0,seq = ACK = 1, seq = , ack = 主動(dòng)打開主動(dòng)打開被動(dòng)打開被動(dòng)打開CLOSEDCLOSEDAB客戶客戶服務(wù)器服務(wù)器SYN = 1, ACK = 1, seq = , ack= B 的 TCP 收到主機(jī) A 的確認(rèn)后,也通知其上層 應(yīng)用進(jìn)程:TCP 連接已經(jīng)建立。數(shù)據(jù)傳送數(shù)據(jù)傳送59(續(xù)4)SYN-SENTESTAB-LISHEDSYN-RCVDLISTENESTAB-LISHEDS

48、YN = 1, ACK=0, seq = xACK = 1, seq = x + 1, ack = y 1CLOSEDCLOSED數(shù)據(jù)傳送數(shù)據(jù)傳送主動(dòng)打開主動(dòng)打開被動(dòng)打開被動(dòng)打開AB客戶客戶服務(wù)器服務(wù)器SYN = 1, ACK = 1, seq = y, ack= x 160(續(xù)5)為什么要發(fā)送第為什么要發(fā)送第3個(gè)報(bào)文段?個(gè)報(bào)文段?目的:目的:為防止為防止傳到服傳到服務(wù)器;務(wù)器;原因:原因:第一種情況:第一種情況:A發(fā)送了兩次連接請(qǐng)求報(bào)文,其中,第發(fā)送了兩次連接請(qǐng)求報(bào)文,其中,第一個(gè)報(bào)文丟失,第二個(gè)到達(dá)一個(gè)報(bào)文丟失,第二個(gè)到達(dá)B,并被確認(rèn);,并被確認(rèn);第二種情況:第二種情況:A發(fā)出的第一個(gè)請(qǐng)求

49、報(bào)文沒有丟失,但發(fā)出的第一個(gè)請(qǐng)求報(bào)文沒有丟失,但延誤到在第二次連接之后才傳送到延誤到在第二次連接之后才傳送到B。這樣就產(chǎn)生了。這樣就產(chǎn)生了“已失效的連接請(qǐng)求報(bào)文已失效的連接請(qǐng)求報(bào)文” 。B同意建立連接,導(dǎo)致同意建立連接,導(dǎo)致浪費(fèi)浪費(fèi)B的資源。的資源。采用采用3次握手的方式就可避免這種情況的發(fā)生:次握手的方式就可避免這種情況的發(fā)生:由于由于B收不到收不到A的確認(rèn)報(bào)文,就不會(huì)建立連接。的確認(rèn)報(bào)文,就不會(huì)建立連接。61FIN = 1, seq = u主動(dòng)關(guān)閉主動(dòng)關(guān)閉數(shù)據(jù)傳送數(shù)據(jù)傳送ESTAB-LISHEDESTAB-LISHEDAB客戶客戶服務(wù)器服務(wù)器 數(shù)據(jù)傳輸結(jié)束后,通信的雙方都可釋放連接。數(shù)據(jù)傳

50、輸結(jié)束后,通信的雙方都可釋放連接。 現(xiàn)在現(xiàn)在 A 的應(yīng)用進(jìn)程先向其的應(yīng)用進(jìn)程先向其 TCP 發(fā)出連接釋放發(fā)出連接釋放 報(bào)文段,并停止再發(fā)送數(shù)據(jù),主動(dòng)關(guān)閉報(bào)文段,并停止再發(fā)送數(shù)據(jù),主動(dòng)關(guān)閉 TCP 連接。連接。 A 把連接釋放報(bào)文段首部的把連接釋放報(bào)文段首部的 FIN = 1,其序號(hào),其序號(hào) seq = u,等待,等待 B 的確認(rèn)。的確認(rèn)。62(續(xù)1)FIN = 1, seq = uACK = 1, seq = v, ack= u 1主動(dòng)關(guān)閉主動(dòng)關(guān)閉數(shù)據(jù)傳送數(shù)據(jù)傳送通知通知應(yīng)用應(yīng)用進(jìn)程進(jìn)程ESTAB-LISHEDESTAB-LISHEDAB客戶客戶服務(wù)器服務(wù)器 B 發(fā)出確認(rèn),確認(rèn)號(hào)發(fā)出確認(rèn),確認(rèn)

51、號(hào) ack = u 1, 而這個(gè)報(bào)文段自己的序號(hào)而這個(gè)報(bào)文段自己的序號(hào) seq = v。 TCP 服務(wù)器進(jìn)程通知高層應(yīng)用進(jìn)程。服務(wù)器進(jìn)程通知高層應(yīng)用進(jìn)程。 從從 A 到到 B 這個(gè)方向的連接就釋放了,這個(gè)方向的連接就釋放了,TCP 連接連接 處于半關(guān)閉狀態(tài)。處于半關(guān)閉狀態(tài)。B 若發(fā)送數(shù)據(jù),若發(fā)送數(shù)據(jù),A 仍要接收。仍要接收。63(續(xù)3)FIN = 1, seq = uACK = 1, seq = v, ack= u 1FIN = 1, ACK = 1, seq = w, ack= u 1主動(dòng)關(guān)閉主動(dòng)關(guān)閉被動(dòng)關(guān)閉被動(dòng)關(guān)閉數(shù)據(jù)傳送數(shù)據(jù)傳送通知通知應(yīng)用應(yīng)用進(jìn)程進(jìn)程ESTAB-ESTAB-LISHED

52、LISHEDESTAB-ESTAB-LISHEDLISHEDA AB B客戶客戶服務(wù)器服務(wù)器數(shù)據(jù)傳送數(shù)據(jù)傳送 若若 B 已經(jīng)沒有要向已經(jīng)沒有要向 A 發(fā)送的數(shù)據(jù),發(fā)送的數(shù)據(jù), 其應(yīng)用進(jìn)程就通知其應(yīng)用進(jìn)程就通知 TCP 釋放連接。釋放連接。 64(續(xù)3)FIN = 1, seq = uACK = 1, seq = v, ack= u 1FIN = 1, ACK = 1, seq = w, ack= u 1主動(dòng)關(guān)閉主動(dòng)關(guān)閉被動(dòng)關(guān)閉被動(dòng)關(guān)閉數(shù)據(jù)傳送數(shù)據(jù)傳送通知通知應(yīng)用應(yīng)用進(jìn)程進(jìn)程ESTAB-LISHEDESTAB-LISHEDAB客戶客戶服務(wù)器服務(wù)器數(shù)據(jù)傳送數(shù)據(jù)傳送 A 收到連接釋放報(bào)文段后,必須發(fā)

53、出確認(rèn)。收到連接釋放報(bào)文段后,必須發(fā)出確認(rèn)。 在確認(rèn)報(bào)文段中在確認(rèn)報(bào)文段中 ACK = 1,確認(rèn)號(hào),確認(rèn)號(hào) ack w 1, 自己的序號(hào)自己的序號(hào) seq = u + 1。 ACK = 1, seq = u + 1,ack = w 165FIN = 1, ACK = 1, seq = w, ack= (續(xù)5)CLOSEDACK = 1, seq = , ack = w 1FIN = 1, seq = ACK = 1, seq = v, ack= u 1FIN-WAIT-1CLOSE-WAITFIN-WAIT-2LAST-ACK主動(dòng)關(guān)閉主動(dòng)關(guān)閉被動(dòng)關(guān)閉被動(dòng)關(guān)閉數(shù)據(jù)傳送數(shù)據(jù)傳送通知通知應(yīng)用應(yīng)用進(jìn)程

54、進(jìn)程ESTAB-LISHEDESTAB-LISHEDAB客戶客戶服務(wù)器服務(wù)器數(shù)據(jù)傳送數(shù)據(jù)傳送CLOSED5.9.2 TCP 的連接釋放的連接釋放 TCP 連接必須經(jīng)過時(shí)間連接必須經(jīng)過時(shí)間2MSL后才真正釋放掉。后才真正釋放掉。等待等待 2MSLTIME-WAIT66(續(xù)6)2MSL:最大報(bào)文段壽命:最大報(bào)文段壽命1、為保證、為保證 A 發(fā)送的最后一個(gè)發(fā)送的最后一個(gè) ACK 報(bào)文段能報(bào)文段能夠到達(dá)夠到達(dá) B。2、防止、防止 “已失效的連接請(qǐng)求報(bào)文段已失效的連接請(qǐng)求報(bào)文段”出現(xiàn)在出現(xiàn)在本連接中。本連接中。A 在發(fā)送完最后一個(gè)在發(fā)送完最后一個(gè) ACK 報(bào)文段后,再經(jīng)過時(shí)間報(bào)文段后,再經(jīng)過時(shí)間 2MS

55、L,就可以使本連接持續(xù)的時(shí)間內(nèi)所產(chǎn)生的所,就可以使本連接持續(xù)的時(shí)間內(nèi)所產(chǎn)生的所有報(bào)文段,都從網(wǎng)絡(luò)中消失。這樣就可以使下一有報(bào)文段,都從網(wǎng)絡(luò)中消失。這樣就可以使下一個(gè)新的連接中不會(huì)出現(xiàn)這種舊的連接請(qǐng)求報(bào)文段。個(gè)新的連接中不會(huì)出現(xiàn)這種舊的連接請(qǐng)求報(bào)文段。67,甚至完全癱瘓的現(xiàn)象,甚至完全癱瘓的現(xiàn)象鏈路容量、交換機(jī)中的緩存和處理機(jī)等鏈路容量、交換機(jī)中的緩存和處理機(jī)等交換節(jié)點(diǎn)的交換節(jié)點(diǎn)的緩存太小緩存太小、處理機(jī)太慢處理機(jī)太慢、網(wǎng)絡(luò)的、網(wǎng)絡(luò)的局部或整體局部或整體傳輸容量小傳輸容量小等等;等等;擁塞由擁塞由多種因素多種因素引起,只簡單解決某個(gè)問題,并不能解引起,只簡單解決某個(gè)問題,并不能解決擁塞問題,需整

56、個(gè)網(wǎng)絡(luò)中決擁塞問題,需整個(gè)網(wǎng)絡(luò)中所有節(jié)點(diǎn)相匹配所有節(jié)點(diǎn)相匹配;若網(wǎng)絡(luò)中有許多資源同時(shí)產(chǎn)生擁塞,網(wǎng)絡(luò)的性能就要明若網(wǎng)絡(luò)中有許多資源同時(shí)產(chǎn)生擁塞,網(wǎng)絡(luò)的性能就要明顯變壞,整個(gè)網(wǎng)絡(luò)的吞吐量將隨輸入負(fù)荷的增大而下降。顯變壞,整個(gè)網(wǎng)絡(luò)的吞吐量將隨輸入負(fù)荷的增大而下降。擁塞常常使問題趨于惡化,如接收端產(chǎn)生的擁塞反過來擁塞常常使問題趨于惡化,如接收端產(chǎn)生的擁塞反過來會(huì)引起發(fā)送端緩存的擁塞。會(huì)引起發(fā)送端緩存的擁塞。68(續(xù)1)目前互聯(lián)網(wǎng)上發(fā)生的大多數(shù)超時(shí)現(xiàn)象都是由于目前互聯(lián)網(wǎng)上發(fā)生的大多數(shù)超時(shí)現(xiàn)象都是由于擁塞造成的,傳輸錯(cuò)誤造成的分組丟失較少擁塞造成的,傳輸錯(cuò)誤造成的分組丟失較少;解決擁塞最切實(shí)的辦法:降低數(shù)

57、據(jù)傳輸速率;解決擁塞最切實(shí)的辦法:降低數(shù)據(jù)傳輸速率;TCP試圖通過試圖通過動(dòng)態(tài)地控制滑動(dòng)窗口的大小來達(dá)到控制擁塞的目動(dòng)態(tài)地控制滑動(dòng)窗口的大小來達(dá)到控制擁塞的目的。的。69(續(xù)2)是一個(gè)全局性問題,涉及網(wǎng)絡(luò)中的所有主機(jī)、是一個(gè)全局性問題,涉及網(wǎng)絡(luò)中的所有主機(jī)、路由器以及與降低網(wǎng)絡(luò)傳輸性能有關(guān)的因素,是為防止路由器以及與降低網(wǎng)絡(luò)傳輸性能有關(guān)的因素,是為防止過多的數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)中,而且過多的數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)中,而且必須在網(wǎng)絡(luò)能承受現(xiàn)有必須在網(wǎng)絡(luò)能承受現(xiàn)有的負(fù)荷的前提下進(jìn)行的負(fù)荷的前提下進(jìn)行;是在給定的發(fā)送端和接收端之間的點(diǎn)對(duì)點(diǎn)通是在給定的發(fā)送端和接收端之間的點(diǎn)對(duì)點(diǎn)通信量的控制,以解決端到端通信速率不匹

58、配的問題;所信量的控制,以解決端到端通信速率不匹配的問題;所要做的就是抑制發(fā)送端發(fā)送數(shù)據(jù)的速率,以便使接收端要做的就是抑制發(fā)送端發(fā)送數(shù)據(jù)的速率,以便使接收端來得及接收。來得及接收。前者不是網(wǎng)絡(luò)本身存在的問題,由網(wǎng)絡(luò)負(fù)荷變化引起;前者不是網(wǎng)絡(luò)本身存在的問題,由網(wǎng)絡(luò)負(fù)荷變化引起;而后者是網(wǎng)絡(luò)必須的,如協(xié)議中的實(shí)現(xiàn)。而后者是網(wǎng)絡(luò)必須的,如協(xié)議中的實(shí)現(xiàn)。在某些情況下,擁塞控制又和流量控制相似,如某些在某些情況下,擁塞控制又和流量控制相似,如某些擁擁塞控制算法塞控制算法是向發(fā)送端發(fā)送控制報(bào)文,告訴發(fā)送端因網(wǎng)是向發(fā)送端發(fā)送控制報(bào)文,告訴發(fā)送端因網(wǎng)絡(luò)負(fù)載問題,必須放慢發(fā)送速度。絡(luò)負(fù)載問題,必須放慢發(fā)送速度。

59、70(續(xù)3)可降低網(wǎng)絡(luò)擁塞的發(fā)生可降低網(wǎng)絡(luò)擁塞的發(fā)生需要在網(wǎng)絡(luò)中傳輸有關(guān)的控制信息、狀態(tài)信息等;需要在網(wǎng)絡(luò)中傳輸有關(guān)的控制信息、狀態(tài)信息等;網(wǎng)絡(luò)負(fù)載較小時(shí),有擁塞控制的吞吐量反而更小網(wǎng)絡(luò)負(fù)載較小時(shí),有擁塞控制的吞吐量反而更小。提供的負(fù)載吞吐量理想的擁塞控制實(shí)際的擁塞控制0死鎖(吞吐量 = 0)無擁塞控制擁塞輕度擁塞71(續(xù)4)實(shí)際網(wǎng)絡(luò)中,隨著輸入負(fù)載的增大,網(wǎng)絡(luò)吞吐量的增長實(shí)際網(wǎng)絡(luò)中,隨著輸入負(fù)載的增大,網(wǎng)絡(luò)吞吐量的增長速率逐漸減少速率逐漸減少(即部分分組被丟棄即部分分組被丟棄)。當(dāng)網(wǎng)絡(luò)吞吐量明顯小。當(dāng)網(wǎng)絡(luò)吞吐量明顯小于理想值時(shí),網(wǎng)絡(luò)就進(jìn)入于理想值時(shí),網(wǎng)絡(luò)就進(jìn)入狀態(tài);狀態(tài);當(dāng)提供的負(fù)載達(dá)到某一

60、數(shù)值時(shí),網(wǎng)絡(luò)的吞吐量反而隨提當(dāng)提供的負(fù)載達(dá)到某一數(shù)值時(shí),網(wǎng)絡(luò)的吞吐量反而隨提供的負(fù)載的增大而下降,這時(shí),網(wǎng)絡(luò)進(jìn)入供的負(fù)載的增大而下降,這時(shí),網(wǎng)絡(luò)進(jìn)入;當(dāng)提供的負(fù)載繼續(xù)增大到某一數(shù)值時(shí),網(wǎng)絡(luò)的吞吐量就當(dāng)提供的負(fù)載繼續(xù)增大到某一數(shù)值時(shí),網(wǎng)絡(luò)的吞吐量就下降到零,網(wǎng)絡(luò)已無法工作,這時(shí)網(wǎng)絡(luò)就出現(xiàn)下降到零,網(wǎng)絡(luò)已無法工作,這時(shí)網(wǎng)絡(luò)就出現(xiàn);加上合適的擁塞控制,網(wǎng)絡(luò)就不易出現(xiàn)擁塞和死鎖現(xiàn)象。加上合適的擁塞控制,網(wǎng)絡(luò)就不易出現(xiàn)擁塞和死鎖現(xiàn)象。72(續(xù)5):慢啟動(dòng)、擁塞避免、快重傳和快恢復(fù)慢啟動(dòng)、擁塞避免、快重傳和快恢復(fù)考慮可能造成擁塞的考慮可能造成擁塞的網(wǎng)絡(luò)容量網(wǎng)絡(luò)容量和和接接收方容量收方容量,發(fā)送端需要取以下

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論