Comunicação entre processos

Um processo pode ser entendido como um programa rodando em um computador. A comunicação entre processos (Inter-Process Comunication (IPC)), é o grupo de mecanismos que permite aos processos transferirem informações entre si. Alguns programas que rodam em hosts diferentes precisam se comunicar.

Navegador × Servidor Web (Cliente - Servidor)
Torrent (P2P - Cliente e servidor ao mesmo tempo)


Para que ocorra a comunicação entre processos são necessários sockets.

Sockets

• Sockets são a interface de comunicação entre o processo e a camada de transporte;
• Toda aplicação distribuída que usa a rede passa pelo sockets;
• Toda mensagem enviada de um processo para outro obrigatoriamente passará pelo socket.

API  (Interface de programação de aplicações):

Em relação à camada de transporte, o programador possui controles limitados:
•Escolha do protocolo
•Talvez, determinar alguns parâmetros (tamanho do
segmento).

Endereçandos processos

Para que a comunicação entre os processos ocorram é necessário que um saiba o endereço do outro, situação parecida a de pessoas comunicando-se por carta.
O endereçamento de processos ocorre por meio do IP e de uma porta.

IP: o endereço do host que contém o processo.

Porta: número que define qual protocolo o pacote enviado irá seguir.

• A porta padrão do servidor web (http) é 80;
• Porta 25: SMTP;
• Arquivo /etc/services.

Serviços de transporte que aplicações podem precisar:

•Transferência confiável de dados
•Vazão
•Temporização
•Segurança

Transferência confiável de dados

• Correio eletrônico, transferência de documentos Web e aplicações financeiras
Precisam de confiabilidade (TCP- retransmissão).
• Multimídia  de áudio/vídeo em tempo real são aplicações tolerantes a perda. (UDP- sem garantia de entrega de dados).

Vazão

• Alguns serviços podem requerer uma taxa de transmissão.
Ex. Uma aplicação VoIP que envia a 32 kbits/s, o receptor deverá decodificar na mesma taxa. Se a camada de transporte não for capaz de fornecer a aplicação deverá codificar numa taxa menor ou desistir.
• Aplicações multimídia: aplicação sensível à largura de banda.
• São possíveis adaptações à vazão atual:
Transferência de arquivos, transferências Web: aplicações elásticas.

Temporização

• Restrições de tempo
Ex. Jogos online
Um bit transmitido deverá chegar em no máximo 100 ms.

link

Segurança

Alguns serviços podem ser disponibilizados:
• TLS (Transport Layer Security ): usa uma camada que esconde o que está sendo feito antes do endereço IP;
• Sigilo;
• Integridade dos dados.

Comentários

Postagens mais visitadas deste blog

Modelo OSI x Modelo TCP/IP

Multiplexação e comutação

Arquitetura em camadas: modelo hibrido.