連接建立及結(jié)束過(guò)程詳解_第1頁(yè)
連接建立及結(jié)束過(guò)程詳解_第2頁(yè)
連接建立及結(jié)束過(guò)程詳解_第3頁(yè)
連接建立及結(jié)束過(guò)程詳解_第4頁(yè)
連接建立及結(jié)束過(guò)程詳解_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、TCP連接建立及結(jié)束過(guò)程詳解TCP連接建立及結(jié)束過(guò)程詳解 圖示 圖解 圖例 【簡(jiǎn) 介】 TCP連接是面向可靠的連接,它通過(guò)建立可靠連接實(shí)現(xiàn)數(shù)據(jù)的可靠傳輸,在應(yīng)用程序中被廣泛使用。由于FTP命令采用的連接就是TCP連接,下面給大家介紹一下如何使用Sniffer工具捕獲FTP命令數(shù)據(jù)包,分析TCP連接建立和結(jié)束的詳細(xì)過(guò)程,使大家更好地理解和詳細(xì)掌握TCP連接建立的三次握手過(guò)程和四次結(jié)束的過(guò)程。 一、FTP命令數(shù)據(jù)包的捕獲 1、搭建網(wǎng)絡(luò)環(huán)境。建立一臺(tái)FTP服務(wù)器,設(shè)置IP地址為:6。建立一臺(tái)FTP客戶端,IP地址設(shè)為04,在其上安裝Sniffer軟件。將這兩臺(tái)

2、設(shè)備通過(guò)集線器連接起來(lái)。 2、定義過(guò)濾器。在FTP客戶端上運(yùn)行Sniffer軟件,進(jìn)入系統(tǒng),點(diǎn)“Monitor”“Matrixa”,選中本機(jī),點(diǎn)鼠標(biāo)右健,選擇“Define Filter”,在“Define Filter”窗口,點(diǎn)“Advanced”,選擇IP-TCP-FTP,點(diǎn)“確定”,即已定義好過(guò)濾器,如圖1所示。 3、捕獲FTP命令數(shù)據(jù)包。首先,在Sniffer中選擇“Monitor”“Matrix”,點(diǎn)擊“Capture”命令開(kāi)始捉包。然后,在FTP客戶端上進(jìn)入DOS提示符下,輸入“FTP6”命令,輸入FTP用戶名和口令,登錄FTP服務(wù)器,進(jìn)行文件的下載,最后輸入“

3、bye”命令退出FTP程序,完成整個(gè)FTP命令操作過(guò)程。最后,點(diǎn)擊Sniffer中的“停止捕捉”,選擇“Decode”選項(xiàng),完成FTP命令操作過(guò)程數(shù)據(jù)包的捕獲,并顯示在屏幕上。二、TCP連接建立過(guò)程詳解 圖2是通過(guò)Sniffer工具捕獲的FTP客戶端與FTP服務(wù)器之間一個(gè)TCP連接的建立過(guò)程。從圖中可以看到Sniffer首先捕獲了1、2、3三行記錄。其中: 第1行表示:FTP客戶端04從1038端口向FTP服務(wù)器6的21端口發(fā)起一個(gè)帶有SYN標(biāo)志的連接請(qǐng)求,初始序列號(hào)SEQ1791872318。 第2行表示:FTP服務(wù)器6從21端口向

4、FTP客戶端04的1038端口返回一個(gè)同時(shí)帶有SYN標(biāo)志和ACK標(biāo)志的應(yīng)答包,ACK應(yīng)答序列號(hào)SESYN請(qǐng)求序列號(hào)SEQ3880988084。 第3行表示:FTP客戶端04再向FTP服務(wù)器6返回一個(gè)包含ACK標(biāo)志的應(yīng)答包,應(yīng)答序列號(hào)SEQ38809880841。 至此,F(xiàn)TP客戶端和FTP服務(wù)器之間就建立了一個(gè)安全的可靠的TCP連接。TCP連接建立的三次握手過(guò)程示意圖如圖3所示。 三、TCP連接結(jié)束過(guò)程詳解 圖4是Sniffer捕獲到的一個(gè)FTP客戶端與FTP服務(wù)器之間一個(gè)TCP連接結(jié)束的過(guò)程。從圖中可以看到

