計算機網絡 --應用層
一、應用層概述
1. 功能
- 應用層為應用程序通信提供直接服務,這種服務是用戶能夠直接感知到的數據通信服務。
- 核心功能包括:
- 文件傳輸:實現不同設備間文件的傳輸操作。
- 訪問管理:對用戶訪問資源等進行管理。
- 電子郵件:支持郵件的發送、接收與存儲管理等功能。
- 虛擬終端:為用戶提供虛擬的終端環境,方便遠程操作等。
- 查詢服務:例如查詢數據庫等操作。
2. 核心協議
- FTP(文件傳輸協議):專門用于在網絡上進行文件傳輸的協議。
- SMTP/POP3/IMAP(電子郵件協議):
- SMTP(簡單郵件傳輸協議):主要負責郵件的發送,包括客戶端到服務器以及服務器之間的郵件傳輸。
- POP3(郵局協議版本3):用戶從服務器下載郵件到本地進行離線閱讀,下載后可刪除服務器上的副本。
- IMAP(互聯網消息訪問協議):用戶可在線同步管理郵件,并且保留服務器上的副本。
- HTTP(超文本傳輸協議):用于在萬維網上傳輸超文本等資源。
- DNS(域名解析系統):實現域名到IP地址的映射解析,使用戶輸入的域名能夠被轉換為對應的IP地址。
二、網絡應用模型
1. C/S模型(客戶端 - 服務器模型)
角色劃分
- 服務器:
- 持續運行,不間斷地為客戶端提供服務。
- 例如Web服務器提供網頁瀏覽服務,郵件服務器提供郵件存儲轉發等服務。
- 客戶端:
- 主動發起服務請求的一方。
- 通過與服務器建立連接來獲取所需資源,如訪問網頁、下載文件或者獲取郵件等。
典型應用
- Web訪問:用戶使用瀏覽器(客戶端)向Web服務器請求網頁資源。
- FTP文件傳輸:客戶端向FTP服務器請求文件的上傳或下載操作。
- 電子郵件:客戶端與郵件服務器交互,實現郵件的收發操作。
2. P2P模型(對等網絡模型)
特點
- 網絡中的節點具有雙重身份,既是客戶端又是服務器。
- 資源共享效率高,因為節點之間可以直接交互,無需依賴中央服務器進行資源的中轉。
優勢
- 去中心化:不存在中心控制節點,每個節點地位平等,降低了單點故障的風險。
- 擴展性強:例如在迅雷下載、BT資源分享中,新加入的節點可以增加整個網絡的資源共享能力。
示例
- 在下載電影時,多個節點相互傳輸部分數據,共同加速電影文件的下載速度。
三、DNS域名系統
1. 核心功能
- 主要功能為將用戶輸入的域名轉換為對應的IP地址,即實現域名到IP地址的映射解析。這一功能是網絡通信中至關重要的環節,因為計算機在網絡中是通過IP地址進行通信的,而域名則是方便用戶記憶和使用的標識。
2. 域名結構
- 層級結構:采用
三級域名.二級域名.頂級域名
的形式。- 頂級域名(TLD):
.com
:主要用于商業機構。.edu
:用于教育機構。.gov
:用于政府機構。.cn
:是中國的國家代碼頂級域名。
- 二級域名:例如
baidu
(百度公司的域名部分)、pku
(北京大學的域名部分)等,是由各個組織或機構自行定義的標識。 - 三級域名:像
www
通常作為默認主機名,也可以是其他自定義的名稱,用于進一步細分域名下的不同服務或主機。
- 頂級域名(TLD):
3. DNS解析過程
遞歸查詢(本地服務器代查)
- 當主機需要查詢域名對應的IP地址時:
- 首先查詢本地DNS緩存,如果在緩存中能夠找到對應的解析結果,則直接使用,無需進一步查詢。
- 如果本地DNS緩存未命中,則向本地DNS服務器發送查詢請求。
- 本地DNS服務器會按照順序依次向根DNS服務器、頂級DNS服務器、權限DNS服務器進行遞歸查詢,直到獲取到域名對應的IP地址并返回給主機。
迭代查詢(本地服務器自主查)
- 主機向本地DNS服務器發起查詢請求后:
- 本地DNS服務器首先向根DNS服務器查詢,根DNS服務器返回頂級DNS服務器的地址。
- 本地DNS服務器根據根DNS服務器返回的地址,直接向頂級DNS服務器查詢,頂級DNS服務器返回權限DNS服務器的地址。
- 最后本地DNS服務器根據頂級DNS服務器返回的地址,直接向權限DNS服務器查詢,獲取域名對應的IP地址。
4. 服務器類型
- 根域名服務器:
- 全球共有13組根域名服務器,其主要存儲頂級域名服務器的地址信息。
- 在DNS解析過程中起著關鍵的引導作用。
- 本地域名服務器:
- 是用戶直接訪問的首個DNS服務器。
- 負責接收用戶的查詢請求,并根據情況進行遞歸查詢或者迭代查詢。
四、FTP文件傳輸協議
1. 特點
- 基于C/S模型:遵循客戶端 - 服務器的交互模式。
- 采用TCP可靠傳輸:確保文件傳輸過程中數據的準確性和完整性,避免數據丟失或出錯。
- 雙端口機制:
- 控制連接(端口21):主要用于傳輸命令,例如客戶端請求文件的操作指令等。
- 數據連接(端口20):專門用于傳輸文件的實際內容。
2. 工作流程
- 首先,客戶端通過21端口與服務器建立控制連接。
- 然后,服務器啟動子進程來處理客戶端的請求,并通過20端口建立數據連接,用于傳輸文件。
五、電子郵件系統
1. 核心組件
- 用戶代理(UA):
- 客戶端軟件,例如Outlook等。
- 其主要功能包括撰寫郵件、發送郵件以及接收郵件,為用戶提供方便的郵件操作界面。
- 郵件服務器:
- 主要負責存儲和轉發郵件。
- 在郵件發送時使用SMTP協議,在接收郵件時使用POP3或IMAP協議。
2. 協議與流程
- SMTP(簡單郵件傳輸協議):
- 用途:
- 主要用于發送郵件,包括從客戶端到服務器以及服務器之間的郵件傳輸。
- 三階段:
- 連接建立:客戶端與服務器建立連接,準備進行郵件傳輸。
- 郵件傳輸:實際進行郵件內容的傳輸操作。
- 連接釋放:傳輸完成后,釋放連接資源。
- 基于TCP端口25。
- 用途:
- POP3/IMAP:
- 用途:從服務器下載郵件到本地,是用戶主動拉取郵件的操作。
- POP3特點:
- 操作簡單,適用于用戶進行離線閱讀郵件。
- 下載郵件后會刪除服務器上的副本。
- IMAP特點:
- 可以實現在線同步管理郵件,方便用戶在不同設備上同步郵件狀態。
- 保留服務器上的副本,不會在下載后刪除服務器上的郵件。
六、萬維網與HTTP協議
1. 核心概念
- 萬維網(WWW):
- 由超文本、URL、HTTP協議共同構成的全球性資源網絡。
- 為用戶提供豐富的信息資源,通過超鏈接可以方便地在不同資源之間進行跳轉訪問。
- URL(統一資源定位符):
- 格式為
協議://主機:端口/路徑
,例如http://www.baidu.com
。 - 通過URL可以準確地定位網絡中的資源位置。
- 格式為
2. HTTP協議
- 特點:
- 無狀態:協議本身不保存之前的交互狀態信息,每個請求都是獨立的。
- 基于TCP(端口80):利用TCP協議的可靠傳輸特性來保證數據的正確傳輸。
- 支持持久連接:在一定時間內可以保持連接,減少連接建立和釋放的開銷,提高傳輸效率。
- 工作流程:
- 瀏覽器首先解析URL,通過DNS獲取服務器的IP地址。
- 然后建立TCP連接,這個過程通過三次握手來完成。
- 接著發送HTTP請求,例如
GET /index.html
等請求指令,獲取特定的資源。 - 服務器收到請求后,響應請求并返回相應的資源,如HTML文件、圖片等。
- 最后釋放TCP連接,通過四次揮手來完成連接的關閉操作。
3. HTML與超鏈接
- HTML(超文本標記語言):
- 用于定義網頁的內容和結構,通過各種標簽來組織文字、圖片、鏈接等元素。
- 超鏈接:
- 通過URL實現資源的跳轉,使用戶可以方便地從一個網頁跳轉到另一個相關的網頁或者資源。
七、補充要點
1. 域名書寫規則
- 域名書寫時,頂級域名應寫在最后,例如
.com.cn
是正確的寫法,而.cn.com
是錯誤的寫法。
2. 協議用途
- SMTP:主要用于郵件的發送,包括服務器之間的郵件傳輸。
- POP3/IMAP:主要用于郵件的接收,即用戶從服務器拉取郵件。
3. 端口號
- FTP:控制連接使用端口21,數據連接使用端口20。
- HTTP:使用端口80。
- SMTP:基于TCP端口25。
4. DNS解析類型
- 遞歸查詢:本地服務器代查,按照根DNS服務器、頂級DNS服務器、權限DNS服務器的順序依次查詢。
- 迭代查詢:本地服務器自主查詢,根據根DNS服務器返回的頂級DNS服務器地址,再根據頂級DNS服務器返回的權限DNS服務器地址進行查詢。