暑假到了,鹹魚了兩天我也不知道我在幹嘛,Vue 什麼的這幾天也沒學,倒是看了《自頂向下》差不多百來頁的樣子,算法什麼的也沒看,都跳過了,完了之後我也不知道我懂了沒懂,是以今天總結一下 DHCP 是怎麼樣給子網配置設定一個 IP 位址的。
什麼是 DHCP
動态主機設定協定(英語:Dynamic Host Configuration Protocol,縮寫:DHCP)是一個用于區域網路的網絡協定,位于OSI模型的應用層,使用UDP協定工作,主要有兩個用途:
- 用于内部網或網絡服務供應商自動配置設定IP位址給使用者
- 用于内部網管理者作為對所有計算機作中央管理的手段
以上内容出自維基百科。
簡單的來說,就是每當一個裝置加入子網之後,他還沒有 IP 位址,然後 DHCP 伺服器就會為他配置設定一個不同其他裝置的 IP 的 IP,就是為了防止沖突的。這個呢,廣泛用于路由器和現代交換機。有了它,家用網絡也能做成一個大型子網。
配置設定過程
請求IP租約:當一台裝置加入子網,他沒有被配置設定 IP 位址。它會封裝一個 UDP 包包含 DHCP 封包段,目标端口是 DHCP 伺服器預設的 67 端口,由于不知道伺服器的 IP 位址,它會進行 IP 廣播,位址是 255.255.255.255,原位址為 0.0.0.0。
提供IP租約:當 DHCP 伺服器(一般指路由器)收到 DHCP 封包段,将會提供一個不沖突的 IP 位址,原位址為自身 IP,一般是網關位址,進行 IP 單點傳播,以太網幀上存在目标和源的 MAC 位址。
選擇IP租約:當裝置獲得 IP 位址後,将會進行一次廣播,讓子網中其他 DHCP 伺服器,收回對此裝置配置設定的多餘的 IP 位址。(子網存在多種 DHCP 伺服器時)
确認IP租約:客戶在獲得了一個IP位址以後,就可以發送一個ARP請求來避免由于 DHCP 伺服器位址池重疊而引發的IP沖突。
談談 ARP 尋址
位址解析協定(英語:Address Resolution Protocol,縮寫:ARP)是一個通過解析網絡層位址來找尋資料鍊路層位址的網絡傳輸協定。
ARP是通過網絡位址來定位MAC位址。ARP 是位于OSI第二層資料鍊路層的。ARP快取記錄主要記錄子網之間的裝置實體位址(MAC 位址),相對于轉發表而言,他是有過期時間的,對一個交換機而言,當一個包想要發送給目标,首先查找 ARP 表中目标的 MAC 位址進行端口轉發。當一段時間某個 MAC 位址的源主機一直沒有收到過任何請求,時間超過過期時間後,該主機的 MAC 位址及對應的記錄将會從 ARP 表中删除,是以不必要擔心 ARP 表會過時。另一個他也不會造成環路。它是自學習的。
每台主機或路由器在其記憶體中具有一個 ARP 表,這張表包含 IP 位址和 MAC 位址的映射關系。當一個主機想要發送一個資料封包,首先要查找目的主機的 MAC 位址。如果 ARP 表中不存在這個對應關系,源主機就會廣播發送一個 ARP 分組。(FF-FF-FF-FF-FF-FF)然後更新 ARP 表。