計算機網(wǎng)路實驗5地址解析協(xié)議ARP_第1頁
計算機網(wǎng)路實驗5地址解析協(xié)議ARP_第2頁
計算機網(wǎng)路實驗5地址解析協(xié)議ARP_第3頁
計算機網(wǎng)路實驗5地址解析協(xié)議ARP_第4頁
計算機網(wǎng)路實驗5地址解析協(xié)議ARP_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗5 地址解析協(xié)議(ARP)【實驗?zāi)康摹?.  掌握ARP協(xié)議的報文格式2.  掌握ARP協(xié)議的工作原理3.  理解ARP高速緩存的作用4.  掌握ARP請求和應(yīng)答的實現(xiàn)方法5.  掌握ARP緩存表的維護過程【學(xué)時分配】4學(xué)時【實驗環(huán)境】該實驗采用網(wǎng)絡(luò)結(jié)構(gòu)二【實驗內(nèi)容】一. 物理地址與邏輯地址1.  物理地址物理地址是節(jié)點的地址,由它所在的局域網(wǎng)或廣域網(wǎng)定義。物理地址包含在數(shù)據(jù)鏈路層的幀中。物理地址是最低一級的地址。物理地址的長度和格式是可變的,取決于具體的網(wǎng)絡(luò)。以太網(wǎng)使用寫在網(wǎng)絡(luò)接口卡(NIC)上的6字節(jié)的標識作為物理地址。物理地

2、址可以是單播地址(一個接收者)、多播地址(一組接收者)或廣播地址(由網(wǎng)絡(luò)中的所有主機接收)。有些網(wǎng)絡(luò)不支持多播或廣播地址,當需要把幀發(fā)送給一組主機或所有主機時,多播地址或廣播地址就需要用單播地址來模擬。2.  邏輯地址在互聯(lián)網(wǎng)的環(huán)境中僅使用物理地址是不合適的,因為不同網(wǎng)絡(luò)可以使用不同的地址格式。因此,需要一種通用的編址系統(tǒng),用來惟一地標識每一臺主機,而不管底層使用什么樣的物理網(wǎng)絡(luò)。邏輯地址就是為此目的而設(shè)計的。目前Internet上的邏輯地址是32位地址,通常稱為IP地址,可以用來標識連接在Internet上的每一臺主機。在Internet上沒有兩個主機具有同樣的IP地址。邏輯地址可

3、以是單播地址、多播地址和廣播地址。其中廣播地址有一些局限性。在實驗三中將詳細介紹這三種類型的地址。二. ARP協(xié)議簡介Internet是由各種各樣的物理網(wǎng)絡(luò)通過使用諸如路由器之類的設(shè)備連接在一起組成的。主機發(fā)送一個數(shù)據(jù)包到另一臺主機時可能要經(jīng)過多種不同的物理網(wǎng)絡(luò)。主機和路由器都是在網(wǎng)絡(luò)層通過邏輯地址來識別的,這個地址是在全世界范圍內(nèi)是惟一的。然而,數(shù)據(jù)包是通過物理網(wǎng)絡(luò)傳遞的。在物理網(wǎng)絡(luò)中,主機和路由器通過其物理地址來識別的,其范圍限于本地網(wǎng)絡(luò)中。物理地址和邏輯地址是兩種不同的標識符。這就意味著將一個數(shù)據(jù)包傳遞到一個主機或路由器需要進行兩級尋址:邏輯地址和物理地址。需要能將一個邏輯地址映射到相應(yīng)

4、的物理地址。ARP協(xié)議(地址解析協(xié)議)是“Address Resolution Protocol”的縮寫。所謂“地址解析”就是主機在發(fā)送幀前將目的邏輯地址轉(zhuǎn)換成目的物理地址的過程。在使用TCP/IP協(xié)議的以太網(wǎng)中,ARP協(xié)議完成將IP地址映射到MAC地址的過程。三. ARP報文格式下圖為ARP數(shù)據(jù)報的報文格式:圖2-1  ARP報文格式ARP報文格式具有如下的一些字段:  硬件類型:這是16位字段,用來定義運行ARP的網(wǎng)絡(luò)的類型。每一個局域網(wǎng)基于其類型被指派給一個整數(shù)。例如,以太網(wǎng)的硬件類型是1。ARP可用在任何網(wǎng)絡(luò)上。  協(xié)議類型:這是16位字段。用來定義協(xié)議的

