應用層概述:
功能:
常見協議
應用層與其他層的關系
網絡應用模型
C/S模型:
優點
缺點
P2P模型:
優點
缺點
DNS系統:
基本功能
系統架構
域名空間:
DNS 服務器
根服務器:
頂級域名服務器:
權限域名服務器:
遞歸/迭代(本地)域名服務器:
FTP協議:
基本概念
工作原理
連接建立
控制連接:
數據連接:
文件傳輸
上傳:
下載:
命令與響應
傳輸模式
優點
缺點
應用層概述:
應用層是計算機網絡體系結構中的最高層,它直接面向用戶,為用戶提供各種網絡應用服務,是網絡與用戶之間的接口。
功能:
提供網絡應用接口:為用戶和應用程序提供與網絡交互的接口,使用戶無需了解網絡的底層細節,就能方便地使用各種網絡服務,如通過瀏覽器訪問網頁、使用電子郵件客戶端收發郵件等。
數據處理與表示:對應用程序產生或需要的數據進行處理和表示,包括數據的編碼、加密、壓縮等操作,以確保數據在網絡傳輸中的安全性、完整性和高效性。例如,將圖像數據進行壓縮后再通過網絡傳輸,以減少傳輸帶寬和時間。
應用協議處理:負責處理各種應用層協議,根據不同的應用需求,按照特定的協議規則進行數據的封裝、解析和交互。如 HTTP 協議用于網頁的請求和響應,SMTP 協議用于電子郵件的發送等。
常見協議
HTTP(超文本傳輸協議):用于在 Web 瀏覽器和 Web 服務器之間傳輸超文本信息,是萬維網的核心協議。它定義了客戶端如何向服務器發送請求以及服務器如何向客戶端返回響應,支持獲取網頁、圖片、視頻等各種資源。
SMTP(簡單郵件傳輸協議):主要用于發送電子郵件,負責將郵件從發件人的郵件服務器傳輸到收件人的郵件服務器。與之相關的還有 POP3(郵局協議版本 3)和 IMAP(互聯網消息訪問協議),用于接收和管理電子郵件。
FTP(文件傳輸協議):用于在網絡上進行文件的傳輸,允許用戶在不同的計算機之間上傳和下載文件,提供了可靠的文件傳輸服務,常用于文件共享、軟件分發等場景。
DNS(域名系統):將人類易于記憶的域名轉換為計算機能夠識別的 IP 地址,實現了網絡資源的方便訪問。用戶只需輸入域名,如www.example.com,DNS 系統就能將其解析為對應的 IP 地址,使得計算機能夠在網絡中找到目標服務器。
DHCP(動態主機配置協議):用于自動為網絡中的設備分配 IP 地址等網絡配置信息,簡化了網絡管理,使得設備能夠快速、方便地接入網絡,無需用戶手動進行復雜的網絡配置。
應用層與其他層的關系
與傳輸層的關系:應用層依賴傳輸層提供的端到端通信服務來傳輸數據。傳輸層為應用層提供了 TCP 和 UDP 兩種不同的傳輸協議,應用層根據自身的需求選擇合適的傳輸協議。例如,HTTP 協議通常使用 TCP 協議來保證數據的可靠傳輸,而實時視頻流應用可能會選擇 UDP 協議以追求低延遲。
與網絡層的關系:應用層的數據需要通過網絡層進行路由和轉發,網絡層負責將數據從源主機傳輸到目標主機。應用層并不關心網絡層的具體路由過程,只需要將數據交給傳輸層,由傳輸層再交給網絡層進行處理。
與鏈路層和物理層的關系:應用層數據最終要通過鏈路層和物理層在物理介質上進行傳輸。鏈路層負責將數據幀在本地網絡中進行傳輸,物理層則負責將數據轉換為物理信號在物理介質上傳輸,如光纖、電纜等。應用層數據經過層層封裝后,最終在物理介質上進行傳輸,到達目標主機后再進行層層解封裝,最終被應用層接收和處理。
網絡應用模型
C/S模型:
一種常用的計算機網絡架構模式,用于在網絡環境中實現客戶端和服務器之間的信息交互和資源共享。
客戶端:是用戶與系統交互的接口,通常安裝在用戶的本地設備上,如個人電腦、手機等。它的主要功能是向服務器發送請求,并接收服務器返回的響應結果,然后將結果呈現給用戶。客戶端可以是各種應用程序,如瀏覽器、電子郵件客戶端、游戲客戶端等。(和服務器通信并用其的服務,間歇接入網絡,使用動態IP地址)
服務器:是為客戶端提供服務和資源的設備或程序,通常具有強大的計算能力、存儲能力和網絡通信能力。服務器負責接收客戶端發送的請求,根據請求的內容進行相應的處理,如查詢數據庫、執行計算任務等,然后將處理結果返回給客戶端。服務器可以是物理服務器,也可以是虛擬服務器,常見的服務器軟件有 Apache、IIS 等。(永久提供服務,永久性訪問地址)
優點
強大的交互能力:客戶端和服務器之間可以進行頻繁的交互,客戶端能夠實時向服務器發送請求,服務器也能及時響應客戶端的請求,實現了高效的信息交互和業務處理。
良好的安全性:客戶端和服務器之間的通信可以進行加密處理,保證數據在傳輸過程中的安全性。同時,服務器可以對客戶端的訪問進行嚴格的權限控制,只有經過授權的客戶端才能訪問服務器上的資源,提高了系統的安全性。
可擴展性強:C/S 模型可以方便地進行擴展,當系統的業務需求增加或用戶數量增多時,可以通過增加服務器的數量或升級服務器的硬件配置來提高系統的處理能力和性能。
缺點
客戶端維護成本高:由于客戶端需要安裝在用戶的本地設備上,當客戶端軟件需要升級或更新時,需要用戶手動下載和安裝更新包,這給用戶帶來了不便,也增加了軟件維護的成本。
跨平臺兼容性差:不同操作系統和設備上的客戶端可能需要進行專門的開發和適配,以確保客戶端能夠在各種平臺上正常運行。這增加了開發的難度和成本,也限制了系統的應用范圍。
服務器壓力較大:隨著用戶數量的增加,服務器需要處理大量的客戶端請求,這可能會導致服務器的負載過高,影響系統的性能和響應速度。
P2P模型:
網絡中的節點(Peer)既可以作為客戶端向其他節點請求服務,也可以作為服務器為其他節點提供服務,各節點地位平等,沒有中心服務器的控制。
節點:P2P 網絡中的每個參與者都被稱為節點,這些節點具有相同的功能和地位,沒有主從之分。每個節點都可以同時扮演客戶端和服務器的角色,既可以發起請求獲取其他節點的資源或服務,也可以響應其他節點的請求,提供自己的資源或服務。節點可以是個人電腦、服務器、移動設備等各種聯網設備。
網絡連接:節點之間通過網絡相互連接,形成一個分布式的網絡結構。這些連接可以是基于互聯網的有線網絡連接,也可以是無線網絡連接。節點之間通過特定的協議和算法來發現彼此、建立連接并進行數據傳輸和交互。
優點
去中心化:沒有中心服務器來控制整個網絡,避免了單點故障和性能瓶頸問題。即使部分節點出現故障或離線,也不會影響整個網絡的正常運行。
可擴展性強:隨著節點數量的增加,P2P 網絡的性能和資源容量也會相應增加。新節點可以隨時加入網絡,為網絡帶來更多的資源和計算能力,而無需對整個系統進行大規模的改造。
資源共享高效:節點可以直接從其他節點獲取所需資源,無需通過中間服務器進行轉發,大大提高了資源的傳輸效率。特別是在大規模文件共享等場景下,P2P 網絡能夠充分利用節點的帶寬資源,實現快速的數據傳輸。
缺點
安全性挑戰:由于沒有中心服務器進行統一的管理和認證,P2P 網絡中的節點身份難以嚴格驗證,容易受到惡意攻擊,如病毒傳播、黑客入侵、數據篡改等。
網絡管理復雜:節點的動態加入和離開使得網絡拓撲結構不斷變化,難以進行有效的網絡管理和監控。同時,由于節點之間的協作和數據傳輸依賴于分布式的協議和算法,網絡中的數據流量和資源使用情況難以準確統計和控制。
知識產權問題:在一些 P2P 文件共享網絡中,可能存在大量未經授權的版權內容傳播,這給知識產權保護帶來了很大的挑戰。
DNS系統:
DNS 系統即域名系統(Domain Name System),是互聯網的一項核心服務,它作為將域名和 IP 地址相互映射的一個分布式數據庫,能夠使人更方便地訪問互聯網,而不用去記住能夠被機器直接讀取的 IP 地址數串。
基本功能
域名解析:這是 DNS 系統最主要的功能,即將域名轉換為對應的 IP 地址。當用戶在瀏覽器中輸入一個域名時,如www.example.com,DNS 系統會根據域名查找對應的 IP 地址,如 192.0.2.1,然后瀏覽器才能通過該 IP 地址與服務器建立連接,獲取相應的網頁內容。
反向解析:與域名解析相反,是將 IP 地址轉換為域名。這在一些需要根據 IP 地址查找域名的場景中非常有用,比如服務器在記錄訪問日志時,可能會根據訪問者的 IP 地址反向解析出域名,以便更好地分析訪問來源。
負載均衡:通過將多個服務器的 IP 地址與一個域名關聯,DNS 系統可以根據一定的算法,如輪詢、加權輪詢等,將用戶的請求分配到不同的服務器上,實現負載均衡,提高系統的性能和可靠性。
域名管理:DNS 系統還負責管理域名的注冊、更新、刪除等操作,確保域名的唯一性和合法性,維護域名系統的正常運行。
系統架構
域名空間:
是一個樹形結構,根在最頂層,向下分支為各個頂級域名(TLD),如.com、.org、.net 等,頂級域名下又可以有二級域名、三級域名等。每個域名在這個樹形結構中都有唯一的位置,形成了一個層次化的命名空間。
www(三級).example(二級).com(頂級)
DNS 服務器
根服務器:
是 DNS 系統的核心,全球共有 13 組根服務器,以字母 A 到 M 命名。根服務器知道所有頂級域名服務器的地址,當 DNS 服務器在本地無法解析域名時,會向根服務器查詢,根服務器會返回相應頂級域名服務器的地址,引導查詢進一步進行。
頂級域名服務器:
負責管理頂級域名,如.com 域名服務器負責解析所有以.com 為后綴的域名。它知道該頂級域名下所有二級域名服務器的地址信息。
權限域名服務器:
由域名所有者自行管理或委托管理,負責存儲和提供特定域名的權威解析記錄,如某個企業的域名example.com的權威域名服務器,會保存該域名對應的 IP 地址等解析信息。
遞歸/迭代(本地)域名服務器:
通常由互聯網服務提供商(ISP)或企業內部網絡部署,它接受用戶的域名解析請求,并將最終結果返回給用戶。本地域名服務器會緩存已經解析過的域名信息,以提高后續查詢的效率。
遞歸查詢和迭代查詢
遞歸是本地作為客戶把任務交給別人讓別人告訴答案,迭代是讓別人指路,自己去找
FTP協議:
文件傳輸協議(File Transfer Protocol),是用于在網絡上進行文件傳輸的標準協議
?
基本概念
FTP 協議屬于應用層協議,它基于客戶 / 服務器(C/S)模型,使用 TCP 可靠的運輸服務,允許用戶從一個主機向另一個主機傳輸文件,并且能夠保證文件傳輸的可靠性和完整性,廣泛應用于網站維護、文件共享等場景。
工作原理
連接建立
控制連接:
FTP 客戶端與服務器之間首先建立控制連接(登錄, ftp地址 + 用戶名&密碼),默認使用 TCP 的 21 端口。客戶端通過該連接向服務器發(進程包括1個主進程和n個從屬進程)送命令,服務器則通過此連接返回響應信息,如用戶登錄驗證、文件操作指令等。
數據連接:
在需要傳輸數據時,客戶端和服務器之間會建立數據連接。數據連接可以使用主動模式或被動模式。在主動模式下,服務器會主動連接客戶端指定的數據端口(通常為 20 端口)來傳輸數據;在被動模式下,服務器會監聽一個臨時端口,并將該端口號告知客戶端,由客戶端主動連接服務器的這個臨時端口進行數據傳輸。
文件傳輸
上傳:
當客戶端要向服務器上傳文件時,通過控制連接發送上傳文件的命令,然后在數據連接上按照規定的格式和順序將文件數據發送給服務器,服務器接收并存儲文件。
下載:
客戶端通過控制連接發送下載文件的命令,服務器在數據連接上把文件數據傳輸給客戶端,客戶端接收并保存文件。
(控制鏈接一直打開,數據連接用時打開,同時如果主動傳輸,鏈接端口為20,被動的由客戶端決定)
命令與響應
命令:FTP 協議定義了一系列命令,用于實現各種文件操作和連接管理功能。常見的命令有:
USER:用于向服務器發送用戶名,進行登錄驗證的第一步。
PASS:在發送用戶名后,用于發送密碼完成登錄。
LIST:請求服務器返回當前目錄下的文件和目錄列表。
RETR:用于從服務器下載文件,后面跟隨要下載的文件名。
STOR:用于向服務器上傳文件,后面跟隨要上傳的文件名。
響應:服務器接收到客戶端的命令后,會返回相應的響應代碼和信息。例如:
200:表示命令執行成功。
331:表示用戶名正確,需要輸入密碼。
425:表示無法打開數據連接。
550:表示文件操作失敗,如文件不存在等。
傳輸模式
文本模式:主要用于傳輸文本文件,在傳輸過程中,會根據不同的操作系統對文本文件的格式進行轉換,例如將 Windows 系統中的回車換行符(CRLF)轉換為 Unix 系統中的換行符(LF)等,以確保文件在不同系統上的可讀性。
二進制模式:用于傳輸非文本文件,如圖像、音頻、視頻等。在二進制模式下,文件以字節流的形式進行傳輸,不會對文件內容進行任何轉換,保證文件的原始數據完整無誤地傳輸到目標主機。
優點
簡單易用:FTP 協議的操作相對簡單,用戶只需要掌握一些基本的命令,就可以方便地進行文件傳輸操作。
高效傳輸:能夠支持大文件的傳輸,并且在傳輸過程中可以保證數據的完整性和準確性,傳輸效率較高。
跨平臺性好:可以在不同操作系統的主機之間進行文件傳輸,如 Windows 與 Linux 系統之間,具有良好的兼容性。
缺點
安全性問題:FTP 協議在默認情況下,數據傳輸是明文的,包括用戶名、密碼和文件內容等,容易被黑客竊取和篡改,存在較大的安全風險。
被動模式下的防火墻問題:在使用被動模式時,由于服務器會監聽一個臨時端口用于數據連接,這可能會導致防火墻配置的復雜性增加,需要對防火墻進行特殊配置才能允許數據通過。