[TOC]
應用層協議
應用層有以下幾個重要協議
- DNS
DNS
應用程序層協議定義應用程序如何在不同系統上運行,將消息相互傳遞。
- DNS代表域名系統。
- DNS是一種目錄服務,它提供網絡上主機名稱與其數字地址之間的映射。
- 互聯網的運作需要DNS。
- 樹中的每個節點都有一個域名,完整的域名是由點指定的符號序列。
- DNS是一種將域名轉換為IP地址的服務。這允許網絡用戶在查找其他主機時使用用戶友好的名稱,而不是記住IP地址。
- 例如,假設EduSoft的FTP站點的IP地址為132.147.165.50,大多數人都會通過指定ftp.EduSoft.com來訪問此站點。因此,域名比IP地址更可靠。
DNS是在不同平臺上使用的TCP / IP協議。域名空間分為三個不同的部分:通用域,國家域和反域。
通用域
- 它根據通用行為定義已注冊的主機。
- 樹中的每個節點都定義域名,域名是DNS數據庫的索引。
- 它使用三個字符的標簽,這些標簽描述了組織類型。
標簽 | 描述 |
---|---|
aero | 航空公司和航空航天公司 |
biz | 企業或公司 |
com | 商業組織 |
coop | 合作企業組織 |
edu | 教育機構 |
gov | 政府機構 |
info | 信息服務提供商 |
int | 國際組織 |
mil | 軍事團體 |
museum | 博物館和其他非營利組織 |
name | 個人名字 |
net | 網絡支持中心 |
org | 非營利組織 |
pro | 專業的個人組織 |
國家域
國家域的格式與通用域相同,但它使用兩個字符的國家/地區縮寫(例如,我們用于美國)來代替三個字符的組織縮寫。
反向域
逆域用于將地址映射到名稱。當服務器收到來自客戶端的請求,并且服務器包含僅授權客戶端的文件。要確定客戶端是否在授權列表中,它會向DNS服務器發送查詢并要求將地址映射到名稱。
DNS的工作
- DNS是客戶端/服務器網絡通信協議。DNS客戶端向其發送請求。DNS服務器向客戶端發送響應時的服務器。
- 客戶端請求包含一個名稱,該名稱將轉換為稱為轉發DNS查找的IP地址,而包含IP地址的請求將轉換為稱為反向DNS查找的名稱。
- DNS實現了一個分布式數據庫,用于存儲Internet上可用的所有主機的名稱。
- 如果像Web瀏覽器這樣的客戶端發送包含主機名的請求,那么諸如DNS解析器之類的軟件會向DNS服務器發送請求以獲取主機名的IP地址。如果DNS服務器不包含與主機名關聯的IP地址,則它會將請求轉發到另一個DNS服務器。如果IP地址已到達解析器,則解析器通過Internet協議完成請求。
FTP
- FTP代表文件傳輸協議。
- FTP是TCP / IP提供的標準Internet協議,用于將文件從一個主機傳輸到另一個主機。
- 它主要用于將網頁文件從其創建者傳輸到充當互聯網上其他計算機服務器的計算機。
- 它還用于從其他服務器將文件下載到計算機。
FTP的目標
- 它提供文件共享。
- 它用于鼓勵使用遠程計算機。
- 它可以更可靠,更有效地傳輸數據。
為何選擇FTP?
雖然將文件從一個系統傳輸到另一個系統非常簡單直接,但有時會導致問題。例如,兩個系統可能具有不同的文件約定。兩個系統可能有不同的方式來表示文本和數據。兩個系統可能具有不同的目錄結構。FTP協議通過在主機之間建立兩個連接來克服這些問題。一個連接用于數據傳輸,另一個連接用于控制連接。
FTP機制
FTP中有兩種類型的連接:
FTP客戶端
- FTP客戶端是一個實現文件傳輸協議的程序,允許您在Internet上的兩臺主機之間傳輸文件。
- 它允許用戶連接到遠程主機并上載或下載文件。
- 它有一組命令可用于連接到主機,在您和主機之間傳輸文件并關閉連接。
- FTP程序也可作為Web瀏覽器中的內置組件使用。這個基于GUI的FTP客戶端使文件傳輸非常簡單,也不需要記住FTP命令。
FTP的優點
- 速度: FTP的最大優勢之一是速度。FTP是將文件從一臺計算機傳輸到另一臺計算機的最快方法之一。
- 高效:它更高效,因為我們不需要完成所有操作來獲取整個文件。
- 安全性:要訪問FTP服務器,我們需要使用用戶名和密碼登錄。因此,我們可以說FTP更安全。
- 來回移動: FTP允許我們來回傳輸文件。假設您是公司的經理,您向所有員工發送一些信息,他們都在同一臺服務器上發回信息。
FTP的缺點
- 該行業的標準要求是所有FTP傳輸都應加密。但是,并非所有FTP提供商都是相同的,并非所有提供商都提供加密。因此,我們必須留意提供加密的FTP提供商。
- FTP提供兩種操作,即在網絡上發送和接收大文件。但是,文件的大小限制為2GB,可以發送。它也不允許您同時傳輸到多個接收器。
- 密碼和文件內容以明文形式發送,允許不必要的竊聽。因此,攻擊者很可能通過嘗試猜測FTP密碼來執行暴力攻擊。
- 它與每個系統都不兼容。
Telnet(遠程登錄)
- 互聯網的主要任務是為用戶提供服務。例如,用戶希望在遠程站點上運行不同的應用程序并將結果傳輸到本地站點。這需要客戶端 - 服務器程序,如FTP,SMTP。但這不允許我們為每個需求創建一個特定的程序。
- 更好的解決方案是提供一般的客戶端 - 服務器程序,允許用戶訪問遠程計算機上的任何應用程序。因此,一個允許用戶登錄到遠程計算機的程序。流行的客戶端 - 服務器程序Telnet用于滿足這些需求。Telnet是終端網絡的縮寫。
- Telnet提供與遠程計算機的連接,使本地終端看起來位于遠程端。
登錄有兩種類型
- 本地登陸
- 遠程登陸
本地登陸
當用戶登錄到本地計算機時,它稱為本地登錄。當工作站運行終端仿真器時,終端驅動程序接受用戶輸入的擊鍵。終端驅動程序然后將這些字符傳遞給操作系統,操作系統又調用所需的應用程序。但是,操作系統對特殊字符有特殊意義。例如,在UNIX中,某些字符組合具有特殊含義,例如控制字符,“z”表示暫停。這種情況不會產生任何問題,因為終端驅動程序知道這些字符的含義。但是,它可能會導致遠程登錄問題。
遠程登陸
當用戶想要訪問遠程計算機上的應用程序時,用戶必須執行遠程登錄。
如何進行遠程登陸
在當地的網站
用戶將擊鍵發送給終端驅動程序,然后將字符發送到TELNET客戶端。TELNET客戶端,它又將字符轉換為通用字符集,稱為網絡虛擬終端字符,并將它們傳送到本地TCP / IP堆棧。
在遠程站點
NVT表單中的命令被傳輸到遠程機器上的TCP / IP。這里,字符被傳送到操作系統,然后傳遞給TELNET服務器。TELNET服務器轉換遠程計算機可以理解的字符。但是,由于遠程操作系統不從TELNET服務器接收字符,因此無法將字符直接傳遞給操作系統。因此,它需要一些可以接受來自TELNET服務器的字符的軟件。然后,操作系統將這些字符傳遞給適當的應用程序。
網絡虛擬終端(NVT)
- 網絡虛擬終端是定義如何通過網絡發送數據和命令的接口。
- 在當今世界,系統是異構的。例如,操作系統接受一個特殊的字符組合,例如運行DOS操作系統ctrl + z的文件結束標記,而運行UNIX操作系統的標記是ctrl + d。
- TELNET通過定義稱為網絡虛擬接口的通用接口解決了這個問題。
- TELNET客戶端將來自本地終端的字符轉換為NVT格式,然后將它們傳送到網絡。然后,Telnet服務器將數據從NVT格式轉換為遠程計算機可以理解的形式。
SMTP
- SMTP代表簡單郵件傳輸協議。
- SMTP是一組通信指南,允許軟件通過Internet傳輸電子郵件稱為簡單郵件傳輸協議。
- 它是一個程序,用于根據電子郵件地址向其他計算機用戶發送消息。
- 它在相同或不同的計算機上提供用戶之間的郵件交換,并且還支持:
- 它可以向一個或多個收件人發送單個郵件。
- 發送消息可以包括文本,語音,視頻或圖形。
- 它還可以在互聯網外的網絡上發送消息。
- SMTP的主要用途是用于在服務器之間設置通信規則。服務器有一種識別自己的方式,并宣布他們正在嘗試進行何種通信。他們還有一種處理錯誤的方法,例如錯誤的電子郵件地址。例如,如果收件人地址錯誤,則接收服務器回復,并顯示某種錯誤消息。
SMTP的組件
- 首先,我們將SMTP客戶端和SMTP服務器分為兩個組件,如用戶代理(UA)和郵件傳輸代理(MTA)。用戶代理(UA)準備消息,創建信封,然后將消息放入信封中。郵件傳輸代理(MTA)通過Internet傳輸此郵件。
- SMTP通過添加中繼系統允許更復雜的系統。可以添加更多的MTA,作為客戶端或服務器來傳遞電子郵件,而不是僅在發送端有一個MTA而在接收端有一個MTA。
- 沒有TCP / IP協議的中繼系統也可以用于向用戶發送電子郵件,這是通過使用郵件網關實現的。郵件網關是一個可用于接收電子郵件的中繼MTA。
使用SMTP
- 郵件的組成:用戶通過使用郵件用戶代理(MUA)編寫電子郵件消息來發送電子郵件。郵件用戶代理是用于發送和接收郵件的程序。該消息包含兩部分:正文和標題。正文是郵件的主要部分,而郵件頭包含發件人和收件人地址等信息。標題還包括描述性信息,例如消息的主題。在這種情況下,郵件正文就像一個字母,標題就像一個包含收件人地址的信封。
- 郵件提交:撰寫電子郵件后,郵件客戶端會使用TCP端口25上的SMTP將完成的電子郵件提交到SMTP服務器。
-
郵件傳遞:電子郵件地址包含兩部分:收件人的用戶名和域名。例如,vivek @ gmail.com,其中“vivek”是收件人的用戶名,“gmail.com”是域名。
如果收件人的電子郵件地址的域名與發件人的域名不同,則MSA會將郵件發送到郵件傳輸代理(MTA)。要轉發電子郵件,MTA將找到目標域。它檢查域名系統中的MX記錄以獲取目標域。MX記錄包含收件人域的域名和IP地址。找到記錄后,MTA連接到Exchange服務器以中繼消息。 - 郵件的接收和處理:一旦收到傳入郵件,交換服務器就將郵件傳遞給傳入服務器(郵件傳遞代理),傳入服務器將電子郵件存儲在等待用戶檢索它的位置。
- 訪問和檢索郵件:可以使用MUA(郵件用戶代理)檢索MDA中存儲的電子郵件。可以使用登錄名和密碼訪問MUA。
SNMP
- SNMP代表簡單網絡管理協議。
- SNMP是用于管理互聯網上的設備的框架。
- 它提供了一組用于監控和管理互聯網的操作。
SNMP概念
- SNMP有兩個組件,Manager和Agent。
- 管理器是控制和監視一組代理(如路由器)的主機。
- 它是一個應用層協議,其中一些管理站可以處理一組代理。
- 在應用程序級別設計的協議可以監視由不同制造商制造并安裝在不同物理網絡上的設備。
- 它用于由路由器或網關連接的不同LAN和WAN組成的異構網絡。
經理和代理商
- 管理器是運行SNMP客戶機程序的主機,而代理程序是運行SNMP服務器程序的路由器。
- 通過管理者和代理之間的簡單交互來實現對互聯網的管理。
- 代理用于將信息保留在數據庫中,而管理器用于訪問數據庫中的值。例如,路由器可以存儲適當的變量,例如接收和轉發的多個數據包,而管理員可以比較這些變量以確定路由器是否擁塞。
- 代理商也可以為管理流程做出貢獻。代理上的服務器程序檢查環境,如果出現問題,代理會向管理器發送警告消息。
使用SNMP管理有三個基本想法
- 管理員通過請求反映代理行為的信息來檢查代理。
- 管理器還通過重置代理數據庫中的值來強制代理執行某項功能。
- 代理人還通過向管理員發出關于異常情況的警告來促進管理過程。
管理組件
- 管理不僅僅通過SNMP協議實現,還可以使用可與SNMP協議配合的其他協議。通過使用其他兩個協議來實現管理:SMI(管理信息的結構)和MIB(管理信息庫)。
- 管理是SMI,MIB和SNMP的組合。所有這三個協議,如抽象語法符號1(ASN.1)和基本編碼規則(BER)。
SMI
SMI(管理信息的結構)是網絡管理中使用的組件。其主要功能是定義可以存儲在對象中的數據類型,并顯示如何通過網絡對數據進行編碼。
MIB
- MIB(管理信息庫)是網絡管理的第二個組件。
- 每個代理都有自己的MIB,它是管理員可以管理的所有對象的集合。MIB分為八組:系統,接口,地址轉換,ip,icmp,tcp,udp和egp。這些組屬于mib對象。
SNMP
SNMP定義了五種類型的消息:GetRequest,GetNextRequest,SetRequest,GetResponse和Trap。
GetRequest: GetRequest消息從管理器(客戶端)發送到代理(服務器)以檢索變量的值。
GetNextRequest: GetNextRequest消息從管理器發送到代理以檢索變量的值。此類消息用于檢索表中條目的值。如果管理器不知道條目的索引,則它將無法檢索值。在這種情況下,GetNextRequest消息用于定義對象。
GetResponse: GetResponse消息從代理發送到管理器以響應GetRequest和GetNextRequest消息。此消息包含管理器請求的變量的值。
SetRequest: SetRequest消息從管理器發送到代理以設置變量中的值。
陷阱:陷阱消息從代理發送到管理器以報告事件。例如,如果重新啟動代理,則它會通知管理器并發送重新啟動的時間。
HTTP
- HTTP代表超文本傳輸協議。
- 它是用于訪問萬維網(www)上的數據的協議。
- HTTP協議可用于以純文本,超文本,音頻,視頻等形式傳輸數據。
- 該協議被稱為超文本傳輸協議,因為它的效率允許我們在超文本環境中使用,其中從一個文檔快速跳轉到另一個文檔。
- HTTP類似于FTP,因為它還將文件從一個主機傳輸到另一個主機。但是,HTTP比FTP簡單,因為HTTP只使用一個連接,即沒有控制連接來傳輸文件。
- HTTP用于以類似MIME的格式攜帶數據。
- HTTP類似于SMTP,因為數據在客戶端和服務器之間傳輸。HTTP與消息從客戶端發送到服務器以及從服務器發送到客戶端的方式與SMTP不同。在立即傳遞HTTP消息時,將存儲和轉發SMTP消息。
HTTP的功能
- 無連接協議: HTTP是一種無連接協議。HTTP客戶端發起請求并等待來自服務器的響應。當服務器收到請求時,服務器處理請求并將響應發送回HTTP客戶端,之后客戶端斷開連接。客戶端和服務器之間的連接僅在當前請求和響應時間期間存在。
- 媒體無關: HTTP協議是獨立于媒體的,因為只要客戶端和服務器都知道如何處理數據內容,就可以發送數據。客戶端和服務器都需要在MIME類型頭中指定內容類型。
- 無狀態: HTTP是無狀態協議,因為客戶端和服務器僅在當前請求期間相互了解。由于協議的這種性質,客戶端和服務器都不保留網頁的各種請求之間的信息。
HTTP事務
上圖顯示了客戶端和服務器之間的HTTP事務。客戶端通過向服務器發送請求消息來啟動事務。服務器通過發送響應消息來回復請求消息。
消息
HTTP消息有兩種類型:請求和響應。兩種消息類型都遵循相同的消息格式。
請求消息:請求消息由客戶端發送,該請求消息由請求行,標題,有時是正文組成。
響應消息:響應消息由服務器發送到客戶端,該客戶端包含狀態行,標題,有時還包含正文。
統一資源定位器
- 想要在因特網中訪問文檔的客戶端需要地址并且便于訪問文檔,HTTP使用統一資源定位符(URL)的概念。
- 統一資源定位符(URL)是在互聯網上指定任何類型信息的標準方式。
- URL定義了四個部分:方法,主機,端口和路徑。
方法:該方法是用于從服務器檢索文檔的協議。例如,HTTP。
主機:主機是存儲信息的計算機,并為計算機指定別名。網頁主要存儲在計算機中,并且計算機具有以字符“www”開頭的別名。該字段不是強制性的。
端口: URL還可以包含服務器的端口號,但它是可選字段。如果包含端口號,則它必須位于主機和路徑之間,并且應該通過冒號與主機分隔。
路徑: Path是存儲信息的文件的路徑名。路徑本身包含將目錄與子目錄和文件分開的斜杠。