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

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

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

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

Programação com Sockets

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

Aula de Socket. Rafael De Tommaso do Valle

Comunicação entre Processos

Sistemas Distribuídos

Comunicação entre processos. Sistema centralizado

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

camada de transporte SOCKET TCP UDP

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

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

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

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

Introdução à Programação Sockets

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

COMUNICAÇÃO ENTRE APLICAÇÕES. Laboratórios de Informática João Paulo Barraca, André Zúquete, Diogo Gomes

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

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

Redes de Computadores e Aplicações

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

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

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

Sistemas Distribuídos

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

Introdução à Programação com Sockets. Fernando Jorge Silveira Filho Daniel Sadoc Menasché

PROTOCOLOS DE COMUNICAÇÃO

Introdução à Programação Sockets. Programação Sockets. (c) Volnys Bernal. Agenda. Introdução à Programação Sockets

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

Introdução à Programação Sockets. Programação Sockets. (c) Volnys Bernal. Agenda. Introdução à Programação Sockets

Sistemas de Operação Sockets

Programação com Sockets. Redes de Computadores I 2007/2008

Comunicação. Carlos A. G. Ferraz 25/6/2003. Sistemas Distribuídos 1. Tópicos. Camadas. Transmissão de dados. Marshalling/Unmarshalling.

TRANSPORTE. Prof. Me. Hélio Esperidião

Módulo 3 Nível Transporte

TROCA DE MENSAGENS SOCKETS. Comunicando processos através de SOCKETS. SOCKETS com conexão. SOCKETS sem conexão

Comunicação entre Processos

Sistemas Operacionais II

Redes de Computadores. Prof. André Y. Kusumoto

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

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

sockets interprocess communication Taisy Weber

Níkolas Timóteo Paulino da Silva Redes de Computadores I ADS 2ºTermo

Programação com sockets (em Java)

Comunicação entre Processos. 1. Pipes 2. Fifos 3. Sockets

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Redes de Computadores

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

Modelo Cliente/Servidor e Introdução a Sockets

UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA ENGENHARIA DE COMPUTAÇÃO

Introdução à Programação Sockets. Programação Sockets. (c) Volnys Bernal. Agenda. Introdução à Programação Sockets

Rede de computadores Protocolos UDP. Professor Carlos Muniz

INF01018 Aula Prática 1 Cliente-Servidor e Multicast

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

Sistemas Operacionais II Unix: Memória e E/S. Geraldo Braz Junior

Arquitetura de sistemas distribuídos

Redes de Computadores

Arquiteturas de Redes de Computadores Os Modelos RM-OSI e TCP/IP. Prof. M.e Helber Wagner da Silva

Camada de Transporte Protocolos TCP e UDP

Protocolos de Rede. Protocolos em camadas

Sockets e Threads em Java

Por Fernando Koyanagi

Redes de Computadores

Protocolos de Interligação de Redes Locais e a Distância Camada de Transporte

FUNDAMENTOS DE REDES DE COMPUTADORES. Lista de Exercícios AV2-01. Luiz Leão

Redes de Computadores e Telecomunicações - Camada de Transporte

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

Capítulo 4 - Sumário

Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior

Redes de Computadores

AULA 3 - REDES. Prof. Pedro Braconnot Velloso

Protocolos e Arquiteturas de Redes. Thiago Leite

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

User Datagram Protocol

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Redes de Computadores. Arquitetura de Protocolos Profa. Priscila Solís Barreto

Redes de Computadores II. Programação com Sockets em Python

Modelo de Referência TCP/IP

Arquitetura TCP/IP - Internet Protocolo IP Protocolo ICMP

Funções da. Os principais serviços oferecidos pela camada de transporte são: Controle de conexão, Fragmentação, Endereçamento e Confiabilidade.

Aplicações com Banco de Dados e Cliente-Servidor

Programação TCP/IP (sockets)

Redes de computadores e a Internet. Redes de computadores e a Internet. Prof. Gustavo Wagner. Capítulo 3. Camada de transporte

