DHCP这种小协议估计很多人都懒得看,尤其在v6普及之后这协议估计也就被废了大半

但在v4的时代,它所扮演的角色不得不说其实很重要

简单配置什么的就不说了,主要是这个点:

配置Helper之后,请求怎么发过去的,服务器如何分配的,回应是怎么回来的

估计好多人都知道这个配置,这样一个大网里面一台server就够所有人去用了

但是估计有好多人都弄不明白为什么这样能用,问上一句估计就说不清楚了,那咱做个小实验,拿包结构来说明吧

拓扑很简单,一个server---一台router---两个clients

server上面两个pool,192.168.1.0 192.168.2.0 router三个ip分别是10.1.1.1 192.168.1.1 192.168.2.1 server ip是10.1.1.2

配置也不复杂,dhcp server要有去192.168.1.0/24和192.168.2.0/24的路由,同时在router上面的两个接口分别配ip helper-address 10.1.1.2,client都配成自动获取,就ok了

这时候具体过程就需要仔细讨论了:

首先是,dhcp请求是如何到达server的

这个问题好解释,目的4个255的请求来了,router将目的地址换成接口上面配置好的地址,单播转发

接下来是服务器如何分配

有人觉得这问题很简单,不是有地址池么?挨个拿就好了,那问题就出来了,这里两个地址池,你怎么搞?其实刚刚我故意空了个地方没写,就是上一步,当router转发的时候,单播源地址是自己的接口地址,这样server就知道提供哪个地址池中的地址了

最后,如何回来

查路由表,所以前面在配置里面强调路由了

over