1.應用層概述
應用層是計算機網(wǎng)絡體系結構的最頂層,是設計和建立計算機網(wǎng)絡的最終目的,也是計算機網(wǎng)絡中發(fā)展最快的部分。
????早期基于文本的應用(電子郵件、遠程登錄、文件傳輸、新聞組)
????20世紀90年代將因特網(wǎng)帶入千家萬 戶的萬維網(wǎng)WWW
????當今流行的即時通信、P2P文件共享及各種音視頻應用
????計算設備的小型化和“無處不在”,寬帶住宅接入和無線接入的日益普及和迅速發(fā)展, 為未來更多的新型應用提供了廣闊的舞臺。
2.客戶/服務器方式(C/S方式)和對等方式(P2P方式)
客戶/服務器(Client/Server, C/S)方式
客戶和服務器是指通信中所涉及的兩個應用進程。
客戶/服務器方式所描述的是進程之間服務和被服務的關系。
客戶是服務請求方,服務器是服務提供方。
服務器總是處于運行狀態(tài),并等待客戶的服務請求。服務器具有固定端口號(例如HTTP服務器的默認端口號為80),而運行服務器的主機也具有固定的IP地址。
C/S方式是因特網(wǎng).上傳統(tǒng)的、同時也是最成熟的方式,很多我們熟悉的網(wǎng)絡應用采用的都是C/S方式。包括萬維網(wǎng)www.電子郵件、文件傳輸FTP等。
基于C/S方式的應用服務通常是服務集中型的,即應用服務集中在網(wǎng)絡中比客戶計算機少得多的服務器計算機上。
????由于一臺服務器計算機要為多個客戶機提供服務,在C/S應用中,常會出現(xiàn)服務器計算機跟不上眾多客戶機請求的情況。
????為此,在C/S應用中,常用計算機群集(或服務器場)構建一個強大的虛擬服務器。
對等(Peer - to - Peer, P2P)方式
在P2P方式中,沒有固定的服務請求者和服務提供者,分布在網(wǎng)絡邊緣各端系統(tǒng)中的應用進程是對等的,被稱為對等方。對等方相互之間直接通信,每個對等方既是服務的請求者,又是服務的提供者.
目前,在因特網(wǎng)上流行的P2P應用主要包括P2P文件共享、即時通信、P2P流媒體、分布式存儲等。
基于P2P的應用是服務分散型的,因為服務不是集中在少數(shù)幾個服務器計算機中,而是分散在大量對等計算機中,這些計算機并不為服務提供商所有,而是為個人控制的桌面計算機和筆記本電腦,它們通常位于住宅、校園和辦公室中。
P2P方式的最突出特性之一就是它的可擴展性。 因為系統(tǒng)每增加一個對等方,不僅增加的是服務的請求者,同時也增加了服務的提供者,系統(tǒng)性能不會因規(guī)模的增大而降低。
P2P方式具有成本上的優(yōu)勢,因為它通常不需要龐大的服務器設施和服務器帶寬。為了降低成本,服務提供商對于將P2P方式用于應用的興趣越來越大。
3.動態(tài)主機配置協(xié)議DHCP
動態(tài)主機配置協(xié)議DHCP(Dynamic Host Configuration Protocol)提供了一種機制,稱為即插即用連網(wǎng)。這種機制允許一臺計算機加入新網(wǎng)絡時可自動獲取IP地址等網(wǎng)絡配置信息而不用手工參與。
DHCP主要使用以下報文來實現(xiàn)其功能:
????DHCP DISCOVER:DHCP發(fā)現(xiàn)報文
????DHCP OFFER:DHCP提供報文
????DHCP REQUEST:DHCP請求報文
????DHCP ACK:DHCP確認報文
????DHCP NACK:DHCP否認報文
????DHCP RELEASE:DHCP釋放報文
DHCP報文在運輸層使用UDP協(xié)議封裝
????DHCP客戶使用的UDP端口號為68
????DHCP服務器使用的UDP端口號為67
DHCP客戶在未獲取到IP地址時使用地址0.0.0.0
在每一個網(wǎng)絡上都設置一個DHCP服務器會使DHCP服務器的數(shù)量太多。因此現(xiàn)在是使每一個網(wǎng)絡至少有一個DHCP中繼代理(通常是一臺路由器),它配置了DHCP服務器的IP地址信息,作為各網(wǎng)絡中計算機與DHCP服務器的橋梁。
4.域名系統(tǒng)DNS(Domain Name System)
域名系統(tǒng)DNS是因特網(wǎng)使用的命名系統(tǒng),用來把便于人們記憶的具有特定含義的主機名(例如www.hnust.cn) ,轉(zhuǎn)換為便于機器處理的IP地址。
因特網(wǎng)采用層次樹狀結構的域名結構? ? ? ? ... .三級域名.二級域名.頂級域名
頂級域名TLD (Top Level Domain)分為以下三類:
????國家頂級域名nTLD
????通用頂級域名gTLD
????反向域arpa
域名和IP地址的映射關系必須保存在域名服務器中,供所有其他應用查詢。顯然不能將所有信息都儲存在一臺域名服務器中。DNS使用分布在各地的域名服務器來實現(xiàn)域名到IP地址的轉(zhuǎn)換。
域名服務器可以劃分為以下四種不同的類型:
????根域名服務器
????頂級域名服務器
????權限域名服務器
????本地域名服務器
域名解析的過程使用兩種域名查詢方式:
????遞歸查詢
????迭代查詢

