SOCKS is a genetic proxy protocol for TCP/IP-based networking, applications. SOCKS includes two (21) , the SOCKS server and the SOCKS client. The SOCKS server is implemented at the application layer. The SOCKS client is implemented between applications and the (22) layer. When an application client needs to connect to an application server, the client connects to a SOCKS proxy server. The proxy server connects to the application server instead of the client, and (23) data between the client and the application server. For the application server, the proxy server is the (24) . SOCKS is also one of the popular (25) to network firewalls. Because of its simplicity and flexibility, SOCKS has been used as genetic application proxy in virtual private network (VPN), and for extranet applications.