[TOC]
應用層
OSI模型中的應用層是最終用戶最接近的層,這意味著應用層和最終用戶可以直接與軟件應用交互。應用層程序基于客戶端和服務器。
Application層包含以下功能
- 識別通信伙伴:應用層識別具有要傳輸數(shù)據(jù)的應用程序的通信伙伴的可用性。
- 確定資源可用性:應用層確定是否有足夠的網(wǎng)絡資源可用于所請求的通信。
- 同步通信:應用程序之間發(fā)生的所有通信都需要由應用程序?qū)庸芾淼膮f(xié)作。
應用層服務
- 網(wǎng)絡虛擬終端:應用程序?qū)釉试S用戶登錄到遠程主機。為此,應用程序在遠程主機上創(chuàng)建終端的軟件仿真。用戶的計算機與軟件終端通話,軟件終端又與主機通話。遠程主機認為它正在與其自己的終端進行通信,因此它允許用戶登錄。
- 文件傳輸,訪問和管理(FTAM):應用程序允許用戶訪問遠程計算機中的文件,從計算機檢索文件以及管理遠程計算機中的文件。FTAM根據(jù)文件結(jié)構(gòu),文件屬性以及對文件及其屬性執(zhí)行的操作類型定義分層虛擬文件。
- 尋址:為了獲得客戶端和服務器之間的通信,需要尋址。當客戶端向服務器發(fā)出請求時,請求包含服務器地址和自己的地址。服務器響應客戶端請求,該請求包含目標地址,即客戶端地址。為了實現(xiàn)這種尋址,使用了DNS。
- 郵件服務:應用程序?qū)犹峁╇娮余]件轉(zhuǎn)發(fā)和存儲。
- 目錄服務:應用程序包含一個分布式數(shù)據(jù)庫,可以訪問有關(guān)各種對象和服務的全局信息。
- 身份驗證:它驗證發(fā)件人或收件人的郵件或兩者。
網(wǎng)絡應用架構(gòu)
應用程序體系結(jié)構(gòu)與網(wǎng)絡體系結(jié)構(gòu)不同。網(wǎng)絡架構(gòu)是固定的,為應用程序提供一組服務。另一方面,應用程序體系結(jié)構(gòu)由應用程序開發(fā)人員設計,并定義應如何在各種終端系統(tǒng)上構(gòu)建應用程序。
應用程序架構(gòu)有兩種類型:
- 客戶端 - 服務器體系結(jié)構(gòu)
- P2P架構(gòu)
客戶端 - 服務器體系結(jié)構(gòu)
在本地計算機上運行的應用程序向另一個應用程序發(fā)送請求,稱為客戶端,服務請求的程序稱為服務器。例如,當Web服務器從客戶端主機接收請求時,它會響應對客戶端主機的請求。
客戶端 - 服務器架構(gòu)的特征:
- 在客戶端 - 服務器體系結(jié)構(gòu)中,客戶端不直接相互通信。例如,在Web應用程序中,兩個瀏覽器不直接相互通信。
- 服務器是固定的,眾所周知的地址,稱為IP地址,因為服務器始終處于打開狀態(tài),而客戶端始終可以通過向發(fā)送方的IP地址發(fā)送數(shù)據(jù)包來聯(lián)系服務器。
客戶端 - 服務器架構(gòu)的缺點:
它是一種基于單服務器的體系結(jié)構(gòu),無法保存來自客戶端的所有請求。例如,當只有一個服務器存在時,社交網(wǎng)站可能會變得不堪重負。
P2P(點對點)架構(gòu)
數(shù)據(jù)中心沒有專用服務器。對等方是不屬于服務提供商的計算機。大多數(shù)同齡人居住在家庭,辦公室,學校和大學。對等體彼此通信而不通過專用服務器傳遞信息,該體系結(jié)構(gòu)稱為對等體系結(jié)構(gòu)。基于P2P架構(gòu)的應用程序包括文件共享和互聯(lián)網(wǎng)電話。
P2P架構(gòu)的特點
- 自擴展性:在文件共享系統(tǒng)中,盡管每個對等方通過請求文件生成工作負載,但每個對等方還通過將文件分發(fā)給對等方來添加服務容量。
- 經(jīng)濟高效:它具有成本效益,因為它不需要大量的服務器基礎(chǔ)設施和服務器帶寬。
客戶端和服務器進程
- 網(wǎng)絡應用程序由一對通過網(wǎng)絡相互發(fā)送消息的進程組成。
- 在P2P文件共享系統(tǒng)中,文件從一個對等體中的進程傳輸?shù)搅硪粋€對等體中的進程。我們將兩個進程中的一個標記為客戶端,將另一個進程標記為服務器。
- 通過P2P文件共享,正在下載文件的對等體被稱為客戶端,并且正在上載該文件的對等體被稱為服務器。但是,我們在一些應用程序中觀察到,例如P2P文件共享; 進程可以作為客戶端和服務器。因此,我們可以說一個進程可以下載和上傳文件。
客戶端和服務器模型
- 客戶端和服務器網(wǎng)絡模型是一種模型,其中諸如服務器的計算機向諸如客戶端的其他計算機提供網(wǎng)絡服務以執(zhí)行基于用戶的任務。此模型稱為客戶端 - 服務器網(wǎng)絡模型。
- 使用客戶端 - 服務器模型的應用程序應遵循以下給定的策略:
客戶
客戶端是在本地計算機上運行的程序,從服務器請求服務。客戶端程序是有限程序,意味著服務由用戶啟動并在服務完成時終止。
服務器
服務器是在遠程機器上運行的程序,為客戶端提供服務。當客戶端請求服務時,服務器會為傳入的請求打開大門,但它永遠不會啟動服務。
服務器程序是一個無限程序意味著當它啟動時,它會無限運行,除非出現(xiàn)問題。服務器等待來自客戶端的傳入請求。當請求到達服務器時,它會響應請求。
客戶端 - 服務器網(wǎng)絡的優(yōu)點:
- 集中式:在客戶端 - 服務器網(wǎng)絡中可以集中備份,即所有數(shù)據(jù)都存儲在服務器中。
- 安全性:這些網(wǎng)絡更加安全,因為所有共享資源都是集中管理的。
- 性能:使用專用服務器可提高共享資源的速度。這提高了整個系統(tǒng)的性能。
- 可擴展性:我們可以單獨增加客戶端和服務器的數(shù)量,即可以添加新元素,或者我們可以隨時在網(wǎng)絡中添加新節(jié)點。
客戶端 - 服務器網(wǎng)絡的缺點:
- 流量擁塞是客戶端/服務器網(wǎng)絡中的一個大問題。當大量客戶端向同一服務器發(fā)送請求時可能會導致流量擁塞問題。
- 它沒有網(wǎng)絡的健壯性,即,當服務器關(guān)閉時,則無法滿足客戶端請求。
- 客戶端/服務器網(wǎng)絡非常具有決定性。有時,常規(guī)計算機硬件不能為一定數(shù)量的客戶端提供服務。在這種情況下,服務器端需要特定的硬件才能完成工作。
- 有時資源存在于服務器中,但可能不存在于客戶端中。例如,如果應用程序是Web,那么我們無法在不取出Web上的打印視圖窗口的情況下直接在打印機上打印。