5、在TCP連接結(jié)束的過(guò)程中Sniffer共捕獲到了17、18、19、20四行記錄。其中: 第17行表示:FTP服務(wù)器6先從21端口向FTP客戶端04的1028端口發(fā)送一個(gè)帶有FIN結(jié)束標(biāo)志的連接請(qǐng)求,初始序列號(hào)SEQ1803774978。 第18行表示:FTP客戶端04從1028端口向FTP服務(wù)器6的21端口返回一個(gè)包含ACK標(biāo)志的應(yīng)答包,應(yīng)答序列號(hào)SE 第19行表示:同時(shí),F(xiàn)TP客戶端04又從1028端口向FTP服務(wù)器6的21端口發(fā)送一個(gè)同時(shí)帶有FI

6、N標(biāo)志和ACK標(biāo)志的包,F(xiàn)IN序列號(hào)SEQ846902939,ACKSE 第20行表示:FTP服務(wù)器6從21端口向FTP客戶端04的1028端口返回一個(gè)包含ACK標(biāo)志的應(yīng)答包,應(yīng)答序列號(hào)SEQ8469029391。 至此,F(xiàn)TP客戶端與FTP服務(wù)器之間的一個(gè)TCP連接就結(jié)束了。TCP連接結(jié)束的四次過(guò)程示意圖如圖5所示。 四、小結(jié) Sniffer工具是一個(gè)功能很強(qiáng)的底層抓包工具,作為一名網(wǎng)絡(luò)管理人員,應(yīng)學(xué)會(huì)熟練使用本工具進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)的分析,發(fā)現(xiàn)異常數(shù)據(jù)及時(shí)處理,不斷提高網(wǎng)絡(luò)數(shù)據(jù)分析能力和處理能力TCP/IP詳解學(xué)習(xí)筆記(10)-T

7、CP連接的建立與中止 轉(zhuǎn)帖TCP是一個(gè)面向連接的協(xié)議,所以在連接雙方發(fā)送數(shù)據(jù)之前,都需要首先建立一條連接。這和前面講到的協(xié)議完全不同。前面講的所有協(xié)議都只是發(fā)送數(shù)據(jù)而已,大多數(shù)都不關(guān)心發(fā)送的數(shù)據(jù)是不是送到,UDP尤其明顯,從編程的角度來(lái)說(shuō),UDP編程也要簡(jiǎn)單的多-UDP都不用考慮數(shù)據(jù)分片。書(shū)中用telnet登陸退出來(lái)解釋TCP協(xié)議連接的建立和中止的過(guò)程,可以看到,TCP連接的建立可以簡(jiǎn)單的稱為三次握手,而連接的中止則可以叫做四次握手。1.連接的建立在建立連接的時(shí)候,客戶端首先向服務(wù)器申請(qǐng)打開(kāi)某一個(gè)端口(用SYN段等于1的TCP報(bào)文),然后服務(wù)器端發(fā)回一個(gè)ACK報(bào)文通知客戶端請(qǐng)求報(bào)文收到,客戶端

