Programação de rede: os sockets

Novembro 2016


Introdução aos sockets


O conceito de soquetes (sockets) foi introduzido nas distribuições de Berkeley (um famoso sistema do tipo UNIX, incluindo muitas distribuições atuais que usam pedaços de código), é a razão pela qual, às vezes, são chamados de soquetes BSD (Berkeley Software Distribution).

Trata-se de um modelo para a comunicação entre processos (IPC - Inter Process Communication</ ital>) para permitir a diversos processos de se comunicar tanto numa mesma máquina quanto em uma rede TCP/IP.

A comunicação por soquete é muitas vezes comparada à comunicação humana. Podemos distinguir dois modos de comunicação:

  • O modo on-line (comparável a uma chamada telefônica), usando o TCP. Neste modo de comunicação, uma conexão estável é estabelecida entre os dois processos, de modo que o endereço de destino não é necessário para cada envio de dados.
  • O modo off-line (semelhante a uma comunicação postal), usando o protocolo UDP. Este modo requer o endereço de destino para cada envio, e nenhuma confirmação é dada.

Em geral, os soquetes são implementados em [br.ccm.net/faq/2709-introducao-a-linguagem-c php3 linguagem C], e usam funções e estruturas disponíveis na biblioteca <ital><sys/socket.h>.

Posição dos soquetes no modelo OSI


Os soquetes ficam logo emcima da camada de transporte do modelo OSI (protocoos UDP ou TCP), ele mesmo utilizando os serviços da camada de rede (protocolo IP / ARP).


Modelo dos soquetessModelo OSI
Aplicação utilizando os soquetesAplicação
Apresentação
Sessão
UDP/TCPTransporte
IP/ARPRede
Ethernet, X25, ...Ligação
Física


Tradução feita por Lucia Maurity y Nouira

Veja também :
Este documento, intitulado « Programação de rede: os sockets »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.