為了提高DNS的查詢效率,并減輕根域名服務器的負荷和減少因特網(wǎng)上的DNS查詢報文數(shù)量,在域名服務器和主機中廣泛地使用了高速緩存。
DNS報文使用運輸層的UDP協(xié)議進行封裝,運輸層端口號為53。
5.文件傳送協(xié)議FTP
將某臺計算機中的文件通過網(wǎng)絡傳送到可能相距很遠的另一臺計算機中,是一項基本的網(wǎng)絡應用,即文件傳送。
文件傳送協(xié)議FTP (File Transfer Protocol) 是因特網(wǎng).上使用得最廣泛的文件傳送協(xié)議。
????FTP提供交互式的訪問,允許客戶指明文件的類型與格式(如指明是否使用ASCII碼),并允許文件具有存取權限(如訪問文件的用戶必須經(jīng)過授權,并輸入有效的口令)。
????FTP屏蔽了各計算機系統(tǒng)的細節(jié),因而適合于在異構網(wǎng)絡中任意計算機之間傳送文件。
在因特網(wǎng)發(fā)展的早期階段,用FTP傳送文件約占整個因特網(wǎng)的通信量的三分之一,而由電子郵件和域名系統(tǒng)所產(chǎn)生的通信量還要小于FTP所產(chǎn)生的通信量。只是到了1995年,萬維網(wǎng)WWW的通信量才首次超過了FTP。
FTP客戶和服務器之間要建立以下兩個并行的TCP連接:
????控制連接,在整個會話期間一直保持打開,用于傳送FTP相關控制命令。
????數(shù)據(jù)連接,用于文件傳輸,在每次文件傳輸時才建立,傳輸結束就關閉。
????默認情況下,F(xiàn)TP使用TCP 21端口進行控制連接,TCP 20端口進行數(shù)據(jù)連接。但是,是否使用TCP 20端口建立數(shù)據(jù)連接與傳輸模式有關,主動方式使用TCP 20端口,被動方式由服務器和客戶端自行協(xié)商決定。

