As old as DHCP and TFTP are, you wouldn't think these protocols would be problematic. These two protocols must interact in VoIP environments because IP phones typically get their IP address dynamically from a DHCP server, and then request an "image" from a TFTP server. In the old days, TFTP was used like FTP for downloading, but it didn't require a username or password and the clients could send broadcasts to find the server. This was useful because the clients were often in an unconfigured boot-up state and needed to get their configuration from a TFTP server without knowing the IP address of the server.
IP phones still do this, but because the phones usually aren't on the same subnet as the TFTP server, the phones will learn the IP address of the TFTP server from the DHCP server. They get this information in the form of a DHCP "Option", specifically, Option 150.
The rub is that several popular DHCP servers implement only the more common options, like Default Gateway, DNS Server, and NetBIOS Name Server. While you might be able to jump through some hoops to make these servers support Option 150, save yourself some grief by implementing DHCP servers on an IOS-based router.
The sample config below creates a pool of addresses named "voice" for DHCP clients from 192.168.1.220 to 192.168.1.230 and specifies their default gateway and tells them to send TFTP requests to the server on 192.168.2.6.
! ip dhcp excluded-address 192.168.1.1 192.168.1.219 ip dhcp excluded-address 192.168.1.231 192.168.1.255 ! ip dhcp pool voice network 192.168.1.0 255.255.255.0 default-router 192.168.1.1 option 150 ip 192.168.2.6 !
Thomas Alexander Lancaster IV is a consultant and author with over ten years experience in the networking industry, focused on Internet infrastructure.
This was first published in September 2003