The redirectors are routers that keep track of the location of host servers and of the virtual hosts installed on them. For this purpose, they maintain a redirector table, which is used to detect incoming datagrams that need to be redirected to a host server. The redirector table contains the IP address of the origin host and the port number for the replicated service, and the IP address of the host server to which the datagrams must be forwarded. Whenever a datagram matches a pair of destination IP address and port number in the redirector table, it is encapsulated and tunnelled to the host server.
The redirector tables are maintained on the redirectors by HYDRANET routing daemons, which are patterned along the traditional IP routing daemons: The communication among redirectors and between redirectors and host servers happens via well-known UDP ports; each routing daemon accesses and modifies the redirector table in the kernel of the local redirector via routing sockets.
If a datagram needs to be redirected, this is detected when the datagram goes through the IP-level processing before it goes out to the interface. If an entry is located in the redirector table, an encapsulation header with the host server's IP address is wrapped around the datagram before it is passed to appropriate interface. This interface can be the local loopback, which means that the same mechanism can be used to redirect datagrams within the host server.