8、收到確認(rèn)報(bào)文以后再次發(fā)出確認(rèn)報(bào)文確認(rèn)剛才服務(wù)器端發(fā)出的確認(rèn)報(bào)文(繞口么),至此,連接的建立完成。這就叫做三次握手。如果打算讓雙方都做好準(zhǔn)備的話,一定要發(fā)送三次報(bào)文,而且只需要三次報(bào)文就可以了??梢韵胍?jiàn),如果再加上TCP的超時(shí)重傳機(jī)制,那么TCP就完全可以保證一個(gè)數(shù)據(jù)包被送到目的地。2.結(jié)束連接TCP有一個(gè)特別的概念叫做half-close,這個(gè)概念是說(shuō),TCP的連接是全雙工(可以同時(shí)發(fā)送和接收)連接,因此在關(guān)閉連接的時(shí)候,必須關(guān)閉傳和送兩個(gè)方向上的連接。客戶機(jī)給服務(wù)器一個(gè)FIN為1的TCP報(bào)文,然后服務(wù)器返回給客戶端一個(gè)確認(rèn)ACK報(bào)文,并且發(fā)送一個(gè)FIN報(bào)文,當(dāng)客戶機(jī)回復(fù)ACK報(bào)文后(四次握手

9、),連接就結(jié)束了。3.最大報(bào)文長(zhǎng)度在建立連接的時(shí)候,通信的雙方要互相確認(rèn)對(duì)方的最大報(bào)文長(zhǎng)度(MSS),以便通信。一般這個(gè)SYN長(zhǎng)度是MTU減去固定IP首部和TCP首部長(zhǎng)度。對(duì)于一個(gè)以太網(wǎng),一般可以達(dá)到1460字節(jié)。當(dāng)然如果對(duì)于非本地的IP,這個(gè)MSS可能就只有536字節(jié),而且,如果中間的傳輸網(wǎng)絡(luò)的MSS更佳的小的話,這個(gè)值還會(huì)變得更小。4.TCP的狀態(tài)遷移圖書(shū)P182頁(yè)給出了TCP的狀態(tài)圖,這是一個(gè)看起來(lái)比較復(fù)雜的狀態(tài)遷移圖,因?yàn)樗藘蓚€(gè)部分-服務(wù)器的狀態(tài)遷移和客戶端的狀態(tài)遷移,如果從某一個(gè)角度出發(fā)來(lái)看這個(gè)圖,就會(huì)清晰許多,這里面的服務(wù)器和客戶端都不是絕對(duì)的,發(fā)送數(shù)據(jù)的就是客戶端,接受數(shù)據(jù)

10、的就是服務(wù)器。4.1.客戶端應(yīng)用程序的狀態(tài)遷移圖客戶端的狀態(tài)可以用如下的流程來(lái)表示:CLOSED-SYN_SENT-ESTABLISHED-FIN_WAIT_1-FIN_WAIT_2-TIME_WAIT-CLOSED以上流程是在程序正常的情況下應(yīng)該有的流程,從書(shū)中的圖中可以看到,在建立連接時(shí),當(dāng)客戶端收到SYN報(bào)文的ACK以后,客戶端就打開(kāi)了數(shù)據(jù)交互地連接。而結(jié)束連接則通常是客戶端主動(dòng)結(jié)束的,客戶端結(jié)束應(yīng)用程序以后,需要經(jīng)歷FIN_WAIT_1,F(xiàn)IN_WAIT_2等狀態(tài),這些狀態(tài)的遷移就是前面提到的結(jié)束連接的四次握手。4.2.服務(wù)器的狀態(tài)遷移圖服務(wù)器的狀態(tài)可以用如下的流程來(lái)表示:CLOSED

11、-LISTEN-SYN收到-ESTABLISHED-CLOSE_WAIT-LAST_ACK-CLOSED在建立連接的時(shí)候,服務(wù)器端是在第三次握手之后才進(jìn)入數(shù)據(jù)交互狀態(tài),而關(guān)閉連接則是在關(guān)閉連接的第二次握手以后(注意不是第四次)。而關(guān)閉以后還要等待客戶端給出最后的ACK包才能進(jìn)入初始的狀態(tài)。4.3.其他狀態(tài)遷移書(shū)中的圖還有一些其他的狀態(tài)遷移,這些狀態(tài)遷移針對(duì)服務(wù)器和客戶端兩方面的總結(jié)如下LISTEN-SYN_SENT,對(duì)于這個(gè)解釋就很簡(jiǎn)單了,服務(wù)器有時(shí)候也要打開(kāi)連接的嘛。 SYN_SENT-SYN收到,服務(wù)器和客戶端在SYN_SENT狀態(tài)下如果收到SYN數(shù)據(jù)報(bào),則都需要發(fā)送SYN的ACK數(shù)據(jù)報(bào)并

