随笔分类 -  udhcp 源码分析

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