ICMP Redirect : A Common Issue for SLB
Posted On Aug 20, 2008 at at 12:20 PM by DophiICMP redirect message is a technique to minimum the routing table of a host. The topology is a general example for ICMP redirect and it can be generated and sent by Router A when the host in network A sends packets to network C.
The situations are:
- A host in network A sends packets to network C. The default gateway of the host is router A and network C is a remote network, so the host forwards the packet destined for network C to its default router router A.
- Router A checks its routing table and finds that the next hop for the route to the network C is router B.
- An ICMP redirect message is sent to the host informing it that router B is the better route for sending packets to network C.
- Router A then forwards packets to router B.
- The host adds a route to its routing table for network C IP address with IP address of router B as the gateway. Subsequent packets from the host to network C are forwarded to router B instead of A. (For Windows platform, this routing table is added for 10 minutes.)
There is one more situation which triggers router A to send an ICMP redirect message to the host; The link between network B and router A is down.
The purpose of this note is for Alteon implementation. Many people like to implement Alteon with one-arm server load balance (SLB) as the topology below because it avoids re-cabling and minimums network down time. But, due to the ICMP redirect behavior, this makes SLB operate abnormally.
The only one way to solve this "issue" is creating a proxy IP and binding it to the port connecting to the switch. This is a easy and simple tip to do but comes with one disadvantage. Servers can only see accesses with only one source IP address (proxy IP address) unless we enable x-forward feature on Alteon.