随笔分类 - udhcp 源码分析
基于udhcp-0.9.8版本源代码的分析总结
摘要:1:重要的结构体 获取的报文是UDP的payload部分,结构体struct dhcpMessage描述了dhcp报文的结构。 /* packet.h */ 2:udhcpd收发包主干逻辑 2.1 获得套接字接口函数listen_socket /* socket.c */ 函数listen_sock
阅读全文
摘要:1:重要的结构体 全局链表的成员struct dhcpOfferedAddr *leases 记录了当前租赁出去的IP信息 /* leases.h */ 结构体三个成员分别记录客户端MAC(为什么不是6字节?),租赁出去的IP地址,以及到期时间(time(0) + server_config.lea
阅读全文
摘要:1:重要的结构体 读取配置文件信息到全局的结构体struct server_config_t server_config中,这个结构在很多文件中都有引用到很重要。 /* dhcpd.h */ 英文释意也很明白,比较重要的有struct option_set *options;成员,它是一个指向记录配
阅读全文
摘要:1:dhcpd.c udhcpd_main函数是整个程序的入口,依次完成的主要工作有读取配置文件信息至全局结构体、记录程序pid number、初始化lease链表、将程序作为daemon运行、死循环中用socket监听报文执行DHCP报文交互逻辑. 2:files.c 2.1--read_conf
阅读全文

浙公网安备 33010602011771号