An ALG may offer the following functions:
Deep packet-inspection of all the packets handled by ALGs over a given network makes this functionality possible. An ALG understands the protocol used by the specific applications that it supports.
For instance, Session Initiation Protocol (SIP) Back-to-Back User agent (B2BUA). An ALG can allow firewall traversal with SIP. If the firewall has its SIP traffic terminated on an ALG then the responsibility for permitting SIP sessions passes to the ALG instead of the firewall. An ALG can solve another major SIP headache: NAT traversal. Basically a NAT with inbuilt ALG can re-write information within the SIP messages and can hold address-bindings until the session terminates.
An ALG is very similar to a proxy server, as it sits between the client and real server, facilitating the exchange. There seems to be an industry convention that an ALG does its job without the application being configured to use it, by intercepting the messages. A proxy, on the other hand, usually needs to be configured in the client application. The client is then explicitly aware of the proxy and connects to it, rather than the real server.
The Application Layer Gateway service in Microsoft Windows provides support for third-party plugins that allow network protocols to pass through the Windows Firewall and work behind it and Internet Connection Sharing. ALG plugins can open ports and change data that is embedded in packets, such as ports and IP addresses. Windows Server 2003 also includes an ALG FTP plugin. The ALG FTP plugin is designed to support active FTP sessions through the NAT engine in Windows. To do this, the ALG FTP plugin redirects all traffic that passes through the NAT and that is destined for port 21 (FTP control port) to a private listening port in the 3000-5000 range on the Microsoft loopback adapter. The ALG FTP plugin then monitors/updates traffic on the FTP control channel so that the FTP plugin can plumb port mappings through the NAT for the FTP data channels. The FTP plugin will also update ports in the FTP control channel stream.
US Patent Issued to Microsoft on Aug. 27 for "Delivering Composite Media to a Client Application" (New York, Massachusetts Inventors)
Aug 27, 2013; ALEXANDRIA, Va., Aug. 27 -- United States Patent no. 8,521,842, issued on Aug. 27, was assigned to Microsoft Corp. (Redmond,...
Agency Reviews Patent Application Approval Request for "Communication with a Web Compartment in a Client Application"
Sep 19, 2013; By a News Reporter-Staff News Editor at Politics & Government Week -- A patent application by the inventors D'Aurelio, Ryan James...