5、類型。例如,對IPv4協(xié)議,這個字段的值是0x0800。ARP可用于任何高層協(xié)議。  硬件地址長度:這是一個8位字段,用來定義以字節(jié)為單位的物理地址長度。例如,以太網(wǎng)物理地址為6字節(jié),所對應(yīng)的硬件地址長度值為6。  協(xié)議地址長度:標識用于該數(shù)據(jù)包的邏輯地址的長度,用十進制標識,單位為一個字節(jié),例如,IPv4為4個字節(jié),所對應(yīng)的協(xié)議地址長度值為4。  操作碼:這是16位字段,用來定義數(shù)據(jù)包的類型。已定義了兩種類型:為1時表示ARP請求,為2時表示ARP應(yīng)答。  發(fā)送端硬件地址:這是可變長度字段,用來定義發(fā)送端的物理地址。對于以太網(wǎng)這個字段是6字節(jié)長。

6、60; 發(fā)送端邏輯地址:這是可變長度字段,用來定義發(fā)送端的邏輯地址。對于邏輯地址為IP地址的網(wǎng)絡(luò),該字段長度為4字節(jié)。  目的端硬件地址:這是可變長度字段,用來定義目標的物理地址。對于ARP請求,字段是全0,因為發(fā)送端不知道目標的物理地址(該字段長度為可變,如以太網(wǎng)硬件地址為6個字節(jié))。  目的端邏輯地址:這是可變長度字段,用來定義目標的邏輯地址(該字段長度為可變,如IPv4協(xié)議的邏輯地址為4個字節(jié))。四. ARP封裝ARP數(shù)據(jù)報直接封裝在數(shù)據(jù)鏈路幀中。例如,在下圖中,ARP數(shù)據(jù)包封裝在以太網(wǎng)的幀中。類型字段值為0x0806指出了此幀所攜帶的數(shù)據(jù)是ARP數(shù)據(jù)包。圖2-2&#

7、160; ARP數(shù)據(jù)包的封裝五. ARP的運行過程數(shù)據(jù)包傳輸過程可分為如下步驟:1.  發(fā)送端知道目的端的IP地址。2.  IP要求ARP創(chuàng)建一個ARP請求報文,其中包含了發(fā)送方的物理地址、發(fā)送方的IP地址和目的端的IP地址。目的端的物理地址用0填充。3.  將報文傳遞到數(shù)據(jù)鏈路層,并在該層中用發(fā)送方的物理地址作為源地址,用物理廣播地址作為目的地址,將其封裝在一個幀中。4.  因為該幀中包含了一個廣播目的地址,所以同一鏈路中的每個主機或路由器都接收到這個幀。所有接收到該幀的主機都將其傳遞到ARP層進行處理。除了目的端主機以外的所有主機都丟棄該報文。5.&

8、#160; 目的端主機用一個包含其物理地址的ARP應(yīng)答報文做出響應(yīng),并對該報文進行單播。6.  發(fā)送方接收到這個應(yīng)答報文,這樣它就知道了目標主機的物理地址。ARP地址解析過程如下圖所示。圖2-3  ARP地址解析過程六. ARP高速緩存在真正的協(xié)議實現(xiàn)中,并不是每次發(fā)送IP報文前都需要發(fā)送ARP請求報文來獲取目的MAC地址。在大多數(shù)的系統(tǒng)中都存在著一個ARP緩存表。記錄著一段時間內(nèi)曾經(jīng)獲取過的MAC地址和IP地址的映射關(guān)系,如下圖所示:圖2-4  ARP高速緩存發(fā)送IP數(shù)據(jù)報前先對ARP緩存表進行查找,查看目的MAC地址是否存在于緩存表中,如果存在,則不需要發(fā)送A

