Modelo Cliente/Servidor e Introdução a Sockets



Documentos relacionados
Aula Prática. Comunicação em SOCKTS. Disciplina: INF01151

Programação com Sockets TCP e UDP - Cliente. Gustavo Leitão

Programação de Sockets em C/C++

Redes de Computadores

Sumário. Introdução ao TCP/IP e à Internet API Sockets para comunicação via redes Exemplos

INF01018 Aula Prática 1 Cliente-Servidor e Multicast

Sistemas Distribuídos

Servidor TCP. Programação Sockets. (c) Volnys Bernal. Servidor TCP Resumo das Chamadas TCP. Resumo das Chamadas TCP. Resumo das Chamadas TCP

Servidor TCP. Programação Sockets. (c) Volnys Bernal. Servidor TCP Resumo das Chamadas TCP. Resumo das Chamadas TCP. Resumo das Chamadas TCP

sockets interprocess communication Taisy Weber

Aula de Socket. Rafael De Tommaso do Valle

Servidor TCP. Programação Sockets. (c) Volnys Bernal. Servidor TCP Resumo das Chamadas TCP. Resumo das Chamadas TCP. Resumo das Chamadas TCP

Sistemas de Operação Sockets

Bibliotecas. Apoio à Programação Distribuída. Socket. Socket. bibliotecas bibliotecas+ferramentas linguagens de programação distribuídas

Comunicação em Sistemas Distribuídos

Sockets: Sumário. Resumo das Propriedades de UDP e de TCP

Cliente TCP. Programação sockets. Agenda. Cliente TCP. Chamadas sockets para TCP. Chamada socket() Chamada socket()

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

Prof. Marcelo Cunha Parte 5

Sockets. André Restivo. April 29, Faculdade de Engenharia da Universidade do Porto. André Restivo (FEUP) Sockets April 29, / 27

UMA ABORDAGEM SOBRE A INTERFACE DE PROGRAMAÇÃO DE APLICAÇÕES SOCKETS E A IMPLEMENTAÇÃO DE UM SERVIDOR HTTP

Rede de Computadores II

Cliente UDP. Programação sockets. Agenda. Cliente UDP. Resumo de Chamadas UDP. Chamadas UDP. Resumo de Chamadas UDP.

Sistemas Operacionais - Básico e Avançado - Prof. Celso Maciel da Costa Mestrado em Informática - PUCRS

Cliente UDP. Programação sockets. Agenda. Cliente UDP. Resumo de Chamadas UDP. Chamadas UDP. Resumo de Chamadas UDP.

MODELO CLIENTE SERVIDOR

Programação de Aplicações em. Rede usando Sockets

Cliente UDP. Programação sockets. Agenda. Cliente UDP. Resumo de Chamadas UDP. Resumo das chamadas UDP. Resumo de Chamadas UDP.

Servidor TCP Volnys Borges Bernal Depto de Engenharia de Sistemas Eletrônicos Escola Politécnica da USP

Sockets - Conceitos Básicos. COMUNICAÇÃO ENTRE PROCESSOS Sockets. Conceitos Básicos. Tipos de Sockets

Curso Técnico de Redes de Computadores Disciplina de Fundamentos de Rede

06/10/2015. Modelo TCP/IP Camada de Transporte DISCIPLINA: TECNOLOGIA DE REDES DE COMPUTADORES. UDP User Datagram Protocol. UDP User Datagram Protocol

Programação com sockets (em Java)

REDES DE COMPUTADORES

Sistemas Distribuídos

Engenharia Elétrica Eletrônica Slides 20: TCP/IP em Winsocks 2. API do Windows para programar utilizando o protocolo TCP/IP Prof. Jean Marcelo SIMÃO

Comunicação entre Processos

Comunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais

Redes de Computadores (PPGI/UFRJ)

Cliente-servidor com Sockets TCP

Passagem de Mensagens

Sistemas Distribuídos

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Redes de Computadores. Prof. André Y. Kusumoto

Comunicação entre processos. Sistema centralizado

API de Sockets. Modelo Cliente/Servidor (2/2) Modelo Cliente/Servidor (1/2) José Pedro Oliveira Sistemas Operativos I

Cliente-servidor com Sockets TCP

Redes de Computadores. TCP Orientação à Conexão. Prof. Othon M. N. Batista Mestre em Informática

Aula 2 Arquitetura de Redes. Prof. Dr. S. Motoyama

Cliente/Servidor. Programação com Sockets. Graça Bressan. Graça Bressan/LARC

Um Tutorial sobre Sockets Parte I

UNIVERSIDADE. Sistemas Distribuídos

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Soquetes TCP. Jean Ribeiro Damasceno. Escola de Engenharia Universidade Federal Fluminense (UFF) Rua Passo da Pátria, 156 Niterói RJ Brasil

Tecnologia de Redes de Computadores - aula 1

Programação em Sockets visando verificar a diferença entre transmissão confiável (TCP) e não confiável (UDP)

Considerações no Projeto de Sistemas Cliente/Servidor

SISTEMAS OPERACIONAIS

Sistemas Distribuídos Java Sockets

Sistemas Distribuídos

Redes de Computadores. 1 Questões de múltipla escolha. TE090 - Prof. Pedroso. 30 de novembro de Exercício 1: Considere:

Protocolo de resolução de endereços: ARP

socket Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets

Redes de Computadores Aula 3

3. Projeto e implementação de Servidores

