Chapter-5 北航本科計(jì)算機(jī)網(wǎng)絡(luò)課件 劉軼_第1頁(yè)
Chapter-5 北航本科計(jì)算機(jī)網(wǎng)絡(luò)課件 劉軼_第2頁(yè)
Chapter-5 北航本科計(jì)算機(jī)網(wǎng)絡(luò)課件 劉軼_第3頁(yè)
Chapter-5 北航本科計(jì)算機(jī)網(wǎng)絡(luò)課件 劉軼_第4頁(yè)
Chapter-5 北航本科計(jì)算機(jī)網(wǎng)絡(luò)課件 劉軼_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第五章傳輸層劉軼北京航空航天大學(xué)計(jì)算機(jī)學(xué)院

本章內(nèi)容

5.1傳輸層協(xié)議概述

5.2用戶數(shù)據(jù)報(bào)協(xié)議UDP

5.3傳輸控制協(xié)議TCP概述

5.4TCP報(bào)文段的首部格式

5.5TCP可靠傳輸?shù)膶?shí)現(xiàn)

5.6TCP的流量控制

5.7TCP的擁塞控制

5.8TCP的連接管理5.1傳輸層協(xié)議概述5.1傳輸層協(xié)議概述一、進(jìn)程之間的通信傳輸層(Transportlayer)又稱為運(yùn)輸層傳輸層向它上面的應(yīng)用層提供通信服務(wù)實(shí)現(xiàn)可靠傳輸:差錯(cuò)控制、順序控制、擁塞控制等傳輸層vs.網(wǎng)絡(luò)層網(wǎng)絡(luò)層實(shí)現(xiàn)主機(jī)之間的邏輯通信傳輸層實(shí)現(xiàn)應(yīng)用進(jìn)程之間的邏輯通信真正的端到端通信復(fù)用(multiplexing)和解分(demultiplexing)傳輸層主要協(xié)議TCP協(xié)議:可靠傳輸協(xié)議UDP協(xié)議:不可靠傳輸協(xié)議5.1傳輸層協(xié)議概述一、進(jìn)程之間的通信應(yīng)用進(jìn)程應(yīng)用進(jìn)程54321傳輸層提供應(yīng)用進(jìn)程間的邏輯通信IP層AP1AP2AP4端口端口54321AP3主機(jī)A主機(jī)B路由器1路由器2AP1LAN2WANAP2AP3AP4LAN1IP協(xié)議的作用范圍傳輸層協(xié)議TCP和UDP的作用范圍5.1傳輸層協(xié)議概述2009年的一道考研題在OSI參考模型中,自下而上第一個(gè)提供端到端服務(wù)的層次是:A.數(shù)據(jù)鏈路層B.傳輸層C.會(huì)話層D.應(yīng)用層√5.1傳輸層協(xié)議概述二、傳輸層的兩個(gè)主要協(xié)議傳輸層的兩個(gè)主要協(xié)議用戶數(shù)據(jù)報(bào)協(xié)議UDP

(UserDatagramProtocol)

[RFC768]傳輸控制協(xié)議TCP

