計算機網(wǎng)絡(luò)基礎(chǔ) (8)_第1頁
計算機網(wǎng)絡(luò)基礎(chǔ) (8)_第2頁
計算機網(wǎng)絡(luò)基礎(chǔ) (8)_第3頁
計算機網(wǎng)絡(luò)基礎(chǔ) (8)_第4頁
計算機網(wǎng)絡(luò)基礎(chǔ) (8)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、9-1中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育9-2中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育本章學(xué)習(xí)要求本章學(xué)習(xí)要求:掌握:掌握:FTPFTP的概念的概念掌握:掌握:FTPFTP的兩種文件傳輸?shù)臄?shù)據(jù)格式的兩種文件傳輸?shù)臄?shù)據(jù)格式掌握:掌握:FTPFTP的兩種工作模式及其工作原理的兩種工作模式及其工作原理掌握:掌握:FTPFTP的連接的連接了解:了解:TFTPTFTP協(xié)議的基本概念及其分組結(jié)構(gòu)協(xié)議的基本概念及其分組結(jié)構(gòu)9-3中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育9.1 FTPFTP的概念的概念FTP 是是 TCP/IP 協(xié)議組中的協(xié)議之一,是協(xié)議組中的協(xié)議之一,是File Transfer Protocol 的縮的縮寫。該協(xié)議是寫。該協(xié)

2、議是Internet文件傳送的基礎(chǔ),它由一系列規(guī)格說明文檔組成,文件傳送的基礎(chǔ),它由一系列規(guī)格說明文檔組成,目標(biāo)是提高文件的共享性,提供非直接使用遠(yuǎn)程計算機,使存儲介質(zhì)對用目標(biāo)是提高文件的共享性,提供非直接使用遠(yuǎn)程計算機,使存儲介質(zhì)對用戶透明和可靠高效地傳送數(shù)據(jù)。簡單的說,戶透明和可靠高效地傳送數(shù)據(jù)。簡單的說,F(xiàn)TP就是完成兩臺計算機之間就是完成兩臺計算機之間的拷貝,從遠(yuǎn)程計算機拷貝文件至自己的計算機上,稱之為的拷貝,從遠(yuǎn)程計算機拷貝文件至自己的計算機上,稱之為“下載下載(download)”文件。若將文件從自己計算機中拷貝至遠(yuǎn)程計算機上,則文件。若將文件從自己計算機中拷貝至遠(yuǎn)程計算機上,則稱

3、之為稱之為“上載(上載(upload)”文件。在文件。在TCP/IP協(xié)議中,協(xié)議中,F(xiàn)TP標(biāo)準(zhǔn)命令標(biāo)準(zhǔn)命令TCP端端口號為口號為21,Port方式數(shù)據(jù)端口為方式數(shù)據(jù)端口為20。FTP服務(wù)器和客戶端服務(wù)器和客戶端同大多數(shù)同大多數(shù)Internet服務(wù)一樣,服務(wù)一樣,F(xiàn)TP也是一個客戶也是一個客戶/服務(wù)器系統(tǒng)。用戶通服務(wù)器系統(tǒng)。用戶通過一個客戶機程序連接至在遠(yuǎn)程計算機上運行的服務(wù)器程序。依照過一個客戶機程序連接至在遠(yuǎn)程計算機上運行的服務(wù)器程序。依照 FTP 協(xié)協(xié)議提供服務(wù),進行文件傳送的計算機就是議提供服務(wù),進行文件傳送的計算機就是 FTP 服務(wù)器,而連接服務(wù)器,而連接FTP服務(wù)器,服務(wù)器,遵循遵循

4、FTP協(xié)議與服務(wù)器傳送文件的電腦就是協(xié)議與服務(wù)器傳送文件的電腦就是FTP客戶端。用戶要連上客戶端。用戶要連上 FTP 服務(wù)器,就要用到服務(wù)器,就要用到 FPT 的客戶端軟件,通常的客戶端軟件,通常 Windows自帶自帶“ftp”命令,這命令,這是一個命令行的是一個命令行的 FTP 客戶程序,另外常用的客戶程序,另外常用的 FTP 客戶程序還有客戶程序還有 CuteFTP、Ws_FTP、Flashfxp、LeapFTP、流星雨、流星雨-貓眼等。貓眼等。 9-4中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育FTP用戶授權(quán)用戶授權(quán)用戶授權(quán):要連上用戶授權(quán):要連上 FTP 服務(wù)器(即服務(wù)器(即“登錄登錄”),只有在有了

5、一個用戶),只有在有了一個用戶標(biāo)識和一個口令后才能登陸標(biāo)識和一個口令后才能登陸FTP服務(wù)器,享受服務(wù)器,享受FTP服務(wù)器提供的服務(wù)。服務(wù)器提供的服務(wù)。 FTP地址格式:地址格式:ftp:/用戶名用戶名:密碼密碼FTP服務(wù)器服務(wù)器IP或域名或域名.路徑路徑/文件名文件名上面的參數(shù)除上面的參數(shù)除FTP服務(wù)器服務(wù)器IP或域名為必要項外,其他都不是必須的?;蛴蛎麨楸匾椡?,其他都不是必須的。如以下地址都是有效如以下地址都是有效FTP地址:地址:ftp:/list:ftp:/list:listfoolish.6600.or

6、g:2003ftp:/list::2003/soft/list.txt匿名匿名FTP:互連網(wǎng)中有很大一部分:互連網(wǎng)中有很大一部分 FTP 服務(wù)器被稱為服務(wù)器被稱為“匿名匿名” (Anonymous) FTP 服務(wù)器。它不要求用戶事先在該服務(wù)器進行登記注服務(wù)器。它不要求用戶事先在該服務(wù)器進行登記注冊,也不用取得冊,也不用取得FTP服務(wù)器的授權(quán)。服務(wù)器的授權(quán)。Anonymous(匿名文件傳輸)能(匿名文件傳輸)能夠使用戶與遠(yuǎn)程主機建立連接并以匿名身份從遠(yuǎn)程主機上拷貝文件,夠使用戶與遠(yuǎn)程主機建立連接并以匿名身份從遠(yuǎn)程主機上拷貝文件,而不必是該遠(yuǎn)程主機的注冊用戶

7、。用戶使用特殊的用戶名而不必是該遠(yuǎn)程主機的注冊用戶。用戶使用特殊的用戶名“anonymous”登錄登錄FTP服務(wù),就可訪問遠(yuǎn)程主機上公開的文件。雖然服務(wù),就可訪問遠(yuǎn)程主機上公開的文件。雖然目前使用目前使用WWW環(huán)境已取代匿名環(huán)境已取代匿名FTP成為最主要的信息查詢方式,但成為最主要的信息查詢方式,但是匿名是匿名FTP仍是仍是 Internet上傳輸分發(fā)軟件的一種基本方法。上傳輸分發(fā)軟件的一種基本方法。9-5中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育9.1.1 FTP文件傳輸?shù)臄?shù)據(jù)格式文件傳輸?shù)臄?shù)據(jù)格式假設(shè)兩臺計算機通過假設(shè)兩臺計算機通過ftp協(xié)議對話,并且能訪問協(xié)議對話,并且能訪問Internet,就可以用,

