In the context of computer networking, an (ALG) application-level gateway consists of a security component that augments a firewall or NAT employed in a computer network. It allows customized NAT traversal filters to be plugged into the gateway to support address and port translation for certain application layer "control/data" protocols such as
- file transfer in IM applications.
In order for these protocols to work through NAT or a firewall, either the application has to know about an address/port number combination that allows incoming packets,
or the NAT has to monitor the control traffic and open up port mappings dynamically as required.
Legitimate application data can thus be passed through the security checks of the firewall or NAT that would have otherwise restricted the traffic for not meeting its limited filter criteria.