H3C Technologies H3C SecBlade FW Cards User Manual
Page 35
28
The following describes the operation of an ALG-enabled device, taking FTP as an example. As shown
, the host in the outside network accesses the FTP server in the inside network in passive mode
through the ALG-enabled device.
Figure 19 Network diagram for ALG-enabled FTP application in PASV mode
The communication process includes the following stages:
1.
Establishing a control connection
The host sends a TCP connection request to the server. If a TCP connection is established, the server and
the host enter the user authentication stage.
2.
Authenticating the user
The host sends the server an authentication request, which contains the FTP commands (user and
password) and the contents.
When the request passes through the ALG-enabled device, the commands in the payload of the packet
will be resolved and used to check whether the state machine transition is going on correctly. If not, the
request will be dropped. In this way, ALG protects the server against clients that send packets with state
machine errors or log into the server with illegal user accounts.
An authentication request with a correct state is forwarded by the ALG-enabled device to the server,
which authenticates the host according to the information in the packet.
3.
Establishing a data connection
If the host passes the authentication, a data connection is established between it and the server. If the
host is accessing the server in passive mode, the data connection process is different. In passive mode,
the server sends the host a PASV response that uses its private network address and port number (IP1,
Port1). When the response arrives at the ALG-enabled device, the device resolves the packet and
translates the server’s private network address and port number into the server’s public network address
and port number (IP2, Port2) respectively. Then, the device uses the public network address and port
number to establish a data connection with the host.
4.
Exchanging data
The host and the FTP server exchange data through the established data connection.
Inside network
Outside network
FTP server
Host
Router
FTP-ALG enabled
NAT
FTP_CMD (“PASV”)
FTP_CMD (“PASV”)
FTP_EnterPassive (“IP1, Port1”)
ALG
IP1, Port1-------
>
IP2, Port2
FTP_EnterPassive (“IP2, Port2”)
FTP_Connet (IP2, Port2)
FTP_Connet (IP1, Port1)