Pages

Wednesday, July 20, 2011

SOCKS, SOCKS v4, SOCKS v5 and HTTP

SOCKS is an Internet protocol that routes network packets between a client and server through a proxy server. Socks5 additionally provides authentication so only authorized users may access a server. Practically, a SOCKS server will proxy TCP connections to an arbitrary IP address as well as providing a means for UDP packets to be forwarded.
One use of SOCKS is to allow connections to be made through a firewall.

SOCKS4 is the first widely adopted version of the protocol.  It suffers from a couple of problems which have been remedied in SOCKS4A and SOCKS5, namely :
·       It requires clients to know the IP address (e.g. 123.123.123.123) of the servers they want to connect to.  This means, in most cases, that they must be able to resolve domain names.
·        There is no authentication.  A client only requires a user-name to be able to access SOCKS4 services.
SOCKS4A is a simple extension to SOCKS4 which solves the former problem, but not the latter.

SOCKS5 is the most recent version of the SOCKS protocol.  It solves both the problems of
SOCKS4 mentioned above.  Security is enhanced through the use of an extensible authentication system.  The standard includes three authentication methods :
·    Null authentication - requiring no authentication.
· Username/password authentication - where the client must provide a user-name and a  password to be allowed to access the proxy server.
·    GSS-API authentication - where the client and server use operating system-level authentication methods to verify identity. Not yet implemented.

Hypertext Transfer Protocol (HTTP) is an application layer network protocol used for distributed information systems, collaborative, and using hypermedia. Its use in making a lot of resources that are connected by a link, called a hypertext document, which then form the World Wide Web in 1990 by British physicist Tim Berners-Lee. Until now, there are two major versions of the HTTP protocol, which uses HTTP/1.0 to separate connection for each document, and HTTP/1.1 that can use the same connection to perform transactions. Thus, HTTP/1.1 can be faster because it does not have to waste time making repeated connections.

No comments:

Post a Comment