9、RP請求報文而直接使用此地址進行IP數(shù)據(jù)包的發(fā)送。如果不存在,則發(fā)送ARP請求報文,在收到ARP應(yīng)答報文之后,使用應(yīng)答報文中的目的MAC地址發(fā)送IP數(shù)據(jù)包,并將目的MAC地址存于ARP緩存表中供以后使用。另外,ARP緩存表采用老化機制,在一段時間內(nèi)如果表中的某一項沒有使用,就會被刪除,這樣可以大大減少ARP緩存表的長度,加快查詢速度。下圖描述了ARP高速緩存的使用與更新過程:圖2-5  ARP高速緩存的使用與更新過程七. 代理ARP代理ARP可用來產(chǎn)生劃分子網(wǎng)的效應(yīng)。如果ARP請求是從一個網(wǎng)絡(luò)中的主機發(fā)往另一個網(wǎng)絡(luò)中的主機,那么連接這兩個網(wǎng)絡(luò)的路由器就可以回答該請求,當這個路由器收到

10、真正的IP數(shù)據(jù)包時,它就把該數(shù)據(jù)包發(fā)送給相應(yīng)的主機或路由器。例如,在下圖所示的網(wǎng)絡(luò)中,安裝在右邊主機上的代理ARP應(yīng)答對目標IP地址為141.23.56.23的ARP請求。圖2-6  代理ARP八. 協(xié)議棧實現(xiàn)代碼解析本實驗將通過對netproto_arp_student.h和netproto_arp_student.c兩個文件進行編碼,完成協(xié)議棧中arp協(xié)議的實現(xiàn)。netproto_arp_student.h文件中定義了arp協(xié)議實現(xiàn)相關(guān)數(shù)值,關(guān)鍵代碼如下所示:這段代碼定義了8個宏,他們代表的含義如下表所示:表2-1  netproto_arp_student.h中定義的

11、宏在實驗的編碼過程中,應(yīng)該使用這些宏對相應(yīng)的變量進行賦值。netproto_arp_student.c文件是協(xié)議棧中arp協(xié)議的實現(xiàn)部分,其中定義了1個全局數(shù)組以及3個函數(shù)。下面分別介紹這些協(xié)議棧的實現(xiàn)部分。全局數(shù)組netp_arp_table是arp協(xié)議的緩存表,擁有NETP_ARP_TABLE_SIZE個netp_arp_table_item元素。其中NETP_ARP_TABLE_SIZE是arp緩存表的條目數(shù),默認值為10,同學(xué)們不需要修改。netp_arp_table_item是一個結(jié)構(gòu)體,代表了arp緩存表中的一個條目,包括一個物理地址hardware_addr和一個IP地址ip_a

12、ddress,其定義如下:需要根據(jù)arp協(xié)議的實現(xiàn)原理編寫代碼來維護arp緩存表。函數(shù)display_arp_table的功能是顯示arp緩存表中的條目,在實驗中可以直接調(diào)用該函數(shù),便于查看arp緩存表中的內(nèi)容。函數(shù)netp_arp_output_student的功能是構(gòu)造并發(fā)送一個arp請求數(shù)據(jù)包。這個函數(shù)的編碼工作需要由學(xué)生完成。當有數(shù)據(jù)到達本機網(wǎng)絡(luò)接口時,函數(shù)netp_arp_input_student將被調(diào)用,并傳遞給這個函數(shù)原始數(shù)據(jù)。在本實驗中該函數(shù)需要完成兩個功能,一是處理針對本機的arp請求數(shù)據(jù)包,二是處理針對本機的arp應(yīng)答數(shù)據(jù)包。處理針對本機的arp請求數(shù)據(jù)包時,應(yīng)該發(fā)送相應(yīng)

13、的arp應(yīng)答數(shù)據(jù)包。處理針對本機的arp應(yīng)答數(shù)據(jù)包時,應(yīng)該更新arp緩存表。這個函數(shù)的編碼工作需要由學(xué)生完成。該函數(shù)的返回值為push_to_lwip的枚舉類型值,push_to_lwip的定義如下:返回NETP_PUSH_TO_LWIP表示這個數(shù)據(jù)幀應(yīng)該提交給協(xié)議棧上層繼續(xù)處理,而返回NETP_NO_PUSH_LIWP則表示不需要提交給協(xié)議棧上層處理,本層處理完畢后,這個數(shù)據(jù)幀將被丟棄。需要根據(jù)正確的邏輯關(guān)系返回適當?shù)闹?,使協(xié)議棧正常工作。在編碼過程中可能會遇到一些結(jié)構(gòu)體、宏和函數(shù),下表對他們進行介紹:表2-2  實驗涉及的結(jié)構(gòu)體和函數(shù)九. 各模塊推薦流程1.  arp請