MÓDULO 8 Modelo de Referência TCP/IP

Capítulo 8 - Aplicações em Redes

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza

UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS COLEGIADO DE INFORMÁTICA

Sockets. Bruno Guimarães Lucas Rossini

Servidor UDP. Programação Sockets Volnys Bernal. Servidor UDP Resumo das Chamadas UDP. Resumo de Chamadas UDP. Resumo de Chamadas UDP

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Programação de sockets com TCP

Servidor UDP Volnys Borges Bernal Departamento de Sistemas Eletrônicos Escola Politécnica da USP

Leandro Soares de Sousa (DSc.) Página: Aula 05 - desenvolvimento com sockets

Redes de Computadores e a Internet

Introdução à Redes de Computadores

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

Comunicação entre Processos

Capítulo 7 CAMADA DE TRANSPORTE

Aula 30 - Sockets em Java

CCNA 2 Conceitos Básicos de Roteadores e Roteamento

Tecnologia de Redes. Protocolo TCP

AULA 03 MODELO OSI/ISO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação

Sockets em Java. Leonardo R. Nunes - leonardo@sumersoft.com. 1. Introdução. 2. Sockets TCP/IP

Comunicando através da rede

Nota de Aplicação IHM 001

Redes de Computadores e Aplicações

Protocolos Hierárquicos

SEM 544 Desenvolvimento de Produtos Mecatrônicos

Segurança de redes com Linux. Everson Scherrer Borges Willen Borges de Deus

Programação com Sockets

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Aula 6 Modelo de Divisão em Camadas TCP/IP

CAMADA DE TRANSPORTE

Redes de Computadores. Ricardo José Cabeça de Souza

Transcrição:

Modelo Cliente/Servidor e Introdução a Sockets MC 833 Programação em s de Computadores Instituto de Computação UNICAMP Juliana Freitag Borin

O modelo OSI de 7 camadas Nó origem Nó destino Apresentação Apresentação Sessão Sessão Transporte Transporte

OSI x TCP/IP Apresentação Sessão Transporte Transporte Modelo OSI TCP/IP

Foco nas camadas de transporte e rede Transporte Protocolo TCP Protocolo UDP Protocolo IP Protocolos de acesso ao meio (Ethernet, 802.11,...) hardware

Modelo Cliente/Servidor Principal motivação: Problema do encontro (Rendezvous problem)

Modelo Cliente/Servidor Principal motivação: Problema do encontro (Rendezvous problem) Modelo: para qualquer par de aplicações que se comunicam, um dos lados deve iniciar a execução e esperar (indefinidamente) até ser contactado pelo outro lado.

Modelo Cliente/Servidor De maneira geral, uma aplicação que inicia uma comunicação par-a-par é chamada cliente. Comparativamente, um servidor é um programa que espera por requisições de um cliente.

Comunicação entre cliente e servidor Cliente e servidor usam comunicação entre processos (IPC - inter-process communication) para conversar entre si. Há vários mecanismos de IPC - focaremos em sockets (Berkeley Unix). Sockets - API padrão para TCP/IP IPC Transporte sockets

TCP/IP é um sistema de arquivos? Sockets trata o TCP/IP como se fosse um sistema de arquivos rotinas para abrir e fechar uma conexão rotinas para ler e escrever escreve( ) lê( ) escreve( ) lê( )

Sockets e TCP/IP TCP/IP cada ponto final é identificado por uma tupla: (porta TCP, endereço IP) a conexão entre dois pontos finais é identificada pelo par [(IP, porta) origem, (IP, porta) destino ] Em sistemas Unix todo fluxo de E/S é identificado por um descritor socket mapeia um descritor para um ponto final através da conexão entre sockets é possível conectar pontos finais e fazer operações de E/S Baseado nos slides de Ben Nham - Introduction to Computer Networking - Stanford University

Sockets API para o cliente int socket(int domain, int type, int protocol) - Retorna um descritor associado com um novo ponto final. int bind(int sd, struct sockaddr *addr, u_int addr_len) - Mapeia endereço/porta para um descritor de socket (sd) - Opcional para o cliente - pode deixar o kernel escolher uma porta disponível com o endereço IP padrão. int connect (int sd, struct sockaddr *addr, u_int addr_len) - Conecta com a porta + endereço do destino int send(int sd, void *buf, int len, int flags) int recv(int sd, void *buf, int len, int flags) - Comunicação int shutdown(int sd, int how) - Finalização parcial ou completa da conexão Baseado nos slides de Ben Nham - Introduction to Computer Networking - Stanford University

Sockets API para o Servidor int socket(int domain, int type, int protocol) int bind(int sd, struct sockaddr *addr, u_int addr_len) int listen(int sd, int backlog) - Espera pela conexão de um cliente a essa porta int accept (int sd, struct sockaddr *addr, u_int *addr_len) - Aceita uma conexão retornando um novo descritor para o par [(IP, porta) origem, (IP, porta) destino ] int send(int sd, void *buf, int len, int flags) int recv(int sd, void *buf, int len, int flags) int shutdown(int sd, int how) Baseado nos slides de Ben Nham - Introduction to Computer Networking - Stanford University

Exemplo de interação entre um par cliente-servidor Baseado nos slides de Ben Nham - Introduction to Computer Networking - Stanford University

Exemplo de interação entre um par cliente-servidor Baseado nos slides de Ben Nham - Introduction to Computer Networking - Stanford University