DHCP服務器的主要模塊爲dhcpd後臺進程子模塊、ipv4報文處理子模塊、ipv6報文處理子模塊、報文解析和封裝子模塊、租約管理子模塊。
模塊間調用關係如圖:
dhcpd爲服務器守護進程文件,用來初始化系統,解析命令參數等;
處理ipv4報文的模塊以dhcp()爲入口函數,dhcp()函數主要完成對不同類型的ipv4進行的處理;
處理ipv6報文的模塊以dhcpv6()爲入口函數,調用build_dhcpv6_reply()函數完成對不同類型ipv6數據包的處理;
報文解析和封裝模塊分析了在收到報文後,對其解析爲packet結構體、再重新封裝構造reply包返回給client的過程;
租約管理模塊分析了ip地址租約的方式及過程。