計算機網(wǎng)絡(luò)復(fù)習(xí)題9
第九章 應(yīng)用層9.1 應(yīng)用層基本概念按照ISO 的OSI 模型,應(yīng)用層是最高層,而在TCP/IP模型中應(yīng)用層同樣也處在最高層。隨著Internet 技術(shù)的迅速發(fā)展,以TCP/IP模型為代表的應(yīng)用層協(xié)
第九章 應(yīng)用層
9.1 應(yīng)用層基本概念
按照ISO 的OSI 模型,應(yīng)用層是最高層,而在TCP/IP模型中應(yīng)用層同樣也處在最高層。隨著Internet 技術(shù)的迅速發(fā)展,以TCP/IP模型為代表的應(yīng)用層協(xié)議正在不斷豐富和完善。
域名系統(tǒng)(Domain Name System,DNS ),用于管理和提供主機或設(shè)備的名字與IP 地址之間映射關(guān)系的服務(wù)。
文件傳送協(xié)議(File Transfer Protocol,F(xiàn)TP ),用于在網(wǎng)絡(luò)中實現(xiàn)交互式的文件傳送。 簡單郵件傳送協(xié)議(Simple Mail Transfer Protocol,SMTP ),用于在網(wǎng)絡(luò)中郵件的傳輸。 遠(yuǎn)程登錄協(xié)議(Telnet ),用于在網(wǎng)絡(luò)中實現(xiàn)遠(yuǎn)程登錄。
超文本傳送協(xié)議(Hyper-text Transfer Protocol ,HTTP ),用于在Internet 中提供WWW 服務(wù)。
應(yīng)用層協(xié)議可分為三類:
依賴于面向連接的TCP :這一類包括遠(yuǎn)程登錄協(xié)議TELNET ,電子郵件協(xié)議SMTP 和文件傳輸協(xié)議FTP 等。
依賴于無連接的UDP :這一類包括單純文件傳輸協(xié)議TFTP ,遠(yuǎn)程過程調(diào)用協(xié)議RPC 等。 既依賴于TCP 又依賴于UDP 的協(xié)議:這一類有域名系統(tǒng)協(xié)議DNS 等。
客戶機/服務(wù)器模型
Internet 中提供的應(yīng)用層服務(wù)很多都使用了客戶機/服務(wù)器模型為基礎(chǔ)。
客戶機/服務(wù)器模型是在分布式計算中,一個應(yīng)用程序被動地等待,而另一個應(yīng)用程序通過請求啟動通信的模式。
客戶機(Client)和服務(wù)器(Server)分別指兩個應(yīng)用程序??蛻魴C向服務(wù)器發(fā)出服務(wù)請求,服務(wù)器做出響應(yīng)。服務(wù)器應(yīng)處于守候狀態(tài),并監(jiān)測客戶機的請求??蛻魴C發(fā)出請求,該請求經(jīng)互聯(lián)網(wǎng)傳送給服務(wù)器。一旦服務(wù)器接收到這個請求,就可以執(zhí)行請求指定的任務(wù),并將執(zhí)行的結(jié)果經(jīng)互聯(lián)網(wǎng)回送給客戶機。
一臺主機上通常可以運行多個服務(wù)器程序,每個服務(wù)器程序需要并發(fā)地處理多個客戶機的請求,并將處理的結(jié)果返回給客戶機。
服務(wù)器程序通常比較復(fù)雜,對主機的硬件資源及軟件資源都有一定的要求。
客戶機程序由于功能相對較簡單,通常不需要特殊的硬件和高級的網(wǎng)絡(luò)操作系統(tǒng)。 客戶機/服務(wù)器模型不但很好地解決了互聯(lián)網(wǎng)應(yīng)用程序之間的同步問題,而且其非對等相互作用(客戶機請求服務(wù),服務(wù)器提供服務(wù))的特點很好地適應(yīng)了互聯(lián)網(wǎng)資源分配不均的客觀事實。
由于一個主機可以運行多個服務(wù)器程序,必須提供一套機制讓客戶機程序無二義性地指明所希望的服務(wù)。這種機制要求賦予每個服務(wù)一個唯一的標(biāo)識,同時要求服務(wù)器程序和客戶機程序都使用這個標(biāo)識。
當(dāng)服務(wù)器程序開始時,首先在本地主機上注冊自己提供服務(wù)所使用的標(biāo)識。在客戶機需要使用服務(wù)器提供的服務(wù)時,則利用服務(wù)器使用的標(biāo)識指定所希望的服務(wù)。一旦運行服務(wù)器程序的主機接收到一個具有特定標(biāo)識的服務(wù)請求,它就將該請求轉(zhuǎn)交給注冊該特定標(biāo)定標(biāo)識的服務(wù)器程序處理。
,在TCP/IP互聯(lián)網(wǎng)中,服務(wù)器程序通常使用TCP 協(xié)議或UDP 協(xié)議的端口號作為自己的特定標(biāo)識。在服務(wù)器程序啟動時,首先在本地主機注冊自己使用的TCP 或UDP 端口號,這就意味著在聲明該端口號已被占用的同時,通知本地主機,如果在該端口上收到信息,則需要將這些信息轉(zhuǎn)交給注冊該端口號的服務(wù)程序處理。在客戶機程序需要訪問某個服務(wù)時,可以通過與服務(wù)器程序使用的TCP 端口建立連接或直接向服務(wù)器程序使用的UDP 端口發(fā)送信息來實現(xiàn)。
服務(wù)器處理多個并發(fā)請求的方案:
重復(fù)服務(wù)器(Iterative Server)方案:服務(wù)器程序中包含一個請求隊列,客戶機清求到達(dá)后,首先進(jìn)入隊列中等待,服務(wù)器按照先進(jìn)先出(First In, First Out)的原則順序做出響應(yīng)。重復(fù)服務(wù)器對系統(tǒng)資源要求不高,但一旦服務(wù)器需要較長時間才能完成一個請求,其他請求就需要等待很長時間才能得到響應(yīng)。重復(fù)服務(wù)器一般用于處理可在預(yù)期時間內(nèi)處理完的請求,針對于面向無連接的客戶機/服務(wù)器模型。
并發(fā)服務(wù)器(Concurrent Server)方案:并發(fā)服務(wù)器是一個守護進(jìn)程(Daemon ), 在沒有請求到達(dá)時,它處于等待狀態(tài)。一旦客戶機請求到達(dá),服務(wù)器立即為之創(chuàng)建一個子進(jìn)程,然后回到等待狀態(tài),由子進(jìn)程響應(yīng)請求。當(dāng)下一個請求到達(dá)時,服務(wù)器再為之創(chuàng)建一個新的子進(jìn)程。并發(fā)服務(wù)器稱為主服務(wù)器(Master) ,子進(jìn)程稱為從服務(wù)器(Slave) 。并發(fā)服務(wù)器方案具有實時性和靈活性的特點,但由于創(chuàng)建從服務(wù)器會增加系統(tǒng)開銷,對主機的軟硬件資源要求較高。一般用于處理不能在預(yù)期時間內(nèi)處理完的請求,針對于面向連接的客戶機/服務(wù)器模型。
9.2.1 域名系統(tǒng)DNS (Domain Name Server)
IP 地址雖然包含網(wǎng)絡(luò)號和主機號,但難于記憶、無法通過IP 地址猜測主機的用途,因此必須用更友好的、便于記憶的名字來代替數(shù)字 IP 地址。
主機名字要求全局唯一的,即能在整個Internet 通用;
要便于管理,Internet 中主機名字管理工作包括名字分配、確認(rèn)和名字回收等; 一致性好,不會隨IP 地址的改變而改變;
第三要便于映射,即便于名字與IP 地址之間的映射。
域名系統(tǒng)
一種優(yōu)秀的命名機制應(yīng)能很好地解決:
全局唯一性:在整個互聯(lián)網(wǎng)上是唯一的,它能在整個互聯(lián)網(wǎng)中通用,不管用戶在哪里,只要指定這個名字 就可以唯一地找到這個主機。
名字便于管理:優(yōu)秀的命名機制就以助記詞便地分配名字、確認(rèn)名字以及回收名字。 高效地進(jìn)行映射:IP 地址與名字之間存在映射。
域名系統(tǒng)DNS
IP 地址可以惟一標(biāo)識網(wǎng)絡(luò)上的任何一臺主機或其它設(shè)備資源,但這需要使用者記憶大量冗長和無任何含義的一長串枯燥乏味的數(shù)字,這對于網(wǎng)絡(luò)應(yīng)用而言無疑增加了難度。為了向用戶提供直觀易記的主機標(biāo)識符,TCP /IP 專門設(shè)計了一種分層的名字管理機制,即域名系統(tǒng)DNS (Domain Name System ),在IP 地址和域名之間自動進(jìn)行映射和轉(zhuǎn)換。DNS 包括字符型的分層主機命名機制(稱為域名)和域名—地址映射的分布式計算機的實現(xiàn)。 域名服務(wù)的兩個基本概念
域名注冊就是將主機名和 I P地址記錄在一個列表或者目錄中,注冊的方法可以是人工的或者自動的、靜態(tài)的或者動態(tài)的。
域名解析是一個客戶端過程,目的是查找已注冊的主機名或者服務(wù)器名以便得到相應(yīng)的I
,P 地址。
客戶機上的解析器將包含網(wǎng)絡(luò)主機域名的路徑描述轉(zhuǎn)換為查詢請求。解析器甚至還可以緩存已定位的主機,以加速接通的過程。
DNS 的特點
有效
多數(shù)名字可以進(jìn)行本地解析,只有少數(shù)名字的解析需經(jīng)過 Internet 傳輸。
可靠
單臺名字服務(wù)器的故障不會妨礙整個DNS 系統(tǒng)正常工作。
通用
不僅能解析主機域名,還能解析郵箱名、網(wǎng)絡(luò)服務(wù)名。
分布式
由分布在不同地點的一組名字服務(wù)器合作來完成名字解析。
平面型命名機制
命名機制
每一主機名簡單地由一個字符串組成,沒有進(jìn)一步的層次結(jié)構(gòu),一般由中央管理機構(gòu)負(fù)責(zé)統(tǒng)一命名和分配。
如 MailGFKD,
缺點 WWWGFKD
隨著名字?jǐn)?shù)量的增加,名字沖突的可能性越來越大
中央管理機構(gòu)的工作負(fù)擔(dān)越來越重
地址映射低效
層次型命名機制
在名字中引入層次型結(jié)構(gòu),其結(jié)構(gòu)層次對應(yīng)于名字管理機構(gòu)的層次
每一級機構(gòu)只負(fù)責(zé)給它的下級機構(gòu)授權(quán)命名范圍
如郵政地址:
優(yōu)點 中國-湖南-長沙-NUDT, 中國-湖南-長沙-HNU
層次化的命名機制更能保證命名的唯一性,只要同一子樹下每層結(jié)點的標(biāo)識符不沖突,完整的主機名絕對不會沖突。
在Internet 中,采用層次型命名機制剛好與 Internet 結(jié)構(gòu)有某種對應(yīng)關(guān)系
域名層次結(jié)構(gòu)
域名的書寫格式是由若干分量組成,每個分量表示某級域名,自左向右以此從低級域名向頂級域名排列,分量之間用句點分隔:
. 三級域名. 二級域名. 頂級域名
域名不區(qū)分大小寫,每個分量最多為63個字符長,整個域名的長度不能超過255個字符。
域名系統(tǒng)
1. 端口:它是應(yīng)用層與傳輸層之間的接口,應(yīng)用程序與傳輸層協(xié)議的接口是傳輸層端口,這些端口是從零開始的數(shù)字編號,每種應(yīng)用程序都在屬于它的固定端口上等待來自其他計算機客戶的服務(wù)請求。
2. 域名系統(tǒng) :(Domain Name System:DNS )是Internet 上主機名稱的管理系統(tǒng),它主要用途是把主機名和電子郵件地址映射為IP 地址。DNS 的核心是分級的、基于域的命名機制以
,及為實行這個命名機制的分布式數(shù)據(jù)庫系統(tǒng)。
3. 資源記錄
Domain_name Time_to_live Type Class Value
Domain_name:資源域名。
Time_to_live:生存時間,指出本記錄可被緩沖區(qū)保存的時間(以秒計),代表記錄的穩(wěn)定性。
Type :記錄的類型。
資源記錄
IPv4中最主要的DNS 資源記錄類型
資源記錄
一個針對 cs.vu.nl 域的DNS 數(shù)據(jù)庫的可能部分
Internet 域名系統(tǒng)
由中央管理機構(gòu)(InterNIC)將最高一級名字空間按用途、國家等劃分為若干部分,并將各部分的管理權(quán)授予相應(yīng)機構(gòu);
各管理機構(gòu)可以將管轄內(nèi)的名字空間進(jìn)一步劃分若干子部分,并將子部分的管理特權(quán)再授予若干子機構(gòu);
主機域名是由多個由?°. ?±分開的標(biāo)簽組成:
每個標(biāo)簽不能超過63個字符;
全部的標(biāo)簽不能超過255個字符;
DNS-國家名碼
DNS-國際流行域類型
域名層次結(jié)構(gòu)
域名系統(tǒng)和域名系統(tǒng)服務(wù)器
域名系統(tǒng)服務(wù)器只是域名系統(tǒng)中的工具,通過它們不停的工作來實現(xiàn)域名系統(tǒng)的各種功能;
D N S服務(wù)器為客戶機提供一種方法來存儲和搜索其他主機的主機名和 I P地址,這里所說的客戶機可以是單獨的計算機用戶、應(yīng)用服務(wù)器,甚至是其他 D N S服務(wù)器。 域名服務(wù)器
由于在通信時采用的是IP 地址,所以通信前必須將主機的域名轉(zhuǎn)換成IP 地址; 實現(xiàn)域名與
DNS IP 之間互相轉(zhuǎn)化的系統(tǒng)稱之為域名服務(wù)系統(tǒng)(Domain Name System,,這個轉(zhuǎn)換過程又稱為域名解析(Name Resolution); 服務(wù)器以層次型結(jié)構(gòu)分布在世界各地, 使用了分布式的數(shù)據(jù)庫,每臺DNS 服務(wù)器存儲一部分域名數(shù)據(jù)。
主機名和域名空間及域名樹
主機名就是計算機在域名系統(tǒng)中使用的名字,每一個主機名及其 I P地址存儲在一臺或多臺D N S服務(wù)器中,以便I n t e r n e t中的其他用戶可以通過主機名來搜索相應(yīng)主機的I P地址。
域名空間是指 I n t e r n e t上所有主機唯一的和比較友好的主機名所組成的空間。 域名樹是域名空間的骨架。
域名服務(wù)器的層次結(jié)構(gòu)
,一棵名字樹可以劃分成幾個子樹,每個子樹分配一個管理機構(gòu)。只要這個管理機構(gòu)能夠保證自己分配的結(jié)點名字不重復(fù),完整的主機名就不會重復(fù)和沖突。
每個管理機構(gòu)可以將自己管理的子樹再次劃分成若干部分,并將每一部分指定一個子部門負(fù)責(zé)管理。這樣,對整個互聯(lián)網(wǎng)名字的管理也形成了一個樹狀的層次化結(jié)構(gòu)。
一組既獨立又協(xié)作的域名服務(wù)器是域名解析系統(tǒng)的核心。域名服務(wù)器保存著它所管轄區(qū)域內(nèi)的域名與IP 地址的對照表。請求域名解析服務(wù)的軟件稱為域名解析器,在TCP/IP域名系統(tǒng)中,一個域名解析器可以利用一個或多個域名服務(wù)器進(jìn)行名字映射。
域名服務(wù)器工作過程
名字服務(wù)器
顯示區(qū)域劃分的部分 DNS 名字空間
名字服務(wù)器
解析器如何通過8個步驟來查找一個遠(yuǎn)程名字
在域名解析過程中,只要域名解析器軟件知道如何訪問任意一個域名服務(wù)器,而每一域名服務(wù)器都至少知道根服務(wù)器的IP 地址及其父結(jié)點服務(wù)器的IP 地址,域名解析就可以順利地進(jìn)行。
域名解析有兩種方式:
遞歸解析(Recursive Resolution):要求域名服務(wù)器系統(tǒng)一次性完成全部名字-地址變換。 反復(fù)解析(Iterative Resolution):每次請求一個服務(wù)器,不行再請求別的服務(wù)器。 DNS 的解析過程
域名解析結(jié)果
經(jīng)查詢后,返回給解析器的結(jié)果可能是下列結(jié)果中的一種:
1. 給出所需數(shù)據(jù)的一個或幾個資源記錄。這種情況下,解析器將以適當(dāng)?shù)母袷椒祷氐玫降幕卮稹?/p>
2. 主機名錯誤。當(dāng)所查詢的名字不存在時給出這種錯誤。例如,可能用戶在鍵入主機名時出錯。
3. 數(shù)據(jù)未找到錯誤。當(dāng)存在所查詢的主機名,但找不到相應(yīng)數(shù)據(jù)時出現(xiàn)這種錯誤。
提高域名解析的效率
解析從本地域名服務(wù)器開始
域名服務(wù)器的高速緩沖技術(shù)
保證高速緩沖區(qū)中域名-IP 地址映射關(guān)系的有效性(對高速緩沖區(qū)中的每一映射關(guān)系都有一個最大生存周期Time To Live—TTL ,它規(guī)定該映射關(guān)系在高速緩沖區(qū)中的最長保留時間。一旦映射關(guān)系的TTL 時間到,系統(tǒng)便將它從高速緩沖區(qū)中刪除。
主機上的高速緩沖技術(shù):在解析器進(jìn)行域名解析時,先在本地主機的高速緩沖區(qū)中進(jìn)行查表,如找不到,再將請求送到本地域名服務(wù)器。主機必須采用與服務(wù)器相同的技術(shù),以保證高速緩沖區(qū)中的域名-IP 地址映射關(guān)系的有效性。
4. 域名服務(wù)器
本地域名服務(wù)器和權(quán)威域名服務(wù)器
,管理站:管理站實際上是一臺運行特殊管理軟件的普通計算機。管理站包括一個或多個進(jìn)程,它們在網(wǎng)絡(luò)上與代理進(jìn)行通信、發(fā)送命令以及接收應(yīng)答。
用戶代理UA :它是客戶端的電子郵件應(yīng)用程序(有時叫做郵件閱讀器),它主要用于編輯、生成、發(fā)送、閱讀和管理電子郵件,也管理郵箱。
報文傳輸代理MTA :它主要負(fù)責(zé)郵件傳輸,將郵件從發(fā)送端傳送到接收端,其作用相當(dāng)于郵局,故也稱為電子化郵局。
報文存儲系統(tǒng)MS :用于暫存轉(zhuǎn)發(fā)的郵件報文。
主DNS 服務(wù)器和輔DNS 服務(wù)器
主D N S服務(wù)器(即S O A )負(fù)責(zé)域中名字的授權(quán),關(guān)于那個域的名字的所有信息都 要從這個服務(wù)器獲得。一個D N S服務(wù)器可以同時是一個或幾個域的主服務(wù)器,也可以同時既是一個域的主服務(wù)器,又是另一個域的輔服務(wù)器。
域和域區(qū)不存在主或輔的問題,只有 D N S 服務(wù)器才有主或輔的概念,輔服務(wù)器以作為主服務(wù)器的備份, 主D N S服務(wù)器才是一個域的名字的授權(quán)來源。
主DNS 服務(wù)器和輔DNS 服務(wù)器
輔D N S服務(wù)器從主服務(wù)器獲得數(shù)據(jù)。當(dāng)一個輔 D N S服務(wù)器啟動時,它首先從主服務(wù)器處獲得域區(qū)數(shù)據(jù),并將自己的版本號和主服務(wù)器的版本號進(jìn)行比較。
主服務(wù)器是其他 需要輸入域區(qū)文件的服務(wù)器的初始域名來源,而輔服務(wù)器則不是傳遞域區(qū)數(shù)據(jù)的來源。輔服務(wù)器的存在只是為了備份并提供查詢服務(wù)。
域名服務(wù)器的對象類型與資源記錄
域名系統(tǒng)中每一條目都被賦予了類型(type) 屬性。
SOA :標(biāo)識一個資源記錄集合(稱為授權(quán)區(qū)段)的開始。
A :32位二進(jìn)制值的IP 地址—主機地址
MX :郵件服務(wù)器名及優(yōu)先級
NS :域的授權(quán)名字服務(wù)器名
CNAME :別名
PTR :對于IP 地址的主機名
HINFO :主機描述
TXT :文本
類別(Class) 屬性:標(biāo)識使用該域名對象的協(xié)議類別。
IN :指出使用該對象的協(xié)議為Internet 協(xié)議。
域名與其IP 地址的映射關(guān)系都被放置在資源記錄中,每一條資源記錄通常由域名、有效期(TTL)、類別(class) 、類型(type)和域名的具體值(value) 組成。
DNS 服務(wù)器的安裝
(1)打開“添加/刪除程序”窗口。選“開始菜單→設(shè)置→控制面板→添加/刪除程序”。 (2)然后單擊“添加/刪除 Windows 組件”,打開“Windows 組件向?qū)А贝翱?,如右圖所示。
DNS 服務(wù)器的安裝
(3)在“組件”下,滾動列表并選中“網(wǎng)絡(luò)服務(wù)”。 單擊“詳細(xì)信息”按鈕,打開“網(wǎng)絡(luò)服務(wù)”窗口。如圖5-15所示。
,(4)在“網(wǎng)絡(luò)服務(wù)的子組件”下,單擊“域名服務(wù)系統(tǒng) (DNS)”,然后單擊“確定”按鈕。
(5)安裝程序開始配置組件,在“文件復(fù)制來源”中,鍵入 Windows 2000 分配文件的完整路徑,然后單擊“確定”按鈕。 所需的文件被復(fù)制到硬盤上,就可以使用服務(wù)器軟件了。
DNS 的安全問題
DNS 本身從一開始設(shè)計就沒有考慮到安全性,它既沒有在DNS 內(nèi)部對DNS 中的數(shù)據(jù)提供認(rèn)證機制和完整性檢查也不提倡對DNS 提供的服務(wù)進(jìn)行訪問控制和限制,造成了許多安全漏洞.
現(xiàn)有的對DNS 進(jìn)行的網(wǎng)絡(luò)攻擊大概可分為以下幾類:緩存中毒,拒絕服務(wù),不安全的動態(tài)更新,信息泄漏和DNS 服務(wù)器權(quán)威數(shù)據(jù)庫的入侵.
DNS 的安全問題
客戶端擁塞問題:
DNS 的安全問題
緩存中毒:
DNS 的安全問題
9.2.2文件傳送協(xié)議FTP
FTP 的作用是在網(wǎng)絡(luò)上不同計算機系統(tǒng)間傳送文件 。
FTP 使用TCP 提供的可靠服務(wù),其主要功能是減少或消除不同操作系統(tǒng)對文件處理的差異,這樣就能做到在文件傳送過程中與主機的類型無關(guān),文件的種類不限。由于它屏蔽了各計算機系統(tǒng)的細(xì)節(jié),所以很適合在異構(gòu)網(wǎng)絡(luò)中的計算機之間傳送文件。
FTP 采用了客戶機/服務(wù)器模式,客戶機和服務(wù)器之間利用TCP 建立雙重連接,一個是控制連接,一個是數(shù)據(jù)連接。
FTP 是一個交互式會話系統(tǒng),控制連接用于維持會話,負(fù)責(zé)在客戶機和服務(wù)器之間傳送FTP 命令和響應(yīng)。利用控制連接,客戶機可以向服務(wù)器發(fā)出多次數(shù)據(jù)傳輸請求,對于每次數(shù)據(jù)傳輸請求,客戶機與服務(wù)器之間要建立一個獨立的數(shù)據(jù)連接,進(jìn)和過癮垢數(shù)據(jù)傳輸。
Ftp 的基本概念
1. FTP是File Transfer Protocol(文件傳輸協(xié)議)的縮寫,用來在兩臺計算機之間互相傳送文件。從遠(yuǎn)程主機拷貝文件至自己的計算機上, 稱之為―下載(download )‖文件。若將文件從本地主機中拷貝至遠(yuǎn)程主機上,則稱之為―上載(upload )‖文件。
FTP 在RFC 959 可具體查詢。
FTP 的結(jié)構(gòu)
,FTP 的連接
FTP 的訪問控制:
客戶在支持匿名FTP 的服務(wù)器上訪問公共文件時,只需在服務(wù)器主機的賬號數(shù)據(jù)庫戶加入一個注冊名為―anonymous‖,口令為―guest‖的公認(rèn)賬號即可。
Ftp 基本知識
FTP 服務(wù)工作模式
Ftp 基本知識
.FTP 的傳輸有兩種方式
(1) ASCII傳輸模式
用于傳送ASCII 碼文本文件。
(2)二進(jìn)制傳輸模式:(逐字拷貝,不須 轉(zhuǎn)譯)
可傳送文本和非文本
Ftp 基本知識
匿名FTP 服務(wù)
?匿名FTP 服務(wù)的實質(zhì)是:提供服務(wù)的機構(gòu)在它的FTP 服務(wù)器上建立一個公開賬戶(一般為anonymous ),并賦予該賬戶訪問公共目錄的權(quán)限,以便提供免費服務(wù);
?如果用戶要訪問這些提供匿名服務(wù)的
?大多數(shù)FTP 服務(wù)器,一般不需要輸入用戶名與用戶密碼; FTP 服務(wù)都是匿名服務(wù);
?為了保證FTP 服務(wù)器的安全,幾乎所有的匿名FTP 服務(wù)器都只允許用戶下載文件,而不允許用戶上載文件。
Ftp 基本知識
FTP 協(xié)議有兩種工作方式:
一種方式叫做Standard (也就是 PORT 方式,主動方式) ,一種是 Passive (也就是PASV ,被動方式) 。 Standard 模式 FTP 的客戶端發(fā)送 PORT 命令到FTP 服務(wù)器。Passive 模式FTP 的客戶端發(fā)送 PASV 命令到 FTP Server。
FTP 連接建立
FTP (File Transfer Protocol)的工作原理
FTP 工作的基本原理
FTP 工作的基本原理
(1)FTP
服務(wù)器運行FTPd 守護進(jìn)程,等待用戶的FTP 請求。 (2)用戶運行FTP 命令, 請求FTP 服務(wù)器為其服務(wù)。 例:FTP 202.119.2.197
(3)FTPd 守護進(jìn)程收到用戶的FTP 請求后,派生出子進(jìn)程FTP 與用戶進(jìn)程FTP 交互,建立文件傳輸控制連接,使用TCP 端口21。
,(4)用戶輸入FTP 子命令,服務(wù)器接收子命令,如果命令正確,雙方各派生一個數(shù)據(jù)傳輸進(jìn)程FTP-DA TA, 建立數(shù)據(jù)連接,使用TCP 端口20, 進(jìn)行數(shù)據(jù)傳輸。
(5)本次子命令的數(shù)據(jù)傳輸完,拆除數(shù)據(jù)連接,結(jié)束FTP-DA TA 進(jìn)程。
(6)用戶繼續(xù)輸入FTP 子命令,重復(fù)(4)、(5)的過程,直至用戶輸入quit 命令,雙方拆除控制連接,結(jié)束文件傳輸,結(jié)束FTP 進(jìn)程。
FTP 工作的基本原理
斷開數(shù)據(jù)連接
當(dāng)一個文件傳輸完成后,服務(wù)器請求結(jié)束數(shù)據(jù)連接;
斷開控制連接
當(dāng)客戶端結(jié)束會話時,由客戶端向服務(wù)器端請求關(guān)閉控制連接。
FTP 工作的基本原理
FTP 工作的基本原理
主動傳輸模式
客戶端向服務(wù)器的FTP 端口(默認(rèn)是21)發(fā)送連接請求,服務(wù)器接受連接并建立一條命令鏈路。當(dāng)需要傳送數(shù)據(jù)時,客戶端在命令鏈路上用 PORT 命令告訴服務(wù)器:―我打開了*****端口,你過來連接我‖。于是服務(wù)器從20端口向客戶端的*****端口發(fā)送連接請求,建立一條數(shù)據(jù)鏈路來傳送數(shù)據(jù)
FTP 工作的基本原理
被動傳輸模式
客戶端向服務(wù)器的FTP 端口(默認(rèn)是21)發(fā)送連接請求,服務(wù)器接受連接,建立一條命令鏈路。當(dāng)需要傳送數(shù)據(jù)時,服務(wù)器在命令鏈路上用 PASV 命令告訴客戶端:―我打開了*****端口,你過來連接我‖。于是客戶端向服務(wù)器的*****端口發(fā)送連接請求,建立一條數(shù)據(jù)鏈路來傳送數(shù)據(jù)。
FTP 的基本操作及應(yīng)用
Ftp 基本命令舉例
FTP [host]
例如: ftp ftp.nudt.edu.cn
username : 實名登錄
password :******
或:
username :anonymous 匿名登錄
password :FTP 的基本命令
FTP [host]
例如: ftp ftp.nudt.edu.cn
username :test 實名登錄
password :
或:
username :anonymous 匿名登錄
password :
,(1)幫助命令組
列出所有的ftp 命令
ftp>?
列出某個ftp 命令的使用說明
例如:列出open 命令的使用說明
(2)連接命令組
連接遠(yuǎn)程主機
ftp>close 結(jié)束當(dāng)前連接,不退出ftp
結(jié)束當(dāng)前連接,不退出ftp
終止所有連接,退出ftp
ftp>quit 終止所有連接,退出ftp
(3)目錄操作與列表命令組
ftp>pwd 列出當(dāng)前目錄名
進(jìn)入下一級目錄
ftp>ls [remote-dir] [local-file] 將遠(yuǎn)程目錄中的文件列表存入本地文件中
(4)文件傳輸命令組
上傳文件
若不指定遠(yuǎn)程文件名,則遠(yuǎn)程文件名同本地文件名
一次上傳多個文件
下載文件
ftp>get [local-file] remote-file
若不指定本地文件名,則本地文件名同遠(yuǎn)程文件名
一次下載多個文件
(5)文件類型操作命令組
ftp>ascii 設(shè)置傳輸文件的類型為文本
ftp>binary 設(shè)置傳輸文件的類型為二進(jìn)制
(6)文件屬性操作命令組
ftp>chmod mode remote-file
設(shè)置文件權(quán)限,權(quán)限由mode 規(guī)定
例如:ftp>chmod 666 aa 使同組用戶和其他用戶都有讀寫權(quán)
(7)查看文件內(nèi)容命令
只顯示遠(yuǎn)程文件filename 的內(nèi)容,-代表本地
(8)其他
rename 、delete ,mdelete ,size ,?-?-
Ftp 的基本操作及應(yīng)用
Ftp 客戶端軟件舉例