The Internet Protocol requires every network interface controller to be assigned at least one unique IP address. Groups of machines with similar addresses are considered to be part of the same logical subnet. One method of assigning IP addresses is DHCP in which addresses typically are issued by a DHCP server running on one or more hosts. If one of these machines is on the same subnet as its clients, the DHCP server can respond to their broadcast DHCP requests and issue an address. But the DHCP servers may be hosted on a different subnet and, by default, most routers do not pass broadcast messages to nodes outside their own subnet.
To resolve this, a UDP helper address is established in the router configuration to forward broadcast network traffic outside the local subnet. If a DHCP client outside the DHCP server's subnet broadcasts an address request, it is the helper that forwards the message to the DHCP server. The server then chooses an address and sends the client a unicast message, using the helper to send the message back to the client's subnet. The address is reserved for a limited time while the DHCP server waits for a response. If the client responds with another broadcast message, the DHCP server distributes the address. Helper addresses also can be used to forward other UDP traffic (for example, BOOTP).
Cisco's first implementation of this protocol was introduced in version 10 of their router software. It is implemented through the use of the router configuration commands
ip helper-address and
To enable the forwarding of User Datagram Protocol (UDP) broadcasts, including BOOTP, received on an interface, use the ip helper-address command in interface configuration mode. To disable the forwarding of broadcast packets to specific addresses, use the no form of this command.
- Syntax Description:
ip helper-address [vrf name | global] address [redundancy vrg-name] no ip helper-address [vrf name | global] address [redundancy vrg-name]
- vrf name
- (Optional) Enables VPN routing and forwarding (VRF) instance and VRF name.
- (Optional) Configures a global routing table.
- Destination broadcast or host address to be used when forwarding UDP broadcasts. There can be more than one helper address per interface.
- redundancy vrg-name
- (Optional) Defines the VRG group name.
The use of UDP helper addresses can cause issues with some Windows-based network configurations.. According to Microsoft these issues stem from the fact that ports 137,138 are forwarded by default on Cisco routers. Since these ports are used by NetBIOS to help determine network configuration the added broadcasts can confuse the system.