14、求發(fā)送流程編碼實現(xiàn)arp請求數(shù)據(jù)包發(fā)送推薦使用如下流程:圖2-7  arp請求數(shù)據(jù)包發(fā)送推薦流程2.  輸入arp數(shù)據(jù)包處理流程編碼實現(xiàn)處理arp輸入數(shù)據(jù)包推薦使用如下流程:圖2-8  處理arp輸入數(shù)據(jù)包推薦流程【實驗步驟】練習(xí)1 領(lǐng)略真實的ARP(同一子網(wǎng))各主機打開協(xié)議分析器,進入相應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)并驗證網(wǎng)絡(luò)拓撲的正確性,如果通過拓撲驗證,關(guān)閉協(xié)議分析器繼續(xù)進行實驗,如果沒有通過拓撲驗證,請檢查網(wǎng)絡(luò)連接。本練習(xí)將主機A、B、C、D、E、F作為一組進行實驗。1.  主機A、B、C、D、E、F啟動協(xié)議分析器,打開捕獲窗口進行數(shù)據(jù)捕獲并設(shè)置過濾條件(提取AR

15、P、ICMP)。2.  主機A、B、C、D、E、F在命令行下運行“arp -d”命令,清空ARP高速緩存。3.  主機A ping 主機D(172.16.1.4)。4.  主機E ping 主機F(172.16.0.3)。5.  主機A、B、C、D、E、F停止捕獲數(shù)據(jù),并立即在命令行下運行“arp -a”命令察看ARP高速緩存。  ARP高速緩存表由哪幾項組成?  結(jié)合協(xié)議分析器上采集到的ARP報文和ARP高速緩存表中新增加的條目,簡述ARP協(xié)議的報文交互過程以及ARP高速緩存表的更新過程。練習(xí)2 編輯并發(fā)送ARP報文(同一子網(wǎng))本練

16、習(xí)將主機A、B、C、D、E、F作為一組進行實驗。1.  在主機E上啟動協(xié)議編輯器,并編輯一個ARP請求報文。其中:MAC層:目的MAC地址:設(shè)置為FFFFFF-FFFFFF源MAC地址:設(shè)置為主機E的MAC地址協(xié)議類型或數(shù)據(jù)長度:0806ARP層:發(fā)送端硬件地址:設(shè)置為主機E的MAC地址發(fā)送端邏輯地址:設(shè)置為主機E的IP地址(172.16.0.2)目的端硬件地址:設(shè)置為000000-000000目的端邏輯地址:設(shè)置為主機F的IP地址(172.16.0.3)2.  主機B、F啟動協(xié)議分析器,打開捕獲窗口進行數(shù)據(jù)捕獲并設(shè)置過濾條件(提取ARP協(xié)議)。3.  主機B、E

17、、F在命令行下運行“arp -d”命令,清空ARP高速緩存。主機E發(fā)送已編輯好的ARP報文。4.  主機B、F停止捕獲數(shù)據(jù),分析捕獲到的數(shù)據(jù),進一步體會ARP報文交互過程。練習(xí)3 跨路由地址解析(不同子網(wǎng))本練習(xí)將主機A、B、C、D、E、F作為一組進行實驗。1.  主機B在命令行方式下輸入staticroute_config命令,開啟靜態(tài)路由服務(wù)。2.  主機A、B、C、D、E、F在命令行下運行“arp -d”命令,清空ARP高速緩存。3.  主機A、B、C、D、E、F重新啟動協(xié)議分析器,打開捕獲窗口進行數(shù)據(jù)捕獲并設(shè)置過濾條件(提取ARP、ICMP)。4