8、就可以用ftp命命令來傳輸文件。每種操作系統(tǒng)使用上有某一些細(xì)微差別,但是每種協(xié)議基本令來傳輸文件。每種操作系統(tǒng)使用上有某一些細(xì)微差別,但是每種協(xié)議基本的命令結(jié)構(gòu)是相同的。的命令結(jié)構(gòu)是相同的。FTP的文件傳輸有兩種數(shù)據(jù)格式:的文件傳輸有兩種數(shù)據(jù)格式:ASCII傳輸格式和傳輸格式和二進制數(shù)據(jù)傳輸格式。二進制數(shù)據(jù)傳輸格式。ASCII傳輸格式:用于傳輸傳輸格式:用于傳輸ASCII碼文本,如果在遠(yuǎn)程機器上運行的不是碼文本,如果在遠(yuǎn)程機器上運行的不是UNIX,當(dāng)文件傳輸時,當(dāng)文件傳輸時ftp通常會自動地調(diào)整文件的內(nèi)容以便于把文件解通常會自動地調(diào)整文件的內(nèi)容以便于把文件解釋成另外那臺計算機存儲文本文件的格式

9、。釋成另外那臺計算機存儲文本文件的格式。如果用戶傳輸?shù)奈募皇俏谋疚募诳截惾魏畏俏谋疚募?,用如果用戶傳輸?shù)奈募皇俏谋疚募?,在拷貝任何非文本文件之前,用binary 命令告訴命令告訴ftp逐字拷貝,不要對這些文件進行處理,這也是下面要逐字拷貝,不要對這些文件進行處理,這也是下面要講的二進制傳輸。講的二進制傳輸。二進制傳輸格式:在二進制傳輸中,保存文件的位序,以便原始和拷貝二進制傳輸格式:在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一的是逐位一 一一 對應(yīng)的。即使目的地機器上包含位序列的文件是沒意義的。對應(yīng)的。即使目的地機器上包含位序列的文件是沒意義的。如果你在如果你在ASCI

10、I方式下傳輸二進制文件,即使不需要也仍會轉(zhuǎn)譯。這會方式下傳輸二進制文件,即使不需要也仍會轉(zhuǎn)譯。這會使傳輸稍微變慢使傳輸稍微變慢 ,也會損壞數(shù)據(jù),使文件變得不能用。(在大多數(shù)計算機上,也會損壞數(shù)據(jù),使文件變得不能用。(在大多數(shù)計算機上,ASCII方式一般假設(shè)每一字符的第一有效位無意義,因為方式一般假設(shè)每一字符的第一有效位無意義,因為ASCII字符組合不字符組合不使用它。使用它。9-6中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育FTP支持兩種模式,一種方式叫做支持兩種模式,一種方式叫做Standard (也就是也就是 PORT方方式,主動方式式,主動方式),一種是,一種是 Passive (也就是也就是PASV,被

11、動方式,被動方式)。 Standard模式模式 FTP的客戶端發(fā)送的客戶端發(fā)送 PORT 命令到命令到FTP服務(wù)器。服務(wù)器。Passive模式模式FTP的客戶端發(fā)送的客戶端發(fā)送 PASV命令到命令到 FTP Server。下面介紹。下面介紹一個這兩種方式的工作原理:一個這兩種方式的工作原理:Port模式模式FTP 客戶端首先和客戶端首先和FTP服務(wù)器的服務(wù)器的TCP 21端口建立連端口建立連接,通過這個通道發(fā)送命令,客戶端需要接收數(shù)據(jù)的時候在這個通接,通過這個通道發(fā)送命令,客戶端需要接收數(shù)據(jù)的時候在這個通道上發(fā)送道上發(fā)送PORT命令。命令。 PORT命令包含了客戶端用什么端口接收數(shù)命令包含了客

12、戶端用什么端口接收數(shù)據(jù)。在傳送數(shù)據(jù)的時候,服務(wù)器端通過自己的據(jù)。在傳送數(shù)據(jù)的時候,服務(wù)器端通過自己的TCP 20端口連接至客端口連接至客戶端的指定端口發(fā)送數(shù)據(jù)。戶端的指定端口發(fā)送數(shù)據(jù)。 FTP server必須和客戶端建立一個新的必須和客戶端建立一個新的連接用來傳送數(shù)據(jù)。連接用來傳送數(shù)據(jù)。Passive模式在建立控制通道的時候和模式在建立控制通道的時候和Standard模式類似,但模式類似,但建立連接后發(fā)送的不是建立連接后發(fā)送的不是Port命令,而是命令,而是Pasv命令。命令。FTP服務(wù)器收到服務(wù)器收到Pasv命令后,隨機打開一個高端端口(端口號大于命令后,隨機打開一個高端端口(端口號大于1

13、024)并且通知)并且通知客戶端在這個端口上傳送數(shù)據(jù)的請求,客戶端連接客戶端在這個端口上傳送數(shù)據(jù)的請求,客戶端連接FTP服務(wù)器此端服務(wù)器此端口,然后口,然后FTP服務(wù)器將通過這個端口進行數(shù)據(jù)的傳送,這個時候服務(wù)器將通過這個端口進行數(shù)據(jù)的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。不再需要建立一個新的和客戶端之間的連接。9.1.2 FTP的工作方式的工作方式9-7中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育9.1.3 FTP服務(wù)命令服務(wù)命令 FTP服務(wù)命令定義用戶請求的文件傳輸或文件系統(tǒng)功能。此命服務(wù)命令定義用戶請求的文件傳輸或文件系統(tǒng)功能。此命令的參數(shù)通常是路徑名,其語法要和服務(wù)器

14、的規(guī)范一致。推薦的默令的參數(shù)通常是路徑名,其語法要和服務(wù)器的規(guī)范一致。推薦的默認(rèn)值是最近指定的設(shè)備目錄或目錄。命令順序通常沒有限制,只有認(rèn)值是最近指定的設(shè)備目錄或目錄。命令順序通常沒有限制,只有“rename from”命令后面必須是命令后面必須是“rename to”,重新啟動命令后面,重新啟動命令后面必須是中斷服務(wù)命令。服務(wù)命令的響應(yīng)通常在數(shù)據(jù)連接上傳輸。下必須是中斷服務(wù)命令。服務(wù)命令的響應(yīng)通常在數(shù)據(jù)連接上傳輸。下面是具體的命令:面是具體的命令:獲得文件獲得文件(RETR) :使服務(wù)器:使服務(wù)器DTP傳送指定路徑內(nèi)的文件復(fù)制到服傳送指定路徑內(nèi)的文件復(fù)制到服務(wù)器或用戶務(wù)器或用戶DTP。服務(wù)器

15、上文件的狀態(tài)和內(nèi)容不受影響。服務(wù)器上文件的狀態(tài)和內(nèi)容不受影響。保存保存(STOR) :使服務(wù)器:使服務(wù)器DTP接收數(shù)據(jù)連接上傳送過來的數(shù)據(jù),并接收數(shù)據(jù)連接上傳送過來的數(shù)據(jù),并將數(shù)據(jù)保存在服務(wù)器的文件中。如果文件已存在,原文件將被覆蓋。將數(shù)據(jù)保存在服務(wù)器的文件中。如果文件已存在,原文件將被覆蓋。如果文件不存在,則新建文件。如果文件不存在,則新建文件。唯一保存唯一保存(STOU) :此命令和:此命令和STOR差不多,要求在此目錄下的文差不多,要求在此目錄下的文件名是唯一的,對此命令的響應(yīng)必須包括產(chǎn)生的用戶名。件名是唯一的,對此命令的響應(yīng)必須包括產(chǎn)生的用戶名。附加附加(APPE) :它和:它和STO

16、R的功能差不多,但是如果文件在指定路徑的功能差不多,但是如果文件在指定路徑內(nèi)已存在,則把數(shù)據(jù)附加到原文件尾部,如果不存在則新建文件。內(nèi)已存在,則把數(shù)據(jù)附加到原文件尾部,如果不存在則新建文件。9-8中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育分配分配(ALLO) :此命令用于在主機上為新傳送的文件分配足夠的存:此命令用于在主機上為新傳送的文件分配足夠的存儲空間。參數(shù)是十進制的邏輯字節(jié)數(shù)。如果是記錄或頁結(jié)構(gòu),頁或儲空間。參數(shù)是十進制的邏輯字節(jié)數(shù)。如果是記錄或頁結(jié)構(gòu),頁或記錄的最大大小也需要,這在第二個參數(shù)內(nèi)以十進制指定。第二個記錄的最大大小也需要,這在第二個參數(shù)內(nèi)以十進制指定。第二個參數(shù)是可選的,如果有它,它和第一

17、個參數(shù)以參數(shù)是可選的,如果有它,它和第一個參數(shù)以Telnet字符字符 R 分隔。分隔。此命令在此命令在STOR或或APPE命令后,對于不需要分配存儲空間的機器,命令后,對于不需要分配存儲空間的機器,它的作用等于它的作用等于NOOP。重新開始重新開始(REST):參數(shù)域代表服務(wù)器要重新開始的那一點,此命:參數(shù)域代表服務(wù)器要重新開始的那一點,此命令并不傳送文件,而是略過指定點后的數(shù)據(jù),此命令后應(yīng)該跟其它令并不傳送文件,而是略過指定點后的數(shù)據(jù),此命令后應(yīng)該跟其它要求文件傳輸?shù)囊笪募鬏數(shù)腇TP命令。命令。重命名重命名(RNFR) :這個命令和我們在其它操作系統(tǒng)中使用的一樣,:這個命令和我們在其它操

18、作系統(tǒng)中使用的一樣,只不過后面要跟只不過后面要跟rename to指定新的文件名。指定新的文件名。重命名為重命名為(RNTO) :此命令和上面的命令共同完成對文件的重命名。:此命令和上面的命令共同完成對文件的重命名。放棄放棄(ABOR) :此命令通知服務(wù)中止以前的:此命令通知服務(wù)中止以前的FTP命令和與之相關(guān)的命令和與之相關(guān)的數(shù)據(jù)傳送。如果先前的操作已經(jīng)完成,則沒有動作,返回數(shù)據(jù)傳送。如果先前的操作已經(jīng)完成,則沒有動作,返回226。如。如果沒有完成,返回果沒有完成,返回426,然后再返回,然后再返回226。關(guān)閉控制連接,數(shù)據(jù)連接。關(guān)閉控制連接,數(shù)據(jù)連接不關(guān)閉。不關(guān)閉。9-9中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)