Redes de Computadores II. Camada de Transporte Visão Geral de Sockets

Jéfer Benedett Dörr

Redes de Computadores

REVISÃO - Questões de Redes em Concursos. Semestre: 2 Bimestre:2 Data: / / 2013

Problemas relacionados a exclusão mútua

INFO ARQ REDES. Prova 2 Bimestre. Obs: Questões RASURADAS são consideradas como ERRADAS GABARITO

Protocolos de Interligação de Redes Locais e a Distância Protocolos de Transporte. Thiago Leite

Resumo P2. Internet e Arquitetura TCP/IP

Redes de Computadores. Camada de Transporte

Arquitetura TCP/IP - Internet Protocolo IP Protocolo ICMP

Modelos de referência de arquiteturas de redes: OSI e TCP/IP Profsº Luciano / Roberto

Modelo de Referência TCP/IP

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I

Comunicação entre Processos por Troca de Mensagens. Prof. Celso maciel da Costa

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

Transcrição:

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

Processo Usuário Processo Usuário SO IPC em um mesmo sistema 2

Processo Usuário Processo usuário SO SO Comunicação de Processos Remotos 3

Tipos de Sockets STREAM SOCKET - Provê sequenciamento e fluxo bidirecinal. Este tipo de socket transmite dados sobre uma base confiável e com capacidade de transmissão de dados expressos No domínio UNIX, o SOCKET_STREAM trabalha igual a um pipe, no domínio INTERNET este tipo de socket é implementado sobre TCP/IP 4

Tipos de Sockets SOCK_DGRAM - Suporta fluxo de dados bidirecional mas não oferece um serviço confiável como STREAM_SOCKET Mensagens duplicadas e em ordem diferente ( não sequenciadas ) são problemas que podem aparecer neste tipo de socket 5

Tipos de Sockets RAW_SOCKET - permite o acesso a interface de protocolos de rede. Disponível para usuários avançados e que possuam direito de usuário root permite que uma aplicação acesse diretamente protocolos de comunicação de baixo nível permite a construção de novos protocolos sobre os protocolos de baixo nível já existentes normalmente orientados a datagrama 6

Associação O socket é criado sem nome É necessário um nome para para a sua utilização Os processos são ligados por uma associação Associação: <protocolo, end. máquina local, porta local, end. máquina remota, porta remota> 7

Domínios e Protocolos O espaço no qual o endereço é especificado é chamado de domínio Domínios básicos:» INTERNET - AF_INET - os endereços consistem do end. de rede da máquina e da identificação do no. da porta, o que permite a comunicação entre processos de sistemas diferentes» Unix: AF_UNIX - os processos se comunicam referenciando um pathname, dentro do espaço de nomes do sistema de arquivos 8

Domínios e Protocolos Domínio Internet Implementação Unix da protocolo TCP/UDP/IP Consiste de:» end. da máquina» identificação do no. da porta Permite a comunicação entre máquinas diferentes Conexões sob a forma de sockets do tipo stream e do tipo datagramas 9

Tipos de Sockets Socket Stream conexões confiáveis Datagramas não fornecem segurança 10

Protocolos TCP/IP Processo A Processo B TCP/UDP TCP/UDP IP IP Interface hardware Interface hardware 11

Protocolos TCP/IP Processo A Processo B TCP/UDP IP Interface hardware 12

IP Internetwork Protocol Roteamento de mensagens na rede Unidade: datagramas Fragmentação de pacotes (se > MTU) Entrega não confiável de pacotes 13

TCP Transmission Control Protocol Para comunicação longa (conexão) Confiável Transmissão de fluxo de dados: Não respeita limites de mensagens Baixo desempenho em comunicações curtas (?) Usos típicos: Login remoto Transferência de arquivo 14

UDP User Datagram Protocol Para comunicação curta (sem conexão) Não confiável Transmissão de pacotes: respeita limites de mensagens Pouco prático para comunicações longas (confiabilidade precisa ser programada) Usos típicos: RPC Broadcast 15