12、把自己的狀態(tài)調(diào)整到SYN收到狀態(tài),準(zhǔn)備進(jìn)入ESTABLISHED SYN_SENT-CLOSED,在發(fā)送超時(shí)的情況下,會(huì)返回到CLOSED狀態(tài)。 SYN_收到-LISTEN,如果受到RST包,會(huì)返回到LISTEN狀態(tài)。 SYN_收到-FIN_WAIT_1,這個(gè)遷移是說(shuō),可以不用到ESTABLISHED狀態(tài),而可以直接跳轉(zhuǎn)到FIN_WAIT_1狀態(tài)并等待關(guān)閉。 MSL等待狀態(tài)書(shū)中給的圖里面,有一個(gè)TIME_WAIT等待狀態(tài),這個(gè)狀態(tài)又叫做2MSL狀態(tài),說(shuō)的是在TIME_WAIT2發(fā)送了最后一個(gè)ACK數(shù)據(jù)報(bào)以后,要進(jìn)入TIME_WAIT狀態(tài),這個(gè)狀態(tài)是防止最后一次握手的數(shù)據(jù)報(bào)沒(méi)有傳送到對(duì)方那里而準(zhǔn)

13、備的(注意這不是四次握手,這是第四次握手的保險(xiǎn)狀態(tài))。這個(gè)狀態(tài)在很大程度上保證了雙方都可以正常結(jié)束,但是,問(wèn)題也來(lái)了。由于插口的2MSL狀態(tài)(插口是IP和端口對(duì)的意思,socket),使得應(yīng)用程序在2MSL時(shí)間內(nèi)是無(wú)法再次使用同一個(gè)插口的,對(duì)于客戶程序還好一些,但是對(duì)于服務(wù)程序,例如httpd,它總是要使用同一個(gè)端口來(lái)進(jìn)行服務(wù),而在2MSL時(shí)間內(nèi),啟動(dòng)httpd就會(huì)出現(xiàn)錯(cuò)誤(插口被使用)。為了避免這個(gè)錯(cuò)誤,服務(wù)器給出了一個(gè)平靜時(shí)間的概念,這是說(shuō)在2MSL時(shí)間內(nèi),雖然可以重新啟動(dòng)服務(wù)器,但是這個(gè)服務(wù)器還是要平靜的等待2MSL時(shí)間的過(guò)去才能進(jìn)行下一次連接。4.5.FIN_WAIT_2狀態(tài)這就是著名

14、的半關(guān)閉的狀態(tài)了,這是在關(guān)閉連接時(shí),客戶端和服務(wù)器兩次握手之后的狀態(tài)。在這個(gè)狀態(tài)下,應(yīng)用程序還有接受數(shù)據(jù)的能力,但是已經(jīng)無(wú)法發(fā)送數(shù)據(jù),但是也有一種可能是,客戶端一直處于FIN_WAIT_2狀態(tài),而服務(wù)器則一直處于WAIT_CLOSE狀態(tài),而直到應(yīng)用層來(lái)決定關(guān)閉這個(gè)狀態(tài)。5.RST,同時(shí)打開(kāi)和同時(shí)關(guān)閉RST是另一種關(guān)閉連接的方式,應(yīng)用程序應(yīng)該可以判斷RST包的真實(shí)性,即是否為異常中止。而同時(shí)打開(kāi)和同時(shí)關(guān)閉則是兩種特殊的TCP狀態(tài),發(fā)生的概率很小。6.TCP服務(wù)器設(shè)計(jì)前面曾經(jīng)講述過(guò)UDP的服務(wù)器設(shè)計(jì),可以發(fā)現(xiàn)UDP的服務(wù)器完全不需要所謂的并發(fā)機(jī)制,它只要建立一個(gè)數(shù)據(jù)輸入隊(duì)列就可以。但是TCP不同,