19、程教育刪除刪除(DELE) :此命令刪除指定路徑下的文件。用戶進程負(fù)責(zé)對刪:此命令刪除指定路徑下的文件。用戶進程負(fù)責(zé)對刪除的提示。除的提示。刪除目錄刪除目錄(RMD) :此命令刪除目錄。:此命令刪除目錄。 創(chuàng)建目錄創(chuàng)建目錄(MKD) :此命令在指定路徑下創(chuàng)建新目錄。:此命令在指定路徑下創(chuàng)建新目錄。 顯示工作目錄顯示工作目錄(PWD):返回當(dāng)前工作目錄。:返回當(dāng)前工作目錄。 列表列表(LIST) :服務(wù)器傳送列表到被動:服務(wù)器傳送列表到被動DTP,如果路徑指定一個目錄,如果路徑指定一個目錄或許多文件,返回指定路徑下的文件列表。如果路徑名指定一個文或許多文件,返回指定路徑下的文件列表。如果路徑名指

20、定一個文件,服務(wù)器返回文件的當(dāng)前信息,參數(shù)為空表示用戶當(dāng)前的工作目件,服務(wù)器返回文件的當(dāng)前信息,參數(shù)為空表示用戶當(dāng)前的工作目錄或默認(rèn)目錄。數(shù)據(jù)傳輸在錄或默認(rèn)目錄。數(shù)據(jù)傳輸在ASCII或或EBCDIC下進行,用戶必須確下進行,用戶必須確認(rèn)這一點。因為文件信息因系統(tǒng)不同而不同,所以不可能被程序自認(rèn)這一點。因為文件信息因系統(tǒng)不同而不同,所以不可能被程序自動利用,但是人類用戶卻很需要。動利用,但是人類用戶卻很需要。名字列表名字列表(NLST):服務(wù)器傳送目錄表名到用戶,路徑名應(yīng)指定目:服務(wù)器傳送目錄表名到用戶,路徑名應(yīng)指定目錄或其它系統(tǒng)指定的文件群描述子;空參數(shù)指當(dāng)前目錄。服務(wù)器返錄或其它系統(tǒng)指定的文

21、件群描述子;空參數(shù)指當(dāng)前目錄。服務(wù)器返回文件名數(shù)據(jù)流,以回文件名數(shù)據(jù)流,以ASCII或或EBCDIC形式傳送,并以或分隔。這形式傳送,并以或分隔。這里返回的信息有時可以供程序進行進一步處理。里返回的信息有時可以供程序進行進一步處理。 站點參數(shù)站點參數(shù)(SITE):服務(wù)器用來提供服務(wù)器系統(tǒng)信息,信息因系統(tǒng)不:服務(wù)器用來提供服務(wù)器系統(tǒng)信息,信息因系統(tǒng)不同而不同,格式在同而不同,格式在HELP SITE命令應(yīng)答中給出。命令應(yīng)答中給出。 系統(tǒng)系統(tǒng)(SYST) :用于確定服務(wù)器上運行的操作系統(tǒng)。:用于確定服務(wù)器上運行的操作系統(tǒng)。9-10中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育狀態(tài)狀態(tài)(STAT) :此命令返回控制連接

