udhcp原始碼詳解(一)

2021-09-30 08:03:24 字數 2086 閱讀 8730

udhcp

原始碼詳解(一)

之檔案組織結構

(dhcp server)

author : hui

<[email protected]>

from :

created : 2010-10-2

udhcp

目錄下有十幾個原始檔,乙個原始檔相對應乙個模組,完成一系列相關的功能,例如在

static_leases.c

主要針對

static_lease

鍊錶增刪查詢等操作。

dhcpd.c

——整個

dhcp server

執行的主線,

server

開始執行是從udhcpd_main

函式開

|始,相當於我們程式的

main

入口。在

dhcpd_main

將各個功能模組組合起

|來實現我們的

dhcp server。|

arpping.c

——這個檔案裡只有乙個函式

arpping

,server

在給客戶機分配

ip位址|從

ip位址池裡找到

a free ip

後,會呼叫

arpping

函式看網路上是否

|主機使用該位址。|

common.c

—引用檔案的注釋:

functions for debugging and logging as well as some

|other ****** helperfunctions.

|file.c

——檔名可以看出她是跟檔案打交道的。

file.c

裡有個很重要的函式

|read_config

,讀取預設配置資訊和從配置檔案

udhcpd.conf

檔案裡讀

|取配置資訊,從網上

down

個udhcpd.conf,

她和linux

下其他配置文

|件格式一樣,以後寫這類函式時候可以模仿著寫。

|leases.c

——針對在

dhcpd.h

檔案裡宣告的

struct dhcpofferedaddr

結構的操作函|數。

|option.c——在

dhcp

互動的資料報文中有個選項字段

options,

該檔案裡的函式操作

|物件也就是選項資訊。

|serverpacket.c

資料報文傳送之前,根據不同情況對各個欄位的填充相應的資訊。

||||

|packet.c

——dhcp

報文的傳送資訊封裝與向網路傳送。|

pidfile.c

——functions to assist in the writing and removing of pidfiles. |

主要針對

/var/run/udhcpd.pid |

signalpipe.c

—server

會監聽兩個檔案描述符,其中乙個是」管道

」描述符,該描述符

|的相應操作就在

signalpipe.c

檔案裡,另外還有對

signal

的設定……

|socket.c

——socket

套接字建立,

inte***ce

資訊讀取。|

static_leases.c

對在dhcpd.h

裡定義的

struct static_lease

結構體的相應操作函式。

相對應得標頭檔案是對函式宣告,以及結構體的定義和巨集的定義。

udhcp詳解原始碼(序)

udhcp原始碼詳解 序 author hui 632254504 qq.com from created 2010 10 1 這篇udhcp詳解是基於busybox 1.02裡的 busybox 1.02 networking udhcp 目錄下的原始碼進行講解與分析,主要是對udhcp serv...

udhcp原始碼詳解(四)

udhcp原始碼詳解 四 之租賃ip的管理 author hui 632254504 qq.com from created 2010 10 4 server端對於租賃出去的ip的管理是基於結構體dhcpofferedaddr的,該結構體的定義是在leases.c檔案裡 結構體的成員介紹說明見詳解之...

udhcp原始碼詳解(三) 下

udhcp原始碼詳解 三 下 之配置資訊的讀取 author hui 632254504 qq.com from created 2010 10 3 上節講解了read config函式,讀取配置資訊到server config的相應成員變數裡,但read config函式只負責把配置資訊重檔案裡讀...