15、TCP服務(wù)器對(duì)于每一個(gè)連接都需要建立一個(gè)獨(dú)立的進(jìn)程(或者是輕量級(jí)的,線程),來(lái)保證對(duì)話的獨(dú)立性。所以TCP服務(wù)器是并發(fā)的。而且TCP還需要配備一個(gè)呼入連接請(qǐng)求隊(duì)列(UDP服務(wù)器也同樣不需要),來(lái)為每一個(gè)連接請(qǐng)求建立對(duì)話進(jìn)程,這也就是為什么各種TCP服務(wù)器都有一個(gè)最大連接數(shù)的原因。而根據(jù)源主機(jī)的IP和端口號(hào)碼,服務(wù)器可以很輕松的區(qū)別出不同的會(huì)話,來(lái)進(jìn)行數(shù)據(jù)的分發(fā)。掌握本章的狀態(tài)遷移圖才是學(xué)習(xí)本章的關(guān)鍵。TCP是一個(gè)面向連接的協(xié)議,所以在連接雙方發(fā)送數(shù)據(jù)之前,都需要首先建立一條連接。這和前面講到的協(xié)議完全不同。前面講的所有協(xié)議都只是發(fā)送數(shù)據(jù)而已,大多數(shù)都不關(guān)心發(fā)送的數(shù)據(jù)是不是送到,UDP尤其明顯,

16、從編程的角度來(lái)說(shuō),UDP編程也要簡(jiǎn)單的多-UDP都不用考慮數(shù)據(jù)分片。書(shū)中用telnet登陸退出來(lái)解釋TCP協(xié)議連接的建立和中止的過(guò)程,可以看到,TCP連接的建立可以簡(jiǎn)單的稱為三次握手,而連接的中止則可以叫做四次握手。1.連接的建立在建立連接的時(shí)候,客戶端首先向服務(wù)器申請(qǐng)打開(kāi)某一個(gè)端口(用SYN段等于1的TCP報(bào)文),然后服務(wù)器端發(fā)回一個(gè)ACK報(bào)文通知客戶端請(qǐng)求報(bào)文收到,客戶端收到確認(rèn)報(bào)文以后再次發(fā)出確認(rèn)報(bào)文確認(rèn)剛才服務(wù)器端發(fā)出的確認(rèn)報(bào)文(繞口么),至此,連接的建立完成。這就叫做三次握手。如果打算讓雙方都做好準(zhǔn)備的話,一定要發(fā)送三次報(bào)文,而且只需要三次報(bào)文就可以了??梢韵胍?jiàn),如果再加上TCP的超

17、時(shí)重傳機(jī)制,那么TCP就完全可以保證一個(gè)數(shù)據(jù)包被送到目的地。2.結(jié)束連接TCP有一個(gè)特別的概念叫做half-close,這個(gè)概念是說(shuō),TCP的連接是全雙工(可以同時(shí)發(fā)送和接收)連接,因此在關(guān)閉連接的時(shí)候,必須關(guān)閉傳和送兩個(gè)方向上的連接。客戶機(jī)給服務(wù)器一個(gè)FIN為1的TCP報(bào)文,然后服務(wù)器返回給客戶端一個(gè)確認(rèn)ACK報(bào)文,并且發(fā)送一個(gè)FIN報(bào)文,當(dāng)客戶機(jī)回復(fù)ACK報(bào)文后(四次握手),連接就結(jié)束了。3.最大報(bào)文長(zhǎng)度在建立連接的時(shí)候,通信的雙方要互相確認(rèn)對(duì)方的最大報(bào)文長(zhǎng)度(MSS),以便通信。一般這個(gè)SYN長(zhǎng)度是MTU減去固定IP首部和TCP首部長(zhǎng)度。對(duì)于一個(gè)以太網(wǎng),一般可以達(dá)到1460字節(jié)。當(dāng)然如果

