A SOCKS server or client is a Transmission Control Protocol/Internet Protocol (TCP/IP) proxy application that allows you to send information through a wide variety of protocols without providing the internal network information. To use a SOCKS server, the client must support the SOCKS protocol.

There are some systems such as IBM® i systems that support a SOCKS client in its TCP/IP stack (versatile clients) so that all client applications can use a SOCKS server. The client configuration gives the name of the SOCKS server to use and the rules for when the server should be used.

SOCKS servers have no knowledge of the application protocol that they are using. These servers, for example, do not distinguish Telnet from Hypertext Transfer Protocol (HTTP). As a result, SOCKS servers can be written in a more efficient manner than other proxy server applications. The downside is that SOCKS servers cannot perform functions like caching or logging URLs that are accessed through the server.

The Universal Connection does not support service information flow through a SOCKS server. Therefore, if your client accesses the network through a SOCKS server, you must ensure that none of the Universal Connection information is routed to the SOCKS server by specifying that all of the destinations are DIRECT in your SOCKS configuration.