小白學TCP/IP(五)IP協議相關技術

IP協議相關技術

IP旨在讓最終目標主機收到數據包,但是這一過程僅僅依靠IP是無法實現的,必須要有實現解析主機名稱和MAC地址的功能,以及數據包在發送過程中異常情況處理的功能,此外還會涉及IP必不可少的其他功能.


DNS(Domain Name System)

DNS系統與IP協議的關係:
DNS系統中維護一個用來表示組織內部主機名(域名)和IP地址之間對應關係的數據庫.
DNS工作原理:

  1. 用戶輸入主機名(域名)
  2. DNS自動檢索那個註冊了的主機名和IP地址的數據庫,迅速定位對應的IP地址
  3. 返回給用戶主機該IP地址

DNS查詢:


ARP(Address Resolution Protocol)

只要確定了IP地址即可向該目標地址發送IP數據報,然而在底層數據鏈路層,進行實際通信時,需要知道每個IP所對應的MAC地址

ARP協議與IP協議的關係
ARP是一種解決地址問題的協議,以目標IP地址爲線索,用來定位下一個接受數據分包的網絡設備對應的MAC地址,如果目標主機與用戶主機不在同一個數據鏈路上,使用ARP查找下一跳路由器的MAC地址.

ARP協議是如何知道MAC地址的呢?

核心是藉助用戶主機發送ARP請求包和目標主機發送ARP響應包確定MAC地址

假定主機A要往主機B發送IP數據包

  1. 主機A只知道主機B的IP地址,爲了獲得主機B的MAC地址,主機A通過廣播向同一數據鏈路的所有主機或路由器發送一個ARP請求包(包含了主機A的IP地址,MAC地址,目標主機的IP地址)
  2. 該請求包會被該鏈路上的所有主機或路由器解析
  3. 主機B解析到該請求包後得到主機A請求的IP地址與自己的IP地址相同,便將自己的MAC地址塞入ARP響應包並通過單播返回給主機A,同時將主機A的IP地址和MAC地址存入主機B自身的ARP緩存表.
  4. 主機A接收到主機B發送回來的ARP響應包,得到了主機B的MAC地址,同時將主機B的IP地址與MAC地址存入主機A自身的緩存表中.(注意:緩存數據也是有期限的)

RARP協議

RARP是將ARP反過來,從MAC地址獲取IP地址的一種協議,將打印機服務器等小型嵌入式設備接入到網絡中經常用到,假如將一臺打印機接入到網絡中,插電啓動設備時,打印機就會發送一條"我的MAC地址是****,請告訴我我的IP地址是什麼?"的請求信息,RARP服務器收到這條消息便會返回"MAC地址爲****的設備,你的IP地址是啥啥啥"的響應信息給這個設備.


ICMP(Internet Control Message Protocol)

ICMP協議與IP協議的關係
ICMP協議確認IP包是否成功被髮送出去,通知在發送過程當中IP包被廢棄的原因,改善網絡設置等.
ICMP的消息大致分爲兩類:

  • 通知出錯原因的錯誤消息
  • 用於診斷的查詢消息

ICMP的通知消息以明文的形式像TCP/UDP一樣通過IP進行傳輸,但是ICMP所承擔的功能並非傳輸層的補充,應該把它考慮爲IP的一部分,收到該ICMP包的主機分解ICMP的首部和數據域可以得知具體發生問題的原因.


DHCP(Dynamic Host Configuration Protocol)

DHCP協議與IP協議的關係
DHCP協議實現了自動分配IP地址,統一管理IP地址分配,讓即插即用變得可能.

DHCP協議工作原理

  1. DHCP客戶端廣播發送DHCP發現包,爲自己請求一個新IP地址
  2. DHCP服務器收到該DHCP發現包後,給DHCP客戶端發送了一個DHCP提供包,提供包中包含了一個可用的新IP地址
  3. DHCP客戶端收到該DHCP提供包後,決定使用這個新IP地址作爲自己的IP地址,於是再次廣播發送DHCP請求包,向DHCP服務器請求使用該IP地址
  4. DHCP服務器收到該DHCP請求包後,再次向該DHCP客戶端發送了一個DHCP提供包,允許DHCP客戶端使用該IP地址.

NAT(Network Address Translator)

NAT協議與IP協議的關係
NAT協議是用於本地網絡中使用私有地址,在連接互聯網時轉而使用全局IP地址的技術,也就是實現私有地址到全局IP地址的轉換.

NAPT(Network Address Ports Translator)技術
實現了用一個全局IP地址與多個主機的通信(比NAT技術更常用,所以說NAT技術一般指的是NAPT技術)

NAPT原理

主機A的本地IP地址爲192.168.1.2,主機B的本地IP地址爲192.168.1.3,這兩個主機要連接互聯網時,需通過NAT服務器,將IP地址轉換爲NAT服務器的全局IP地址中的一個端口地址,接收數據也是一樣的,先使用NAT服務器的全局IP地址端口進行接受,然後再轉換爲本地IP地址.


IP隧道

IP隧道與IP協議的關係
假如網絡A和網絡C採用IPv6,而夾在中間的網絡B使用IPv4的話,網絡A與C就無法直接進行通信,需要使用IP隧道將網絡A發過來的IPv6包統合爲一個包,然後再追加一個IPv4的首部後轉發給網絡B.

IP隧道是什麼
IP隧道就是在網絡層的首部後面繼續追加網絡首部的通信方法

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