(TransmissionControlProtocol)[RFC793]TCPUDPIP應(yīng)用層與各種網(wǎng)絡(luò)接口傳輸層傳輸?shù)臄?shù)據(jù)單位OSI術(shù)語(yǔ)稱為TPDU(TransportProtocolDataUnit)TCP/IP體系稱為TCP報(bào)文段(segment)或UDP用戶數(shù)據(jù)報(bào)5.1傳輸層協(xié)議概述二、傳輸層的兩個(gè)主要協(xié)議TCP協(xié)議可靠傳輸協(xié)議提供面向連接的服務(wù)傳送數(shù)據(jù)前要先建立連接,傳送結(jié)束后釋放連接需進(jìn)行確認(rèn)、流量控制、計(jì)時(shí)器、連接管理等,處理開銷較大基于TCP的典型應(yīng)用協(xié)議:HTTP、FTP、…UDP協(xié)議不可靠傳輸協(xié)議傳送數(shù)據(jù)時(shí)無需建立連接與TCP相比,效率更高,但可能出現(xiàn)數(shù)據(jù)錯(cuò)、丟包、順序錯(cuò)等問題基于UDP的典型應(yīng)用協(xié)議:DNS、RIP、…5.1傳輸層協(xié)議概述三、傳輸層的端口(1/2)傳輸層需為多個(gè)應(yīng)用進(jìn)程提供服務(wù)復(fù)用與分用應(yīng)用層多個(gè)應(yīng)用進(jìn)程通過傳輸層發(fā)送數(shù)據(jù)復(fù)用傳輸層收到的數(shù)據(jù)必須交付給指明的應(yīng)用進(jìn)程分用傳輸層必須提供區(qū)分上層應(yīng)用進(jìn)程的手段:端口(port)問題:為什么不用進(jìn)程ID?進(jìn)程ID的定義依賴于特定操作系統(tǒng)一個(gè)應(yīng)用進(jìn)程常常需要與網(wǎng)絡(luò)中的多個(gè)主機(jī)中的進(jìn)程通信多條連接注意:此端口為軟件端口,不同于計(jì)算機(jī)中的硬件I/O端口和交換機(jī)/路由器上的物理端口5.1傳輸層協(xié)議概述三、傳輸層的端口(2/2)TCP/IP協(xié)議使用16位整數(shù)作為端口號(hào)源端口號(hào)、目的端口號(hào)端口號(hào)分類熟知(well-known)端口號(hào)或系統(tǒng)端口號(hào):數(shù)值一般為0~1023例如:HTTP服務(wù)使用80,F(xiàn)TP服務(wù)使用21,…登記端口號(hào):數(shù)值為1024~49151供沒有熟知端口號(hào)的應(yīng)用程序使用須在IANA登記,以防重復(fù)客戶端口號(hào)或短暫端口號(hào):數(shù)值為49152~65535客戶進(jìn)程臨時(shí)使用RFC1700:AssignedNumbers5.2用戶數(shù)據(jù)報(bào)協(xié)議UDP5.2用戶數(shù)據(jù)報(bào)協(xié)議UDP一、UDP概述UDP只在IP的數(shù)據(jù)報(bào)服務(wù)之上增加了很少一點(diǎn)的功能端口和差錯(cuò)檢測(cè)UDP為不可靠傳輸協(xié)議,但具有自身特點(diǎn),與TCP分別面對(duì)不同的應(yīng)用UDP協(xié)議的特點(diǎn)(1)無連接,即發(fā)送數(shù)據(jù)之前不需要建立連接(2)使用盡最大努力交付,即不保證可靠交付,同時(shí)也不使用擁塞控制(3)是面向報(bào)文的。沒有擁塞控制,很適合多媒體通信的要求(4)支持一對(duì)一、一對(duì)多、多對(duì)一和多對(duì)多的交互通信(5)首部開銷小,只有8個(gè)字節(jié)5.2用戶數(shù)據(jù)報(bào)協(xié)議UDP一、UDP概述IP數(shù)據(jù)報(bào)的數(shù)據(jù)部分IP首部IP層UDP首部UDP用戶數(shù)據(jù)報(bào)的數(shù)據(jù)部分傳輸層應(yīng)用層報(bào)文應(yīng)用層UDP長(zhǎng)度源IP地址目的IP地址017字節(jié)44112UDP的協(xié)議類型二、UDP首部格式UDP數(shù)據(jù)報(bào)包括2個(gè)字段:首部和數(shù)據(jù)字段首部共4個(gè)字段,8字節(jié)偽首部源端口目的端口長(zhǎng)度檢驗(yàn)和122222字節(jié)數(shù)據(jù)首部IP數(shù)據(jù)報(bào)發(fā)送在前數(shù)據(jù)首部UDP用戶數(shù)據(jù)報(bào)首部各字段(1)源端口:源端口號(hào)(2)目的端口:目的端口號(hào)(3)長(zhǎng)度:UDP數(shù)據(jù)報(bào)長(zhǎng)度(4)校驗(yàn)和:UDP數(shù)據(jù)報(bào)的校驗(yàn)和偽首部(pseudoheader):僅在計(jì)算校驗(yàn)和時(shí)使用,不實(shí)際傳輸5.2用戶數(shù)據(jù)報(bào)協(xié)議UDPUDP報(bào)文示例:DNS請(qǐng)求校驗(yàn)和的計(jì)算:與IP包頭校驗(yàn)和計(jì)算類似IP只計(jì)算包頭校驗(yàn)和,UDP計(jì)算整個(gè)數(shù)據(jù)報(bào)的校驗(yàn)和計(jì)算校驗(yàn)和時(shí)要添加偽頭部,奇數(shù)字節(jié)需填充0字節(jié)1001100100010011→153.190000100001101000→8.1041010101100000011→171.30000111000001011→14.110000000000010001→0和170000000000001111→150000010000111111→10870000000000001101→130000000000001111→150000000000000000→0(檢驗(yàn)和)0101010001000101→數(shù)據(jù)0101001101010100→數(shù)據(jù)0100100101001110→數(shù)據(jù)0100011100000000→數(shù)據(jù)和0(填充)1001011011101101→求和得出的結(jié)果0110100100010010→檢驗(yàn)和按二進(jìn)制反碼運(yùn)算求和將得出的結(jié)果求反碼04112字節(jié)偽首部8字節(jié)UDP首部7字節(jié)數(shù)據(jù)填充全0171510871315全0數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)全05.2用戶數(shù)據(jù)報(bào)協(xié)議UDP二、UDP首部格式IP層UDP數(shù)據(jù)報(bào)到達(dá)端口2端口3端口1UDP分用在接收方,如果在目的端口號(hào)上沒有應(yīng)用進(jìn)程接收數(shù)據(jù),則向源主機(jī)返回ICMP的“目的不可達(dá)”報(bào)文安全問題?可能被掃描軟件利用5.3傳輸控制協(xié)議TCP概述5.3傳輸控制協(xié)議TCP概述一、TCP的主要特點(diǎn)TCP是面向連接的傳輸層協(xié)議傳輸數(shù)據(jù)前必須先建立連接,數(shù)據(jù)傳輸完畢后要釋放連接每一條TCP連接只能有兩個(gè)端點(diǎn)(endpoint),每一條TCP連接只能是點(diǎn)對(duì)點(diǎn)的(一對(duì)一)TCP提供可靠交付的服務(wù)無差錯(cuò)、不丟失、不重復(fù)、按序到達(dá)TCP提供全雙工通信在一個(gè)連接上,通信雙方可同時(shí)向?qū)Ψ絺鬏敂?shù)據(jù)面向字節(jié)流認(rèn)為在TCP連接上傳輸?shù)氖亲止?jié)流應(yīng)用程序以數(shù)據(jù)塊為單位與TCP交互,但TCP將其視為無結(jié)構(gòu)的字節(jié)流結(jié)果:發(fā)送方應(yīng)用進(jìn)程發(fā)出的數(shù)據(jù)塊與接收方應(yīng)用進(jìn)程收到的數(shù)據(jù)塊可能沒有一一對(duì)應(yīng)關(guān)系,但數(shù)據(jù)保證一致5.3傳輸控制協(xié)議TCP概述面向流的概念768H

發(fā)送TCP報(bào)文段發(fā)送方接收方把字節(jié)寫入發(fā)送緩存從接收緩存讀取字節(jié)應(yīng)用進(jìn)程應(yīng)用進(jìn)程1230181716151419202145131211H109H加上TCP首部構(gòu)成TCP報(bào)文段TCPTCP字節(jié)流字節(jié)流H表示TCP報(bào)文段的首部x表示序號(hào)為x的數(shù)據(jù)字節(jié)TCP連接注意:圖中只畫出了一個(gè)方向的數(shù)據(jù)流,實(shí)際TCP的數(shù)據(jù)傳輸是雙向的5.3傳輸控制協(xié)議TCP概述一、TCP的主要特點(diǎn)要注意的幾點(diǎn):TCP連接是一條虛連接而不是一條真正的物理連接TCP對(duì)應(yīng)用進(jìn)程一次把多長(zhǎng)的報(bào)文發(fā)送到TCP的緩存中是不關(guān)心的TCP根據(jù)對(duì)方給出的窗口值和當(dāng)前網(wǎng)絡(luò)擁塞的程度來決定一個(gè)報(bào)文段應(yīng)包含多少個(gè)字節(jié)(UDP發(fā)送的報(bào)文長(zhǎng)度是應(yīng)用進(jìn)程給出的)TCP可把太長(zhǎng)的數(shù)據(jù)塊劃分短一些再傳送TCP也可等待積累有足夠多的字節(jié)后再構(gòu)成報(bào)文段發(fā)送出去5.3傳輸控制協(xié)議TCP概述二、TCP的連接TCP把連接作為最基本的抽象每一條TCP連接有兩個(gè)端點(diǎn)TCP連接的端點(diǎn)不是主機(jī),不是主機(jī)的IP地址,不是應(yīng)用進(jìn)程,也不是運(yùn)輸層的協(xié)議端口,TCP連接的端點(diǎn)叫做套接字(socket)或插口端口號(hào)拼接到(contatenatedwith)IP地址即構(gòu)成了套接字套接字socket=(IP地址:端口號(hào))每一條TCP連接唯一地被通信兩端的兩個(gè)端點(diǎn)(即兩個(gè)套接字)所確定。即:

