2.9 Using Helper Address
2.9.2 Server location

It is important to consider how you want to get the broadcast, in a controlled way, to the appropriate server(s). Such considerations depend on the location of the server(s). In practice, there are several ways that server location is implemented (see Figure ):

  • A single server on a single remote medium

Such a medium may be directly connected to the router that blocks the broadcast, or might be several routing hops away. In any case, the all-ones broadcast needs to be handled at the first router it encounters and sent to the server.

  • Multiple servers on a single remote medium, sometimes called a "server farm"

Different kinds of servers (for example, DNS and TFTP for Cisco AutoInstall) could exist on the same medium. Or perhaps redundant servers of the same type are installed on the same medium. In either case, you want a directed broadcast on the server farm subnet so the multiple devices can see it.

  • Multiple servers on multiple remote media

Here, a secondary DNS server could exist on one subnet and the primary DNS server on another subnet. For fault tolerance, client requests need to reach both servers.

IP Helper Address Commands

Two commands are used to configure helper addresses:

  • ip helper-address
  • ip forward-protocol

The ip helper-address Command

Use the ip helper-address command to configure an interface where broadcasts are expected or can be received. The specified address can be the unicast address of a remote server or a directed broadcast address.

ip helper-address address

If an ip helper-address is defined, forwarding for eight default UDP ports is enabled automatically. The default ports are TFTP (69), DNS (53), Time (37), NetBIOS name service (137), NetBIOS datagram service (138), BOOTP/DHCP server (67), BOOTP/DHCP client (68), and TACACS (49).

These same eight ports are automatically forwarded if you define an ip helper-address and ip forward-protocol udp.

The ip forward-protocol Command

Use the ip forward-protocol command to specify which type of broadcast packet is forwarded.

ip forward-protocol {udp [port] | nd | sdns}

To forward only one UDP port (whether a default-forwarded port, another UDP port, or a custom port), you must use ip forward-protocol udp [port] for the port(s) you want to forward and then specify no ip forward-protocol udp [port] for the default ports you do not want forwarded.

There really is no easy way to forward all UDP broadcasts. Essentially, you would need to specify all the UDP ports in the ip forward-protocol command.