為什么需要應用層
運輸層給應用進程提供了端到端的通信服務(wù),但不同的網(wǎng)絡(luò)進程之間,還需要有不同的通信規(guī)則,因此運輸層之上還需要有應用層。
應用層協(xié)議定義:
應?進程交換的報?類型,請求還是響應?
各種報?類型的語法、語義;
進程何時、如何發(fā)送報?,以及對報?進?響應的規(guī)則。
應用層功能與協(xié)議:
域名服務(wù):DNS;
?件傳輸:FTP;
電?郵件:SMTP、POP3;
遠程登陸:TELNET;
WWW服務(wù):HTTP。
工作模式
應用層有兩種工作模式:Client/Server 模式和 P2P 模式。
Client/Server
服務(wù)器:
提供?絡(luò)服務(wù)的設(shè)備(由硬件和服務(wù)軟件組成);
永久提供服務(wù);
有永久性訪問地址/域名;
通常采?多線程或多進程實現(xiàn)。
客戶機:
請求服務(wù)的主機;
與服務(wù)器通信,使?服務(wù)器提供的服務(wù);
間歇性接??絡(luò);
可能使?動態(tài)IP地址;
不與其他客戶直接通信。
P2P-特殊的客戶服務(wù)器?式
不存在永遠在線的服務(wù)器;
每個主機既可提供服務(wù),也可以請求服務(wù);
任意端系統(tǒng)/節(jié)點之間可以直接通信;
結(jié)點間歇性接??絡(luò);
結(jié)點可能改變IP地址。
優(yōu)點
可擴展性好;
?絡(luò)健壯性好;
資源分散管理。
域名系統(tǒng)
域名系統(tǒng)是互聯(lián)網(wǎng)使用的命名系統(tǒng),用來便于人們使用的機器名字轉(zhuǎn)換成 IP 地址。點分?進制的 IP 地址不容易記住?使?域名,類似?們的身份證號碼不易記住?使?姓名。數(shù)字適合于機器,名字適合于?類。
域名結(jié)構(gòu),級別最低的域名卸載最左邊,級別最高的域名就寫在最右邊。
根域名服務(wù)器
根域名服務(wù)器是最高層次,最重要的域名服務(wù)器。根域名服務(wù)器知道所有的頂級域名服務(wù)器的域名和 IP 地址。本地域名服務(wù)器要對互聯(lián)?上任何?個域名進?解析,如果???法解析,?先求助根域名服務(wù)器。
域名解析的過程
主機向本地域名服務(wù)器的查詢采?遞歸查詢。如果本地域名服務(wù)器不能解析域名的 IP 地址,本地域名服務(wù)器就以 DNS 客戶的身份,向根域名服務(wù)器發(fā)出查詢請求報?;
本地域名服務(wù)器向根域名服務(wù)器的查詢采?迭代查詢。當根域名服務(wù)器收到本地域名服務(wù)器的迭代查詢請求報?時,要么給出所要查詢的 IP 地址,要么告訴本地域名服務(wù)器:“你下?步應當向哪?個域名服務(wù)器進?查詢”。
DNS 服務(wù)器高速緩存
每個域名服務(wù)器都會維護一個高速緩存,存放最近用過的名字以及從何處獲取名字的映射信息的記錄。
可??減輕根域名服務(wù)器的負荷,使互聯(lián)?上的 DNS 查詢請求和回答報?的數(shù)量?為減少。
為保持高速緩存中的內(nèi)容正確,域名服務(wù)器需要為每項內(nèi)容設(shè)置過期計時器,然后過期刪除。
FTP
FTP 文件傳輸協(xié)議,是互聯(lián)網(wǎng)中使用最廣泛的文件傳輸協(xié)議。
FTP 實現(xiàn)的是通過?絡(luò)實現(xiàn)異構(gòu)計算機間?件的“拷?”;
FTP 屏蔽了計算機系統(tǒng)的細節(jié),適合在異構(gòu)?絡(luò)中任意計算機之間傳送?件。
FTP 提供交互式的訪問,允許客戶指明?件的類型與格式,并允許?件具有存取權(quán)限。
FTP 的工作原理
FTP 采? C/S 模式,可為多個客戶提供服務(wù);
FTP 的服務(wù)器進程由兩?部分組成:?個主進程,負責接受新的請求;另外有若?個從屬進程,負責處理單個請求;
消除了不同操作系統(tǒng)下的?件系統(tǒng)的不兼容性;
實現(xiàn)了?件傳送的基本服務(wù);
使? TCP 可靠傳輸協(xié)議。
客戶端使?任意分配的端?號(>1023),服務(wù)器端?熟知端?號21傳輸控制信息,服務(wù)器端?熟知端?號20傳輸數(shù)據(jù)。
1、服務(wù)器主程序打開21號端?,等待客戶進程發(fā)送連接請求;
2、啟動從屬進程處理客戶進程請求;
3、回到等待狀態(tài),繼續(xù)接受其他客戶進程請求。
使?兩個不同端?號的好處
1、使協(xié)議更加簡單和更容易實現(xiàn);
2、在傳輸?件時還可以利?控制連接。
TFTP
TFTP (Trivial File Transfer Protocol) 是?個很?且易于實現(xiàn)的?件傳送協(xié)議:
TFTP 使?客戶服務(wù)器?式和使? UDP 數(shù)據(jù)報,因此 TFTP 需要有??的差錯改正措施;
TFTP 只?持?件傳輸?不?持交互;
TFTP 沒有?個龐?的命令集,沒有列?錄的功能,也不能對?戶進?身份鑒別。
TFTP 的主要特點
1、每次傳送的數(shù)據(jù) PDU 中有 512 字節(jié)的數(shù)據(jù),但最后?次可不? 512 字節(jié);
2、數(shù)據(jù) PDU 也稱為?件塊 (block),每個塊按序編號,從 1 開始;
3、?持 ASCII 碼或?進制傳送;
4、可對?件進?讀或?qū)懀?/p>
5、使?很簡單的?部。
TFTP 的工作方式像是停止等待協(xié)議。發(fā)送完一個文件塊后就等待對方的確認,確認時應該指明所確認的塊編號。發(fā)完數(shù)據(jù)在規(guī)定的時間收不到確認就要重新發(fā)送數(shù)據(jù) PDU。發(fā)送 PDU 的一方若在規(guī)定時間內(nèi)收不到下一個文件塊,也要重發(fā)確認 PDU。這樣就保證文件的傳輸不致因某一個數(shù)據(jù)報丟失而失敗的情況。
開始?作時,TFTP 客戶進程發(fā)送?個讀請求 PDU 或?qū)懻埱驪DU 給 TFTP 服務(wù)器進程,其熟知端?號碼為69。TFTP 服務(wù)器進程要選擇?個新的端?和 TFTP 客戶進程進?通信。若?件?度恰好為 512 字節(jié)的整數(shù)倍,則在?件傳送完畢后,還必須在最后發(fā)送?個只含?部??數(shù)據(jù)的數(shù)據(jù) PDU。若?件?度不是 512 字節(jié)的整數(shù)倍,則最后傳送數(shù)據(jù) PDU 的數(shù)據(jù)字段?定不滿 512 字節(jié),這正好可作為?件結(jié)束的標志。
TELNET
TELNET 是?個簡單的遠程終端協(xié)議,是互聯(lián)?正式標準。?戶? TELNET 就可在其所在地通過 TCP 連接注冊(即登錄)到遠程的另?個主機上(使?主機名或 IP 地址),TELNET 將?戶的擊鍵傳到遠地主機,并且將遠程主機的輸出通過 TCP 連接返回到?戶屏幕。這種服務(wù)是透明的,因為?戶感覺到好像鍵盤和顯示器是直接連在遠得程主機上;TELNET 使?客戶/服務(wù)器?式。本地系統(tǒng)運? TELNET 客戶進程,遠程主機則運? TELNE服務(wù)器進程;服務(wù)器中的主進程等待新的請求,并產(chǎn)?從屬進程來處理每?個連接。
TELNET 能夠適應許多計算機和操作系統(tǒng)的差異,例如對于文本中一行的結(jié)束,有的系統(tǒng)使用 ASCII 的回車,有的系統(tǒng)使用兩個字符,回車換行。為了適應這種差異,TELNET 定義了數(shù)據(jù)和命令如何通過互聯(lián)網(wǎng)。這些所謂的定義就是所謂的網(wǎng)絡(luò)虛擬終端 NVT 。
客戶軟件把?戶的擊鍵和命令轉(zhuǎn)換成 NVT 格式,并送交服務(wù)器;
服務(wù)器軟件把收到的數(shù)據(jù)和命令,從 NVT 格式轉(zhuǎn)換成遠地系統(tǒng)所需的格式;
向?戶返回數(shù)據(jù)時,服務(wù)器把遠地系統(tǒng)的格式轉(zhuǎn)換為 NVT 格式,本地客戶再從 NVT 格式轉(zhuǎn)換到本地系統(tǒng)所需的格式。
SSH 與 TELNET
相同點
遠程登錄其他主機;
運輸層采?TCP協(xié)議。
不同點
Telnet明?傳送;SSH加密傳送,且?持壓縮;
Telnet服務(wù)默認端?號為23;SSH服務(wù)默認監(jiān)聽22號端?;
SSH使?對稱加密算法實現(xiàn)數(shù)據(jù)安全傳輸;
對稱加密算法的密鑰是通過?對稱加密算法(RSA)進?交換的。
超文本傳輸協(xié)議 HTTP
HTTP 協(xié)議定義瀏覽器(即萬維網(wǎng)客戶端)怎樣向萬維網(wǎng)服務(wù)器請求萬維網(wǎng)文檔,以及服務(wù)器怎樣把文檔傳遞給瀏覽器。
從層次角度看,HTTP 是面向事務(wù)的應用層協(xié)議,它是萬維上能夠可靠的交換文件(包括聲音,文本,圖像等各種多媒體文件)的重要基礎(chǔ),所謂事務(wù)就是指一系列的信息交換,這一些列的信息交換是不可分割的一個整體。
HTTP 使用了面向連接的 TCP 作為運輸層的協(xié)議,保證了數(shù)據(jù)的可靠傳輸。HTTP 不用考慮數(shù)據(jù)在傳輸過程中被丟棄又怎樣被重傳。但是,HTTP 本身又是無連接的,就是說雖然 HTTP 使用了 TCP 連接,但通信的雙方在交換 HTTP 報文之間不需要先建立 HTTP 連接。
HTTP 協(xié)議是無狀態(tài)的。就是同一個客戶第二次訪問同一個服務(wù)器上的頁面時,服務(wù)的響應和第一次的響應相同,因為服務(wù)器并不記得曾經(jīng)訪問過這個用戶,也不記得為該用戶服務(wù)多少次。HTTP 的這種設(shè)計,簡化了服務(wù)器的設(shè)計,使服務(wù)器容易實現(xiàn)支持大量并發(fā)的 HTTP 請求。
為什么 HTTP 是無連接
無連接的含義是限制每次連接只處理一個請求。服務(wù)器處理完客戶的請求,并收到客戶的應答后,即斷開連接。采用這種方式可以節(jié)省傳輸時間。
早期這么做的原因是 HTTP 協(xié)議產(chǎn)生于互聯(lián)網(wǎng),因此服務(wù)器需要處理同時面向全世界數(shù)十萬、上百萬客戶端的網(wǎng)頁訪問,但每個客戶端(即瀏覽器)與服務(wù)器之間交換數(shù)據(jù)的間歇性較大(即傳輸具有突發(fā)性、瞬時性),并且網(wǎng)頁瀏覽的聯(lián)想性、發(fā)散性導致兩次傳送的數(shù)據(jù)關(guān)聯(lián)性很低,大部分通道實際上會很空閑、無端占用資源。因此 HTTP 的設(shè)計者有意利用這種特點將協(xié)議設(shè)計為請求時建連接、請求完釋放連接,以盡快將資源釋放出來服務(wù)其他客戶端。
隨著時間的推移,網(wǎng)頁變得越來越復雜,里面可能嵌入了很多圖片,這時候每次訪問圖片都需要建立一次 TCP 連接就顯得很低效。后來,Keep-Alive 被提出用來解決這效率低的問題。Keep-Alive 功能使客戶端到服務(wù)器端的連接持續(xù)有效,當出現(xiàn)對服務(wù)器的后繼請求時,Keep-Alive 功能避免了建立或者重新建立連接。
為什么 HTTP 是無狀態(tài)
無狀態(tài)是指協(xié)議對于事務(wù)處理沒有記憶能力,服務(wù)器不知道客戶端是什么狀態(tài)。即我們給服務(wù)器發(fā)送 HTTP 請求之后,服務(wù)器根據(jù)請求,會給我們發(fā)送數(shù)據(jù)過來,但是,發(fā)送完,不會記錄任何信息。
HTTP 是一個無狀態(tài)協(xié)議,這意味著每個請求都是獨立的,Keep-Alive 沒能改變這個結(jié)果。
缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,就必須重傳,這樣可能導致每次連接傳送的數(shù)據(jù)量增大。
優(yōu)缺點
優(yōu)點:解放了服務(wù)器,每一次請求“點到為止”不會造成不必要連接占用。
缺點:嚴重阻礙了客戶端與服務(wù)器進?動態(tài)交互的 Web 應?程序,例如購物?程序。
如何應對 HTTP 無狀態(tài)的特點呢,可以通過 Cookie 和 Session。
請求一個 www 文檔所需要的時間
持續(xù)連接
HTTP/1.1 協(xié)議使?持續(xù)連接 (persistent connection):
萬維?服務(wù)器在發(fā)送響應后仍然在?段時間內(nèi)保持這條連接,使同?個客戶(瀏覽器)和該服務(wù)器可以繼續(xù)在這條連接上傳送后續(xù)的 HTTP 請求報?和響應報?;
這并不局限于傳送同?個??上鏈接的?檔,?是只要這些?檔都在同?個服務(wù)器上就?;
?前?些流?的瀏覽器的默認設(shè)置就是使? HTTP/1.1。
持續(xù)連接的兩種工作方式
1、非流水線方式
客戶端在收到前一個響應時候才發(fā)出下一個請求。但服務(wù)器在發(fā)完一個對象后,TCP 連接就處于空閑狀態(tài),浪費了服務(wù)器資源。
2、流水線方式
客戶在收到 HTTP 的響應報?之前就能夠接著發(fā)送新的請求報?。?個接?個的請求報?到達服務(wù)器后,服務(wù)器就可連續(xù)發(fā)回響應報?。使?流?線?式時,客戶訪問所有的對象只需花費?個 RTT時 間,使 TCP 連接中的空閑時間減少,提?了下載?檔效率。
持續(xù)連接帶來的問題
在持續(xù)連接情況下,客戶端發(fā)出請求后,服務(wù)器發(fā)送回響應,由于連接沒有釋放,客戶端?法知道服務(wù)器數(shù)據(jù)是否傳輸完畢,?直等待。當服務(wù)器進程退出之后,客戶瀏覽器才會顯示??內(nèi)容。
如何解決
響應時采?Transfer-Encoding: chunked,解決傳輸數(shù)據(jù)的邊界問題;
在HTTP響應頭部中,?“Content-Length: 12395”告訴了客戶端實?度為12359字節(jié)。
HTTP/2
??的實時性要求越來越?(如視頻聊天或直播),協(xié)議HTTP/1.1已?法適應其要求,特點如下:
? 服務(wù)器發(fā)回的響應?需排隊,并?發(fā)回(使?同?個TCP連接);
? 允許客戶復?TCP連接進?多個請求;
? 所有的報?都劃分為許多較?的?進制編碼的幀,并采?了新的壓縮算法,不發(fā)送重復的?部字段,??減?了?部的開銷,提?了傳輸效率。
HTTP 響應的狀態(tài)碼
狀態(tài)代碼由三位數(shù)字組成,第?個數(shù)字定義了響應的類別,共分 5 種類別:
1xx:指示信息——表示請求已接收,繼續(xù)處理;
2xx:成功——表示請求已被成功接收、理解和接受;
3xx:重定向——要完成請求必須進?更進?步的操作;
4xx:客戶端錯誤——請求有語法錯誤或請求?法實現(xiàn);
5xx:服務(wù)器端錯誤——服務(wù)器未能實現(xiàn)合法的請求。
動態(tài)主機配置協(xié)議 DHCP
動態(tài)主機配置協(xié)議 DHCP(Dynamic Host Configuration Protocol)是一種網(wǎng)絡(luò)管理協(xié)議,用于集中對用戶IP地址進行動態(tài)管理和配置。
DHCP于1993年10月成為標準協(xié)議,其前身是BOOTP協(xié)議。DHCP協(xié)議由RFC 2131定義,采用客戶端/服務(wù)器通信模式,由客戶端(DHCP Client)向服務(wù)器(DHCP Server)提出配置申請,DHCP Server為網(wǎng)絡(luò)上的每個設(shè)備動態(tài)分配IP地址、子網(wǎng)掩碼、默認網(wǎng)關(guān)地址,域名服務(wù)器(DNS)地址和其他相關(guān)配置參數(shù),以便可以與其他IP網(wǎng)絡(luò)通信。
為什么需要 DHCP
在IP網(wǎng)絡(luò)中,每個連接Internet的設(shè)備都需要分配唯一的IP地址。DHCP使網(wǎng)絡(luò)管理員能從中心結(jié)點監(jiān)控和分配IP地址。當某臺計算機移到網(wǎng)絡(luò)中的其它位置時,能自動收到新的IP地址。DHCP實現(xiàn)的自動化分配IP地址不僅降低了配置和部署設(shè)備的時間,同時也降低了發(fā)生配置錯誤的可能性。另外DHCP服務(wù)器可以管理多個網(wǎng)段的配置信息,當某個網(wǎng)段的配置發(fā)生變化時,管理員只需要更新DHCP服務(wù)器上的相關(guān)配置即可,實現(xiàn)了集中化管理。
DHCP 解決的問題:
1、普通?戶配置協(xié)議參數(shù)易出錯;
2、管理員配置多臺設(shè)備麻煩;
3、IP 地址數(shù)少于?戶數(shù)。
DHCP采?客戶/服務(wù)器模式
需要IP地址的主機在啟動時?播發(fā)送DHCP發(fā)現(xiàn)報?:
該主機就成為 DHCP 客戶,本地?絡(luò)上DHCP服務(wù)器回答此?播報?,服務(wù)器?先在其數(shù)據(jù)庫中查找該計算機的配置信息;
若找到,則返回找到的信息,否則,從服務(wù)器的IP地址池中取?個地址分配給該計算機,服務(wù)器的回答的報?稱為提供報?(DHCPOFFER)。
租?期
DHCP服務(wù)器分配給DHCP客戶的IP地址是臨時的,DHCP客戶只能在?段有限的時間內(nèi)使?這個分配到的 IP 地址。DHCP協(xié)議稱這段時間為租?期。
DHCP客戶也可在??發(fā)送的報?中(例如,發(fā)現(xiàn)報?)提出對租?期的要求,租?期的數(shù)值應由DHCP服務(wù)器決定。
(cisco默認租?期):
IP Address Lease Time 租期,默認1天;
Renewal Time Value 更新租約時間,租期的1/2;
Rebinding Time Value 最后更新時間,租期的7/8。
總結(jié)
1、應用層協(xié)議是為了解決某一類應用問題,而問題的解決又是通過位于不同主機中的多個應用進程之間的通信和協(xié)同工作來完成的。應用層規(guī)定應用進程在通信時應遵循的協(xié)議。應用層的許多協(xié)議都是基于客戶服務(wù)器方式的,客戶端是服務(wù)請求方,服務(wù)器是服務(wù)提供方。
2、域名系統(tǒng) DNS 是互聯(lián)網(wǎng)使用的命名系統(tǒng),用來便于把人們使用的機器名字轉(zhuǎn)換成 IP 地址。DNS 是一個聯(lián)機分布式數(shù)據(jù)庫系統(tǒng),采用客戶服務(wù)器方式。
3、域名服務(wù)分為根域名服務(wù)器,頂級域名服務(wù)器,權(quán)限域名服務(wù)器和本地域名服務(wù)器。
4、文件傳送協(xié)議 FTP 使用 TCP 可靠的運輸服務(wù),F(xiàn)TP 使用客戶服務(wù)端方式,一個 FTP 服務(wù)器進程可以為多個客戶提供服務(wù)。TFTP (Trivial File Transfer Protocol) 是?個很?且易于實現(xiàn)的?件傳送協(xié)議,TFTP 使?客戶服務(wù)器?式和使? UDP 數(shù)據(jù)報,因此 TFTP 需要有??的差錯改正措施;TFTP 只?持?件傳輸?不?持交互;TFTP 沒有?個龐?的命令集,沒有列?錄的功能,也不能對?戶進?身份鑒別。
5、TELNET 是?個簡單的遠程終端協(xié)議,是互聯(lián)?正式標準。?戶? TELNET 就可在其所在地通過 TCP 連接注冊(即登錄)到遠程的另?個主機上(使?主機名或 IP 地址),TELNET 將?戶的擊鍵傳到遠地主機,并且將遠程主機的輸出通過 TCP 連接返回到?戶屏幕。
6、HTTP 使用了面向連接的 TCP 作為運輸層的協(xié)議,保證了數(shù)據(jù)的可靠傳輸。
7、HTTP 本身又是無連接的,就是說雖然 HTTP 使用了 TCP 連接,但通信的雙方在交換 HTTP 報文之間不需要先建立 HTTP 連接。
8、HTTP 協(xié)議是無狀態(tài)的。就是同一個客戶第二次訪問同一個服務(wù)器上的頁面時,服務(wù)的響應和第一次的響應相同,因為服務(wù)器并不記得曾經(jīng)訪問過這個用戶,也不記得為該用戶服務(wù)多少次。HTTP 的這種設(shè)計,簡化了服務(wù)器的設(shè)計,使服務(wù)器容易實現(xiàn)支持大量并發(fā)的 HTTP 請求。
9、動態(tài)主機配置協(xié)議 DHCP(Dynamic Host Configuration Protocol)是一種網(wǎng)絡(luò)管理協(xié)議,用于集中對用戶IP地址進行動態(tài)管理和配置。
DHCP 解決的問題:
1、普通?戶配置協(xié)議參數(shù)易出錯;
2、管理員配置多臺設(shè)備麻煩;
3、IP 地址數(shù)少于?戶數(shù)。
-
應用層
+關(guān)注
關(guān)注
0文章
46瀏覽量
11664
發(fā)布評論請先 登錄
感知層、傳輸層、應用層一體化:工控一體機廠家聚徽詳解集成技術(shù)方案
接收方數(shù)據(jù)解封裝解析

MultiGABSE-AU物理層PMA子層及PMD子層的相關(guān)機制

評論