Email This Page

Socks: Protocol for sessions traversal across firewall securely

Socks protocol provides a framework for client-server applications in both the TCP and UDP domains to conveniently and securely use the services of a network firewall. The protocol is conceptually a "shim-layer" between the application layer and the transport layer, and as such does not provide network layer gateway services, such as forwarding of ICMP messages.

The use of network firewalls, systems that effectively isolate an organizations internal network structure from an exterior network, such as the INTERNET is becoming increasingly popular. These firewall systems typically act as application-layer gateways between networks, usually offering controlled TELNET , FTP , and SMTP access. Socks provides a general framework for these protocols to transparently and securely traverse a firewall.

Socks version 5 provides strong authentication of such traversal, while SOCKS Version 4 provides only unsecured firewall traversal for TCP-based client-server applications, including TELNET, FTP, and protocols such as HTTP , WAIS and GOPHER.

SOCKS version 5 extends the SOCKS Version 4 model to include UDP, and extends the framework to include provisions for generalized strong authentication schemes. It also adapts the addressing scheme to encompass domain-name and V6 IP addresses.

The implementation of the SOCKS protocol typically involves the recompilation or relinking of TCP-based client applications to use the appropriate encapsulation routines in the SOCKS library.




Protocol Structure - Socks version 5 

Socks v5 has a few messages with different formats as follows.

Version identifier/method selection message:



1 byte

1 byte

1-225 bytes

Version

NMethods

Methods


The Socks request message:

1 byte

1 byte

Value of 0

1 byte

Variable

2 bytes

Version

CMD

Rsv

ATYP

DST addr

DST Port


The method selection message:

1 byte

1 byte

Version

Method


The reply message:

1 byte

1 byte

Value of 0

1 byte

Variable

2 bytes

Version

REP

RSV

ATYP

BND addr

BND Port


UDP request header:

2byte

1 byte

1 byte

Variable

2

Variable

RSV

FRAG

ATYP

DST Addr

DST Port

Data



Related Protocols
TCP , UDPICMP , HTTP , TELNET , FTP

Sponsor Source

SOAP is defined by Microsoft.

Reference
http://www.w3.org/TR/2000/NOTE-SOAP-20000508/ : Simple Object Access Protocol (SOAP)