2.9 Using Helper Address
2.9.1 Overview
Recall that routers block broadcasts and prevent broadcast storms --- a situation in which a single broadcast triggers an onslaught of other broadcasts ultimately leading to a disruption in network services. Large flat networks are notorious for their bouts with broadcasts storms.

An example of broadcasting is when a client sends a broadcast to find a server. If the server is not on the same network, the broadcast will not get through to the server. Helper addresses facilitate connectivity by forwarding these broadcasts directly to the target server.

Client hosts interact with a variety of network support servers, such as a domain name server (DNS), BOOTP/Dynamic Host Configuration Protocol (DHCP) server, or TFTP server. At startup time, the clients often do not know the IP address of the server, so they broadcast to find it. Sometimes the clients do not know their own IP address, so they use BOOTP or DHCP to obtain it. If the client and server are on the same network, the server will respond to the client's broadcast request. From these replies, the client can glean the IP address of the server and use it in subsequent communication.

But what if the server is not on the same physical medium as the client? Remember that a destination IP address of 255.255.255.255 is sent in a link-layer broadcast (FFFFFFFFFFFF). By default, routers will never forward such broadcasts and you would not want them to. A primary reason for implementing routers is to localize broadcast traffic. You do, however, want clients to be able to reach the appropriate server(s). You use helper addresses for this purpose.

Helper commands change broadcast addresses to a unicast address (an address of a single device on the network) so that the broadcast message can be routed to a specific destination, rather than everywhere. It is important to note that every broadcast (as specified or defaulted in the configuration you will see later) is sent to all helpers, whether or not the helper will actually be able to help for a certain port.

Consider the design shown in the main figure. The client boots up and sends a broadcast to locate the server. The broadcast is stopped at the router. The router then reissues the broadcast as a unicast that is directed to the BOOTP server.

Note: Router-Broadcast Handling is defined in RFC 1812 and provides background information on router-broadcast handling for IPv4 Routers:

Forwarding of Link Layer Broadcasts

A router must not forward any packet that the router received as a Link Layer broadcast, unless it is directed to an IP Multicast address. In this latter case, one would presume that Link Layer broadcast was used due to the lack of an effective multicast service. A router must not forward any packet which the router received as a Link Layer multicast unless the packet's destination address is an IP multicast address. A router should silently discard a packet that is received via a Link Layer broadcast but does not specify an IP multicast or IP broadcast destination address. When a router sends a packet as a Link Layer broadcast, the IP destination address must be a legal IP broadcast or IP multicast address. See the RFC (1812) for the complete text.

Helper Addressing

What if a client needs to reach a server and does not know the server's address? In these situations, the client broadcasts to find the server. If a router separates the client and server, the broadcast will not get through. Helper addresses facilitate connectivity by forwarding these broadcasts directly to the target server.

Lab Activity
  In this lab, you will learn how to use the IP Helper Address command to pass broadcasts from a network.