内核中的哪个模块通知 DHCP 客户端开始 DHCP 协商?

内核中的哪个模块通知 DHCP 客户端开始 DHCP 协商?

DHCP客户端是一个进程而不是内核代码。 DHCP客户端如何知道何时开始发送DHCP发现消息?是内核中的IP模块通知DHCP客户端吗?

答案1

DHCP 客户端守护程序(dhcpdcdhclient等)是在 init 进程期间启动的程序。这些程序并不总是由 init 直接调用,而是当接口配置为使用 dhcp 时,处理网络的程序将执行此操作。

例如,netctl发行版就是一种用于管理网络接口的程序。该程序使用配置文件,您可以在其中指定静态地址或 dhcp(以及其他选项)。如果你有配置文件设置使用dhcp,那么当netctlinit系统调用它时,它将启动dhcp客户端来获取地址。当 dhcp 客户端启动时,它将开始发送 DHCPDISCOVER 消息,除非它有最近的租约,然后它将用 DHCPREQUEST 代替租约中的地址。

除了 init 系统主进程(sysvinit/systemd/etc)的初始生成之外,内核根本不是这个进程的真正一部分。要么有一个直接调用 dhcp 客户端的 init 脚本,要么有一个网络管理服务来处理它。

相关内容