Sistemas distribuídos - sockets em java
Pilhas de protocolos aplicação Aplicação
apresentação sessão transporte rede enlace física Pilha OSI
Transporte
Internet
Interface com a rede
Pilha TCP/IP (Internet)
2
Endereçamento IP
...
Exemplo: máquina A com IP 164.41.42.9
164.41.0.0 endereça a rede da máquina A
0.0.42.9 endereça a placa de rede da máq. A
Endereços especiais
127.0.0.1 indica a própria máquina A
164.41.255.255 usado para broadcast na rede da máquina A (broadcasts normalmente são bloqueados pelos roteadores porque estes não sabem para qual segmento de rede devem propagar os datagramas)
3
Comunicação transporte/IP
Transport endpoint
Endereço IP + porta
Classes de interesse
InetAddress
Socket
ServerSocket
DatagramSocket
4
Comunicação sem conexão (cliente)
Identificar IP + porta do servidor
Criar endpoint
Enviar e receber dados pelo endpoint
Liberar endpoint quando terminar
5
Comunicação sem conexão (servidor)
Identificar IP + porta do servidor
Criar endpoint
Associá-lo a uma porta receber requisição pelo endpoint
Executar o serviço
Enviar resposta
Aguardar nova requisição
6
Comunicação com conexão (cliente)
Identificar IP + porta do servidor
Criar endpoint
Conectar ao servidor
Envia e recebe dados pelo endpoint
Liberar a conexão
Libera endpoint quando terminar
7
Comunicação com conexão (servidor)
Identificar IP + porta do servidor
Criar endpoint
Associá-lo a uma porta
Aguarda solicitação de requisição
Aceita conexão
Recebe solicitação de serviço
Executar o serviço
Enviar resposta
Fecha conexão
Aguardar nova conexão
8
Produtor-consumidor usando
Threads
e sockets datagrama
Definições (1/3)
Usar 4 consumidores e 1 produtor assim distribuídos:
Máquina A: 2 consumidores
Máquina B: 2 consumidores
Máquina C: 1 produtor e 1 gerenciador de área crítica (pilha)
A pilha guarda valores inteiros que variam de 1 a 32767
(correspondente a parte positiva de um