計算機網絡應用層

1、應用層協議原理

1.1、應用層協議原理

1.1.1、網絡應用層體系結構

兩種體系結構:客戶—服務器體系結構和p2p體系結構

客戶服務器體系結構特點

服務器固定,總是開着接收客戶的請求。客戶之間不能直接通信,需要通過服務器來通信

p2p體系結構特點

沒有固定的服務器,不同客戶之間可直接通信,不需要通過服務器。上傳數據的主機可成爲服務器,下載數據的成爲客戶。

1.1.2、進程通信

客戶和服務器進程

定義:發起通信的成爲客戶,等待聯繫的進程稱爲服務器。

進程和計算機網絡之間的接口是套接字

套接字由目的主機ip地址和進程端口號共同組成。

1.1.3、運輸層提供的服務分類

可靠性:傳輸的數據沒有丟失,不重複

吞吐量:發送進程向接收進程交付比特的速率

定時:時間敏感性,即實時性

安全性:傳輸的數據不容易被竊取,篡改

1.1.4、因特網提供的 運輸服務有tcp和udp

tcp:面向連接的和可靠的傳輸服務。

面向連接:每次數據傳輸前都需要進行三次握手,再傳輸數據,結束髮送需要斷開連接。

可靠傳輸:數據有序,無丟失和冗餘

tcp不提供安全性保障,可供過ssl加強tcp來達到安全性保障。

 

udp:無連接的,不可靠的數據傳輸服務

 

1.2 web應用和http協議

1.2.1、http介紹

端口號默認是80

http定義了web客戶端和web服務器相互之間傳遞報文的方式。http使用的運輸層協議是tcp。

http是無狀態協議,http服務器不會保存任何關於客戶的信息。

1.2.2、持續連接和非持續連接

非持續連接:每個請求/響應都通過一個單獨的tcp連接發送,發送完畢後,關閉tcp連接

持續連接:所有的請求/連接都通過相同的tcp連接發送

1.2.3、http報文格式

1.2.3.1請求報文

第一行叫做請求行,後繼的爲首部行。

請求行有三個字段:請求方法,url,和http版本號。請求方法有get,post,head,put和delete。絕大部分使用get。

使用tcp傳輸。

通用格式

使用post方法提交表單的時候,表單的內容會顯示在實體主體中,get方法報文中的實體主體爲空。

1.2.3.2響應報文

響應報文由三部分組成,狀態行,首部行和實體行。

狀態行包含http版本號,狀態碼和響應的狀態信息。

date表示服務器產生併發送響應報文的時間。

server:表示服務器的類型。

connection:close表示發送完報文後將關閉連接

last-modified:對象最後創建和修改時間

常見的狀態碼和含義

200:請求成功

301:請求對象已經被轉移了

400:請求不能被服務器端理解

404:被請求的文檔不在服務器上

505:服務器不支持http協議版本

 

1.2.4 用戶和服務器的交互:cookie

用戶首次發送請求報文給web服務器,web服務器會爲用戶生成一個識別碼,並在數據庫中存儲用戶的信息。

web服務器在響應報文中包含一個set cookie:識別碼,發送給web瀏覽器。web瀏覽器在自己的cookie文件中

添加識別碼和服務器主機名。之後瀏覽器每次訪問服務器都會帶着識別碼去訪問服務器,服務器會根據識別碼

來獲取用戶的一些信息

1.2.5 web緩存

web緩存器也叫代理服務器

工作原理:

web緩存器有自己的磁盤存儲空間,用於存儲最近請求過的對象的副本。

瀏覽器會發送一個請求到web緩存器,緩存器會檢查本地是否存儲了請求對象,如果有,則直接發送響應

報文,把請求對象發送給瀏覽器。如果沒有,緩存器向服務器發出請求,獲取請求對象,發送給瀏覽器,並在本地

存儲請求對象的副本。

緩存器的優點

大大減少請求的響應時間

減少某個機構的通信容量

 

1.3、ftp協議(文件傳輸協議)

端口號位21,ftp使用兩條並行的tcp連接來傳輸文件,一條傳輸控制命令,一條傳輸實際的文件數據

控制命令中包含用戶的標識和一些口令等,控制連接貫穿了用戶的整個會話期間。

1.4smtp協議

端口號默認是25

alice通過郵件代理(運行在客戶端的一些郵箱應用程序,如outlook等),用smtp協議把要發送的郵件傳給alice的郵件服務器,

alice的郵件服務器和bob的郵件服務器建立連接,並把郵件傳給bob的郵件服務器,bob的郵件代理再通過pop3/imap協議把

郵件從郵件服務器中讀取出來。

 

1.5、dns 域名系統

dns運行在udp上,負責把主機名解析爲ip地址。默認端口號位53。

dns工作原理概述:

用戶主機的應用程序把需要解析的主機名發送給dns客戶端,dns客戶端向網絡中發送一個查詢報文,

一段時間後,dns客戶端收到解析的ip地址,並返回給主機應用程序。

dns服務器的層次結構

第一層:根dns服務器

第二層:頂級域服務器

第三層:權威dns服務器

另外還有一個本地dns服務器,通常靠近主機。

dns服務器的交互

查詢流程:請求主機——本地dns服務器——根dns服務器—頂級域名服務器——

                 權威dns服務器——本地dns服務器——請求主機。

dns的緩存

爲了改善時延和網絡中的通信量,可採用緩存。即每次dns服務器收到一個dns回答時,會把回答中的信息

存儲在本地。當下次有同樣的dns請求時,dns服務器可以直接把ip地址返回,不必再去查詢其他dns服務器。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章