对于DHCP服务器来讲,路由器在其中也起着重要的作用,这里了主要分析了路由器在DHCP服务器中的具体应用。大家都知道,路由器作用是隔离IP层广播的,然而我们平时又用到很多以广播方式工作的应用。
例如:DHCP客户端就是通过广播方式来查找DHCP服务器的,在服务器响应了这个请求后,分配给客户端一个地址池中空闲的IP地址,这种方式在同一个子网中,不会有什么问题,但是,在多个子网的环境中就会出现问题,因为路由设备不会转发这种广播方式的DHCP服务器请求,会造成DHCP客户端请求超时而失败。看下面的例子:
网络中存在三个子网,192.168.0.0/24、192.168.1.0/24以及192.168.2.0/24,通过Cisco2600路由器来连接,各个子网的网关均为192.168.x.1,而DHCP服务器位于192.168.0.0这个子网,IP为192.168.0.10。
那么这三个子网,只有192.168.0.0这个子网的DHCP客户端可以从服务器正常得到IP地址,其它两个子网均会报告DHCP服务器不可用。要解决这个问题可以使用UDP广播透传,他的主要工作方式为:
首先,DHCP服务器需要配置多个作用域,每个作用域的地址池对应于不同的子网,在这个例子中,作用域A的地址池(192.168.0.10-192.168.0.200)对应于子网一,B的地址池(192.168.1.10-192.168.1.200)对应于子网二,依此类推。
当192.16.1.0的DHCP客户端以广播方式查找DHCP服务器,路由器在接收到这个广播包后,会按照UDP中配置的帮助地址,将此DHCP服务器请求转发给位于192.168.0.0子网的DHCP服务器,服务器会根据转发网关的地址从相应作用域的地址池中取出地址进行分配,此例就是作用域B,地址池为192.168.1.10-192.168.1.200。