TCP連接::={socket1,socket2}={(IP1:port1),(IP2:port2)}5.4TCP報(bào)文段的首部格式TCP報(bào)文段的首部格式TCP數(shù)據(jù)部分TCP首部TCP報(bào)文段TCP首部20字節(jié)的固定首部目的端口數(shù)據(jù)偏移檢驗(yàn)和選項(xiàng)(長(zhǎng)度可變)源端口序號(hào)緊急指針窗口確認(rèn)號(hào)保留FIN32位SYNRSTPSHACKURG位08162431填充IP數(shù)據(jù)部分IP首部發(fā)送在前源端口和目的端口字段:各2字節(jié)序號(hào)字段:4字節(jié)在TCP連接中傳送的數(shù)據(jù)流中的每一個(gè)字節(jié)都有序號(hào)序號(hào)字段指本報(bào)文段所發(fā)送的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào),以字節(jié)為單位確認(rèn)號(hào)字段:4字節(jié),期望收到對(duì)方的下一個(gè)報(bào)文段的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)例:收到對(duì)方的報(bào)文段中序號(hào)為501,數(shù)據(jù)長(zhǎng)度200字節(jié),則返回報(bào)文段確認(rèn)號(hào)=701TCP連接時(shí)全雙工,通信雙方可互相發(fā)送數(shù)據(jù),因此應(yīng)答與數(shù)據(jù)一同發(fā)送給對(duì)方數(shù)據(jù)偏移(首部長(zhǎng)度):4bit,TCP報(bào)文段的數(shù)據(jù)起始位置的偏移,也就是首部的長(zhǎng)度,單位是32位字(4字節(jié))保留字段:6bit,保留緊急URG:1bit,為1時(shí),緊急指針字段有效,表明有緊急數(shù)據(jù),應(yīng)盡快傳送確認(rèn)ACK:1bit,為1時(shí),確認(rèn)號(hào)字段有效;為0時(shí),確認(rèn)號(hào)無效推送PSH:1bit,為1時(shí),接收方將盡快向應(yīng)用進(jìn)程交付此報(bào)文段,而不是等到整個(gè)緩存填滿復(fù)位RST:1bit,為1時(shí),表明TCP連接出現(xiàn)嚴(yán)重差錯(cuò)(如由于主機(jī)崩潰),須釋放連接后重新建立連接同步SYN:1bit,為1時(shí),表示這是一個(gè)連接請(qǐng)求或連接接受報(bào)文終止FIN:1bit,為1時(shí),表示要求釋放TCP連接窗口大?。?字節(jié),用來讓對(duì)方設(shè)置發(fā)送窗口的依據(jù),單位為字節(jié)檢驗(yàn)和:2字節(jié),偽首部+首部+數(shù)據(jù)的校驗(yàn)和偽首部(pseudoheader)格式與UDP的偽首部相同報(bào)文段長(zhǎng)度源IP地址目的IP地址06字節(jié)44112TCP的協(xié)議類型TCP偽首部緊急指針:2字節(jié),指出本報(bào)文段中緊急數(shù)據(jù)共有多少個(gè)字節(jié)(緊急數(shù)據(jù)放在數(shù)據(jù)的最前面)選項(xiàng):長(zhǎng)度可變,最長(zhǎng)40字節(jié)最早定義的一種選項(xiàng):最大報(bào)文段長(zhǎng)度MSS(MaximumSegmentSize)告知對(duì)方報(bào)文段中數(shù)據(jù)最大長(zhǎng)度,雙方可使用不同的MSS,缺省MSS=536字節(jié)后續(xù)增加的選項(xiàng):窗口擴(kuò)大選項(xiàng)、時(shí)間戳選項(xiàng)、選擇確認(rèn)選項(xiàng)填充字段:為了使整個(gè)首部長(zhǎng)度是4字節(jié)的整數(shù)倍TCP報(bào)文示例:HTTP5.5TCP可靠傳輸?shù)膶?shí)現(xiàn)一、以字節(jié)為單位的滑動(dòng)窗口TCP基于滑動(dòng)窗口協(xié)議實(shí)現(xiàn)可靠傳輸和流量控制,滑動(dòng)窗口以字節(jié)為單位發(fā)送窗口在沒有收到對(duì)方應(yīng)答的情況下,可以連續(xù)把窗口內(nèi)的數(shù)據(jù)發(fā)送出去即:窗口內(nèi)的序號(hào)是允許發(fā)送的序號(hào)窗口大小的確定:對(duì)方發(fā)來的窗口大小、擁塞控制根據(jù)收到對(duì)方的TCP報(bào)文段頭部中“acknowledgenumber”字段,窗口向前滑動(dòng)移動(dòng)“acknowledgenumber”字段表示在此序號(hào)之前的數(shù)據(jù)已被正確接收前移不允許發(fā)送已發(fā)送并收到確認(rèn)A的發(fā)送窗口=20允許發(fā)送的序號(hào)26272829303132333435363738394041424344454647484950515253545556B期望收到的序號(hào)前沿后沿前移收縮A收到B的報(bào)文段中“windowsize”=20,“acknowledgenumber”=31,據(jù)此構(gòu)造出自己的發(fā)送窗口當(dāng)對(duì)方通知的窗口尺寸變化時(shí),發(fā)送窗口前沿可能需要向后收縮,但TCP標(biāo)準(zhǔn)強(qiáng)烈不贊成這樣做P3–P1=A的發(fā)送窗口(又稱為通知窗口)P2–P1=已發(fā)送但尚未收到確認(rèn)的字節(jié)數(shù)P3–P2=允許發(fā)送但尚未發(fā)送的字節(jié)數(shù)(又稱為可用窗口)不允許接收已發(fā)送確認(rèn)并交付主機(jī)B的接收窗口允許接收26272829303132333435363738394041424344454647484950515253545556未按序收到不允許發(fā)送已發(fā)送并收到確認(rèn)A的發(fā)送窗口位置不變?cè)试S發(fā)送但尚未發(fā)送262728293031323334353637383940414243444546474849505152535455已發(fā)送但未收到確認(rèn)56P1P2P3可用窗口A發(fā)送11字節(jié)后接收窗口窗口內(nèi)的數(shù)據(jù)是允許接收的窗口后沿以外是已正確接收并交付上層的數(shù)據(jù)收到了32和33號(hào)數(shù)據(jù),但未收到31,應(yīng)答“確認(rèn)號(hào)”=31如果后來收到了31號(hào)數(shù)據(jù),則將31、32、33號(hào)數(shù)據(jù)上交,窗口后沿前移,應(yīng)答中“確認(rèn)號(hào)”=34B收到31號(hào)數(shù)據(jù)后,窗口前移3字節(jié),并返回確認(rèn)號(hào)34,假定窗口寬度仍為20A收到確認(rèn)號(hào)34后,窗口前移3字節(jié)B收到37、38、40號(hào)數(shù)據(jù),由于數(shù)據(jù)未按序收全,不能上交允許發(fā)送但尚未發(fā)送A的發(fā)送窗口向前滑動(dòng)262728293031323334353637383940414243444546474849505152535455已發(fā)送并收到確認(rèn)不允許發(fā)送已發(fā)送但未收到確認(rèn)56P1P2P3允許接收B的接收窗口向前滑動(dòng)262728293031323334353637383940414243444546474849505152535455已發(fā)送確認(rèn)并交付主機(jī)不允許接收56未按序收到先暫存,等待缺少的數(shù)據(jù)的到達(dá)不允許發(fā)送已發(fā)送并收到確認(rèn)A的發(fā)送窗口已滿,有效窗口為零262728293031323334353637383940414243444546474849505152535455已發(fā)送但未收到確認(rèn)56P1P2P3A將發(fā)送窗口中未發(fā)送的數(shù)據(jù)全部發(fā)送后,發(fā)送窗口滿,停止發(fā)送如果未收到B返回的應(yīng)答,A等待超時(shí)后將重發(fā)部分?jǐn)?shù)據(jù),直到收到應(yīng)答為止2009年考研題主機(jī)甲與主機(jī)乙之間已建立一個(gè)TCP連接,主機(jī)甲向主機(jī)乙發(fā)送了兩個(gè)連續(xù)的TCP段,分別包含300字節(jié)和500字節(jié)的有效載荷,第一個(gè)段的序列號(hào)為200,主機(jī)乙正確接收到兩個(gè)段后,發(fā)送給主機(jī)甲的確認(rèn)序列號(hào)是()A.500B.700C.800D.1000√發(fā)送緩存用來暫時(shí)存放:發(fā)送應(yīng)用進(jìn)程傳送給TCP,但尚未發(fā)出的數(shù)據(jù)已發(fā)送,但尚未收到確認(rèn)的數(shù)據(jù)接收緩存用來暫時(shí)存放:按序到達(dá)的、但尚未被接收應(yīng)用進(jìn)程讀取的數(shù)據(jù)未按序到達(dá)的數(shù)據(jù)A的發(fā)送窗口并不總是和B的接收窗口一樣大TCP要求接收方必須有累積確認(rèn)的功能,這樣可以減小傳輸開銷最后被確認(rèn)的字節(jié)發(fā)送緩存最后發(fā)送的字節(jié)發(fā)送窗口TCP序號(hào)增大已發(fā)送最后寫入的發(fā)送應(yīng)用進(jìn)程接收緩存下一個(gè)期望接收的字節(jié)接收窗口TCP序號(hào)增大未按序到達(dá)按序到達(dá)要讀取的接收應(yīng)用進(jìn)程5.5TCP可靠傳輸?shù)膶?shí)現(xiàn)二、超時(shí)重傳時(shí)間的選擇TCP的可靠傳輸通過校驗(yàn)和+超時(shí)重傳實(shí)現(xiàn)TCP每發(fā)送一個(gè)報(bào)文段,就對(duì)這個(gè)報(bào)文段設(shè)置一次計(jì)時(shí)器如果計(jì)時(shí)器設(shè)置的重傳時(shí)間到,但還沒有收到確認(rèn),就要重傳該報(bào)文段超時(shí)時(shí)間的設(shè)置是一個(gè)復(fù)雜的問題IP層提供數(shù)據(jù)報(bào)服務(wù),每個(gè)數(shù)據(jù)報(bào)所選擇的路由都可能有變化,因而傳輸層的往返時(shí)間變化較大TCP采用一種自適應(yīng)算法計(jì)算超時(shí)重傳時(shí)間加權(quán)平均往返時(shí)間RTTSTCP保留了RTT的一個(gè)加權(quán)平均往返時(shí)間RTTS(又稱為平滑的往返時(shí)間)第一次測(cè)量到RTT樣本時(shí),RTTS就取為該值以后每測(cè)量到一個(gè)新的RTT樣本,按下式重新計(jì)算:新的RTTS

