常見協議的工作原理簡述

一、http工作原理

Http是基於客戶端/服務器模式,且是面向連接的,過程如下:
(1)客戶端與服務器進行TCP三次握手建立連接;
(2)客戶端向服務器提出請求;
(3)服務器接受請求,並根據請求返回相應的文件作爲應答;
(4)客戶與服務器關閉連接。

● 客戶與服務器的http連接是一種一次性連接,它限制每次連接只處理一個請求。因爲服務器面向的是成千上萬個用戶,且只能提供有限個連接,故服務器不會讓一個連接處於等待狀態,及時釋放連接可以大大提高服務器的執行效率。
● Http是一種無狀態協議,即服務器不保留與客戶交易時的任何狀態,這就大大減輕了服務器記憶負擔,從而保持較快的響應速度。
● Http是一種面向對象的協議,允許傳送任意類型的數據對象,它通過數據類型和長度來標識所傳送的數據內容和大小,並允許對數據進行壓縮傳送。

二、DHCP工作原理

客戶機從服務器獲取IP的四個租約過程:
(1)客戶機請求IP
(2)服務器響應請求
(3)客戶機選擇IP
(4)服務器確認租約
1、客戶機請求IP地址—客戶機在網絡中廣播一個DHCP Discover報文,源地址爲0.0.0.0,目標地址爲255.255.255.255,該包也包含客戶機的MAC和計算機名,使服務器能夠確定是哪個客戶機發送的請求;
2、服務器響應請求—當DHCP服務器接收到客戶機請求IP地址信息時,就在自己的庫中查找是否有合法的IP地址可提供,若有,則回覆一個DHCP Offer報文,其中包含:客戶機的MAC地址,預分配的IP地址,服務器的IP地址等參數;
3、客戶機選擇IP地址—DHCP客戶機接收到第一個DHCP Offer包中選擇IP地址,並再次廣播一個DHCP Request包到所有服務器,該包中包含爲客戶機提供IP配置的服務器的標識符,服務器收到後查看標識符,以確定自己提供的IP地址是否被客戶機選中;
4、服務器確認IP租約—DHCP服務器確認租約,則發送一個DHCP ACK包,客戶機收到後就配置了IP地址信息,完成獲取。若服務器響應了NACK包,則客戶機又重新開始獲取IP地址。

IP的租期更新:當客戶機的租期達到50%時,就需要重新更新租約,直接向提供IP地址的服務器發送DHCP Request包,要求更新租約;客戶機無法和服務器取得聯繫時,繼續使用現有IP,一直到85%時,向所有的服務器發送廣播DHCP Request包請求更新,如果仍然無法取得聯繫,則租約到期後開始新的獲取IP過程。

三、DNS的解析原理

(1)先查看瀏覽器緩存中是否有該域名對應解析過的IP地址,若有,這個解析過程就結束;
(2)若瀏覽器緩存中沒有域名對應的IP,則從操作系統本身去進行域名解析,查看windows中的hosts文件是否有設置域名映射的IP;C:\Windows\System32\drivers\etc\hosts
(3)向本地域名解析服務器發起域名解析請求,本地DNS服務器一般緩存了大部分的域名解析結果,當然緩存時間也會受域名失效的時間控制,大部分的解析工作到這裏就差不多結束了。
(4)若過程(3)沒有完成解析,向根域名解析服務器發起域名解析請求
(5)本地DNS服務器向根域名服務器發起請求,根域名服務器返回的是所查詢的通用頂級域名地址;
(6)本地DNS服務器向通用頂級域名地址發起域名請求,通用頂級域名服務器找到該域名註冊的域名服務器,最終由註冊的域名服務器完成解析。

四、NFS工作原理

NFS服務器可以讓PC將網絡中的NFS服務器共享的目錄掛載到本地端的文件系統中,在本地端看來,哪個遠程主機的目錄就好像是自己的一個磁盤分區一樣,在使用上很便利。
RPC:遠程過程調用。功能是指定每個NFS功能所對應的端口號,並回報給客戶端,使得客戶端可以連接到正確的端口號上去。

通信過程:
(1)NFS將自己的服務端口號向RPC進行註冊,RPC記錄這些端口號,並開啓111端口號監聽請求;
(2)客戶端請求NFS服務器,服務器端的RPC111端口收到請求,然後告知客戶端其訪問的服務實際端口號;
(3)客戶端獲取到服務的實際端口號,然後迴向實際端口號進行數據傳輸。

五、FTP工作原理

服務端:數據端口20,命令端口21

1、主動模式
(1)FTP服務器命令端口21接收客戶端的隨機端口----客戶端發起連接
(2)FTP服務器命令端口21響應客戶端發來的命令----服務器響應客戶端命令
(3)FTP服務器數據端口20連接客戶端的數據端口----服務器主動進行數據連接
(4)FTP服務器數據端口20接收客戶端連接確認------(客戶端發送ACK包到服務器的數據端口)

2、被動模式
被動模式下,命令連接和數據連接都由客戶端發起,這樣可解決從服務器到客戶端的數據端口的入方向連接被防火牆過濾掉的問題。
(1)FTP服務器21號命令端口接收客戶端的命令連接----客戶端發送連接
(2)FTP服務器21號命令端口響應客戶端端口-----服務器響應客戶端
(3)FTP服務器非特權端口接收客戶端發起的數據連接------客戶端發起數據連接
(4)FTP服務器非特權端口響應客戶端的數據連接---------服務器發送ACK響應連接

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