22、狀態(tài),它可以在文件傳送過程中發(fā):此命令返回控制連接狀態(tài),它可以在文件傳送過程中發(fā)送,服務(wù)器返回操作進行的狀態(tài)。也可以在文件傳送之間發(fā)送,這時送,服務(wù)器返回操作進行的狀態(tài)。也可以在文件傳送之間發(fā)送,這時命令有參數(shù),參數(shù)是路徑名,此命令的功能除了數(shù)據(jù)在控制連接上傳命令有參數(shù),參數(shù)是路徑名,此命令的功能除了數(shù)據(jù)在控制連接上傳送以外和列表命令相似。如果指定部分路徑,服務(wù)器以文件名或與說送以外和列表命令相似。如果指定部分路徑,服務(wù)器以文件名或與說明相關(guān)的屬性返回;如沒有參數(shù),服務(wù)器返回服務(wù)器明相關(guān)的屬性返回;如沒有參數(shù),服務(wù)器返回服務(wù)器FTP進程的狀態(tài)進程的狀態(tài)信息,包括傳輸參數(shù)的當(dāng)前值和連接狀態(tài)。信息

23、,包括傳輸參數(shù)的當(dāng)前值和連接狀態(tài)。幫助幫助(HELP):這條命令我們在平常系統(tǒng)中得到的幫助沒有什么區(qū)別,:這條命令我們在平常系統(tǒng)中得到的幫助沒有什么區(qū)別,響應(yīng)類型是響應(yīng)類型是211或或214。建議在使用。建議在使用USER命令前使用此命令。命令前使用此命令。等待等待(NOOP):此命令不產(chǎn)生什么實際動作,它僅使服務(wù)器返回:此命令不產(chǎn)生什么實際動作,它僅使服務(wù)器返回OK。FTP在控制連接上使用在控制連接上使用Telnet通信,通信,F(xiàn)TP命令可分為訪問控制標(biāo)記,命令可分為訪問控制標(biāo)記,數(shù)據(jù)傳輸參數(shù)或數(shù)據(jù)傳輸參數(shù)或FTP服務(wù)請求,特定的命令(如服務(wù)請求,特定的命令(如ABOR,STAT)可以)可以

24、在數(shù)據(jù)傳輸過程中在控制連接上傳輸。有些服務(wù)器不能同時監(jiān)視數(shù)據(jù)在數(shù)據(jù)傳輸過程中在控制連接上傳輸。有些服務(wù)器不能同時監(jiān)視數(shù)據(jù)和控制鏈路,那就要另外采取措施了。請注意下面的幾點建議:和控制鏈路,那就要另外采取措施了。請注意下面的幾點建議: 用戶系統(tǒng)將用戶系統(tǒng)將Telnet的的“Interrupt Process”(IP)信息插入)信息插入Telnet流;流; 用戶系統(tǒng)發(fā)送用戶系統(tǒng)發(fā)送Telnet的的“Synch”信號;信號; 用戶系統(tǒng)將命令(如用戶系統(tǒng)將命令(如ABOR)插入)插入Telnet流;流; 服務(wù)器服務(wù)器PI在接收到在接收到IP后,在后,在Telnet流中尋找僅有一個的流中尋找僅有一個的F

25、TP命令。命令。9-11中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育9.1.4 FTP客戶和服務(wù)器連接客戶和服務(wù)器連接 我們以標(biāo)準(zhǔn)的我們以標(biāo)準(zhǔn)的FTP端口號為例,介紹端口號為例,介紹 FTP客戶和服務(wù)器連接客戶和服務(wù)器連接過程。過程。首先,首先,F(xiàn)TP并不像并不像HTTP協(xié)議那樣,只需要一個端口作為連接協(xié)議那樣,只需要一個端口作為連接(HTTP的默認(rèn)端口是的默認(rèn)端口是80,F(xiàn)TP的默認(rèn)端口是的默認(rèn)端口是21),),F(xiàn)TP需要需要2個端個端口,一個端口是作為控制連接端口口,一個端口是作為控制連接端口,也就是也就是21這個端口,用于發(fā)送這個端口,用于發(fā)送指令給服務(wù)器以及等待服務(wù)器響應(yīng);另一個端口是數(shù)據(jù)傳輸端口指令給

26、服務(wù)器以及等待服務(wù)器響應(yīng);另一個端口是數(shù)據(jù)傳輸端口,端口號為端口號為20(僅(僅PORT模式),是用來建立數(shù)據(jù)傳輸通道的,主要模式),是用來建立數(shù)據(jù)傳輸通道的,主要有有3個作用:個作用: 從客戶向服務(wù)器發(fā)送一個文件。從客戶向服務(wù)器發(fā)送一個文件。從服務(wù)器向客戶發(fā)送一個文件。從服務(wù)器向客戶發(fā)送一個文件。從服務(wù)器向客戶發(fā)送文件或目錄列表。從服務(wù)器向客戶發(fā)送文件或目錄列表。其次,其次,F(xiàn)TP的連接模式有兩種,的連接模式有兩種,PORT和和PASV。PORT模式是模式是一個主動模式,一個主動模式,PASV是被動模式,這里都是相對于服務(wù)器而言的。是被動模式,這里都是相對于服務(wù)器而言的。為了讓大家清楚的認(rèn)識

27、這兩種模式,分別舉例說明。為了讓大家清楚的認(rèn)識這兩種模式,分別舉例說明。9-12中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育PORT模式模式當(dāng)當(dāng)FTP客戶以客戶以PORT模式連接服務(wù)器時,他動態(tài)的選擇一個端口號(本次試驗是模式連接服務(wù)器時,他動態(tài)的選擇一個端口號(本次試驗是6015)連接服務(wù)器的)連接服務(wù)器的21端口,注意這個端口號一定是端口,注意這個端口號一定是1024以上的,因為以上的,因為1024以前的端以前的端口都已經(jīng)預(yù)先被定義好,被一些典型的服務(wù)使用,當(dāng)然有的還沒使用,保留給以后會口都已經(jīng)預(yù)先被定義好,被一些典型的服務(wù)使用,當(dāng)然有的還沒使用,保留給以后會用到這些端口的資源服務(wù)。當(dāng)經(jīng)過用到這些端口的資源

28、服務(wù)。當(dāng)經(jīng)過TCP的三次握手后,連接(控制信道)被建立(如的三次握手后,連接(控制信道)被建立(如圖圖1和圖和圖2)。)。 圖圖1:FTP客戶使用客戶使用FTP命令建立于服務(wù)器的連接命令建立于服務(wù)器的連接 圖圖2:用:用netstat命令查看,控制信道被建立在客戶機的命令查看,控制信道被建立在客戶機的6015和服務(wù)器的和服務(wù)器的20端口端口 9-13中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育現(xiàn)在用戶要列出服務(wù)器上的目錄結(jié)構(gòu)現(xiàn)在用戶要列出服務(wù)器上的目錄結(jié)構(gòu)(使用使用ls或或dir命令命令),那么首先就要,那么首先就要建立一個數(shù)據(jù)通道,因為只有數(shù)據(jù)通道才能傳輸目錄和文件列表,此時用戶建立一個數(shù)據(jù)通道,因為只有數(shù)據(jù)