(1

)

舊的RTTS

新的RTT樣本其中0<<1,越小,RTT值更新越慢,越大,RTT值更新越快RFC2988推薦

=1/8,即0.1255.5TCP可靠傳輸?shù)膶?shí)現(xiàn)二、超時(shí)重傳時(shí)間的選擇超時(shí)重傳時(shí)間RTO(RetransmissionTime-Out)RTO應(yīng)略大于RTTSRFC2988建議使用下式計(jì)算RTO:RTO

RTTS

4

RTTD

RTTD是RTT的偏差的加權(quán)平均值RFC2988建議這樣計(jì)算RTTD

第一次測(cè)量時(shí),RTTD值取為測(cè)量到的RTT樣本值的一半在以后的測(cè)量中,使用下式計(jì)算加權(quán)平均的RTTD:新的RTTD

(1

)

舊的RTTD

RTTS

新的RTT樣本

其中0<

<1,推薦值是1/4,即0.255.5TCP可靠傳輸?shù)膶?shí)現(xiàn)往返時(shí)間RTT的測(cè)量并不簡(jiǎn)單TCP報(bào)文段沒有收到確認(rèn),重傳報(bào)文段后,收到了確認(rèn)報(bào)文段ACK如何判定此確認(rèn)報(bào)文段是對(duì)原來的報(bào)文段1的確認(rèn),還是對(duì)重傳的報(bào)文段2的確認(rèn)?往返時(shí)間RTT?發(fā)送一個(gè)TCP報(bào)文段超時(shí)重傳TCP報(bào)文段收到ACK時(shí)間往返時(shí)間RTT?是對(duì)哪一個(gè)報(bào)文段的確認(rèn)?Karn算法計(jì)算平均往返時(shí)間RTT時(shí),只要報(bào)文段重傳了,就不采用其樣本得出的加權(quán)平均平均往返時(shí)間RTTS和超時(shí)重傳時(shí)間RTO就較準(zhǔn)確修正的Karn算法報(bào)文段每重傳一次,就把RTO增大一些(如加倍)不再發(fā)生重傳時(shí),才根據(jù)往返時(shí)延更新RTT和RTO5.5TCP可靠傳輸?shù)膶?shí)現(xiàn)三、選擇確認(rèn)SACK(SelectiveACK)用于實(shí)現(xiàn)只重傳接收方缺少的數(shù)據(jù)下圖例:接收方收到了序號(hào)為1501—3000的數(shù)據(jù),但未收到序號(hào)為1001—1500的數(shù)據(jù)設(shè)法通知發(fā)送方1501—3000的數(shù)據(jù)已收到,不必重傳SACK原理是TCP的一種選項(xiàng),雙方在建立連接時(shí)協(xié)商是否使用該機(jī)制如雙方協(xié)商一致支持SACK,則在TCP報(bào)頭中加入選擇確認(rèn)的選項(xiàng)字段使用左右邊界標(biāo)示要確認(rèn)的字節(jié)塊TCP報(bào)頭中原有的確認(rèn)號(hào)字段不變注意:選擇確認(rèn)僅是TCP的一種選項(xiàng)注意:在多數(shù)實(shí)現(xiàn)中,選擇確認(rèn)未得到使用,即發(fā)送方會(huì)超時(shí)重發(fā)未得到確認(rèn)的報(bào)文段110001501300035014500確認(rèn)號(hào)=1001L1=1501L2=3501R1=3001R1=4501……連續(xù)的字節(jié)流………第一個(gè)字節(jié)塊第二個(gè)字節(jié)塊5.6TCP的流量控制5.6TCP的流量控制一、利用滑動(dòng)窗口實(shí)現(xiàn)流量控制流量控制(flowcontrol)就是讓發(fā)送方的發(fā)送速率不要太快,使接收方來得及接收利用滑動(dòng)窗口機(jī)制可以很方便地在TCP連接上實(shí)現(xiàn)流量控制TCP連接建立過程中,將自己的接收窗口大小告知對(duì)方TCP報(bào)頭中都攜帶有窗口大小字段,告知對(duì)方自己接收窗口的剩余大小(即可接收的字節(jié)數(shù))發(fā)送方的發(fā)送窗口應(yīng)不大于對(duì)方的接收窗口TCP流量控制示例A向B發(fā)送數(shù)據(jù)在連接建立時(shí),B告訴A:“我的接收窗口rwnd=400(字節(jié))”ACK=1,ack=201,rwnd=300允許A發(fā)送序號(hào)201至500共300字節(jié)seq=101,DATAA發(fā)送了序號(hào)101至200,還能發(fā)送200字節(jié)seq=301,DATAA發(fā)送了序號(hào)301至400,還能再發(fā)送100字節(jié)新數(shù)據(jù)seq=1,DATAA發(fā)送了序號(hào)1至100,還能發(fā)送300字節(jié)seq=401,DATAA發(fā)送了序號(hào)401至500,不能再發(fā)送新數(shù)據(jù)了seq=201,DATAA超時(shí)重傳舊的數(shù)據(jù),但不能發(fā)送新的數(shù)據(jù)ACK=1,ack=501,rwnd=100允許A發(fā)送序號(hào)501至600共100字節(jié)seq=501,DATAA發(fā)送了序號(hào)501至600,不能再發(fā)送了ACK=1,ack=601,rwnd=0不允許A再發(fā)送(到序號(hào)600為止的數(shù)據(jù)都收到了)seq=201,DATA丟失!ABB的接收緩沖有空間時(shí),將向A發(fā)送TCP報(bào)文,告知窗口大小問題:如果B向A發(fā)送的這個(gè)報(bào)文丟失了,如何避免雙方相互等待?5.6TCP的流量控制一、利用滑動(dòng)窗口實(shí)現(xiàn)流量控制持續(xù)計(jì)時(shí)器(persistencetimer)TCP為每一個(gè)連接設(shè)有一個(gè)持續(xù)計(jì)時(shí)器只要一方收到對(duì)方的零窗口通知,就啟動(dòng)持續(xù)計(jì)時(shí)器若持續(xù)計(jì)時(shí)器設(shè)置的時(shí)間到,就發(fā)送一個(gè)零窗口探測(cè)報(bào)文段(僅攜帶1字節(jié)的數(shù)據(jù)),而對(duì)方在確認(rèn)這個(gè)探測(cè)報(bào)文段時(shí)給出當(dāng)前窗口值若窗口仍然是零,則收到這個(gè)報(bào)文段的一方就重新設(shè)置持續(xù)計(jì)時(shí)器若窗口不是零,則死鎖的僵局就可以打破了5.6TCP的流量控制二、傳輸效率可以用不同的機(jī)制來控制TCP報(bào)文段的發(fā)送時(shí)機(jī)機(jī)制一:緩存數(shù)據(jù)達(dá)到一定量就發(fā)送TCP維持一個(gè)變量,它等于最大報(bào)文段長(zhǎng)度MSS只要緩存中存放的數(shù)據(jù)達(dá)到MSS字節(jié)時(shí),就組裝成一個(gè)TCP報(bào)文段發(fā)送出去機(jī)制二:應(yīng)用進(jìn)程控制由發(fā)送方的應(yīng)用進(jìn)程指明要求發(fā)送報(bào)文段,即推送(push)操作機(jī)制三:定時(shí)發(fā)送發(fā)送方的一個(gè)計(jì)時(shí)器期限到了,這時(shí)就把當(dāng)前已有的緩存數(shù)據(jù)裝入報(bào)文段(但長(zhǎng)度不能超過MSS)發(fā)送出去5.7TCP的擁塞控制5.7TCP的擁塞控制一、擁塞控制的一般原理?yè)砣?congestion)概念和產(chǎn)生原因(1/2)在某段時(shí)間,若對(duì)網(wǎng)絡(luò)中某資源的需求超過了該資源所能提供的可用部分,網(wǎng)絡(luò)的性能就要變壞,從而產(chǎn)生擁塞,即擁塞產(chǎn)生的條件:

