Table Of Contents
MultiNode Load Balancing Forwarding Agent
Related Features and Technologies
Supported Standards, MIBs, and RFCs
Enabling Cisco Express Forwarding
Configuring the Router as an MNLB Forwarding Agent
Monitoring the MNLB Forwarding Agent
MultiNode Load Balancing Forwarding Agent
12.0(5)T
December 17, 1999
Feature Overview
The MultiNode Load Balancing (MNLB) forwarding agent is the IOS-based packet redirector component of the MNLD Feature Set for LocalDirector, a product in the Cisco family of load balancing solutions.
The forwarding agent discovers the destination of specific connection requests and forwards packets between the client and the chosen destination. When a forwarding agent receives a connection request, the request is forwarded to the MNLB services manager, the LocalDirector-based component of the MNLD Feature Set for LocalDirector. The services manager makes the load balancing decision and sends the forwarding agent the optimal destination. After the destination is specified, session data is forwarded directly to the destination by the forwarding agent, without further services manager participation. There is no limit to the number of forwarding agents that can be configured in the MNLD Feature Set for LocalDirector.
Benefits
The MNLD Feature Set for LocalDirector comprises hardware and software that runs on multiple network components. The services manager runs on Cisco's LocalDirector chassis and makes the load-balancing decisions. The forwarding agents run on Cisco IOS router and switch platforms and forward packets to and from the selected destination. Separating the decision-making and packet-forwarding tasks enables much faster packet throughput. The underlying Cisco architecture, ContentFlow architecture, enables high availability, unbounded scalability, application-aware balancing, no single point of failure, and unmatched performance.
Restrictions
Configure the forwarding agent only if you are installing the MNLD Feature Set for LocalDirector. If you are installing the MNLD Feature Set for LocalDirector, refer to the MultiNode Load Balancing Feature Set for LocalDirector User Guide for information about which other hardware and software components are required.
Related Features and Technologies
The MNLB forwarding agent is an implementation of Cisco's ContentFlow architecture flow delivery agent (FDA).
Related Documents
Refer to the MultiNode Load Balancing Feature Set for LocalDirector User Guide for more information about how the forwarding agent is configured and for more information about the product.
Supported Platforms
This feature is supported on these platforms:
•
Cisco 7500 series
•
Cisco 7200 series
•
Cisco Cat5000/RSM
•
Cisco 4700
•
Cisco 3600 series
Supported Standards, MIBs, and RFCs
This feature supports the following MIB:
•
cisco-casa-fa-mib.my
For descriptions of supported MIBs and how to use MIBs, see the Cisco MIB web site on CCO at http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml.
No RFCs are supported by this feature.
Prerequisites
MNLD Feature Set for LocalDirector requires Cisco LocalDirector release 3.1.1 or higher and Cisco IOS Release 12.0(5)T.
Configuration Tasks
The following sections describe forwarding agent configuration tasks:
•
Enabling Cisco Express Forwarding
•
Enabling IP Multicast Routing
•
Configuring the Router as an MNLB Forwarding Agent
Enabling Cisco Express Forwarding
Cisco Express Forwarding (CEF) is advanced Layer 3 IP switching technology. CEF optimizes network performance and scalability for networks with large and dynamic traffic patterns, such as the Internet, on networks characterized by intensive Web-based applications, or interactive sessions.
To enable CEF, use the following command in global configuration mode:
Note
When you enable CEF globally, all interfaces that support CEF are enabled by default. If you want to turn off CEF on a particular interface, you can do so.
Enabling NetFlow Switching
You must enable NetFlow switching on all interfaces that will carry ContentFlow traffic. To enable NetFlow switching, use the following commands, beginning in interface configuration mode:
Normally the size of the NetFlow cache will meet your needs. However, you can increase or decrease the number of entries maintained in the cache by using the following command in global configuration mode
Command Purpose Router(config)# ip flow-cache entries numberChanges the number of entries maintained in the NetFlow cache. The number of entries can be 1024 to 524288. The default is 64536.
Enabling IP Multicast Routing
You must enable multicast routing on all interfaces to the services manager.
To enable multicast routing on all interfaces, use the following command in global configuration mode:
To have the router join a multicast group and enable IGMP, use the following command in interface configuration mode:
Command PurposeJoins a multicast group.
1 This command must be configured on all interfaces that will listen for the services manager multicasts.
2 The group address must match that configured within the services manager configuration.
Configuring the Router as an MNLB Forwarding Agent
To configure the router as a forwarding agent, use the following commands, beginning in global configuration mode:
Note
The forwarding agent IGMP address and port must match the IGMP address and port configured on the services manager and the ip igmp join-group command.
Monitoring the MNLB Forwarding Agent
To monitor the status of the forwarding agent, use the following commands in EXEC mode:
Configuration Examples
This section provides the following configuration examples:
•
Forwarding Agent Configuration for FA2
•
Services Manager Configuration for SM
The network configured is shown in .
Figure 1 MultiNode Load Balancing Network Configuration
Forwarding Agent Configuration for FA2
The following is a sample, of a router configured as a forwarding agent. In this example all disabled interfaces have been omitted to simplify the display.
FA2#wr tBuilding configuration...Current configuration:!version 12.0service timestamps debug uptimeservice timestamps log uptimeno service password-encryptionservice udp-small-serversservice tcp-small-servers!hostname FA2!!microcode CIP flash slot0:cip26-5microcode reloadip subnet-zerono ip domain-lookup!ip cef distributedip casa 206.10.20.34 224.0.1.2forwarding-agent 1637!interface Ethernet0/0ip address 172.26.56.18 255.255.255.224no ip directed-broadcastip route-cache flowip igmp join-group 224.0.1.2no ip mroute-cache!interface Ethernet0/1ip address 172.26.56.37 255.255.255.224no ip directed-broadcast!!!router eigrp 777network 172.26.0.0!no ip classless!line con 0exec-timeout 0 0transport input noneline aux 0line vty 0 4exec-timeout 0 0login!endServices Manager Configuration for SM
SM# wr tBuilding configuration...: Saved: LocalDirector 420 Version 3.0.0.127syslog output 20.3no syslog consoleenable password 000000000000000000000000000000 encryptedhostname SMno shutdown ethernet 0no shutdown ethernet 1no shutdown ethernet 2no shutdown ethernet 3interface ethernet 0 autointerface ethernet 1 autointerface ethernet 2 autointerface ethernet 3 automtu 0 1500mtu 1 1500mtu 2 1500mtu 3 1500multiring allno secure 0no secure 1no secure 2no secure 3ping-allow 0ping-allow 1ping-allow 2ping-allow 3ip address 172.26.56.19 255.255.255.248route 172.26.10.249 255.255.255.255 172.26.56.20 1route 206.10.20.33 255.255.255.255 172.26.56.17 1route 206.10.20.34 255.255.255.255 172.26.56.18 1no rip passivefailover ip address 0.0.0.0failoverpassword ciscotelnet 161.0.0.0 255.0.0.0no snmp-server contactno snmp-server locationcasa service-manager port 1638casa service-manager multicast-ttl 60tftp-server 172.26.10.249 /tftpboot/LDvirtual 172.26.56.13:0:0:tcp isvirtual 172.26.56.2:0:0:tcp isredirection 172.26.56.13:0:0:tcp dispatched casa wildcard-ttl 60 fixed-ttl 60 igmp 224.0.1.2 port 1637redirection 172.26.56.2:0:0:tcp dispatched casa wildcard-ttl 60 fixed-ttl 60 igmp 224.0.1.2 port 1637real 172.26.56.34:0:0:tcp isreal 172.26.56.33:0:0:tcp isreal 172.26.56.6:0:0:tcp isreal 172.26.56.10:0:0:tcp isbind 172.26.56.13:0:0:tcp 172.26.56.33:0:0:tcpbind 172.26.56.13:0:0:tcp 172.26.56.34:0:0:tcpbind 172.26.56.2:0:0:tcp 172.26.56.10:0:0:tcpbind 172.26.56.2:0:0:tcp 172.26.56.6:0:0:tcp: endCommand Reference
This section documents new commands. All other commands used with this feature are documented in the Cisco IOS Release 12.0 command reference publication.
In Cisco IOS Release 12.0(1)T or later, you can search and filter the output for show and more commands. This functionality is useful when you need to sort through large amounts of output, or if you want to exclude output that you do not need to see.
To use this functionality, enter a show or more command followed by the "pipe" character (|), one of the keywords begin, include, or exclude, and an expression that you want to search or filter on:
command | {begin | include | exclude} regular-expression
Following is an example of the show atm vc command in which you want the command output to begin with the first line where the expression "PeakRate" appears:
show atm vc | begin PeakRate
For more information on the search and filter functionality, refer to the Cisco IOS Release 12.0(1)T feature module titled CLI String Search.
forwarding-agent
To specify the port on which the forwarding agent will listen for wildcard and fixed affinities, use the forwarding-agent CASA-port configuration command. Use the no form of the command to disable listening on that port.
forwarding-agent num [password [timeout]]
[no] forwarding-agent
Syntax Description
Defaults
The default password timeout is 180 seconds.
The default port for the services manager is 1637.
Command Modes
CASA-port configuration
Command History
Examples
The following example specifies that the forwarding agent will listen for wildcard and fixed affinities on port 1637:
forwarding-agent 1637Related Commands
forwarding-agent pool
To to adjust the memory allocated for the forwarding agent's affinity pools, use the forwarding-agent pool CASA-port configuration command. Use the no form of the command to restore the default memory allocation.
forwarding-agent pool initial_affinity_pool max_affinity_pool
[no] forwarding-agent pool
Syntax Description
Defaults
The default initial affinity pool size is 5000 memory blocks. There is no maximum.
Command Modes
CASA-port configuration
Command History
Examples
The following example specifies a configuration of 100,000 initial affinity memory block that can increase to a maximum of 1,000,000 entries:
forwarding-agent pool 100000 1000000Related Commands
ip casa
To configure the router to function as an MNLB forwarding agent, use the ip casa global configuration command. Use the no form of the command to disable the forwarding agent.
ip casa control-address igmp-addr
[no] ip casa
Syntax Description
Defaults
No default behavior or values.
Command Modes
Global configuration
Command History
Examples
The following example specifies the internet address (10.10.4.1) and IGMP address (224.0.1.2) for the forwarding agent:
ip-casa 10.10.4.1 224.0.1.2Related Commands
Command Descriptionforwarding-agent
Specifies the port on which the forwarding agent will listen for wildcard and fixed affinities.
show ip casa affinities
To display statistics about affinities, use the show ip casa affinities EXEC command.
show ip casa affinities [stats] | [saddr ipaddr [detail]] | [daddr ipaddr [detail]] | sport sport [detail]] | dport dport [detail]] | protocol protocol [detail]]
Syntax Description
Command Modes
EXEC
Command History
Examples
The following is sample output of the show ip casa affinities command:
Router# show ip casa affinitiesAffinity TableSource Address Port Dest Address Port Prot161.44.36.118 1118 172.26.56.13 19 TCP172.26.56.13 19 161.44.36.118 1118 TCPThe following is sample output of the show ip casa affinities detail command
Router# show ip casa affinities detailAffinity TableSource Address Port Dest Address Port Prot161.44.36.118 1118 172.26.56.13 19 TCPAction Details:Interest Addr: 172.26.56.19 Interest Port: 1638Interest Packet: 0x0102 SYN FRAGInterest Tickle: 0x0005 FIN RSTDispatch (Layer 2): YES Dispatch Address: 172.26.56.33Source Address Port Dest Address Port Prot172.26.56.13 19 161.44.36.118 1118 TCPAction Details:Interest Addr: 172.26.56.19 Interest Port: 1638Interest Packet: 0x0104 RST FRAGInterest Tickle: 0x0003 FIN SYNDispatch (Layer 2): NO Dispatch Address: 0.0.0.0describes significant fields shown in the display.
Related Commands
show ip casa oper
To display operational information about the forwarding agent, use the show ip casa oper EXEC command.
show ip casa oper
Syntax Description
This command has no arguments or keywords.
Command Modes
EXEC
Command History
Examples
The following is sample output of the show ip casa oper command:
Router# show ip casa operCasa is ActiveCasa control address is 206.10.20.34/32Casa multicast address is 224.0.1.2Listening for wildcards on:Port:1637Current passwd:NONE Pending passwd:NONEPasswd timeout:180 sec (Default)describes significant fields shown in the display.
Related Commands
show ip casa stats
To display statistical information about the forwarding agent, use the show ip casa stats EXEC command.
show ip casa stats
Syntax Description
This command has no arguments or keywords.
Command Modes
EXEC
Command History
Examples
The following is sample output of the show ip casa stats command:
Router# show ip casa statsCasa is active:Wildcard Stats:Wildcards: 6 Max Wildcards: 6Wildcard Denies: 0 Wildcard Drops: 0Pkts Throughput: 441 Bytes Throughput: 39120Affinity Stats:Affinities: 2 Max Affinities: 2Cache Hits: 444 Cache Misses: 0Affinity Drops: 0Casa Stats:Int Packet: 4 Int Tickle: 0Casa Denies: 0 Drop Count: 0describes significant fields shown in the display.
Related Commands
show ip casa wildcard
To display information about wildcard blocks, use the show ip casa wildcard EXEC command.
show ip casa wildcard [detail]
Syntax Description
Command Modes
EXEC
Command History
Examples
The following is sample output of the show ip casa wildcard command:
Router# show ip casa wildcardSource Address Source Mask Port Dest Address Dest Mask Port Prot0.0.0.0 0.0.0.0 0 172.26.56.2 255.255.255.255 0 ICMP0.0.0.0 0.0.0.0 0 172.26.56.2 255.255.255.255 0 TCP0.0.0.0 0.0.0.0 0 172.26.56.13 255.255.255.255 0 ICMP0.0.0.0 0.0.0.0 0 172.26.56.13 255.255.255.255 0 TCP172.26.56.2 255.255.255.255 0 0.0.0.0 0.0.0.0 0 TCP172.26.56.13 255.255.255.255 0 0.0.0.0 0.0.0.0 0 TCPThe following is sample output of the show ip casa wildcard detail command:
router# show ip casa wild detailSource Address Source Mask Port Dest Address Dest Mask Port Prot0.0.0.0 0.0.0.0 0 172.26.56.2 255.255.255.255 0 ICMPService Manager Details:Manager Addr: 172.26.56.19 Insert Time: 08:21:27 UTC 04/18/96Affinity Statistics:Affinity Count: 0 Interest Packet Timeouts: 0Packet Statistics:Packets: 0 Bytes: 0Action Details:Interest Addr: 172.26.56.19 Interest Port: 1638Interest Packet: 0x8000 ALLPKTSInterest Tickle: 0x0107 FIN SYN RST FRAGDispatch (Layer 2): NO Dispatch Address: 0.0.0.0Advertise Dest Address: YES Match Fragments: NOSource Address Source Mask Port Dest Address Dest Mask Port Prot0.0.0.0 0.0.0.0 0 172.26.56.2 255.255.255.255 0 TCPService Manager Details:Manager Addr: 172.26.56.19 Insert Time: 08:21:27 UTC 04/18/96Affinity Statistics:Affinity Count: 0 Interest Packet Timeouts: 0Packet Statistics:Packets: 0 Bytes: 0Action Details:Interest Addr: 172.26.56.19 Interest Port: 1638Interest Packet: 0x8102 SYN FRAG ALLPKTSInterest Tickle: 0x0005 FIN RSTDispatch (Layer 2): NO Dispatch Address: 0.0.0.0Advertise Dest Address: YES Match Fragments: NO
Note
If a filter is not set, the filter is not active.
describes significant fields shown in the display.
Related Commands
debug ip casa affinities
To display debug messages for affinities, use the debug ip casa affinities privileged EXEC command. Use the no form of the command to disable debugging.
[no] debug ip casa affinities
Syntax Description
This command has no arguments or keywords.
Defaults
Debugging for affinities is not enabled.
Command History
Examples
The following is output from the debug ip casa affinities command:
Router# debug ip casa affinities16:15:36:Adding fixed affinity:16:15:36: 10.10.1.1:54787 -> 10.10.10.10:23 proto = 616:15:36:Updating fixed affinity:16:15:36: 10.10.1.1:54787 -> 10.10.10.10:23 proto = 616:15:36: flags = 0x2, appl addr = 10.10.3.2, interest = 0x5/0x10016:15:36: int ip:port = 10.10.2.2:1638, sequence delta = 0/0/0/016:15:36:Adding fixed affinity:16:15:36: 10.10.10.10:23 -> 10.10.1.1:54787 proto = 616:15:36:Updating fixed affinity:16:15:36: 10.10.10.10:23 -> 10.10.1.1:54787 proto = 616:15:36: flags = 0x2, appl addr = 0.0.0.0, interest = 0x3/0x10416:15:36: int ip:port = 10.10.2.2:1638, sequence delta = 0/0/0/0describes significant fields of the debug output.
debug ip casa packets
To display debug messages for packets, use the debug ip casa packets privileged EXEC command. Use the no form of the command to disable debugging.
[no] debug ip casa packets
Syntax Description
This command has no arguments or keywords.
Defaults
Debugging for packets is not enabled.
Command History
Examples
The following is output from the debug ip casa packets command:
Router# debug ip casa packets16:15:36:Routing CASA packet - TO_MGR:16:15:36: 10.10.1.1:55299 -> 10.10.10.10:23 proto = 616:15:36: Interest Addr:10.10.2.2 Port:163816:15:36:Routing CASA packet - FWD_PKT:16:15:36: 10.10.1.1:55299 -> 10.10.10.10:23 proto = 616:15:36: Fwd Addr:10.10.3.216:15:36:Routing CASA packet - TO_MGR:16:15:36: 10.10.10.10:23 -> 10.10.1.1:55299 proto = 616:15:36: Interest Addr:10.10.2.2 Port:163816:15:36:Routing CASA packet - FWD_PKT:16:15:36: 10.10.10.10:23 -> 10.10.1.1:55299 proto = 616:15:36: Fwd Addr:0.0.0.016:15:36:Routing CASA packet - TICKLE:16:15:36: 10.10.10.10:23 -> 10.10.1.1:55299 proto = 616:15:36: Interest Addr:10.10.2.2 Port:1638 Interest Mask:SYN16:15:36: Fwd Addr:0.0.0.016:15:36:Routing CASA packet - FWD_PKT:16:15:36: 10.10.1.1:55299 -> 10.10.10.10:23 proto = 616:15:36: Fwd Addr:10.10.3.2describes significant fields in the debug output.
Table 6
Debug IP Casa Packets Field Descriptions
debug ip casa wildcards
To display debug messages for wildcards, use the debug ip casa wildcards privileged EXEC command. Use the no form of this command to disable debugging.
[no] debug ip casa wildcards
Syntax Description
This command has no arguments or keywords.
Defaults
Debugging for wildcards is not enabled.
Command History
Examples
The following is output from the debug ip casa wildcards command:
Router# debug ip casa wildcards16:13:23:Updating wildcard affinity:16:13:23: 10.10.10.10:0 -> 0.0.0.0:0 proto = 616:13:23: src mask = 255.255.255.255, dest mask = 0.0.0.016:13:23: no frag, not advertising16:13:23: flags = 0x0, appl addr = 0.0.0.0, interest = 0x8107/0x810416:13:23: int ip:port = 10.10.2.2:1638, sequence delta = 0/0/0/016:13:23:Updating wildcard affinity:16:13:23: 0.0.0.0:0 -> 10.10.10.10:0 proto = 616:13:23: src mask = 0.0.0.0, dest mask = 255.255.255.25516:13:23: no frag, advertising16:13:23: flags = 0x0, appl addr = 0.0.0.0, interest = 0x8107/0x810216:13:23 int ip:port = 10.10.2.2:1638, sequence delta = 0/0/0/0describes significant fields in the debug output.
Glossary
affinity—The set of information that uniquely describes the association of a client to a particular host within a server cluster. It relates the addresses found in the IP packet (protocol, client IP address, port, local port, cluster address) to the IP address of the local host that has been assigned to handle all packets with that unique set of addresses.
CEF—Cisco Express Forwarding.
cluster—A set of computer systems that are connected together through multisystem hardware or software to provide services traditionally provided by a single system. This arrangement provides higher availability and better scalability.
cluster address—The IP address that represents the entire cluster of hosts. It is defined in each server and each forwarding agent router. The routers advertise routes to their internal instances of this address. The servers do not advertise the address, but recognize it as one of their local, or loopback addresses.
ContentFlow architecture—A Cisco protocol that enables communication between a services manager and a forwarding agent.
control address—An IP address assigned to the IP cluster function within each router. It is unique to each router and is used for management flows.
forwarding agent—MultiNode Load Balancing forwarding agent. Fulfills routing decisions made by the services manager. The forwarding agent filters packets coming into the virtual network and sends to the services manager packets that are without a known server destination.
IGMP—The forwarding agent uses Internet Group Management Protocol (IGMP) multicast to listen to the services manager broadcasts. IP hosts use IGMP to report their group membership to directly-connected multicast routers. IGMP uses group addresses, which are Class D IP addresses. The high-order four bits of a Class D address are 1110. This means that host group addresses can be in the range 224.0.0.0 to 239.255.255.255. The address 224.0.0.0 is guaranteed not to be assigned to any group. The address 224.0.0.1 is assigned to all systems on a subnet. The address 224.0.0.2 is assigned to all routers on a subnet.
load balancing—Spreading user requests among available servers within a cluster of servers, based on a variety of algorithms.
LocalDirector—Cisco LocalDirector is hardware and software that provide one of the platforms for the MNLB services manager.
MD5— Message Digest Algorithm Version 5, a neighbor router authentication scheme used to ensure reliability and security when routing updates are to be exchanged between neighbor routers.
NetFlow switching—High-performance network-layer switching path that captures as part of its switching function a rich set of traffic statistics including user, protocol, port, and type of service information.
services manager—MultiNode Load Balancing services manager. Using load balancing and server/application feedback, the services manager determines a real server for the packet flow. Once the optimal destination is decided, all other packets in the packet flow are directed to a forwarding agent and real server, increasing packet throughput. In the MNLD Feature Set for LocalDirector, the services manager function is performed by the LocalDirector.
server farm—Also called a server cluster, a group of real servers that provide various applications and services.
tag switching—Packet-forwarding strategy that maps Layer 3 header contents into a fixed-length, unstructured value called a tag. In effect, a tag represents a forwarding equivalence class; that is, a set of packets that, however different they may be, are indistinguishable to the forwarding function. The tag does not represent a particular path through the network. In general the path continues to be chosen by the existing Layer 3 routing algorithms.
virtual server—Presents a single address that represents an application server farm for clients.