29、通道才能傳輸目錄和文件列表,此時用戶會發(fā)出會發(fā)出PORT指令告訴服務(wù)器連接自己的什么端口來建立一條數(shù)據(jù)通道(這指令告訴服務(wù)器連接自己的什么端口來建立一條數(shù)據(jù)通道(這個命令由控制信道發(fā)送給服務(wù)器),當(dāng)服務(wù)器接到這一指令時,服務(wù)器會使個命令由控制信道發(fā)送給服務(wù)器),當(dāng)服務(wù)器接到這一指令時,服務(wù)器會使用用20端口連接用戶在端口連接用戶在PORT指令中指定的端口號,用以發(fā)送目錄的列表(如指令中指定的端口號,用以發(fā)送目錄的列表(如圖圖3)。)。 圖圖3:ls命令是一個交互命令,它會首先與服務(wù)器建立一個數(shù)據(jù)命令是一個交互命令,它會首先與服務(wù)器建立一個數(shù)據(jù)傳輸通道。經(jīng)驗證本次試驗客戶機使用傳輸通道。經(jīng)驗證本

30、次試驗客戶機使用6044端口端口 9-14中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育當(dāng)完成這一操作時,當(dāng)完成這一操作時,F(xiàn)TP客戶也許要下載一個文件,那么就會發(fā)出客戶也許要下載一個文件,那么就會發(fā)出get指令,請注意,這時客戶會再次發(fā)送指令,請注意,這時客戶會再次發(fā)送PORT指令,告訴服務(wù)器連接他的哪個指令,告訴服務(wù)器連接他的哪個新新端口,你可以先用端口,你可以先用netstat -na這個命令驗證,上一次使用的這個命令驗證,上一次使用的6044已經(jīng)處于已經(jīng)處于TIME_WAIT狀態(tài)狀態(tài)(如圖如圖4)。圖圖4:使用:使用netstat命令驗證上一次使用命令驗證上一次使用ls命令建立的數(shù)據(jù)傳輸通道已經(jīng)關(guān)閉命令建

31、立的數(shù)據(jù)傳輸通道已經(jīng)關(guān)閉 當(dāng)這個新的數(shù)據(jù)傳輸通道建立后當(dāng)這個新的數(shù)據(jù)傳輸通道建立后(在微軟的系統(tǒng)中,客戶端通常會使用在微軟的系統(tǒng)中,客戶端通常會使用連續(xù)的端口,也就是說這一次客戶端會用連續(xù)的端口,也就是說這一次客戶端會用6045這個端口這個端口),就開始了文件傳輸,就開始了文件傳輸?shù)墓ぷ?。的工作?9-15中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育PASV模式模式在初始化連接服務(wù)器這個過程和在初始化連接服務(wù)器這個過程和PORT模式是一樣的,不同的是,當(dāng)模式是一樣的,不同的是,當(dāng)FTP客戶發(fā)送客戶發(fā)送ls、dir、get等這些要求數(shù)據(jù)返回的命令時,他不向服務(wù)器發(fā)送等這些要求數(shù)據(jù)返回的命令時,他不向服務(wù)器發(fā)送PO

32、RT指令而是發(fā)送指令而是發(fā)送PASV指令,在這個指令中,用戶告訴服務(wù)器自己要連指令,在這個指令中,用戶告訴服務(wù)器自己要連接服務(wù)器的某一個端口,如果這個服務(wù)器上的這個端口是空閑的可用的,服接服務(wù)器的某一個端口,如果這個服務(wù)器上的這個端口是空閑的可用的,服務(wù)器會返回務(wù)器會返回ACK的確認(rèn)信息,之后數(shù)據(jù)傳輸通道被建立并返回用戶所要的的確認(rèn)信息,之后數(shù)據(jù)傳輸通道被建立并返回用戶所要的信息(根據(jù)用戶發(fā)送的指令,如信息(根據(jù)用戶發(fā)送的指令,如ls、dir、get等);如果服務(wù)器的這個端口等);如果服務(wù)器的這個端口被另一個資源所使用,那么服務(wù)器返回被另一個資源所使用,那么服務(wù)器返回UNACK的信息,那么這時

33、,的信息,那么這時,F(xiàn)TP客客戶會再次發(fā)送戶會再次發(fā)送PASV命令,這也就是所謂的連接建立的協(xié)商過程。為了驗證命令,這也就是所謂的連接建立的協(xié)商過程。為了驗證這個過程我們不得不借助這個過程我們不得不借助CuteFTP Pro這個常用這個常用FTP客戶端軟件,因為微軟客戶端軟件,因為微軟自帶的自帶的FTP命令客戶端,不支持命令客戶端,不支持PASV模式。雖然你可以使用模式。雖然你可以使用QUOTE PASV這個命令強制使用這個命令強制使用PASV模式,但是當(dāng)你用模式,但是當(dāng)你用ls命令列出服務(wù)器目錄列表,你命令列出服務(wù)器目錄列表,你會發(fā)現(xiàn)它還是使用會發(fā)現(xiàn)它還是使用PORT方式來連接服務(wù)器的?,F(xiàn)在

34、我們使用方式來連接服務(wù)器的?,F(xiàn)在我們使用CUTEFTP Pro以以PASV模式連接服務(wù)器。請注意連接模式連接服務(wù)器。請注意連接LOG里這幾句話:里這幾句話:COMMAND: PASV 227 Entering Passive Mode (127,0,0,1,26,108) COMMAND: LIST STATUS: Connecting ftp data socket : 6764. 125 Data connection already open; Transfer starting. 226 Transfer complete. 9-16中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育其中,其

35、中,227 Entering Passive Mode (127,0,0,1,26,80). 代表客戶機使用代表客戶機使用PASV模式連接服務(wù)器的模式連接服務(wù)器的26x256+108=6764端口。(當(dāng)然服務(wù)器要支持這種端口。(當(dāng)然服務(wù)器要支持這種模式)模式)125 Data connection already open; Transfer starting.說明服務(wù)器的這說明服務(wù)器的這個端口可用,返回個端口可用,返回ACK信息。信息。再讓我們看看用再讓我們看看用CUTEFTP Pro以以PORT模式連接服務(wù)器的情況。其中模式連接服務(wù)器的情況。其中在在LOG里有這樣的記錄:里有這樣的記錄:

36、其中其中:PORT 127,0,0,1,28,37告訴服務(wù)器當(dāng)收到這個告訴服務(wù)器當(dāng)收到這個PORT指令后,連接指令后,連接FTP客戶的客戶的28x256+37=7205這個端口。這個端口。Accepting connection: :20表示服務(wù)器接到指令后用表示服務(wù)器接到指令后用20端口連接端口連接7205端口,而且被端口,而且被FTP客戶接受客戶接受 COMMAND: PORT 127,0,0,1,28,37 200 PORT command successful. COMMAND: LIST 150 Opening ASCII mode dataconnection f