Σ對(duì)資源的需求>可用資源網(wǎng)絡(luò)資源:鏈路帶寬、路由節(jié)點(diǎn)緩存及處理能力等網(wǎng)絡(luò)擁塞是由多種原因引起的,通過簡(jiǎn)單地增加某種資源數(shù)量往往并不能消除擁塞例:某路由器緩存容量太小,造成到達(dá)該結(jié)點(diǎn)的報(bào)文丟失,如果增加緩存容量,可能的結(jié)果:報(bào)文可在緩存中排隊(duì),但如果路由器處理能力和出口鏈路帶寬未增加,報(bào)文排隊(duì)時(shí)間過長(zhǎng),發(fā)送主機(jī)將超時(shí)重發(fā)擁塞沒有解決5.7TCP的擁塞控制一、擁塞控制的一般原理?yè)砣?congestion)概念和產(chǎn)生原因(2/2)網(wǎng)絡(luò)擁塞的表現(xiàn)網(wǎng)絡(luò)性能下降,具體表現(xiàn)為網(wǎng)絡(luò)吞吐率下降、報(bào)文傳輸時(shí)延增大、丟包率增加、用戶端響應(yīng)時(shí)間變長(zhǎng)、…擁塞常常會(huì)趨于惡化,即惡性循環(huán)由重傳機(jī)制引起如:一個(gè)路由器由于緩存不足丟棄了部分報(bào)文,發(fā)送端主機(jī)將超時(shí)重發(fā),導(dǎo)致網(wǎng)絡(luò)中被注入更多的報(bào)文,從而加劇擁塞擁塞控制(congestioncontrol)與流量控制擁塞控制:防止過多的數(shù)據(jù)注入到網(wǎng)絡(luò)中,使網(wǎng)絡(luò)中的路由器或鏈路不致過載擁塞控制是全局性的過程,而流量控制是點(diǎn)對(duì)點(diǎn)通信量的控制,是端到端的問題5.7TCP的擁塞控制一、擁塞控制的一般原理?yè)砣刂频淖饔锰峁┑呢?fù)載(offeredload)吞吐量(throughput)理想的擁塞控制實(shí)際的擁塞控制0死鎖(吞吐量=0)無擁塞控制擁塞輕度擁塞5.7TCP的擁塞控制一、擁塞控制的一般原理開環(huán)控制與閉環(huán)控制開環(huán)控制在設(shè)計(jì)網(wǎng)絡(luò)時(shí)事先將有關(guān)發(fā)生擁塞的因素考慮周到,力求網(wǎng)絡(luò)在工作時(shí)不產(chǎn)生擁塞閉環(huán)控制:基于反饋環(huán)路,有以下幾種措施:監(jiān)測(cè)網(wǎng)絡(luò)系統(tǒng)以便檢測(cè)到擁塞在何時(shí)、何處發(fā)生將擁塞發(fā)生的信息傳送到可采取行動(dòng)的地方調(diào)整網(wǎng)絡(luò)系統(tǒng)的運(yùn)行以解決出現(xiàn)的問題RFC2581中定義了四種擁塞控制方法慢啟動(dòng)(slow-start),又稱為慢開始擁塞避免(congestionavoidance)快重傳(fastretransmit)快恢復(fù)(fastrecovery)5.7TCP的擁塞控制二、擁塞控制方法:慢啟動(dòng)(slow-start)和擁塞避免慢啟動(dòng)進(jìn)行擁塞控制的基本思路開始發(fā)送時(shí),如果立即把大量數(shù)據(jù)注入網(wǎng)絡(luò),則可能導(dǎo)致?lián)砣驗(yàn)榇藭r(shí)不知道網(wǎng)絡(luò)的負(fù)荷狀況較好的方法是:試探性地從小到大逐漸增大發(fā)送窗口擁塞窗口cwnd(congestionwindow)發(fā)送方維持擁塞窗口,它是一個(gè)狀態(tài)變量擁塞窗口的大小取決于網(wǎng)絡(luò)的擁塞程度,并且動(dòng)態(tài)地在變化發(fā)送方讓自己的發(fā)送窗口等于擁塞窗口,如再考慮到接收方的接收能力,則發(fā)送窗口還可能小于擁塞窗口發(fā)送方控制擁塞窗口的原則只要沒有出現(xiàn)擁塞,擁塞窗口就增大一些,以便把更多的分組發(fā)送出去一旦出現(xiàn)擁塞,擁塞窗口就減小一些,以減少注入到網(wǎng)絡(luò)中的分組數(shù)5.7TCP的擁塞控制二、擁塞控制方法:慢啟動(dòng)(slow-start)和擁塞避免如何判斷是否發(fā)生擁塞?擁塞發(fā)生時(shí)路由器將丟棄分組簡(jiǎn)單的主機(jī)端判斷方法:只要沒有收到確認(rèn),就認(rèn)為發(fā)生了擁塞慢啟動(dòng)的工作過程開始發(fā)送報(bào)文段時(shí),設(shè)置擁塞窗口cwnd=1,即設(shè)置為一個(gè)最大報(bào)文段MSS的數(shù)值每收到一個(gè)對(duì)新的報(bào)文段的確認(rèn)后,將擁塞窗口加1,即增加一個(gè)MSS的數(shù)值用這樣的方法逐步增大發(fā)送端的擁塞窗口cwnd,可以使分組注入到網(wǎng)絡(luò)的速率更加合理注意:TCP中窗口大小是以字節(jié)為單位的慢啟動(dòng)工作過程示例發(fā)送方接收方發(fā)送M8~M15cwnd=8…tt發(fā)送M1確認(rèn)M1cwnd=1輪次1發(fā)送M2~M3確認(rèn)M2~M3cwnd=2輪次2發(fā)送M4~M7確認(rèn)M4~M7cwnd=4輪次3注意:cwnd=1表示1個(gè)MSS長(zhǎng)度,不是1字節(jié)5.7TCP的擁塞控制二、擁塞控制方法:慢啟動(dòng)(slow-start)和擁塞避免傳輸輪次(transmissionround)使用慢啟動(dòng)時(shí),每經(jīng)過一個(gè)傳輸輪次,擁塞窗口cwnd就加倍一個(gè)傳輸輪次所經(jīng)歷的時(shí)間其實(shí)就是往返時(shí)間RTT傳輸輪次更加強(qiáng)調(diào):把擁塞窗口cwnd所允許發(fā)送的報(bào)文段都連續(xù)發(fā)送出去,并收到了對(duì)已發(fā)送的最后一個(gè)字節(jié)的確認(rèn)例如,擁塞窗口cwnd=4,這時(shí)的往返時(shí)間RTT就是發(fā)送方連續(xù)發(fā)送4個(gè)報(bào)文段,并收到這4個(gè)報(bào)文段的確認(rèn),總共經(jīng)歷的時(shí)間為防止擁塞窗口cwnd增長(zhǎng)過大導(dǎo)致?lián)砣?,設(shè)置一個(gè)慢啟動(dòng)門限ssthreshcwnd<ssthresh時(shí),使用慢啟動(dòng)算法cwnd>ssthresh時(shí),停止使用慢啟動(dòng)算法而改用擁塞避免算法cwnd=ssthresh時(shí),可使用慢啟動(dòng)算法或擁塞避免算法5.7TCP的擁塞控制二、擁塞控制方法:慢啟動(dòng)(slow-start)和擁塞避免擁塞避免算法的思路讓擁塞窗口cwnd緩慢地增大,即每經(jīng)過一個(gè)往返時(shí)間RTT就把發(fā)送方的擁塞窗口cwnd加1,而不是加倍,使擁塞窗口cwnd按線性規(guī)律緩慢增長(zhǎng)擁塞發(fā)生時(shí)的處理無論在慢啟動(dòng)階段還是在擁塞避免階段,只要發(fā)送方判斷網(wǎng)絡(luò)出現(xiàn)擁塞(沒有按時(shí)收到確認(rèn)),就要把慢啟動(dòng)門限ssthresh改為出現(xiàn)擁塞時(shí)的發(fā)送方窗口值的一半(但不能小于2)然后把擁塞窗口cwnd重新設(shè)置為1,執(zhí)行慢啟動(dòng)算法這樣做的目的:迅速減少注入到網(wǎng)絡(luò)中的分組數(shù),使得發(fā)生擁塞的路由器有足夠時(shí)間把隊(duì)列中積壓的分組處理完畢慢啟動(dòng)和擁塞避免過程示例TCP連接初始化時(shí),擁塞窗口cwnd=1,慢啟動(dòng)門限ssthresh=16,設(shè)發(fā)送窗口寬度=擁塞窗口寬度在慢開始算法階段,發(fā)送端每收到一個(gè)確認(rèn),就把cwnd加1,即每經(jīng)過1個(gè)往返時(shí)間RTT,擁塞窗口cwnd加倍當(dāng)擁塞窗口cwnd≥慢啟動(dòng)門限ssthresh時(shí),進(jìn)入擁塞避免階段,每經(jīng)過1個(gè)往返時(shí)間RTT,擁塞窗口cwnd+1假定當(dāng)擁塞窗口cwnd=24時(shí)發(fā)生了擁塞,ssthresh減為12,擁塞窗口cwnd=1,并重新開始慢啟動(dòng)過程2216“乘法減小”24681012141618200048122024擁塞窗口cwnd新的ssthresh值網(wǎng)絡(luò)擁塞指數(shù)規(guī)律增長(zhǎng)ssthresh的初始值慢啟動(dòng)慢啟動(dòng)慢啟動(dòng)擁塞避免“加法增大”擁塞避免“加法增大”傳輸輪次注意:TCP中窗口寬度和門限值均以字節(jié)為單位,本例中為MSS倍數(shù)問題:如果頻繁擁塞?5.7TCP的擁塞控制二、擁塞控制方法:慢啟動(dòng)(slow-start)和擁塞避免乘法減小(multiplicativedecrease)不論在慢啟動(dòng)階段還是擁塞避免階段,只要出現(xiàn)一次超時(shí)(即網(wǎng)絡(luò)擁塞),就把慢啟動(dòng)門限ssthresh減小到擁塞窗口的一半當(dāng)網(wǎng)絡(luò)頻繁出現(xiàn)擁塞時(shí),ssthresh值下降得很快,以大大減少注入到網(wǎng)絡(luò)中的分組數(shù)加法增大(additiveincrease)執(zhí)行擁塞避免算法后,每經(jīng)過一個(gè)往返時(shí)間RTT,把擁塞窗口cwnd增加一個(gè)MSS大小,使擁塞窗口緩慢增大,以防止網(wǎng)絡(luò)過早出現(xiàn)擁塞5.7TCP的擁塞控制2009年的一道考研題一個(gè)TCP連接總是以1KB的最大段長(zhǎng)度發(fā)送TCP段,發(fā)送方有足夠的數(shù)據(jù)要發(fā)送。當(dāng)擁塞窗口為16KB時(shí)發(fā)生了超時(shí),如果接下來的4個(gè)RTT(往返時(shí)間)內(nèi)的TCP段的傳輸都是成功的,那么當(dāng)?shù)?個(gè)RTT時(shí)間內(nèi)發(fā)送的所有TCP段都得到肯定應(yīng)答時(shí),擁塞窗口大小是:

A、7KBB、8KBC、9KBD、16KB2010年的一道考研題主機(jī)甲和主機(jī)乙之間建立一個(gè)TCP連接,TCP最大段長(zhǎng)度為1000字節(jié),若主機(jī)甲的當(dāng)前擁塞窗口為4000字節(jié),在主機(jī)甲向主機(jī)乙連續(xù)發(fā)送2個(gè)最大段后,成功收到主機(jī)乙發(fā)送的第一段的確認(rèn)段,確認(rèn)段中通告的接收窗口大小為2000字節(jié),則此時(shí)主機(jī)甲還可以向主機(jī)乙發(fā)送的最大字節(jié)數(shù)是:

A、1000B、2000C、3000D、4000√√5.7TCP的擁塞控制三、擁塞控制方法:快重傳和快恢復(fù)快重傳(fastretransmit)算法思路如果發(fā)送方在超時(shí)時(shí)間內(nèi)未收到確認(rèn)報(bào)文,說明網(wǎng)絡(luò)中發(fā)生了擁塞,此時(shí)發(fā)送方應(yīng)盡早地減小窗口寬度每當(dāng)接收方收到一個(gè)失序的報(bào)文段,就發(fā)出重復(fù)確認(rèn),以便使發(fā)送方及早知道有報(bào)文段沒有到達(dá)接收方發(fā)送方只要接連收到三個(gè)重復(fù)確認(rèn)就應(yīng)當(dāng)立即重傳對(duì)方尚未收到的報(bào)文段快恢復(fù)(fastrecovery)算法思路當(dāng)發(fā)送端收到連續(xù)三個(gè)重復(fù)的確認(rèn)時(shí),就進(jìn)行“乘法減小”,把慢啟動(dòng)門限ssthresh減半接下來不執(zhí)行慢啟動(dòng)算法,而是設(shè)置為慢啟動(dòng)門限ssthresh減半后的數(shù)值,然后開始執(zhí)行擁塞避免算法(“加法增大”),使擁塞窗口緩慢地線性增大發(fā)送方認(rèn)為現(xiàn)在網(wǎng)絡(luò)很可能沒有發(fā)生擁塞(僅有擁塞征兆),因?yàn)閾砣麜r(shí)不會(huì)有連續(xù)多個(gè)報(bào)文段到達(dá)接收方5.7TCP的擁塞控制快重傳示例發(fā)送方接收方發(fā)送M1確認(rèn)M1t發(fā)送M4重復(fù)確認(rèn)M2立即重傳M3t發(fā)送M7收到三個(gè)連續(xù)的對(duì)M2