18、.  主機A ping 主機E(172.16.0.2)。5.  主機A、B、C、D、E、F停止數(shù)據(jù)捕獲,察看協(xié)議分析器中采集到的ARP報文,并回答以下問題:  單一ARP請求報文是否能夠跨越子網(wǎng)進行地址解析?為什么?  ARP地址解析在跨越子網(wǎng)的通信中所起到的作用?6.  主機B在命令行方式下輸入recover_config命令,停止靜態(tài)路由服務(wù)。練習(xí)4 發(fā)送arp請求功能的實現(xiàn)本練習(xí)將主機A、B和C作為一組,主機D、E和F作為一組?,F(xiàn)僅以主機A、B、C所在組為例,其它組的操作參考主機A、B、C所在組的操作。在實驗中,主機A將新接口的IP地址設(shè)

19、置為172.16.1.12、主機B使用物理接口2,將新接口的IP設(shè)置為172.16.0.11、主機C將新接口的IP地址設(shè)置為172.16.1.13、主機D使用處于連接狀態(tài)的物理接口,將新接口的IP地址設(shè)置為172.16.1.14、主機E使用處于連接狀態(tài)的物理接口,將新接口的IP地址設(shè)置為172.16.0.12、主機F將新接口的IP地址設(shè)置為172.16.0.13。所有主機使用子網(wǎng)掩碼255.255.255.0,默認網(wǎng)關(guān)設(shè)置為0.0.0.0。1.  所有主機編碼實現(xiàn)發(fā)送arp請求數(shù)據(jù)包(1)各主機打開netproto_arp_student.c文件,在函數(shù)netp_arp_output

20、_student內(nèi)編寫實現(xiàn)代碼。(2)參考實驗原理arp請求數(shù)據(jù)包發(fā)送推薦流程圖給出的流程,分析已經(jīng)存在的代碼。已經(jīng)存在的代碼定義了一個能容納arp請求數(shù)據(jù)包的緩沖區(qū)arp_buffer、一個以太網(wǎng)幀頭結(jié)構(gòu)變量eth_header和一個arp包頭結(jié)構(gòu)變量arp_header、以及將緩沖區(qū)數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)中的實現(xiàn)。(3)構(gòu)造、填充以太網(wǎng)數(shù)據(jù)幀頭構(gòu)造并填充一個以太網(wǎng)數(shù)據(jù)幀頭。目的MAC地址設(shè)置為廣播地址即FF-FF-FF-FF-FF-FF。源MAC地址設(shè)置為本接口的MAC地址,可以使用netp_current_hw_addr函數(shù)獲取本接口的MAC地址。協(xié)議類型或數(shù)據(jù)長度字段值應(yīng)設(shè)置為0x0806,表

21、示上層協(xié)議為arp協(xié)議,可以使用MAC_PROTO_ARP宏。(4)構(gòu)造、填充ARP數(shù)據(jù)包頭構(gòu)造并填充一個ARP數(shù)據(jù)包頭。ARP數(shù)據(jù)包頭中各字段值的填充如下:硬件類型值為0x0001,可以使用ARP_HWTYPE_ETH宏。協(xié)議類型值為0x0800,可以使用ARP_PROTOTYPE_IP宏。硬件地址長度值為0x06,可以使用ARP_HWADDR_LEN_ETH宏。協(xié)議地址長度值為0x04,可以使用ARP_PROTOADDR_LEN_IP宏。操作碼值為0x0001,可以使用ARP_OPCODE_REQUEST宏。發(fā)送端硬件地址值為本接口的MAC地址,可以使用netp_current_hw_ad

22、dr函數(shù)獲取本接口的MAC地址。發(fā)送端邏輯地址值為本接口的IP地址,可以使用netp_current_ip_addr函數(shù)獲取本接口的IP地址。目的端硬件地址值為0。主機A使用172.16.1.3作為目的端邏輯地址、主機C使用172.16.1.4作為目的端邏輯地址、主機D使用172.16.1.2作為目的端邏輯地址。(5)將構(gòu)造完成的以太網(wǎng)數(shù)據(jù)幀頭和ARP數(shù)據(jù)包頭拷貝到緩沖區(qū)。2.  所有主機打開協(xié)議分析器,開始捕獲數(shù)據(jù)3.  所有主機調(diào)試并運行程序4.  各主機停止數(shù)據(jù)捕獲,觀察實驗現(xiàn)象5.  參考代碼如下:練習(xí)5 處理輸入的arp數(shù)據(jù)包功能的實現(xiàn)本練習(xí)將

