DHCP的原理,一看就懂!!字面意思

一:瞭解DHCP服務

1.1:DHCP概述

DHCP(Dynamic Host Configuration Protocol,動態主機配置協議),是由Internet工作任務小組設計開發的,專門用於爲TCP/IP網絡中的計算機自動分配TCP/IP參數的協議
DHCP一般作用在局域網中,若在廣域網中使用DHCP,需要在路由器上面配置

1.2:使用DHCP好處

Internet的用戶數量衆多,所以不可能給每個用戶固定一個IP地址,同時也爲了避免浪費,我們使用DHCP服務來解決這個問題。具有以下好處:

減少管理員的工作量

避免IP地址衝突

當網絡更改IP地址段時,不需要再重新配置每個用戶的IP地址

提高了IP地址的利用率

方便客戶端的配置

1.3:DHCP的分配方式

DHCP的典型應用模式
在網絡中假設一臺專用的DHCP服務器,負責集中分配各種網絡地址參數(主要包括IP地址,子網掩碼,廣播地址,默認網關地址,DNS服務器地址)
其他主機作爲DHCP客戶機,將網卡配置爲自動獲取地址,即可與DHCP服務器進行通信,完成自動配置過程
這就產生了三種分配方式:自動分配,手動分配,動態分配

1.3.1:自動分配

分配到一個IP地址後永久使用

當DHCP客戶機第一次成功的從DHCP服務器獲取到一個IP地址後,就永久的使用這個IP地址

例如:局域網中的打印機,局域網中的座機

1.3.2:手動分配

由DHCP服務器管理員專門指定IP地址

1.3.3:動態分配

使用完後釋放該IP,供其他客戶機使用

當DHCP客戶機第一次從DHCP服務器獲得IP地址後,並非永久的使用該地址,而是在每次使用完後,DHCP客戶機就會釋放這個IP地址,供其他客戶機使用

二:DHCP工作原理

客戶端從 DHCP 服務器獲取 IP 地址的過程稱之爲 DHCP 租約過程,此過程主要分爲以下四個步驟。

  • 客戶端在網絡中搜索服務器;
  • 服務器向客戶端響應服務;
  • 客戶端向服務器發出服務請求;
  • 服務器向客戶端提供服務。

2.1 租約過程

(1)客戶機請求 IP 地址

  • 當一個 DHCP 客戶機啓動時,客戶機還沒有 IP 地址,所以客戶機要通過 DHCP 獲取一個合法的地址。此時 DHCP
    客戶機以廣播方式發送 DHCP Discover 發現信息來尋找DHCP 服務器。

如圖:
在這裏插入圖片描述

(2)服務器響應

  • 當 DHCP 服務器接收到來自客戶機請求 IP 地址的信息時,它就在自己的 IP 地址池中查找是否有合法的 IP
    地址提供給客戶機。如果有,DHCP 服務器就將此 IP 地址做上標記, 加入到 DHCP Offer 的消息中,然後 DHCP
    服務器就廣播一則 DHCP Offer 消息。

如圖:
在這裏插入圖片描述

(3)客戶機選擇 IP 地址

  • DHCP 客戶機從接收到的第一個DHCP Offer 消息中提取IP 地址,發出IP 地址的DHCP
    服務器將該地址保留,這樣該地址就不能再分配給另一個 DHCP 客戶機。之後 DHCP 客戶機會向服務器發送 DHCP Request
    消息。

如圖:
在這裏插入圖片描述

(4)服務器確定租約
DHCP 服務器接收到 DHCP Request 消息後,以 DHCP ACK 消息的形式向客戶機廣播成功確認,該消息包含有 IP 地址的有效租約和其他可配置的信息。當客戶機收到 DHCP ACK
消息時,它就配置了 IP 地址,完成 TCP/IP 的初始化

如圖:
在這裏插入圖片描述

(5)重新登錄

  • DHCP 客戶機每次重新登錄網絡時,不需要再發送 DHCP Discover 信息,而是直接發送包含前一次所分配的 IP 地址的 DHCP
    Request 請求信息。

(6)更新租約

  • 當 DHCP 服務器向客戶機出租的 IP 地址租期達到 50%時,就需要更新租約。客戶機直接向提供租約的服務器發送 DHCP
    Request 包,要求更新現有的地址租約。

三:DHCP服務器的配置

3.1:DHCP服務

  • 爲大量客戶機自動分配地址,提供集中管理
  • 減輕管理和維護成本,提高網絡配置效率

3.2:可分配的地址信息主要包括

  • 網卡的IP地址,子網掩碼
  • 對應的網絡地址,廣播地址
  • 默認網關地址
  • DNS服務器地址

3.3:安裝DHCP服務器

  • DHCP服務器軟件
  • centos鏡像中的dhcp…rpm
  • dhcp軟件包的主要文件
  • 主配置文件:/etc/dhcpd.conf
  • 執行程序:/usr/sbin/dhcpd,/usr/sbin/dhcrelay
  • 執行參數配置:/etc/sysconfig/dhcpd