Configuring TCP Load Distribution
Configuring TCP Load Distribution NAT has a feature that is really unrelated to getting hosts using RFC 1918 address space to be able to communicate on the Internet. Using this feature in NAT, you can establish a virtual host on the inside network that coordinates basic load sharing among real inside hosts. This allows a host that is heavily used, such as a web server, to be able to handle the load of incoming requests by spreading the load among several mirrored servers. Destination addresses that match an access list are replaced with addresses from a pool that has been designated as a rotary pool by adding the type rotary keywords to the end of the ip nat pool command. Allocation of the IP addresses from this pool is done in a round-robin fashion and only when a new connection is opened from the outside to the inside. The router performs the following steps when translating a rotary pool: 1. Let’s say a host on the outside network at IP address 155.1.3.2 sends a request to open a connection to the virtual host at IP address 20.1.1.254. 94 Chapter 3 Network Address Translation 2. The router receives the connection request and creates a new translation. It will allocate the next IP address from the pool of inside local IP addresses. This is, for example, the real host at IP address 20.1.1.1. 3. The router then replaces the destination address (20.1.1.254) with the selected real host IP address (20.1.1.1) from the pool and forward the packet. 4. The host at 20.1.1.1 receives the packet and sends a response packet back to continue the communication. 5. The router receives the packet and performs a NAT table lookup. The router finds the appropriate entry in the table and translates the source address to the IP address of the virtual host (20.1.1.254) and forwards the packet to the outside host at 155.1.3.2. When a new connection request is received, it causes the router to allocate the next available IP address from the rotary pool (20.1.1.2) and the whole process starts again with the new real host. The following example shows how to create and use a rotary pool: Border(config)#interface ethernet0 Border(config-if)#ip nat inside Border(config-if)#interface serial0 Border(config-if)#ip nat outside Border(config-if)#exit Border(config)#ip nat pool WEB-HOSTS 20.1.1.1 20.1.1.9 netmask 255.255.255.0 ➥type rotary Border(config)#access-list 12 permit 20.1.1.254 Border(config)#ip nat inside destination list 12 pool WEB-HOSTS Border(config)#
202 times read
|
|
|
Did you enjoy this article?
(total 0 votes)
|