1. 程式人生 > >5 網路層----IP協議相關技術

5 網路層----IP協議相關技術

5.1 DNS(域名解析協議)

5.1.1 域名伺服器

域名是分層結構,域名伺服器也是對應的層級結構。
有了域名結構,還需要有一個東西去解析域名,域名需要由遍及全世界的域名伺服器去解析,域名伺服器實際上就是裝有域名系統的主機。

由高向低進行層次劃分,可分為以下幾大類:

 

注:一個域名伺服器所負責的範圍,或者說有管理許可權的範圍,就稱為區
我們需要注意的是:
1. 每個層的域名上都有自己的域名伺服器,最頂層的是根域名伺服器
2. 每一級域名伺服器都知道下級域名伺服器的IP地址
3. 為了容災, 每一級至少設定兩個或以上的域名伺服器


5.1.2 域名解析過程

(1) 輸入域名後, 先查詢自己主機對應的域名伺服器,域名伺服器先查詢自己的資料庫中的資料.
(2) 如果沒有, 就向上級域名伺服器進行查詢, 依次類推
(3) 最多回溯到根域名伺服器, 肯定能找到這個域名的IP地址
(4) 域名伺服器自身也會進行一些快取, 把曾經訪問過的域名和對應的IP地址快取起來, 可以加速查詢過程

5.2 ARP(地址解析協議)

網路層實現主機之間的通訊,而鏈路層實現具體每段鏈路之間的通訊。因此在通訊過程中,IP 資料報的源地址和目的地址始終不變,而 MAC 地址隨著鏈路的改變而改變。

ARP 實現由 IP 地址得到 MAC 地址。

每個主機都有一個 ARP 快取記憶體,裡面有本區域網上的各主機和路由器的 IP 地址到 MAC 地址的對映表。

如果主機 A 知道主機 B 的 IP 地址,但是 ARP 快取記憶體中沒有該 IP 地址到 MAC 地址的對映,此時主機 A 通過廣播的方式傳送 ARP 請求分組,主機 B 收到該請求後會傳送 ARP 響應分組給主機 A 告知其 MAC 地址,隨後主機 A 向其快取記憶體中寫入主機 B 的 IP 地址到 MAC 地址的對映。

RARP是將ARP反過來,從MAC地址定位IP地址的一種協議

5.3 ICMP(網際控制報文協議)

ICMP的主要功能包括,確認IP包是否成功送達目標地址,通知在傳送的過程中IP包被遺棄的具體原因,改善網路設定等。有了這些功能後,就可以獲得網路是否正常、設定是夠有誤以及裝置有何異常等資訊,從而便於進行網路上的問題診斷。

ICMP 報文分為差錯報告報文和詢問報文。

Ping:

Ping 是 ICMP 的一個重要應用,主要用來測試兩臺主機之間的連通性。

Ping 的原理是通過向目的主機發送 ICMP Echo 請求報文,目的主機收到之後會發送 Echo 回答報文。Ping 會根據時間和成功響應的次數估算出資料包往返時間以及丟包率。

Traceroute :

Traceroute 是 ICMP 的另一個應用,用來跟蹤一個分組從源點到終點經歷多少路由器。

Traceroute 傳送的 IP 資料報封裝的是無法交付的 UDP 使用者資料報,並由目的主機發送終點不可達差錯報告報文。

  • 源主機向目的主機發送一連串的 IP 資料報。第一個資料報 P1 的生存時間 TTL 設定為 1,當 P1 到達路徑上的第一個路由器 R1 時,R1 收下它並把 TTL 減 1,此時 TTL 等於 0,R1 就把 P1 丟棄,並向源主機發送一個 ICMP 時間超過差錯報告報文;
  • 源主機接著傳送第二個資料報 P2,並把 TTL 設定為 2。P2 先到達 R1,R1 收下後把 TTL 減 1 再轉發給 R2,R2 收下後也把 TTL 減 1,由於此時 TTL 等於 0,R2 就丟棄 P2,並向源主機發送一個 ICMP 時間超過差錯報文。
  • 不斷執行這樣的步驟,直到最後一個數據報剛剛到達目的主機,主機不轉發資料報,也不把 TTL 值減 1。但是因為資料報封裝的是無法交付的 UDP,因此目的主機要向源主機發送 ICMP 終點不可達差錯報告報文。
  • 之後源主機知道了到達目的主機所經過的路由器 IP 地址以及到達每個路由器的往返時間。

5.4 DHCP(動態主機設定協議)

使用DHCP之前,首先要架設一臺DHCP伺服器。然後將DHCP所要分配的IP地址設定到伺服器上。此外還要將相應的子網掩碼、路由控制資訊以及DNS副武器的地址等設定到伺服器上。

從DHCP中獲取IP地址的流程,主要分為兩個階段