23、主機A、B和C作為一組,主機D、E和F作為一組?,F(xiàn)僅以主機A、B、C所在組為例,其它組的操作參考主機A、B、C所在組的操作。該練習(xí)需要在前一個練習(xí)的基礎(chǔ)上進行。在實驗中,主機A將新接口的IP地址設(shè)置為172.16.1.12、主機B使用物理接口2,將新接口的IP設(shè)置為172.16.0.11、主機C將新接口的IP地址設(shè)置為172.16.1.13、主機D使用處于連接狀態(tài)的物理接口,將新接口的IP地址設(shè)置為172.16.1.14、主機E使用處于連接狀態(tài)的物理接口,將新接口的IP地址設(shè)置為172.16.0.12、主機F將新接口的IP地址設(shè)置為172.16.0.13。所有主機使用子網(wǎng)掩碼255.255.2

24、55.0,默認網(wǎng)關(guān)設(shè)置為0.0.0.0。1.  所有主機編碼實現(xiàn)arp數(shù)據(jù)包的過濾(1)各主機打開netproto_arp_student.c文件,在函數(shù)netp_arp_input_student內(nèi)編寫實現(xiàn)代碼,參考實驗原理處理arp輸入數(shù)據(jù)包推薦流程圖給出的流程,思考代碼編寫方案。(2)過濾arp數(shù)據(jù)包通過判斷以太網(wǎng)幀中的“協(xié)議類型或數(shù)據(jù)長度”字段值是否為0x0806(宏MAC_PROTO_ARP定義該數(shù)值)來過濾arp數(shù)據(jù)包。如果接收到的數(shù)據(jù)包不是arp數(shù)據(jù)包,則應(yīng)該返回NETP_PUSH_TO_LWIP交給協(xié)議棧處理。2.  處理arp請求數(shù)據(jù)包(1)判斷arp類型

25、通過arp包頭中的“操作碼”字段的值來判斷arp數(shù)據(jù)包類型,如果該值為0x0001(宏ARP_OPCODE_REQUEST定義了該數(shù)值),則這個arp包為arp請求報文,應(yīng)該返回arp應(yīng)答數(shù)據(jù)包。(2)構(gòu)造arp應(yīng)答數(shù)據(jù)包的以太網(wǎng)幀頭使用已經(jīng)定義的變量response_eth_header來構(gòu)造以太網(wǎng)幀頭。其中:目的MAC地址為arp請求數(shù)據(jù)包頭中的發(fā)送端硬件地址;源MAC地址為本接口的MAC地址;“協(xié)議類型與數(shù)據(jù)長度”字段值為0x0806(宏MAC_PROTO_ARP定義該數(shù)值)。(3)構(gòu)造arp應(yīng)答數(shù)據(jù)包的arp包頭使用已經(jīng)定義的變量response_arp_header來構(gòu)造以太網(wǎng)幀頭。

26、其中:硬件類型值為0x0001,可以使用ARP_HWTYPE_ETH宏。協(xié)議類型值為0x0800,可以使用ARP_PROTOTYPE_IP宏。硬件地址長度值為0x06,可以使用ARP_HWADDR_LEN_ETH宏。協(xié)議地址長度值為0x04,可以使用ARP_PROTOADDR_LEN_IP宏。操作碼值為0x0002,可以使用ARP_OPCODE_RESPONSE宏。發(fā)送端硬件地址值為本接口的MAC地址,可以使用netp_current_hw_addr函數(shù)獲取本接口的MAC地址。發(fā)送端邏輯地址值為本接口的IP地址,可以使用netp_current_ip_addr函數(shù)獲取本接口的IP地址。目的端硬件地址值為arp請求數(shù)據(jù)包頭中的發(fā)送端硬件地址。目的端邏輯地址為arp請求數(shù)據(jù)包頭中的發(fā)送端邏輯地址。3.  處理arp應(yīng)答數(shù)據(jù)包(1)

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論