TCP/IP學習——IP協議的輔助協議

 

在TCP/IP網絡模型中,網絡層僅憑藉IP協議是無法實現通信功能,還需要其他技術或者協議輔助實現。比如在進行web頁面訪問時,不會直接輸入IP地址進行通信,而是輸入網址,那麼就需要一種技術將這個網址轉換爲對應的IP地址纔行。下面介紹幾個常見的輔助IP協議的技術協議。

1. DNS(域名解析)

    1. 傳統的IP地址是非常不便於記憶的,即使其已經轉換爲人們便於理解的十進制數字,但仍然是難以記憶的,所以就產生了域名,每一個域名都對應着一個IP地址。而域名與IP地址間的對應關係,就是由DNS系統進行管理。

    2. 域名:是由一串用點分隔的名字組成的Internet上某一臺計算機或計算機組的名稱,用於在數據傳輸時標識計算機的電子方位。比如www.baidu.com、www.oschina.net、www.csdn.net;域名結構是類似於樹形結構的分層。

    3. 域名服務器:指的是安裝有管理域名的軟件的主機設備,域名服務器就是專門用來管理保存域名與IP地址的對應關係的。因爲域名是分層的,所以域名服務器也是分層的,每一層域名服務器都管理所在層的域名,以及保存着下一層域名服務器的IP地址

    4. DNS解析器:進行DNS查詢的主機和軟件就是DNS解析器,比如個人電腦。

    5. DNS查詢:解析器查詢域名對應的IP地址時,首先會在所在的域名服務器中進行查詢(實際上會先進行查詢緩存,查詢緩存會將之前查詢完成的結果保存在緩存中),如果能找到對應的IP地址,那麼就返回,如果不能找到對應的IP地址就會向上一層域名服務器進行查詢,直到根域名服務器,查詢完成後就將結果返回。

2. ARP

    1. ARP是一種解決地址問題的協議,以IP地址爲目標,用來定位下一個應該接受數據分包的網絡設備的MAC地址,該協議僅適用於IPv4。

    2. IP協議在數據鏈路層的問題:我們知道對於IP協議來說,通過IP地址進行定位尋址就可以找到主機位置,IP協議是跨數據鏈路的,但是在數據鏈路層中數據傳輸實際需要跨越多個路由節點以及多段數據鏈路才能到達目標IP地址,比如數據包到達了路由器A處,我們應該如何確定下一個路由節點的選擇?不可能攜帶IP數據包對路由器B和E進行試探廣播,這樣的代價太巨大。

8de9bf9d8be5e102d05123a8ed34821204f.jpg

    3. ARP協議就是爲解決這個問題產生的,比如主機A在發送IP數據包之前,會首先進行對同一段數據鏈路上的所有主機或路由節點(D和C節點)進行廣播ARP請求數據包,這個數據包中包括了目標主機的IP地址,如果數據包可以被某個路由或主機接收,那麼就會返回響應包,響應包中就包括了接收數據包的主機或路由的MAC地址,主機A接收到這個MAC地址後,就會在數據包的首部加上首部信息,主要包括髮送端MAC地址和目標MAC地址。而爲了減少ARP的請求次數,也添加了一個緩存處理,每次都會將ARP請求得到的MAC地址與IP地址對應起來並緩存。

7c332fa9e4bbf4453dec9fd9e7bc2739014.jpg8fb9aacaa93aab55c0fc7da7b696913dae2.jpg

3. ICMP

    1. ICMP是一種用來進行網絡診斷的協議,其協助IP協議確認IP包是否成功送達目標地址,並且通知IP包被拋棄的原因。比如下圖中主機A向主機B發送了數據包,數據包到達路由器2時,路由器2會通過ARP協議去探尋主機B的MAC地址,如果主機B關機的話,ARP響應失敗,路由器2就會返回一個ICMP數據包給發送者主機A,數據包中包括髮送失敗的原因。

9fcc853bfc0864821b94cdb75d2b074767c.jpg

    2. ICMP消息類型:ICMP有多種消息類型,包括目標不可達、路由重定向、超時等。目標不可達就是說明IP數據包無法送達目標地址(不可達的具體原因也會在ICMP消息的數據包中表達);路由重定向就是指發送的數據包採用了次優的路由路徑,返回的消息中會包含最優的路由信息;而超時是通過IP協議首部信息中的TTL(生存週期)字段數據來實現判斷的,每經過一個路由器TTL就會減1,如果減到爲0時數據包仍未到達目標主機,那麼就會拋棄IP數據包並返回超時的ICMP消息。

4c48eb84c1da9669a9799525b9034a82434.jpg

    

4. DHCP

    1. MAC地址是與網卡綁定的,如果一臺主機的網卡不變,那麼MAC地址也不會改變,但是IP地址就不同了,主機的IP地址是被分配的,也就是說如果主機更換地點(尤其是對於筆記本電腦等),其IP地址都會發生改變。如果IP地址要由手動分配的話就會很複雜麻煩,所以就出現了DHCP協議,實現自動IP地址分配、統一管理IP地址分配,也就是說,只要有DHCP並且連接到網絡,就可以進行TCP/IP通信。比如家裏安裝路由器後連接網絡時,都會如下圖所示設置自動獲取分配本機的IP地址以及DNS服務器地址。

32b30a28f61c9b8a4a56414e2ace5756652.jpg

    2. DHCP工作機制:也就是用一個DHCP服務器保存所有要分配的IP地址、路由控制、子網掩碼以及DNS服務器地址等數據,然後當DHCP客戶端在網絡中發現新的網絡主機或路由器時,就會從DHCP服務器中取得一個可用的IP地址來分配給主機或路由。當然,如果DHCP服務器掛掉,那麼該服務器所負責的所有網絡節點也就都會無法連接。

5.  IP隧道

    1. 如果A區和B區網絡使用的是IPv6協議,而A區與B區通過C區網絡間接相連,但C區網絡使用IPv4協議,這個時候肯定是無法直接進行通信的,所以就需要IP隧道技術來保證正常通信。

f966909cadd738f4222179c1b26dbf8c020.jpg

    2. IP隧道:IP隧道指的是在數據包的網絡層協議首部信息之前再次追加一個網絡層協議首部信息的通信方法,也就是說將網絡A中傳過來的IPv6數據包看作數據,在這個數據首部添加IPv4協議首部信息後在發送給網絡C。

aaa544de16c7665f42fd97c2fc6fa2448cd.jpg

 

 

 

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