Porta Endereço para um processo comunicante Inteiro de 16 bits (definido pelo usuário) Portas 1 a 1023 são do sistema Portas de TCP independentes das de UDP 16

Associação Definida por Um protocolo: TCP ou UDP Endereço IP local Porta local Endereço IP distante Porta distante 17

Comunicação por sockets Servidor Cliente 1 socket socket kernel kernel conexão rede 18

Comunicação via TCP Servidor Cria um socket com - Família (ou domínio): UNIX, Internet, XNS - Tipo: stream, datagrama, puro - Protocolo (por conseq.): TCP, UDP sockfd = (int) socket (int family, int type, int protocol) 19

Comunicação via TCP Servidor Atribui ao socket - Endereço Internet (pode ser any ) - Porta de comunicação ret = (int) bind (int sockfd, struct sockaddr *myaddr, intaddrlen) 20

Comunicação via TCP Servidor Declara - Que está pronto para receber conexões - Até quantas devem ser enfileiradas listen ( ) ret = (int) listen (int sockfd, intbacklog) 21

Comunicação via TCP Servidor listen ( ) accept ( ) Bloqueia até que haja pedido de conexão Quando houver algum, aceita newsock = (int) accept (int sockfd, struct sockaddr *peer, int*addrlen) 22

Comunicação via TCP Servidor Cria um socket idêntico ao do servidor (mesma família e tipo) listen ( ) Cliente accept ( ) sockfd = (int) socket (int family, int type, int protocol) 23

Comunicação via TCP Servidor listen ( ) Pede uma conexão ao servidor Fica bloqueado ou retorna erro Se aceito, fecha a conexão Cliente accept ( ) estabelecimento de conexão connect ( ) ret = (int) connect (int sockfd, struct sockaddr *servaddr, int addrlen) 24

Comunicação via TCP Servidor Envia uma seqüência de bytes pela conexão listen ( ) Cliente accept ( ) estabelecimento de conexão connect ( ) send ( ) nbytes = (int) send (int sockfd, char*buf, int nbytes, int flags) 25

Comunicação via TCP Servidor Recebe (parte da ) msg enviada por send ( ) listen ( ) Cliente accept ( ) estabelecimento de conexão connect ( ) recv ( ) solicitação send ( ) nbytes = (int) recv (int sockfd, char*buf, int nbytes, int flags) 26

Comunicação via TCP Servidor listen ( ) Transmite ou confirma msgs faltantes Encerra a conexão Fecha o socket ret = (int) close (int sockfd) Cliente accept ( ) estabelecimento de conexão connect ( ) recv ( ) send ( ) processamento solicitação resposta send ( ) recv ( ) close ( ) close ( ) 27

Comunicação via TCP Servidor Diagrama completo listen ( ) Cliente accept ( ) estabelecimento de conexão connect ( ) recv ( ) send ( ) processamento solicitação resposta send ( ) recv ( ) close ( ) close ( ) 28

Comunicação via UDP Cliente e servidor criam seus sockets Família = Internet, tipo = datagrama Servidor Cliente 29

Comunicação via UDP Cliente e servidor definem endereços Servidor Cliente 30

Comunicação via UDP Recebe pacote enviado do endereço informado Se não houver nada, bloqueia Servidor Cliente recvfrom ( ) nbytes = (int) recvfrom (int sockfd, char*buf, int nbytes, int flags, struct sockaddr *from, int*addrlen) 31

Comunicação via UDP Envia pacote para o endereço informado Servidor Cliente recvfrom ( ) solicitação sendto ( ) nbytes = (int) recvfrom (int sockfd, char*buf, int nbytes, int flags, struct sockaddr *from, int*addrlen) 32

Comunicação via UDP Diagrama completo Servidor Cliente recvfrom ( ) sendto ( ) processamento solicitação resposta sendto ( ) recvfrom ( ) close ( ) close ( ) 33