37、or /bin/ls. STATUS: Accepting connection: :20. 226 Transfer complete. STATUS: Transfer complete. 9-17中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育9.1.6 FTP應(yīng)答應(yīng)答FTP命令的響應(yīng)是為了對數(shù)據(jù)傳輸請求和過程進行同步,也是命令的響應(yīng)是為了對數(shù)據(jù)傳輸請求和過程進行同步,也是為了讓用戶了解服務(wù)器的狀態(tài)。每個命令必須有最少一個響應(yīng),如為了讓用戶了解服務(wù)器的狀態(tài)。每個命令必須有最少一個響應(yīng),如果是多個,它們要易于區(qū)別。有些命令是有順序性的,因此其中任果是多個,它們要易于區(qū)別。有些命令是有順序性的,

38、因此其中任何一個命令的失敗會導(dǎo)致從頭開始。何一個命令的失敗會導(dǎo)致從頭開始。FTP響應(yīng)由三個數(shù)字構(gòu)成,后面是一些文本。數(shù)字帶有足夠的響應(yīng)由三個數(shù)字構(gòu)成,后面是一些文本。數(shù)字帶有足夠的信息命名用戶信息命名用戶PI不用檢查文本就知道發(fā)生了什么。文本信息與服務(wù)不用檢查文本就知道發(fā)生了什么。文本信息與服務(wù)器相關(guān),用戶可能得到不同的文本信息。文本和數(shù)字以間隔,文本器相關(guān),用戶可能得到不同的文本信息。文本和數(shù)字以間隔,文本后以后以Telnet行結(jié)束符結(jié)束。行結(jié)束符結(jié)束。9-18中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育三位數(shù)字每位都有一定的意義,第一位確定響應(yīng)是好的,壞的三位數(shù)字每位都有一定的意義,第一位確定響應(yīng)是好的,壞

39、的還是不完全的,通過檢查第一位,用戶進程通常就能夠知道大致要還是不完全的,通過檢查第一位,用戶進程通常就能夠知道大致要采取什么行動了。如果用戶程序希望了解出了什么問題,可以檢查采取什么行動了。如果用戶程序希望了解出了什么問題,可以檢查第二位,第三位留表示其它信息。第一位有五個值:第二位,第三位留表示其它信息。第一位有五個值:1. 確定預(yù)備應(yīng)答確定預(yù)備應(yīng)答 請求的操作正在被初始化;在進入下一個命令前等待另外的應(yīng)請求的操作正在被初始化;在進入下一個命令前等待另外的應(yīng)答。這類響應(yīng)用于說明命令被接受,在實現(xiàn)中如何同步監(jiān)視有困難,答。這類響應(yīng)用于說明命令被接受,在實現(xiàn)中如何同步監(jiān)視有困難,用戶進程現(xiàn)在可

40、以關(guān)注數(shù)據(jù)連接了。服務(wù)器用戶進程現(xiàn)在可以關(guān)注數(shù)據(jù)連接了。服務(wù)器FTP進程對第個命令幾進程對第個命令幾乎都返回乎都返回1yz響應(yīng)。響應(yīng)。2. 確定完成應(yīng)答確定完成應(yīng)答 要求的操作已經(jīng)完成,可以執(zhí)行新命令。要求的操作已經(jīng)完成,可以執(zhí)行新命令。 3. 確定中間應(yīng)答確定中間應(yīng)答 命令已接受,但要求的操作被停止,停止接收更新的信息。命令已接受,但要求的操作被停止,停止接收更新的信息。 4. 暫時拒絕完成應(yīng)答暫時拒絕完成應(yīng)答 未接受命令,要求的操作未執(zhí)行,但錯誤是臨時的,過一會兒未接受命令,要求的操作未執(zhí)行,但錯誤是臨時的,過一會兒可以再次發(fā)送消息。用戶應(yīng)該返回命令序列的開始。這個暫時可是可以再次發(fā)送消息

41、。用戶應(yīng)該返回命令序列的開始。這個暫時可是不好確定,此命令的意思就是讓用戶進程再次嘗試使用此命令。不好確定,此命令的意思就是讓用戶進程再次嘗試使用此命令。 9-19中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育5. 永遠(yuǎn)拒絕完成應(yīng)答永遠(yuǎn)拒絕完成應(yīng)答它與暫時拒絕完成應(yīng)答的區(qū)別就在于錯誤條件是一時半會不會它與暫時拒絕完成應(yīng)答的區(qū)別就在于錯誤條件是一時半會不會消失。下面我們來看看第二位所代表的意義:消失。下面我們來看看第二位所代表的意義:0. 格式錯誤;格式錯誤;1. 此類應(yīng)答是為了請求信息的;此類應(yīng)答是為了請求信息的;2. 此類應(yīng)答是關(guān)于控制和數(shù)據(jù)連接的;此類應(yīng)答是關(guān)于控制和數(shù)據(jù)連接的;3. 關(guān)于認(rèn)證和帳戶登錄過程;

42、關(guān)于認(rèn)證和帳戶登錄過程;4. 未使用;未使用;5. 此類應(yīng)答是關(guān)于文件系統(tǒng)的;此類應(yīng)答是關(guān)于文件系統(tǒng)的;第三個數(shù)字是在第二個數(shù)字的基礎(chǔ)上對應(yīng)答內(nèi)容的進一步細(xì)化。第三個數(shù)字是在第二個數(shù)字的基礎(chǔ)上對應(yīng)答內(nèi)容的進一步細(xì)化。一般來說,數(shù)字代碼后要有文本信息。實現(xiàn)時應(yīng)該盡量使用現(xiàn)有的一般來說,數(shù)字代碼后要有文本信息。實現(xiàn)時應(yīng)該盡量使用現(xiàn)有的代碼,而不要隨便添加新的意義不大的代碼。代碼,而不要隨便添加新的意義不大的代碼。 下面我們根據(jù)數(shù)字順序列出各個應(yīng)答碼及其意義:下面我們根據(jù)數(shù)字順序列出各個應(yīng)答碼及其意義:9-20中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育應(yīng)答碼應(yīng)答碼具體含義具體含義110重新啟動標(biāo)記應(yīng)答。在這種情況下

43、文本是確定的,它必須是:重新啟動標(biāo)記應(yīng)答。在這種情況下文本是確定的,它必須是:MARK yyyy=mmmm,其中,其中yyyy是用戶進程數(shù)據(jù)流標(biāo)記,是用戶進程數(shù)據(jù)流標(biāo)記,mmmm是服務(wù)器標(biāo)記。是服務(wù)器標(biāo)記。120服務(wù)在服務(wù)在nnn分鐘內(nèi)準(zhǔn)備好分鐘內(nèi)準(zhǔn)備好125數(shù)據(jù)連接已打開,準(zhǔn)備傳送數(shù)據(jù)連接已打開,準(zhǔn)備傳送150文件狀態(tài)良好,打開數(shù)據(jù)連接文件狀態(tài)良好,打開數(shù)據(jù)連接200命令成功命令成功 202 命令未實現(xiàn)命令未實現(xiàn)211系統(tǒng)狀態(tài)或系統(tǒng)幫助響應(yīng)系統(tǒng)狀態(tài)或系統(tǒng)幫助響應(yīng)212目錄狀態(tài)目錄狀態(tài)213文件狀態(tài)文件狀態(tài)214幫助信息,信息僅對人類用戶有用幫助信息,信息僅對人類用戶有用215名字系統(tǒng)類型名字