6.電子郵件
電子郵件系統(tǒng)采用客戶/服務器方式。三個主要組成構件:用戶代理,郵件服務器,以及電子郵件所需的協(xié)議。
????用戶代理是用戶與電子郵件系統(tǒng)的接口, 又稱為電子郵件客戶端軟件。
????郵件服務器是電子郵件系統(tǒng)的基礎設施。 因特網(wǎng)上所有的ISP都有郵件服務器,其功能是發(fā)送和接收郵件,同時還要負責維護用戶的郵箱。
????協(xié)議包括郵件發(fā)送協(xié)議 (例如SMTP)和郵件讀取協(xié)議(例如POP3)。
常用的郵件發(fā)送協(xié)議是簡單郵件傳送協(xié)議SMTP
????基于TCP連接, 端口號為25;
????只能傳送ASCII碼文本
????用于用戶代理向郵件服務器發(fā)送郵件以及郵件服務器之 間的郵件發(fā)送
為解決SMTP傳送非ASCII碼文本的問題,提出了多用途因特網(wǎng)郵件擴展MIME。
常用的郵件讀取協(xié)議有以下兩個:
????郵局協(xié)議POP3:非常簡單、功能有限的郵件讀取協(xié)議。用戶只能以下載并刪除方式或下載并保留方式從郵件服務器下載郵件到用戶方計算機。不允許用戶在郵件服務器上管理自己的郵件。
????因特網(wǎng)郵件訪問協(xié)議IMAP:功能比POP3強大的郵件讀取協(xié)議。 用戶在自己的計算機上就可以操控郵件服務器中的郵箱,就像在本地操控一樣,因此IMAP是一個聯(lián)機協(xié)議。
????POP3和IMAP4都采用基于TCP連接的客戶/服務器方式。 POP3使用端口110,IMAP4使用端口143。
基于萬維網(wǎng)的電子郵件
????通過瀏覽器登錄 (提供用戶名和口令) 郵件服務器萬維網(wǎng)網(wǎng)站就可以撰寫、收發(fā)、閱讀和管理電子郵件。 這種工作模式與IMAP很類似,不同的是用戶計算機無需安裝專門的用戶代理程序,只需要使用通用的萬維網(wǎng)瀏覽器。
????這種工作模式在用戶瀏覽器與郵件服務器網(wǎng)站之間使用HTTP協(xié)議,而郵件服務器之間使用SMTP協(xié)議。
7.萬維網(wǎng)WWW
萬維網(wǎng)WWW (Worid Wide Web)是一個大規(guī)模的、聯(lián)機式的信息儲藏所,是運行在因特網(wǎng).上的一個分布式應用。
瀏覽器最重要的部分是渲染引擎,也就是瀏覽器內(nèi)核,負責對網(wǎng)頁內(nèi)容進行解析和顯示。
萬維網(wǎng)使用統(tǒng)一資源定位符URL來指明因特網(wǎng)上任何種類“資源”的位置。其一般形式為:<協(xié)議>://<主機>:<端口>/<路徑>
萬維網(wǎng)文檔
????超文本標記語言HTML,使用多種“標簽”來描述網(wǎng)頁的結構和內(nèi)容。 (網(wǎng)頁擴展名為.htm)
????層疊樣式表CSS,從審美角度來描述網(wǎng)頁的樣式。 (文件擴展名為.css)
????腳本語言JavaScript (與Java沒有任何關系) ,控制網(wǎng)頁的行為。 (文件擴展名為.js)
超文本傳輸協(xié)議HTTP (HyperText Transfer Protocol)定義了瀏覽器(即萬維網(wǎng)客戶進程)怎樣向萬維網(wǎng)服務器請求萬維網(wǎng)文檔,以及萬維網(wǎng)服務器怎樣把萬維網(wǎng)文檔傳送給瀏覽器。
????HTTP/1.0采用非持續(xù)連接方式。每次瀏覽器要請求一個文件都要與服務器建立TCP連接(80端口),當收到響應后就立即關閉連接。
????HTTP/1.1采用持續(xù)連接方式。 萬維網(wǎng)服務器在發(fā)送響應后仍然保持這條連接, 使同一個客戶(瀏覽器)和該服務器可以繼續(xù)在這條連接上傳送后續(xù)的HTTP請求報文和響應報文。為了進一步提高效率,還可采用流水線方式,即瀏覽器在收到HTTP的響應報文之前就能夠連續(xù)發(fā)送多個請求報文。
HTTP有兩類報文:請求報文和響應報文。報文中的每一個字段都是一些ASCII碼串, 并且每個字段的長度都是不確定的。
Cookie提供了一種機制使得萬維網(wǎng)服務器能夠“記住”用戶,而無需用戶主動提供用戶標識信息。也就是說,Cookie是一種對無狀態(tài)的HTTP進行狀態(tài)化的技術。
在萬維網(wǎng)中還可以使用緩存機制以提高萬維網(wǎng)的效率。萬維網(wǎng)緩存又稱為Web緩存,可位于客戶機,也可位于中間系統(tǒng)上,位于中間系統(tǒng)上的Web緩存又稱為代理服務器。