的重復(fù)確認(rèn)立即重傳M3確認(rèn)M2發(fā)送M2丟失發(fā)送M3發(fā)送M5重復(fù)確認(rèn)M2發(fā)送M6重復(fù)確認(rèn)M25.7TCP的擁塞控制242468101214161820220048121620傳輸輪次擁塞窗口cwnd收到3個(gè)重復(fù)的確認(rèn)執(zhí)行快重傳算法慢開始“乘法減小”擁塞避免“加法增大”TCPReno版本TCPTahoe版本(已廢棄不用)ssthresh

的初始值擁塞避免“加法增大”新的ssthresh

值慢開始快恢復(fù)連續(xù)收到三個(gè)重復(fù)確認(rèn)后轉(zhuǎn)入擁塞避免5.7TCP的擁塞控制三、擁塞控制方法:快重傳和快恢復(fù)發(fā)送窗口的上限值從流量控制角度考慮,發(fā)送窗口不能超過對(duì)方給出的接收窗口值綜合考慮流量控制和擁塞控制,發(fā)送方的發(fā)送窗口的上限值應(yīng)當(dāng)在接收方窗口rwnd和擁塞窗口cwnd兩個(gè)者中取較小的一個(gè):發(fā)送窗口的上限值=Min[rwnd,cwnd]當(dāng)rwnd<cwnd時(shí),是接收方的接收能力限制發(fā)送窗口的最大值當(dāng)cwnd<rwnd時(shí),則是網(wǎng)絡(luò)的擁塞限制發(fā)送窗口的最大值5.8TCP的連接管理5.8TCP的連接管理一、簡(jiǎn)介TCP傳輸連接有三個(gè)階段連接建立數(shù)據(jù)傳送連接釋放連接建立過程中要解決三個(gè)問題:使每一方能夠確知對(duì)方的存在允許雙方協(xié)商一些參數(shù)(如最大報(bào)文段長(zhǎng)度、最大窗口大小、服務(wù)質(zhì)量等)能夠?qū)鬏攲?shí)體資源進(jìn)行分配(如緩存、連接表中的項(xiàng)目等)TCP連接的建立都是采用客戶/服務(wù)器方式客戶(client):主動(dòng)發(fā)起連接建立的應(yīng)用進(jìn)程服務(wù)器(server):被動(dòng)等待連接建立的應(yīng)用進(jìn)程二、TCP的連接建立TCP連接的建立采用三次握手(three-wayhandshake)A向B發(fā)出連接請(qǐng)求報(bào)文段,其首部中的SYN=1,并選擇序號(hào)seq=x,表明傳送數(shù)據(jù)時(shí)的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)是xB收到連接請(qǐng)求后,如同意,則發(fā)回確認(rèn),其中SYN=1,ACK=1,確認(rèn)號(hào)ack=x+1,自己選擇的序號(hào)seq=yA收到后向B給出確認(rèn),其ACK=1,確認(rèn)號(hào)ack=y+1B收到后,TCP連接建立SYN=1,seq=xACK=1,seq=x+1,ack=y

1CLOSEDCLOSED數(shù)據(jù)傳送主動(dòng)打開被動(dòng)打開AB客戶服務(wù)器SYN=1,ACK=1,seq=y,ack=x

1SYN-SENTESTABLISHEDESTABLISHEDSYN-RCVDLISTEN5.8TCP的連接管理二、TCP的連接建立關(guān)于3次握手的討論為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論