44、系統(tǒng)類型220對新用戶服務(wù)準(zhǔn)備好對新用戶服務(wù)準(zhǔn)備好221服務(wù)關(guān)閉控制連接,可以退出登錄服務(wù)關(guān)閉控制連接,可以退出登錄225數(shù)據(jù)連接打開,無傳輸正在進行數(shù)據(jù)連接打開,無傳輸正在進行226關(guān)閉數(shù)據(jù)連接,請求的文件操作成功關(guān)閉數(shù)據(jù)連接,請求的文件操作成功227進入被動模式進入被動模式9-21中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育應(yīng)答碼應(yīng)答碼具體含義具體含義應(yīng)答碼應(yīng)答碼具體含義具體含義230用戶登錄用戶登錄500格式錯誤,命令不可識別格式錯誤,命令不可識別250請求的文件操作完成請求的文件操作完成501參數(shù)語法錯誤參數(shù)語法錯誤257創(chuàng)建創(chuàng)建PATHNAME502命令未實現(xiàn)命令未實現(xiàn)331用戶名正確,需要口令用戶名

45、正確,需要口令503命令順序錯誤命令順序錯誤332登錄時需要帳戶信息登錄時需要帳戶信息504此參數(shù)下的命令功能未實現(xiàn)此參數(shù)下的命令功能未實現(xiàn)350請求的文件操作需要進一步命令請求的文件操作需要進一步命令530未登錄未登錄421不能提供服務(wù),關(guān)閉控制連接不能提供服務(wù),關(guān)閉控制連接532存儲文件需要帳戶信息存儲文件需要帳戶信息425不能打開數(shù)據(jù)連接不能打開數(shù)據(jù)連接 550未執(zhí)行請求的操作未執(zhí)行請求的操作426關(guān)閉連接,中止傳輸關(guān)閉連接,中止傳輸551請求操作中止:頁類型未知請求操作中止:頁類型未知450請求的文件操作未執(zhí)行請求的文件操作未執(zhí)行552請求的文件操作中止,存儲分配溢出請求的文件操作中止

46、,存儲分配溢出451中止請求的操作:有本地錯誤中止請求的操作:有本地錯誤553未執(zhí)行請求的操作:文件名不合法未執(zhí)行請求的操作:文件名不合法452未執(zhí)行請求的操作:系統(tǒng)存儲空間不足未執(zhí)行請求的操作:系統(tǒng)存儲空間不足9-22中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育9.2 普通文件傳輸協(xié)議普通文件傳輸協(xié)議TFTPTFTP是網(wǎng)絡(luò)應(yīng)用程序,它比是網(wǎng)絡(luò)應(yīng)用程序,它比FTP簡單也比簡單也比FTP功能少。它在不需要功能少。它在不需要用戶權(quán)限或目錄可見的情況下使用。它使用用戶權(quán)限或目錄可見的情況下使用。它使用UDP協(xié)議而不是協(xié)議而不是TCP協(xié)議,協(xié)議,TFTP在在RFC 1350內(nèi)得到詳細(xì)說明內(nèi)得到詳細(xì)說明 。計算機、網(wǎng)絡(luò)設(shè)

47、備或外圍設(shè)備,可能。計算機、網(wǎng)絡(luò)設(shè)備或外圍設(shè)備,可能需要在不使用需要在不使用FTP建立控制或數(shù)據(jù)連接時情況下傳輸小文件。例如打印機、建立控制或數(shù)據(jù)連接時情況下傳輸小文件。例如打印機、集線器或交換機等硬件設(shè)備在啟動時可能需要從服務(wù)器上下載固件信息,集線器或交換機等硬件設(shè)備在啟動時可能需要從服務(wù)器上下載固件信息,無盤計算機可能需要從服務(wù)器上下載自舉系統(tǒng)文件。在這些情況下,在無無盤計算機可能需要從服務(wù)器上下載自舉系統(tǒng)文件。在這些情況下,在無連接連接UDP協(xié)議上實現(xiàn)的普通文件傳輸協(xié)議是最好的選擇。普通文件傳輸協(xié)協(xié)議上實現(xiàn)的普通文件傳輸協(xié)議是最好的選擇。普通文件傳輸協(xié)議(議(TFTP:Trivial F

48、ile Transfer Protocol )提供了這樣的簡單文件傳輸機)提供了這樣的簡單文件傳輸機制。制。9.2.1 TFTP的分組結(jié)構(gòu)的分組結(jié)構(gòu)我們先了解我們先了解TFTP分組的結(jié)構(gòu),它是該協(xié)議中的基本數(shù)據(jù)傳輸單元。分組的結(jié)構(gòu),它是該協(xié)議中的基本數(shù)據(jù)傳輸單元。TFTP分組按照結(jié)構(gòu)的不同有分組按照結(jié)構(gòu)的不同有5種分類方法。前兩種類型是讀請求分組和寫種分類方法。前兩種類型是讀請求分組和寫請求分組。讀請求分組或?qū)懻埱蠓纸M是在連續(xù)分組流中發(fā)送的初始分組。請求分組。讀請求分組或?qū)懻埱蠓纸M是在連續(xù)分組流中發(fā)送的初始分組。當(dāng)客戶端需要從服務(wù)器下載文件時,就向服務(wù)器發(fā)送一個讀請求分組。當(dāng)當(dāng)客戶端需要從服務(wù)

49、器下載文件時,就向服務(wù)器發(fā)送一個讀請求分組。當(dāng)客戶端需要向服務(wù)器傳輸文件時,就向服務(wù)器發(fā)送一個寫請求分組。第三客戶端需要向服務(wù)器傳輸文件時,就向服務(wù)器發(fā)送一個寫請求分組。第三種分組類型被稱為數(shù)據(jù)分組,它攜帶著客戶端計算機或設(shè)備所需的實際數(shù)種分組類型被稱為數(shù)據(jù)分組,它攜帶著客戶端計算機或設(shè)備所需的實際數(shù)據(jù)。連接在一起的設(shè)備還交換確認(rèn)分組,即第四種分組類型。為了表示錯據(jù)。連接在一起的設(shè)備還交換確認(rèn)分組,即第四種分組類型。為了表示錯誤的發(fā)生,可以在設(shè)備間交換第誤的發(fā)生,可以在設(shè)備間交換第5種分組類型,即錯誤分組。種分組類型,即錯誤分組。9-23中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育Filename:傳送的字段名

50、稱。:傳送的字段名稱。Mode:數(shù)據(jù)模式。協(xié)議傳輸?shù)奈募?shù)據(jù)格式。可以是:數(shù)據(jù)模式。協(xié)議傳輸?shù)奈募?shù)據(jù)格式??梢允?NetASCII,也可,也可以是標(biāo)準(zhǔn)以是標(biāo)準(zhǔn) ASCII,八位二進制數(shù)據(jù)或郵件標(biāo)準(zhǔn),八位二進制數(shù)據(jù)或郵件標(biāo)準(zhǔn) ASCII?;净?TFTP 協(xié)議頭結(jié)構(gòu)協(xié)議頭結(jié)構(gòu) 16 bitsString16bitsString16 bitsOpcode Filename 0Mode 0Opcode對應(yīng)的對應(yīng)的 TFTP 命令命令 opcode命令命令描述描述1ReadRequestRequest to read a file2Write RequestRequest to write to

