On Wed, May 24, 2000 at 08:39:31AM +0800, Wensong Zhang wrote:
> I think that in most TCP/IP implementation, each connection requires that
> the return address match its request address, otherwise the connection is
> broken.
>
> However, ICMP redirect message might be a good idea. If ICMP redirect
> message went directly to the client host, I think that we would use the
> ICMP redirect message just like http redirects for load balancing. But, as
> far as I know, ICMP redirect message is usually sent to intermediate
> routers. I need check the kernel code how the ICMP redirect message is
> used.
Usually an ICMP redirect is sent to a client when forwarding a packet if
the router (that is doing the forwarding) is the first hop - that is the
client is on the local network - and the packet is sent out the same
interface that is recieved on.
So if the client, LVS host, and real servers are all on the same network
and the packet is simply forwarded (for example using LVS/DR) then an ICMP
redirect will be issued and the client will direct traffic for the virtual
IP to whichever real server it was redirected to.
ICMP redirects specify the router that a host should use to contact an
address, in this case the router to use is the real server itself. I am
almost certain that the router has to be the next hop for the packet, so
sending an ICMP redirect to a host outside the local network would not work
as there is no next hop information that can be provided to the client to
direct it to the real server.
--
Horms
|