SOCKS est un protocole de réseau spécialement écrit pour les serveurs proxy . Un serveur proxy se trouve dans un autre ordinateur, soit la protection de l'identité d'un client en présentant des demandes en son nom, ou la protection de charge sur un serveur en dépêchant demandes en son nom. La forme la plus courante de serveur proxy est un serveur proxy HTTP (Hypertext Transfer Protocol) . SOCKS fonctionne à un niveau de technologie de réseau inférieur HTTP. Couches réseau
Pour comprendre comment fonctionne SOCKS il est nécessaire de comprendre le concept de couches du réseau. Protocoles de mise en réseau sont dépeints comme des couches d'une pile , avec des protocoles relatifs aux propriétés physiques au bas de la couche 1 , gravitant à l'utilisateur face à des applications à la couche supérieure. Il ya deux séries rivales de piles de protocoles réseau. Ce sont les systèmes de modèle d'interconnexion ouverte et le modèle TDP /IP. OSI est plus finement graduée , avec sept couches . TCP /IP est moins précise , mais elle est plus largement appliqué. Un serveur proxy régulière fonctionne à la couche d'application , en passant sur les demandes de contenu d'un côté à l'autre , et puis en passant en arrière de ce contenu , ce qui est généralement d'une page Web . SOCKS fonctionne à la couche de transport , ce qui signifie qu'il est capable d'intégrer les procédures de création de session du protocole de contrôle de transmission .
Transmission Control Protocol
Le protocole de contrôle de transmission , TCP , est l'un des deux protocoles de transport de la pile de protocoles TCP /IP. L'autre, le User Datagram Protocol , ne crée pas de connexions et SOCKS afin n'offre pas de services spéciaux pour les transferts en utilisant ce protocole. Transactions TCP , cependant, sont différents et SOCKS été spécialement écrit pour interagir avec ce protocole. TCP forme une connexion avec le serveur d'extrémité . C'est ce qu'on appelle une session. Une fois la session établie, plusieurs messages sont envoyés et-vient jusqu'à ce que la session est terminée .
SOCKS et TCP
SOCKS se tient dans l'autre extrémité comme de connexion. Le client se connecte au serveur SOCKS et lui demande de se connecter à une adresse IP et le numéro de port sur un autre ordinateur. Dans la programmation réseau, une fois la connexion est autorisée, le programme client «lie» de l'adresse IP et le numéro de port de la connexion pour créer un " socket ", qui est un numéro d'identification de l'adresse IP et le numéro de la combinaison de port. Le nom " SOCKS " est l'abréviation de «douilles ». Une requête à un serveur SOCKS pour un port dédié pour les messages entrants est obtenue avec une commande BIND .
Four Versus Cinq
La première version publique du protocole SOCKS était SOCKS 4. Il ne contient pas de services d' authentification et de chiffrement , en supposant qu'ils seraient fournis par le TCP compatible Layer Security Transports, de l'exploitation de ses propres procure au moment de la création de la session. SOCKS 5 contient les procédures d'authentification et de chiffrement.