An Application Layer Gateway (ALG) is used to provide access to specific applications and services on the network, whilst at the same time protecting the servers delivering them from malicious activity. ALG’s are available for most of the services that are provided over a network. For example, FTP, SIP, RTSP, IM file transfer. Each ALG is able to understand the data format of its associated service at a deep level. This means they can inspect the data as it’s flowing, and reject anything that is suspicious.