Application Content Verification (ACV) can be enabled on a port to verify the content of an application on one or more servers. ACV is a method of ensuring that the server is responding with the appropriate response given some known good request. By its nature, ACV is protocol-independent and is designed to work with any type of server that communicates via formatted ASCII text messages, including HTTP, FTP, and SMTP.
ACV can be configured on both TCP and UDP probes.
UDP is a connectionless protocol. The UDP server must have a protocol capable of responding to a UDP ACV probe request, such as the UDP Echo protocol. In the case of the UDP Echo protocol, the response is an echo of the probe request sent to the server. In this case, the configured string of the expected reply from the server is the same as the configured request string.
ACV works by sending a request to your application server and searching the response for a certain string. If it finds the string, the server is marked as Up. If the string is not found, the server is marked as Down.
For ACV verification of a TCP server application, you specify the following:
For example, if you sent the following string to your HTTP server, “HEAD / HTTP/1.1\\r\\nHost: www.extremenetworks.com\\r\\n\\r\\n”, you could expect to get a response of a string returned similar to the following:
HTTP/1.1 200 OK Date: Tue, 9 Feb 2010 20:03:40 GMT Server: Apache/2.0.40 (Red Hat Linux) Last-Modified: Wed, 6 Jan 2010 13:56:03 GMT ETag: “297bc-b52-65f942c0” Accept-Ranges: bytes Content-Length: 2898
You can search for a reply string of “200 OK”. This would result in a successful verification of the service.
Because ACV can search for a string in only the first 255 bytes of the response, in most HTTP cases the response will have to be in the packet's HTTP header (that is, you will not be able to search for a string contained in the web page itself).
Some protocols such as FTP or SMTP require users to issue a command to close the session after making the request. An ACV close string can be configured and sent by the Tracked Object Manager to the server to close the session.