18、對(duì)于非本地的IP,這個(gè)MSS可能就只有536字節(jié),而且,如果中間的傳輸網(wǎng)絡(luò)的MSS更佳的小的話,這個(gè)值還會(huì)變得更小。4.TCP的狀態(tài)遷移圖書(shū)P182頁(yè)給出了TCP的狀態(tài)圖,這是一個(gè)看起來(lái)比較復(fù)雜的狀態(tài)遷移圖,因?yàn)樗藘蓚€(gè)部分-服務(wù)器的狀態(tài)遷移和客戶端的狀態(tài)遷移,如果從某一個(gè)角度出發(fā)來(lái)看這個(gè)圖,就會(huì)清晰許多,這里面的服務(wù)器和客戶端都不是絕對(duì)的,發(fā)送數(shù)據(jù)的就是客戶端,接受數(shù)據(jù)的就是服務(wù)器。4.1.客戶端應(yīng)用程序的狀態(tài)遷移圖客戶端的狀態(tài)可以用如下的流程來(lái)表示:CLOSED-SYN_SENT-ESTABLISHED-FIN_WAIT_1-FIN_WAIT_2-TIME_WAIT-CLOSED以上流

19、程是在程序正常的情況下應(yīng)該有的流程,從書(shū)中的圖中可以看到,在建立連接時(shí),當(dāng)客戶端收到SYN報(bào)文的ACK以后,客戶端就打開(kāi)了數(shù)據(jù)交互地連接。而結(jié)束連接則通常是客戶端主動(dòng)結(jié)束的,客戶端結(jié)束應(yīng)用程序以后,需要經(jīng)歷FIN_WAIT_1,F(xiàn)IN_WAIT_2等狀態(tài),這些狀態(tài)的遷移就是前面提到的結(jié)束連接的四次握手。4.2.服務(wù)器的狀態(tài)遷移圖服務(wù)器的狀態(tài)可以用如下的流程來(lái)表示:CLOSED-LISTEN-SYN收到-ESTABLISHED-CLOSE_WAIT-LAST_ACK-CLOSED在建立連接的時(shí)候,服務(wù)器端是在第三次握手之后才進(jìn)入數(shù)據(jù)交互狀態(tài),而關(guān)閉連接則是在關(guān)閉連接的第二次握手以后(注意不是第四

20、次)。而關(guān)閉以后還要等待客戶端給出最后的ACK包才能進(jìn)入初始的狀態(tài)。4.3.其他狀態(tài)遷移書(shū)中的圖還有一些其他的狀態(tài)遷移,這些狀態(tài)遷移針對(duì)服務(wù)器和客戶端兩方面的總結(jié)如下LISTEN-SYN_SENT,對(duì)于這個(gè)解釋就很簡(jiǎn)單了,服務(wù)器有時(shí)候也要打開(kāi)連接的嘛。 SYN_SENT-SYN收到,服務(wù)器和客戶端在SYN_SENT狀態(tài)下如果收到SYN數(shù)據(jù)報(bào),則都需要發(fā)送SYN的ACK數(shù)據(jù)報(bào)并把自己的狀態(tài)調(diào)整到SYN收到狀態(tài),準(zhǔn)備進(jìn)入ESTABLISHED SYN_SENT-CLOSED,在發(fā)送超時(shí)的情況下,會(huì)返回到CLOSED狀態(tài)。 SYN_收到-LISTEN,如果受到RST包,會(huì)返回到LISTEN狀態(tài)。 SYN_收到-FIN_WAIT_1,這個(gè)遷移是說(shuō),可以不用到ESTABLISHED狀態(tài),而可以直接跳轉(zhuǎn)到FIN_WAIT_1狀態(tài)并等待關(guān)閉。 4.4.2MSL等待狀態(tài)書(shū)中給的圖里面,有一個(gè)TIME_WAIT等待狀態(tài),這個(gè)狀態(tài)又叫做2MSL狀態(tài),說(shuō)的是在TIME_WAIT2發(fā)送了最后一個(gè)ACK數(shù)據(jù)報(bào)以后,要進(jìn)入TIME_WAIT狀態(tài),這個(gè)狀態(tài)是防止最后一次握手的數(shù)據(jù)報(bào)沒(méi)有傳送到對(duì)方那里而準(zhǔn)備的(注意這不是四次握手,這是第四次握手的保險(xiǎn)狀態(tài))。這個(gè)狀態(tài)在很大程度上保證了雙方都可以正常結(jié)束,但是,問(wèn)題也來(lái)了。由于插口的2MSL狀態(tài)(插口是IP和端口對(duì)的意思,s

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論