51、a file3File Data TransferTransfer of file data4Data AcknowledgeAcknowledgement of file data5ErrorError indication 9-24中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育所有分組類型都有一個操作碼(所有分組類型都有一個操作碼(Opcode)字段,里面包含一)字段,里面包含一個表示該分組性質(zhì)的數(shù)字值。個表示該分組性質(zhì)的數(shù)字值。例如,例如,0表明該分組是一個讀表明該分組是一個讀請求分組。請求分組也包含了用來描述文件名和傳輸模式的字段。請求分組。請求分組也包含了用來描述文件名和傳輸模式的字段。數(shù)據(jù)分組包含了一

52、個被稱為塊號門數(shù)據(jù)分組包含了一個被稱為塊號門lock Number)的附加字段,)的附加字段,該字段通過指定一個塊號來惟一標(biāo)識分組。除了塊號字段外,數(shù)據(jù)該字段通過指定一個塊號來惟一標(biāo)識分組。除了塊號字段外,數(shù)據(jù)分組還包含存儲了傳輸所需數(shù)據(jù)的數(shù)據(jù)字段。確認(rèn)分組也包含塊號分組還包含存儲了傳輸所需數(shù)據(jù)的數(shù)據(jù)字段。確認(rèn)分組也包含塊號字段,以表示有著相同塊號的特定數(shù)據(jù)分組已經(jīng)被確認(rèn)了。確認(rèn)分字段,以表示有著相同塊號的特定數(shù)據(jù)分組已經(jīng)被確認(rèn)了。確認(rèn)分組中的操作碼字段表示該分組的性質(zhì)。錯誤分組除了包含操作碼字組中的操作碼字段表示該分組的性質(zhì)。錯誤分組除了包含操作碼字段,還包括一個錯誤碼(段,還包括一個錯誤碼

53、(Error code)字段和一個錯誤報文()字段和一個錯誤報文(Error Message)字段。)字段。在在TFTP中實現(xiàn)的文件傳輸過程非常簡單。首先,客戶端設(shè)備中實現(xiàn)的文件傳輸過程非常簡單。首先,客戶端設(shè)備向服務(wù)器發(fā)送一個讀或?qū)懻埱蠓纸M,以表示客戶端需要讀或者寫一向服務(wù)器發(fā)送一個讀或?qū)懻埱蠓纸M,以表示客戶端需要讀或者寫一個特定的文件。接著,實際的傳輸過程通過交換數(shù)據(jù)分組而實現(xiàn)。個特定的文件。接著,實際的傳輸過程通過交換數(shù)據(jù)分組而實現(xiàn)。各個分組一經(jīng)收到就被確認(rèn)。如果分組的確認(rèn)沒有在指定的時間內(nèi)各個分組一經(jīng)收到就被確認(rèn)。如果分組的確認(rèn)沒有在指定的時間內(nèi)到達,服務(wù)器和客戶端上的定時器將控制數(shù)據(jù)

54、分組的重傳。如果在到達,服務(wù)器和客戶端上的定時器將控制數(shù)據(jù)分組的重傳。如果在傳輸過程中出現(xiàn)了錯誤,就通過錯誤報文分組來通告錯誤報文。傳輸過程中出現(xiàn)了錯誤,就通過錯誤報文分組來通告錯誤報文。9-25中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育9.2.2與其它協(xié)議的聯(lián)系與其它協(xié)議的聯(lián)系 因為因為TFTP使用使用UDP,而,而UDP使用使用IP,IP可以還使用其它本地可以還使用其它本地通信方法。因此一個通信方法。因此一個TFTP包中會有以下幾段:本地媒介頭,包中會有以下幾段:本地媒介頭,IP頭,頭,數(shù)據(jù)報頭,數(shù)據(jù)報頭,TFTP頭,剩下的就是頭,剩下的就是TFTP數(shù)據(jù)了。數(shù)據(jù)了。TFTP在在IP頭中不頭中不指定任何數(shù)據(jù)

55、,但是它使用指定任何數(shù)據(jù),但是它使用UDP中的源和目標(biāo)端口以及包長度域。中的源和目標(biāo)端口以及包長度域。由由TFTP使用的包標(biāo)記(使用的包標(biāo)記(TID)在這里被用做端口,因此)在這里被用做端口,因此TID必須介必須介于于0到到65,535之間。對它的初始化我們在后面討論。之間。對它的初始化我們在后面討論。TFTP頭中包括頭中包括兩上字節(jié)的操作碼,這個碼指出了包的類型下面我們看看大體上的兩上字節(jié)的操作碼,這個碼指出了包的類型下面我們看看大體上的TFTP包格式,相關(guān)的內(nèi)容我們在后面的章節(jié)中進行討論。包格式,相關(guān)的內(nèi)容我們在后面的章節(jié)中進行討論。-| Local Medium | Internet |

56、 Datagram | TFTP |- 包頭次序包頭次序9-26中國科學(xué)技術(shù)大學(xué) 遠(yuǎn)程教育9.3 網(wǎng)絡(luò)文件訪問網(wǎng)絡(luò)文件訪問NFS在運行不同操作系統(tǒng)的計算機間提供了一種訪問文件的無縫環(huán)境在運行不同操作系統(tǒng)的計算機間提供了一種訪問文件的無縫環(huán)境規(guī)范。這個協(xié)議的正式規(guī)范在規(guī)范。這個協(xié)議的正式規(guī)范在RFC 1094中可以找到。中可以找到。RFC 1813中提出了中提出了NFS第三版,旨在實現(xiàn)基于第三版,旨在實現(xiàn)基于Web的文件訪問機制。的文件訪問機制。NFS最初是為了在運行最初是為了在運行UNIX操作系統(tǒng),或操作系統(tǒng),或Windows這樣的操作系統(tǒng)這樣的操作系統(tǒng)的計算機之間建立連接而設(shè)計的。的計算機之間建立連接而設(shè)計的。NFS由一些子協(xié)議組成,比如由一些子協(xié)議組成,比如 NFS核心核心協(xié)議、外部數(shù)據(jù)表示(協(xié)議、外部數(shù)據(jù)表示(XDR) 則和遠(yuǎn)程過程調(diào)用(則和遠(yuǎn)程過程調(diào)用(RPC)。)。當(dāng)計算機訪問另一臺機器上的文件時,它使用當(dāng)計算機訪問另一臺機器上的文件時,它使用NFS客戶端以客戶端以RPC數(shù)據(jù)數(shù)據(jù)分組的形式來發(fā)送請求,其中這些分組的形式來發(fā)送請求,其中這些RPC分組包含在分組包含在KP段或段或UDP數(shù)據(jù)報中。數(shù)據(jù)報中。RPC分組是分組是NFS

溫馨提示

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

最新文檔

評論

0/150

提交評論