DHCP是網絡技術世界一項特別偉大的技術,解決了靜態配置IP繁瑣的過程,其動態分配IP地址的特性,使得網絡變得靈活可擴展。
【資料圖】
如果沒有 DHCP,很難想象我們將如何連接到互聯網或本地網絡,DHCP 是我們在 IP 網絡上的設備如何相互通信以及與我們周圍的世界通信的重要組成部分。
那么DHCP背后的原理是什么?為什么說DHCP是革命性的技術?在配置DHCP的時候要注意什么?
本文,瑞哥就用圖解的形式帶大家揭開DHCP的神秘面紗,讓我們直接開始!
什么是DHCP?英文全稱:Dynamic Host Configuration Protocol
中文名稱:動態主機配置協議
是一種網絡管理協議
DHCP術語DHCP有許多專業術語,下面我們來簡單了解一下:DHCP Discover:當客戶端 (PC) 啟動時,它會通過以太網廣播 DHCP Discover 消息來定位同一子網中的所有可用 DHCP 服務器,到達同一子網中的所有 DHCP 服務器。DHCP Offer:當 DHCP 服務器收到來自客戶端的 DHCP Discover 消息時,它還會通過以太網廣播 DHCP Offer 消息,通知客戶端它可用。DHCP Request:收到 DHCP Offer 消息的客戶端識別出在同一子網上有可用的 DHCP 服務器,然后它通過以太網向服務器廣播 DHCP 請求消息,請求網絡配置數據,包括自己的 IP 地址。DHCP Reservation:網絡的預定義 IP 地址范圍DHCP ACK:DHCP確認DHCP Server:DHCP服務器,運行和管理 DHCP 信息的設備DHCP Client:DHCP客戶端,負責請求 IP 地址并與 DHCP 服務器建立 DHCP 連接DHCP Relay Agent:DHCP 中繼代理,是在本地 DHCP 客戶端和遠程 DHCP 服務器之間發送請求和回復的主機或路由器,當多個LAN中只有一個 DHCP 服務器時,中繼代理會處理所有網絡的請求。Lease Time:租用時間,客戶端可以使用分配給它的 IP 地址的時間DHCP 基本拓撲
DHCP組成部分上面我們介紹了DHCP的術語,一般DHCP會包含以下部分:
DHCP組成部分
這個就印證了上面的DHCP 基本拓撲圖,IP地址池、子網、DHCP租約我們會在DHCP原理中介紹。
DHCP原理DHCP 在應用層運行以動態地為客戶端分配 IP 地址,這是通過共享 DHCP 事務或 DHCP 會話來實現的:
DHCP過程
我們來用一張圖來簡單的解釋以下DHCP的握手過程:
DHCP的握手過程
第一步:discover:客戶端發送一個dhcp discover消息通知服務器第二步:offer:服務器回應一個可用的IP地址和其他參數第三步:request:客戶端從服務器請求IP地址第四步:acknowledge:服務器回應一個可用的IP地址和其他參數為了方便大家記憶,我們將圖簡化一下:
DHCP工作過程
我們來看一下DHCP工作過程的抓包:
DHCP工作過程的抓包分析
DHCP 租約每個 IP 地址都不會無限期地屬于某一臺計算機,與 IP 地址一起,DHCP 服務器將發送一個稱為租用時間的到期日期,表示主機何時需要更新地址,DHCP 租約可以避免一定程度上的IP地址的浪費,因為可能有些IP分配出去了,但是所屬計算機已經不在某個局域網了,這個時候如果這個地址還不釋放的話,久而久之就會造成浪費。
DHCP租約周期如下:
客戶端通過向 DHCP 服務器請求一個 IP 地址租用的分配過程來獲得一個 IP 地址租用。如果客戶端已從現有租約中獲得 IP 地址,則在重啟時需要刷新其 IP 地址,并聯系 DHCP 服務器重新分配IP 地址。租約未到期,則客戶端綁定相關租約和IP地址。租約到期,客戶端將聯系最初授予租約的服務器來更新它,獲得繼續使用其 IP 地址的權力。如果客戶端移動到不同的網絡,它的動態 IP 地址將被終止,它會從新網絡的 DHCP 服務器請求一個新的 IP 地址。配置DHCPWindows
windows配置dhcp比較簡單,而且也幾乎是默認的配置方式:
打開【網絡和internet設置】網絡和internet設置
點擊你連接的網絡的【屬性】網絡屬性
找到【IP設置】找到【IP設置】
看到我的電腦已經是設置成DHCP獲取的方式了
ip設置
點開【IP設置】我們看到有DHCP和手動兩種設置方式。
我們來看下通過DHCP設置后,我的IP地址是多少:
查看本機IP地址
可以看到通過DHCP自動分配后,我的電腦IP地址為:192.168.50.234
Linux我以我的一個云服務器為例子給大家演示一下,我的這臺云服務器是香港的,Centos系統,那么網絡配置文件都是在/etc/sysconfig/network-scripts/路徑下。
我們來看一下這臺服務器的網絡設置:
more /etc/sysconfig/network-scripts/ifcfg-eth0
命令行顯示:
# Created by cloud-init on instance boot automatically, do not edit.#BOOTPROTO=dhcpDEVICE=eth0MTU=1450ONBOOT=yesTYPE=EthernetUSERCTL=no
服務器的網絡設置
由此可見我的這臺云服務器的ip地址也是DHCP的方式。
查看DHCP分配的地址租約我們怎么去查看DHCP分配的地址租約呢?
還是以我這臺香港的云服務器為例:
執行命令:
cat /var/lib/dhclient/dhclient--eth0.lease
結果顯示:
lease { interface "eth0"; fixed-address 172.16.2.231; option subnet-mask 255.255.0.0; option routers 172.16.0.1; option dhcp-lease-time 86400; option dhcp-message-type 5; option domain-name-servers 8.8.4.4; option dhcp-server-identifier 172.16.0.2; option interface-mtu 1450; option dhcp-renewal-time 40305; option classless-static-routes 32.169.254.169.254 172.16.0.2,0 172.16.0.1; option broadcast-address 172.16.255.255; option dhcp-rebinding-time 72705; option host-name "host-172-16-2-231"; option domain-name "openstacklocal"; renew 6 2022/07/09 09:49:26; rebind 6 2022/07/09 19:34:44; expire 6 2022/07/09 23:22:59;}lease { interface "eth0"; fixed-address 172.16.2.231; option subnet-mask 255.255.0.0; option routers 172.16.0.1; option dhcp-lease-time 86400; option dhcp-message-type 5; option domain-name-servers 8.8.4.4; option dhcp-server-identifier 172.16.0.2; option interface-mtu 1450; option dhcp-renewal-time 39746; option classless-static-routes 32.169.254.169.254 172.16.0.2,0 172.16.0.1; option broadcast-address 172.16.255.255; option dhcp-rebinding-time 72146; option host-name "host-172-16-2-231"; option domain-name "openstacklocal"; renew 6 2022/07/09 20:31:46; rebind 0 2022/07/10 05:51:52; expire 0 2022/07/10 09:49:26;}
DHCP分配的地址租約
我們看到有一項參數叫option dhcp-lease-time 86400,這個就是租期時間,單位是秒。
我們還能看出:
renew 6 2022/07/09 20:31:46;:重新設置的時間rebind 0 2022/07/10 05:51:52;:將要重新綁定的時間expire 0 2022/07/10 09:49:26;:到期時間以上就是DHCP的設置部分,我們最后看看DHCP的優缺點。
DHCP的優缺點DHCP優點
減少 IP 沖突:手動分配 IP 地址會增加網絡中不正確或重復地址的可能性,使用 DHCP可以確保通過集中控制自動、準確地分配地址。簡化網絡管理:借助DHCP,網絡管理員可以輕松監控、管理和分配 IPv4 和 IPv6 地址。降低成本: 與手動分配 IP 相比,DHCP 有助于節省大量時間,尤其是對于大型企業而言,它還可以節省資金和其他資源,因為公司不需要有專門的專家來持續監督知識產權管理和分配。DHCP缺點
DHCP 本身并不安全,如果惡意行為者訪問 DHCP 服務器,他們可能會造成嚴重破壞。
如果 DHCP 服務器沒有備份并且服務器出現故障,它所服務的設備也會出現故障。
如果網絡只有一個 DHCP 服務器,則 DHCP 服務器可能是單點故障。
總結DHCP 是 1985 年網絡 IP 管理協議 Bootstrap 協議 ( BOOTP ) 的擴展,用于為網絡上的每臺主機動態分配 IP 地址和其他信息,以便它們能夠高效地進行通信。DHCP 自動、集中管理 IP 地址的分配,簡化了網絡管理員的工作,除了IP 地址,DHCP 還為主機分配子網掩碼、默認網關和域名服務器地址等配置,從而使網絡管理員的工作更加輕松。
X 關閉
X 關閉
- 1轉轉集團發布2022年二季度手機行情報告:二手市場“飄香”
- 2充電寶100Wh等于多少毫安?鐵路旅客禁止、限制攜帶和托運物品目錄
- 3好消息!京東與騰訊續簽三年戰略合作協議 加強技術創新與供應鏈服務
- 4名創優品擬通過香港IPO全球發售4100萬股 全球發售所得款項有什么用處?
- 5亞馬遜云科技成立量子網絡中心致力解決量子計算領域的挑戰
- 6京東綠色建材線上平臺上線 新增用戶70%來自下沉市場
- 7網紅淘品牌“七格格”chuu在北京又開一家店 潮人新寵chuu能紅多久
- 8市場競爭加劇,有車企因經營不善出現破產、退網、退市
- 9北京市市場監管局為企業紓困減負保護經濟韌性
- 10市場監管總局發布限制商品過度包裝標準和第1號修改單