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

Tamanho: px
Começar a partir da página:

Download "Cliente/Servidor. Programação com Sockets. Graça Bressan. Graça Bressan/LARC 2000 1"

Transcrição

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

2 Interface através de Sockets Socket é uma API ( Aplication Program Interface ) para acesso aos serviços do protocolo de transporte do TCP/IP. As duas principais APIs de comunicação do Unix, para uso em C, são: Sockets da versão de Berkeley TLI ( Trasport Layer Interface ) da versão ATT. Camadas de protocolos TCP/IP Interface através de Sockets A maioria dos fabricantes, em especial os fabricantes de workstations, como Sun e DEC, adotaram o BSD Unix. Portanto, a interface Sockets tornou-se disponível em muitas máquinas e acabou sendo amplamente aceita. A interface de socket utiliza conceitos comuns às operaçòes com arquivos. Graça Bressan/LARC

3 Interface de Programação para Arquivos Operação open close read write Significado Prepara um dispositivo ou um arquivo para operações de E/S. Termina o uso do dispositivo ou arquivo previamente aberto. Obtém dados de um dispositivo ou arquivo e coloca na memória. Transmite dados da memória para dispositivo ou arquivo. Interface de Programação para Arquivos Quando um programa executa a função open para iniciar uma operação de E/S, o sistema retorna um inteiro denominado descritor de arquivos que a aplicação usa nas próximas operações de E/S. O open recebe três argumentos: Nome do arquivo ou do dispositivo a ser aberto. modo de acesso Um conjunto de bits para caso especiais Ao terminar de usar o arquivo, a aplicação chama close para liberar o descritor e os recursos a ele associados (como buffers). Exemplos: (a)abrir um arquivo de nome "nome de arquivo", com um modo que permite leitura e escrita e devolve um descritor de arquivo na variável desc: int desc; desc = open ("nome de arquivo", O_RDWR,0); (b)a aplicação pode usar a variável desc nas operações de E/S, tais como, ler 128 bytes de dados do arquivo para a área denominada buffer: Graça Bressan/LARC

4 read ( desc, buffer, 128 ); (c) Fechar o arquivo ao término das operações: close ( desc ); Interface de Programação de Sockets A API de socket foi incluída como uma extensão das operações sobre arquivos: Descritores análogos aos de arquivo serão usados para comunicação de dados por sockets. As chamadas de sistema, read e write, com descritores de sockets serão usadas para envio e recebimento de dados, de forma análoga às operações convencionais de arquivos. A aplicação deve especificar: As portas dos protocolos local e remoto. Os endereços IP local e remoto Se elas usarão TCP ou UDP Se iniciará a conexão ou irá esperar por uma conexão, isto é, se ela vai se comportar como cliente ou como servidor. Interface de Sockets Um socket armazena uma associação entre uma porta TCP e um endereço IP. Um socket pode ser Passivo ou Ativo: Socket Passivo: um socket criado para esperar conexões de outras estações. Este tipo de socket é utilizado por aplicações servidoras; Socket Ativo: um socket utilizado para iniciar uma conexão. Este tipo de socket é utilizado por aplicações clientes. Abstração de um Socket Descritores de sockets e descritores de arquivos No Unix, um aplicativo que precisa efetuar uma E/S chama a função open para criar um descritor de arquivo que será usado para acessar o dispositivo correto. Graça Bressan/LARC

5 O sistema operacional implementa descritores de arquivos em uma tabela de ponteiros para as estruturas de dados internos de cada dispositivo. Tabela de Descritores Interface de Sockets Cada processo tem uma tabela de descritores de arquivos. Quando um processo abre um arquivo, o Sistema Operacional coloca na tabela de descritores um ponteiro apontando para a estrutura de dados deste arquivo. O descritor retornado pelo open, é o índice da entrada nesta tabela. Como um arquivo, cada socket ativo é identificado por um número inteiro denominado descritor de socket. O Unix aloca o descritor de socket na mesma tabela de descritores de arquivos. O BSD Unix contém uma chamada de sistema denominado "socket" que a aplicação usa para criar um socket. A chamada da função de sistema socket retorna um descritor de socket. O descritor de socket é usado para as próximas operações relacionadas com socket, como read, write, etc. Graça Bressan/LARC

6 Estrutura de dados do sockets Quando uma aplicação chama socket, o sistema operacional aloca uma estrutura de dados que contém as informações necessárias para a comunicação e coloca um ponteiro para essa estrutura na tabela de descritores. Estrutura de dados do sockets Quando um socket é criado o sistema deixa muito dos campos da estrutura vazios e que devem ser preenchidos por outras chamadas de sistema. Após a criação do socket e preenchimento de seus campos, ele pode ser usado para: Esperar por uma conexão (servidor) ou Iniciar uma conexão (cliente). Conexão Uma conexão é uma associação entre dois sockets. Cada um dos sockets de uma conexão são chamados de "end-points". Um socket usado para esperar por uma conexão é denominado socket passivo. Um socket usado para iniciar uma conexão é denominado socket ativo. Graça Bressan/LARC

7 Endereço Final Os pontos extremos da comunicação são os processos de cliente e servidor, cada um rodando em um sistema. Estes processos são identificados pelos seus endereços finais. Em uma rede Internet, os 2 processos podem estar em rede diferentes, conectados por um ou mais roteadores. Consiste de 3 níveis de endereços: Endereço de rede Endereço do host conectado na rede Endereço do processo no host. O TCP/IP usa um inteiro de 32 bits para especificar a rede e o host, e tanto TCP como UDP usam números de porta de 16 bits para especificar o processo do usuário. A maioria das famílias de protocolos definem um conjunto de endereços " bem conhecidos " que são usados para identificar os serviços fornecidos pelo host. Exemplo: A implementação do TCP/IP fornece um servidor de transferência de arquivos denominado FTP que um cliente pode contactar para transferir um arquivo. A porta para FTP é definida como sendo 21. Conexão e Endereços Finais Quando um socket é criado, ele não contém os endereços finais que serão utilizados na conexão. Portanto, antes de usar um socket, o endereço final ou os endereços finais devem ser especificados. Graça Bressan/LARC

8 Conexões entre Sockets Interface de Sockets Encapsulamento de dados TCP no Ethernet Graça Bressan/LARC

9 Exemplo de Cliente/servidor usando TCP Interface através de Sockets com UDP O cliente não estabelece conexão com o servidor. Em vez disso, manda datagramas através de sendto(), que requer endereço do destino (servidor) como argumento. O servidor, por sua vez, não espera por uma conexão. Ele apenas chama recvfrom(), que espera indefinidamente até um dado chegar de algum cliente. A chamada recvfrom() retorna ao chamador, o endereço IP e de porta do processo cliente junto com o datagrama, de forma que o servidor possa enviar uma resposta ao cliente correto. Graça Bressan/LARC

10 Exemplo Cliente/servidor com usando UDP Graça Bressan/LARC

11 Interface de Sockets socket (pf, type, protocol) Cria um novo socket que pode ser usado para comunicação. Retorna um descritor de socket. Os argumentos para a chamada especificam: A família de protocolos que a aplicação vai usar ( por exemplo, PF_INET para TCP/IP). Tipo de serviço (por ex. stream ou datagram ). Protocolo ( ex. TCP ou UDP ). connect (socket, destaddr, addrlen) Depois de criar um socket, um cliente chama connect para estabelecer uma conexão com um servidor remoto. Os argumentos para a chamada são: O descritor de socket obtido com socket. Ponteiro para uma estrutura do tipo sockaddr contendo o endereço final remoto. O connect deixa o socket ligado permanentemente ao endereço destino, isto é, no estado conectado, desde que use serviço com conexão (TCP). Nos serviços sem conexão ele guarda apenas o endereço remoto. Para serviços sem conexão não é necessário usar connect, mas se usar, não será necessário especificar o endereço remoto toda vez que for fazer transferência. write (socket, buffer, length) Tanto cliente como servidor usam write para enviar dados através da conexão TCP, os clientes para enviar solicitações e servidores para enviar respostas Os argumentos para a chamada são: Graça Bressan/LARC

12 Descritor de socket. Endereço onde está o dado. Tamanho do dado em bytes. O write copia os dados a serem enviados em buffers do sistema operacional e permite que a aplicação continue a sua execução enquanto o dado é transmitido pela rede. Se o buffer estiver cheio, o write bloqueia o processo temporariamente até que TCP esvazie o buffer. A alternativa ao write para o modo não conectado é: sendto (socket, buffer, length, flags, destaddr, addrlen) read (socket, buffer, length) Tanto cliente como servidor usam read para receber dados da conexão TCP, servidores usam read para receber solicitações e os clientes para receber resposta. Os argumentos para a chamada são: Descritor de socket. Endereço de um buffer. Tamanho do buffer. O read extrai os bytes que chegam no socket e copia-os no buffer. Se não chegou nenhum dado, a chamada de read bloqueia a execução do processo. Se tiver mais dados que o tamanho do buffer, o read extrai apenas o suficiente para encher o buffer. Se vier menos, extrai todos os bytes e retorna o número de bytes. Read também pode ser usado para receber mensagens em sockets que usam UDP. Nesse caso, cada read extrai um datagrama UDP. Outra alternativa para socket não conectado é: recvfrom (socket, buffer, length, flags, destaddr, addrlen) Graça Bressan/LARC

13 close (socket) Essa chamada termina a conexão, desalocando um socket. Se vários processos estiverem compartilhando um mesmo socket, close decrementa um contador e desaloca o socket quando o contador atingir zero. O argumento para essa chamada é o descritor de socket. bind (socket, localaddr, addrlen) Uma aplicação chama bind para associar um endereço final local a um socket. É usado por servidores para especificar uma porta conhecida através da qual vai esperar por uma conexão. Os argumentos de um bind são: Descritor de socket. Ponteiro para um endereço final. Para os protocolos TCP/IP, o endereço final usa a estrutura sockaddr_in, que inclui um endereço IP e um número de porta. listen (socket, qlength) Quando um socket é criado, ele não é ativo nem passivo. Os servidores orientados a conexão, chamam listen para colocar o socket no modo passivo e deixa-lo preparado para receber conexões. O segundo parâmetro diz ao sistema operacional quantas solicitações de conexão devem ser enfileiradas para o socket. accept (socket, addr, addrlen) Após o servidor chama as funções socket para criar um socket, bind para especificar um endereço final e listen para colocar no modo passivo ele chama o accept para extrair a próxima solicitação de conexão. Um argumento do accept especifica o socket onde a conexão deve ser aceita. A chamada accept cria um novo socket para cada nova solicitação Graça Bressan/LARC

14 de conexão e retorna o descritor deste socket. Este novo socket utiliza a mesma porta do socket inicial. O servidor usa o novo socket apenas para a nova conexão e usa o socket original para aceitar novas solicitações. Uma vez aceita a nova conexão, o servidor pode transferir dados através do novo socket. Resumo de Comandos da Interface de Sockets Nome da Função socket connect write read close bind listen accept recv recvmsg recvfrom send sendmsg sendto Significado Cria um descritor para usar na comunicação Conecta a um par remoto Envia dados através da conexão Recebe dados vindos da conexão Termina comunicação e desaloca o socket Associa um endereço IP local e uma porta do protocolo a um socket Coloca o socket no modo passivo e estabelece o número de conexõestcp que devem ser enfileiradas. Aceita a próxima conexão. Recebe o próximo datagrama. Variação de recv Recebe o próximo datagrama e registra o endereço final do remetente Envia um datagrama Variação do send Envia um datagrama, normalmente a um endereço final Graça Bressan/LARC

15 pré-registrado shutdown getpeername getsockopt setsockopt Termina uma conexão TCP em uma ou ambas as direções Depois que uma conexão chega, obtem o endereço final remoto Obtem as opções atuais de um socket Muda a opção de um socket Utilitários para conversão de inteiros. O TCP/IP utiliza a representação chamada "ordem de bytes da rede" (network byte order), para inteiros usados nos cabeçalhos dos protocolos. Esta representação representa números inteiros com o byte mais significativo primeiro, isto é, no endereço menor (representação big endian). Embora o software de protocolos esconda a maioria dos detalhes, os programadores devem estar cientes deste padrão porque algumas rotinas de sockets exigem que argumentos sejam armazenados na ordem de bytes da rede. Ex.: A estrutura sockaddr_in usa a ordem de bytes da rede. A interface socket possui várias funções que fazem a conversão entre ordem de bytes da rede e a do host. Estas funções são usadas mesmo sabendo que a máquina tem a mesma ordem de bytes da rede. Assim, o programa fica portável para diversas arquiteturas. As rotinas de conversão são as seguintes: htons converte 16 bits da ordem do host para rede ntohs converte 16 bits da ordem da rede para host htonl converte 32 bits da ordem do host para rede ntohl converte 32 bits da ordem da rede para host Graça Bressan/LARC

16 Exemplo de Cliente/Servidor O Exemplo a ser examinado é de um programa servidor que cada vez que é acessado retorna o valor de um contador contendo o número de acessos ao servidor. O retorno é na forma da seguinte cadeia ASCII : "Este servidor foi contatado 10 vezes." O cliente é um programa simples que contata o servidor e obtém o texto acima. A porta escolhida para o servidor é a Funções Utilizadas pelo Programa gethostbyname (domínio) Parâmetro: nome do computador no domínio ao qual pertence Retorna o endereço IP deste computador. Ex.: endip = gethostbyname("merlin.usp.br"); getprotobyname (protocolo) Parâmetro: nome do protocolo Retorna número que identifica o protocolo no sistema. Ex.: numprot = getprotobyname("tcp"); Graça Bressan/LARC

17 Estrutura do Cliente e Servidor Código do Cliente /* client.c - código do programa cliente utilizando TCP */ #ifndef unix #define WIN32 #include <windows.h> #include <winsock.h> #else #define closesocket close #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> #endif #include <stdio.h> #include <string.h> #define PROTOPORT 5193 /* número da port default */ Graça Bressan/LARC

18 extern int errno; char localhost[] = "localhost"; /* nome default do host */ /* * Programa: cliente * * Objetivo: alocar um socket, conectar ao servidor e imprimir * todas saídas. * Sintaxe: cliente [ host [porta] ] * host - nome do computador no qual o servidor * está executando. * porta - número da porta que o servidor está * utilizando. * Nota: Os argumentos são opcionais. Se o host não for * informado o cliente utiliza "localhost"; se nenhuma * porta de for especificada, o cliente utiliza a porta * default dada por PROTOPORT. * */ main(argc, argv) int argc; char *argv[]; { struct hostent *ptrh; /* ponteiro entrada tabela de host */ struct protoent *ptrp; /* ponteiro entrada tab. protocolo */ struct sockaddr_in sad;/* estrutura para end. do servidor */ int sd; /* descritor de socket */ int port; /* número da porta */ char *host; /* ponteiro para o nome do host */ int n; /* número de caracteres para leitura */ char buf[1000]; /* buffer para os dados do servidor */ #ifdef WIN32 WSADATA wsadata; Graça Bressan/LARC

19 WSAStartup(0x0101, &wsadata); #endif memset((char *)&sad,0,sizeof(sad)); /* limpa sockaddr */ sad.sin_family = AF_INET; /* seta familia Internet*/ /* analisa a linha de comando e obtem o nome do host e o número da porta caso tenham sido especificados. */ if (argc > 2) /* Verifica se a porta é especificada */ port = atoi(argv[2]); /* obtem a porta e conv. binário*/ else port = PROTOPORT; /* usa o número da porta default*/ if (port > 0) /* testa se o valor é válido */ sad.sin_port = htons ((u_short) port); else { fprintf(stderr,"numero de porta incorreta:%s\n",argv[2]); exit(1); if (argc > 1) /* Verifica o parâmetro que define o host */ host = argv[1]; /* se o host foi especificado */ else host = localhost; /* Converte nome de host no endereço IP equivalente */ ptrh = gethostbyname(host); if (((char *) ptrh) == NULL ) { fprintf(stderr,"host invalido: %s\n", host); exit (1); memcpy(&sad.sin_addr, ptrh->h_addr, ptrh->h_length); /* Obtem o número do protocolo de transporte TCP */ if (((int) (ptrp = getprotobyname("tcp"))) == 0){ fprintf(stderr,"nao pode mapear \"tcp\" \n"); exit (1); /* Cria o Socket */ Graça Bressan/LARC

20 sd = socket(pf_inet, SOCK_STREAM, ptrp->p_proto); if (sd < 0) { fprintf(stderr,"falha na criacao do socket\n"); exit(1); /* Conecta o socket ao servidor especificado */ if (connect(sd,(struct sockaddr*)&sad,sizeof(sad)) < 0) { fprintf(stderr,"falha na conexao\n"); exit(1); /* Le repetidamente dados do socket e escreve na tela */ n = recv(sd, buf, sizeof(buf), 0); while (n > 0) { write(1, buf, n); n = recv(sd, buf, sizeof(buf), 0); /* fecha o socket */ closesocket(sd); /* Termina o programa cliente */ exit(0); Código do Servidor /* servidor.c - código do programa servidor utilizando TCP */ #ifndef unix #define WIN32 #include <windows.h> #include <winsock.h> #else #define closesocket close #include <sys/types.h> #include <sys/socket.h> Graça Bressan/LARC

21 #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> #endif #include <stdio.h> #include <string.h> #define PROTOPORT 5193 /* número da port default */ #define QLEN 6 /* tamanho da fila de requisicoes*/ int visitas = 0; /* cont. de conexões de clientes */ /* * Programa: servidor * * Objetivo: aloca um socket, e repetidamente executa: * (1) espera a proxima conexão de cliente (2) envia uma mensagem curta ao cliente (3) fecha a conexão (d) volta ao passo (1) * Sintaxe: servidor [porta] * * porta - número da porta que o servidor deverá utilizar * Nota: O número da porta é opcional. Se nenhuma porta for * especificada, o servidor utiliza a porta default dada * por PROTOPORT. * */ main(argc, argv) int argc; char *argv[]; { struct hostent *ptrh; /* ponteiro entrada tabela de host */ struct protoent *ptrp; /* ponteiro entrada tab. protocolo */ struct sockaddr_in sad;/* estrutura para end. do servidor */ Graça Bressan/LARC

22 struct sockaddr_in cad;/* estrutura para end. do cliente */ int sd, sd2; /* descritores de socket */ int port; /* número da porta */ char *host; /* ponteiro para o nome do host */ int alen; /* comprimento do endereço */ char buf[1000]; /* buffer para os dados do servidor */ #ifdef WIN32 WSADATA wsadata; WSAStartup(0x0101, &wsadata); #endif menset((char *)&sad,0,sizeof(sad)); /* limpa sockaddr */ sad.sin_family = AF_INET; /* seta familia Internet*/ sad.sin_addr.s_addr = INADDR_ANY; /* seta IP local */ /* analisa a linha de comando e obtem o nome o número da porta caso tenha sido especificado. */ if (argc > 1) /* se a porta é especificada */ port = atoi(argv[2]); /* obtem a porta e conv. binário*/ else port = PROTOPORT; /* usa o número da porta default*/ if (port > 0) /* testa se o valor é válido */ sad.sin_port = htons ((u_short) port); else { fprintf(stderr,"numero de porta incorreta:%s\n",argv[2]); exit(1); /* Obtem o número do protocolo de transporte TCP */ if (((int) (ptrp = getprotobyname("tcp"))) == 0){ fprintf(stderr,"nao pode mapear \"tcp\" \n"); exit (1); /* Cria o Socket */ sd = socket(pf_inet, SOCK_STREAM, ptrp->p_proto); Graça Bressan/LARC

23 if (sd < 0) { fprintf(stderr,"falha na criacao do socket\n"); exit(1); /* Faz o Bind do endereço local com o socket */ if (bind(sd,(struct sockaddr*)&sad,sizeof(sad)) < 0) { fprintf(stderr,"falha no bind\n"); exit(1); /* Coloca o soket no estado passivo, define fila de espera */ if (listen(sd,qlen) < 0) { fprintf(stderr,"falha no listen\n"); exit(1); /* Loop principal do servidor:aceita requisições de conexão*/ while (1) { alen = sizeof(cad); if ((sd2=accept(sd,(struct sockaddr*)&cad, &alen)) < 0) { fprintf(stderr,"falha no accept\n"); exit(1); visitas++; sprintf(buf,"este servidor foi contatado %d vez%e\n", visitas, visitas==1?".":"es."); send(sd2, buf, strlen(buf), 0); closesocket(sd2); Graça Bressan/LARC

24 Utilizando o Cliente com outro Servidor O cliente do exemplo é um programa genérico que realiza uma conexão TCP para obter uma seqüência de caracteres ASCII. Além de ser utilizado com o servidor do exemplo, também pode ser utilizado com outros servidores com operem de forma similar. Este é o caso do servidor DAYTIME disponível nos sistemas e que utiliza a porta 13. As chamadas a seguir retornam a data e hora de diferentes computadores. $cliente localhost 13 Mon May 12 10:20: $cliente xx.lcs.mit.edu 13 Mon May 12 09:23: Utilizando outro Cliente com o Servidor Outro cliente pode ser utilizado para testar o servidor do exemplo, como no caso do telnet que utiliza os mesmos parâmetros: nome do computador e número da porta do servidor. Exemplo de chamada: $telnet xx.yy.provedor.com 5193 Trying Connected to xx.yy.provedor.com 5193 Escape character is ^]. Este servidor foi contatado 4 vezes. Connection closed by foreign host. Serviço Stream No exemplo, o servidor executa apenas um send e o cliente realiza vários recv para obter o mesmo dado do send. A iteração termina quando o cliente obtém a condição de fim de arquivo, isto é, contador de bytes recebidos igual a zero. O TCP não garante que os dados sejam enviados em um único segmento por esta razão o cliente deve executar vários recv. Graça Bressan/LARC

25 Bloqueio nos Procedimentos de Sockets Muitos dos procedimentos de sockets causam o bloqueio do processo que executou o procedimento. No accept, por exemplo, o programa fica bloqueado até receber um pedido de conexão. No recv e read, de forma análoga, o programa ficará bloqueado até a chegada de dados. Existe tratamento assíncrono no TCP, que não bloqueia o programa quando este está a espera de algum dado ou conexão através de um socket. O tratamento assíncrono utiliza o comando select. Muita chamadas de sockets causam o bloqueio do processo que a executou. No accept, por exemplo, o programa fica bloqueado até receber um pedido de conexão. No recv e read, de forma análoga, o programa ficará bloqueado até a chegada de dados. Fim do módulo Programação com Socket Graça Bressan/LARC

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

Programação com Sockets TCP e UDP - Cliente. Gustavo Leitão Programação com Sockets TCP e UDP - Cliente Gustavo Leitão 5/24/2010 INTRODUÇÃO Objetivo da Aula OBJETIVO DA AULA Apresentar ao aluno conceitos e prática em sockets INTRODUÇÃO O que é um socket? INTRODUÇÃO

Leia mais

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

TROCA DE MENSAGENS SOCKETS. Comunicando processos através de SOCKETS. SOCKETS com conexão. SOCKETS sem conexão TROCA DE MENSAGENS SOCKETS Comunicando processos através de SOCKETS SOCKETS com conexão SOCKETS sem conexão SOCKETS Princípios dos sockets: 2. Fornecer uma interface geral permitindo a construção de aplicações

Leia mais

Comunicação entre Processos

Comunicação entre Processos Comunicação entre Processos Comunicação memória compartilhada troca de mensagens base de comunicação em sistemas distribuídos Mensagens básicas send (destino, msg) receive (origem, mensagem) questões semântica

Leia mais

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

Programação de Sockets em C/C++ Programação de Sockets em C/C++ Redes de Comunicação 2011/2012 1 Programação de Sockets em C/C++ 2 TCP 3 UDP Introdução Os sockets são um método de criar conexão entre processos, independente do protocolo.

Leia mais

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

Bibliotecas. Apoio à Programação Distribuída. Socket. Socket. bibliotecas bibliotecas+ferramentas linguagens de programação distribuídas Apoio à Programação Distribuída bibliotecas bibliotecas+ferramentas linguagens de programação distribuídas flexibilidade de programação disponibilidade da ferramenta facilidade de desenvolvimento e reuso

Leia mais

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

Aula Prática. Comunicação em SOCKTS. Disciplina: INF01151 Aula Prática Comunicação em SOCKTS Disciplina: INF01151 Prof. Dr. Cláudio Fernando Resin Geyer Monitor: Julio Anjos Agenda 1 - Objetivo Apresentar na prática a comunicação entre processos usando sockets

Leia mais

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

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor Comunicação em Sistemas Distribuídos Paradigma / Os processos em um SD estão lógica e fisicamente separados. Precisam se comunicar para que possam interagir O desempenho de um SD depende criticamente do

Leia mais

Sistemas de Operação Sockets

Sistemas de Operação Sockets Sistemas de Operação Sockets O que é um socket? Uma interface de comunicação entre processos que podem ou não residir na mesma máquina, mas que não precisam estar relacionados. É usado normalmente para

Leia mais

Redes de Computadores (PPGI/UFRJ)

Redes de Computadores (PPGI/UFRJ) Redes de Computadores (PPGI/UFRJ) Aula 1: Apresentação do curso e revisão de interface de sockets 03 de março de 2010 1 2 O que é a Internet 3 4 Objetivos e página do curso Objetivos Apresentar a motivação,

Leia mais

Modelo Cliente/Servidor e Introdução a Sockets

Modelo Cliente/Servidor e Introdução a Sockets 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

Leia mais

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

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 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 Engenharia Elétrica Eletrônica Tutorial: Programação

Leia mais

1 Projeto de software de clientes. 1

1 Projeto de software de clientes. 1 1 Projeto de software de clientes. 1 1.1 Introdução Aplicações clientes são conceitualmente mais simples que aplicações servidoras pois, normalmente, não manipulam concorrência explicita com múltiplos

Leia mais

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

06/10/2015. Modelo TCP/IP Camada de Transporte DISCIPLINA: TECNOLOGIA DE REDES DE COMPUTADORES. UDP User Datagram Protocol. UDP User Datagram Protocol Tecnologia em Jogos Digitais Modelo TCP/IP Camada de Transporte DISCIPLINA: TECNOLOGIA DE REDES DE COMPUTADORES O transporte dos dados na INTERNET é realizado por dois protocolos. PROTOCOLOS TCP E UDP

Leia mais

Cliente-servidor com Sockets TCP

Cliente-servidor com Sockets TCP Cliente-servidor com Sockets TCP Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2006/2007 c 2000 2006 Paulo Sérgio Almeida Cliente-servidor com Sockets

Leia mais

Relatório do Laboratório 3

Relatório do Laboratório 3 Relatório do Laboratório 3 Diogo Costa e Lucas Magrini Rigo 180188 e 161064 23 de setembro de 2011 Universidade Federal do Rio Grande do Sul INF01154 Redes de Computadores N For: Valter Roesler 1 Introdução

Leia mais

sockets interprocess communication Taisy Weber

sockets interprocess communication Taisy Weber sockets interprocess communication Taisy Weber Comunicação entre processos Mecanismos Pipes, FIFO (named pipes), semáforos, message queues. Memória compartilhada. Sockets Definição, chamadas de sistemas,

Leia mais

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP SMTP "Protocolo de transferência de correio simples (ou em inglês Simple Mail Transfer Protocol ) é o protocolo padrão para envio de e- mails através da

Leia mais

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

Aula 2 Arquitetura de Redes. Prof. Dr. S. Motoyama Aula 2 Arquitetura de Redes Prof. Dr. S. Motoyama 1 Arquitetura em camadas Arquitetura de RC Estruturar em camadas é decompor o problema de construção de uma rede em componentes gerenciáveis. A estruturação

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

Leia mais

Tipos de Servidores. Servidores com estado

Tipos de Servidores. Servidores com estado Tipos de Servidores Com Estado X Sem Estado Sequenciais X Concorrentes Com Conexão X Sem Conexão Servidores com estado Servidores com estado armazenam informação sobre cada cliente. Operações podem ser

Leia mais

Um Tutorial sobre Sockets Parte I

Um Tutorial sobre Sockets Parte I Um Tutorial sobre Sockets Parte I Por Antonio Marcelo Iniciando As grandes ferramentas utilizadas por especialistas de segurança, hackers e crakers tem como base a linguagem C ANSI ou C ++. Muitos dos

Leia mais

3. Projeto e implementação de Servidores

3. Projeto e implementação de Servidores 3. Projeto e implementação de Servidores 3.1 Introdução Este capítulo discute questões fundamentais relacionadas ao projeto de software servidor, incluindo acesso com conexão vs. sem conexão a servidores

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Mecanismos de Comunicação Voltando ao exemplo da calculadora... Rede local

Leia mais

Programação com sockets (em Java)

Programação com sockets (em Java) com sockets (em Java) Prof. Dr. Julio Arakaki Depto. Ciência da 1 Comunicação entre processos // aplicações - é um dos mecanismos mais utilizados - Java oferece modos de utilização:. TCP ( Transmission

Leia mais

Redes de Computadores. Camada de Transporte

Redes de Computadores. Camada de Transporte Redes de Computadores Camada de Transporte Objetivo! Apresentar as características da camada de transporte da arquitetura TCP/IP! Apresentar os serviços fornecidos pela camada de transporte! Estudar os

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

Eng.ª Informática. Redes de Computadores. Frequência. 4 de Julho de 2006

Eng.ª Informática. Redes de Computadores. Frequência. 4 de Julho de 2006 Eng.ª Informática Redes de Computadores 4 de Julho de 2006 Leia atentamente as perguntas seguintes e responda de forma breve e precisa. Pode acompanhar a suas respostas com figuras de forma a torná-las

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: comunicação orientada por mensagem e comunicação orientada por fluxo Prof. MSc. Hugo Souza Continuando o módulo 03 da primeira unidade, iremos abordar sobre

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos

Leia mais

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

socket Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets Programação de Sockets Mário Meireles Teixeira. UFMA-DEINF Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando s API de Sockets: introduzida no UNIX

Leia mais

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior Armazenamento de Dados Prof. Antonio Almeida de Barros Junior 1 Armazenamento de Dados Todos os dados que utilizamos até o momento, ficavam armazenados apenas na memória. Ao final da execução dos programas,

Leia mais

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

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza Programação Paralela e Distribuída Prof. Cidcley T. de Souza Conteúdo Parte I Introdução aos Sockets Tipos de Sockets Classes Java: InetAddress, Datagram Sockets, Stream Sockets, Output e Input Classes

Leia mais

Máscaras de sub-rede. Fórmula

Máscaras de sub-rede. Fórmula Máscaras de sub-rede As identificações de rede e de host em um endereço IP são diferenciadas pelo uso de uma máscara de sub-rede. Cada máscara de sub-rede é um número de 32 bits que usa grupos de bits

Leia mais

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010) SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010) OBJETIVO GERAL Este trabalho possui o objetivo de exercitar a lógica de programação dos alunos do Terceiro ano do Curso de BSI e também desenvolver

Leia mais

FTP - Protocolo. O protocolo FTP é o serviço padrão da Internet para a transferência de arquivos entre computadores.

FTP - Protocolo. O protocolo FTP é o serviço padrão da Internet para a transferência de arquivos entre computadores. FTP FTP - Protocolo O protocolo FTP é o serviço padrão da Internet para a transferência de arquivos entre computadores. A partir do FTP usuários podem receber ou enviar arquivos de ou para outros computadores

Leia mais

Modelos de Camadas. Professor Leonardo Larback

Modelos de Camadas. Professor Leonardo Larback Modelos de Camadas Professor Leonardo Larback Modelo OSI Quando surgiram, as redes de computadores eram, em sua totalidade, proprietárias, isto é, uma determinada tecnologia era suportada apenas por seu

Leia mais

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

UMA ABORDAGEM SOBRE A INTERFACE DE PROGRAMAÇÃO DE APLICAÇÕES SOCKETS E A IMPLEMENTAÇÃO DE UM SERVIDOR HTTP UMA ABORDAGEM SOBRE A INTERFACE DE PROGRAMAÇÃO DE APLICAÇÕES SOCKETS E A IMPLEMENTAÇÃO DE UM SERVIDOR HTTP Alan Jelles Lopes Ibrahim, alan.jelles@hotmail.com Eduardo Machado Real, eduardomreal@uems.br

Leia mais

AInterface que um aplicativo utiliza quanto interage com um módulo implementado por outro software

AInterface que um aplicativo utiliza quanto interage com um módulo implementado por outro software Sockets Pedroso 4 de março de 2009 1 Introdução AInterface que um aplicativo utiliza quanto interage com um módulo implementado por outro software é chamado de API (Application Programing Interfaced).

Leia mais

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

Aula 6 Modelo de Divisão em Camadas TCP/IP Aula 6 Modelo de Divisão em Camadas TCP/IP Camada Conceitual APLICATIVO TRANSPORTE INTER-REDE INTERFACE DE REDE FÍSICA Unidade de Dados do Protocolo - PDU Mensagem Segmento Datagrama /Pacote Quadro 01010101010100000011110

Leia mais

Veja abaixo um exemplo de um endereço IP de 32 bits: 10000011 01101011 00010000 11001000

Veja abaixo um exemplo de um endereço IP de 32 bits: 10000011 01101011 00010000 11001000 4 Camada de Rede: O papel da camada de rede é transportar pacotes de um hospedeiro remetente a um hospedeiro destinatário. Para fazê-lo, duas importantes funções da camada de rede podem ser identificadas:

Leia mais

INF01018 Aula Prática 1 Cliente-Servidor e Multicast

INF01018 Aula Prática 1 Cliente-Servidor e Multicast 1 / 30 INF01018 Aula Prática 1 Cliente-Servidor e Multicast Lucas Mello Schnorr, Alexandre Silva Caríssimi {lmschnorr,asc}@inf.ufrgs.br http://www.inf.ufrgs.br/ lmschnorr/ad/ INF01018 Sistemas Operacionais

Leia mais

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

Aula de Socket. Rafael De Tommaso do Valle

Aula de Socket. Rafael De Tommaso do Valle Aula de Socket Rafael De Tommaso do Valle 20 de agosto de 2009 Socket O que é um socket? É uma interface com qual processos em diferentes hosts se comunicam através da rede; Também chamado de interface

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais

Leia mais

Sockets. Bruno Guimarães Lucas Rossini

Sockets. Bruno Guimarães Lucas Rossini Sockets Bruno Guimarães Lucas Rossini Introdução Comunicação entre processos: Memória compartilhada Memória distribuída - Mensagens pela rede Um sistema distribuído é ausente de memória compartilhada,

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação- Protocolos, Tipos, RPC Capítulo 4 Agenda Protocolos em Camadas Pilhas de Protocolos em Sistemas Distribuídos Tipos de Comunicação

Leia mais

Capítulo 7 CAMADA DE TRANSPORTE

Capítulo 7 CAMADA DE TRANSPORTE Capítulo 7 CAMADA DE TRANSPORTE SERVIÇO SEM CONEXÃO E SERVIÇO ORIENTADO À CONEXÃO Serviço sem conexão Os pacotes são enviados de uma parte para outra sem necessidade de estabelecimento de conexão Os pacotes

Leia mais

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza Introdução Manipulação de arquivos em C Estrutura de Dados II Prof Jairo Francisco de Souza Manipulação de Arquivo em C Existem dois tipos possíveis de acesso a arquivos na linguagem C : sequencial (lendo

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Comunicação em Sistemas Distribuídos

Comunicação em Sistemas Distribuídos Comunicação em Sistemas Distribuídos Sockets Aplicações Protocolo de Aplicação FTP, SMTP, HTTP, Telnet, SNMP, etc. sockets TCP, UDP IP Data Link Ethernet, Token Ring, FDDI, etc Física Conjunto de APIs

Leia mais

Permite o acesso remoto a um computador;

Permite o acesso remoto a um computador; Telnet Permite o acesso remoto a um computador; Modelo: Cliente/Servidor; O cliente faz um login em um servidor que esteja conectado à rede (ou à Internet); O usuário manipula o servidor como se ele estivesse

Leia mais

Camada de Transporte, protocolos TCP e UDP

Camada de Transporte, protocolos TCP e UDP Camada de Transporte, protocolos TCP e UDP Conhecer o conceito da camada de transporte e seus principais protocolos: TCP e UDP. O principal objetivo da camada de transporte é oferecer um serviço confiável,

Leia mais

Cliente-servidor com Sockets TCP

Cliente-servidor com Sockets TCP Cliente-servidor com Sockets TCP Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2007/2008 c 2000 2007 Paulo Sérgio Almeida Cliente-servidor com Sockets

Leia mais

Passagem de Mensagens

Passagem de Mensagens Passagem de Mensagens Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br 22 de novembro de 2011 Francisco Silva (UFMA/LSD)

Leia mais

Introdução à Programação Sockets

Introdução à Programação Sockets 2002-2015 Volnys Bernal 1 Introdução à Programação Sockets Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos Escola Politécnica da USP 2002-2015 Volnys Bernal 2 Agenda Interface

Leia mais

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Versão do documento: 1.1 1. Introdução...3 2. Documentação...3 2.1. DOCUMENTAÇÃO DE REFERÊNCIA... 3 2.2. DESCRIÇÃO FUNCIONAL... 4 2.2.1. INTERFACE...

Leia mais

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Entrada e Saída. Prof. Leonardo Barreto Campos 1 Entrada e Saída Prof. Leonardo Barreto Campos 1 Sumário Introdução; Dispositivos Externos; E/S Programada; E/S Dirigida por Interrupção; Acesso Direto à Memória; Bibliografia. Prof. Leonardo Barreto Campos

Leia mais

Classe A: Apenas o primeiro octeto identifica a rede e os três últimos identificam os Hosts.

Classe A: Apenas o primeiro octeto identifica a rede e os três últimos identificam os Hosts. MÓDULO 9 Endereçamento IP Em uma rede TCP/IP, cada computador possui um endereço IP que o identifica na rede, esse endereço é composto por uma seqüência de bits divididos em 4 grupos de 8 bits que recebem

Leia mais

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural Arquitetura e Protocolos de Rede TCP/IP Modelo Arquitetural Motivação Realidade Atual Ampla adoção das diversas tecnologias de redes de computadores Evolução das tecnologias de comunicação Redução dos

Leia mais

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

Redes de Computadores. 1 Questões de múltipla escolha. TE090 - Prof. Pedroso. 30 de novembro de 2010. Exercício 1: Considere: TE090 - Prof. Pedroso 30 de novembro de 2010 1 Questões de múltipla escolha Exercício 1: Considere: I. O serviço de DNS constitui-se, em última instância, de um conjunto de banco de dados em arquitetura

Leia mais

Capítulo 8 - Aplicações em Redes

Capítulo 8 - Aplicações em Redes Capítulo 8 - Aplicações em Redes Prof. Othon Marcelo Nunes Batista Mestre em Informática 1 de 31 Roteiro Sistemas Operacionais em Rede Modelo Cliente-Servidor Modelo P2P (Peer-To-Peer) Aplicações e Protocolos

Leia mais

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 2004-2016 Volnys Bernal 1 2004-2016 Volnys Bernal 2 Resumo das Chamadas TCP Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos Escola Politécnica da USP Resumo das Chamadas TCP

Leia mais

Arquitetura TCP/IP. Parte V Inicialização e auto-configuração (RARP, BOOTP e DHCP) Fabrízzio Alphonsus A. M. N. Soares

Arquitetura TCP/IP. Parte V Inicialização e auto-configuração (RARP, BOOTP e DHCP) Fabrízzio Alphonsus A. M. N. Soares Arquitetura TCP/IP Parte V Inicialização e auto-configuração (RARP, BOOTP e DHCP) Fabrízzio Alphonsus A. M. N. Soares Tópicos Atribuição de endereço IP RARP (Reverse ARP) BOOTP (BOOTstrap Protocol) DHCP

Leia mais

Projeto: Camada Independente de Dispositivo

Projeto: Camada Independente de Dispositivo Projeto: Camada Independente de Dispositivo Introdução Esse documento tem como finalidade demonstrar como será implementada a Camada Independente de Software. Estrutura A camada independente de software

Leia mais

Comunicação entre Processos

Comunicação entre Processos Comunicação entre Processos Comunicação entre Processos - Sistemas Operacionais fornecem mecanismos para comunicação entre processos (IPC), tal como filas de mensagens, semáfaros e memória compartilhada.

Leia mais

Sistemas Operacionais:

Sistemas Operacionais: Sistemas Operacionais: Sistemas Distribuídos e Programação em Redes de Computadores Dierone Cesar Foltran Junior dcfoltran at yahoo.com Sistemas Distribuídos Sistemas Computacionais Distribuídos Lamport:

Leia mais

Capítulo 7 CAMADA DE TRANSPORTE

Capítulo 7 CAMADA DE TRANSPORTE Capítulo 7 CAMADA DE TRANSPORTE INTRODUÇÃO (KUROSE) A Camada de Rede é uma peça central da arquitetura de rede em camadas A sua função é a de fornecer serviços de comunicação diretamente aos processos

Leia mais

FTP Protocolo de Transferência de Arquivos

FTP Protocolo de Transferência de Arquivos FTP Protocolo de Transferência de Arquivos IFSC UNIDADE DE SÃO JOSÉ CURSO TÉCNICO SUBSEQUENTE DE TELECOMUNICAÇÕES! Prof. Tomás Grimm FTP - Protocolo O protocolo FTP é o serviço padrão da Internet para

Leia mais

Persistência de Dados

Persistência de Dados Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

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

Protocolo de resolução de endereços: ARP Protocolo de resolução de endereços: ARP Introdução, cache ARP, formato do pacote ARP, exemplos de ARP em acção, proxy ARP, ARP "Gratuito, comando arp. Endereço físico Os endereços IP fazem apenas sentido

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Aula 4 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Migração de Código Em

Leia mais

CAMADA DE TRANSPORTE

CAMADA DE TRANSPORTE Curso Técnico de Redes de Computadores Disciplina de Fundamentos de Rede CAMADA DE TRANSPORTE Professora: Juliana Cristina de Andrade E-mail: professora.julianacrstina@gmail.com Site: www.julianacristina.com

Leia mais

A Camada de Transporte

A Camada de Transporte A Camada de Transporte Romildo Martins Bezerra CEFET/BA s de Computadores II Funções da Camada de Transporte... 2 Controle de conexão... 2 Fragmentação... 2 Endereçamento... 2 Confiabilidade... 2 TCP (Transmission

Leia mais

Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Conexão de Redes. Protocolo TCP/IP. Arquitetura Internet.

Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Conexão de Redes. Protocolo TCP/IP. Arquitetura Internet. Origem: Surgiu na década de 60 através da DARPA (para fins militares) - ARPANET. Em 1977 - Unix é projetado para ser o protocolo de comunicação da ARPANET. Em 1980 a ARPANET foi dividida em ARPANET e MILINET.

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

MODELO CLIENTE SERVIDOR

MODELO CLIENTE SERVIDOR SISTEMAS DISTRIBUÍDOS Modelo Cliente Servidor Modelo que estrutura um S.O. como um grupo de processos cooperantes, chamados servidores, que oferecem serviços a processos usuários, denominados clientes;

Leia mais

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

Cliente TCP. Programação sockets. Agenda. Cliente TCP. Chamadas sockets para TCP. Chamada socket() Chamada socket() 2002-2009 Volnys Bernal 1 2002-2009 Volnys Bernal 2 Agenda Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Resumo das chamadas sockets para TCP Chamada close() 2002-2009 Volnys Bernal

Leia mais

CCNA 2 Conceitos Básicos de Roteadores e Roteamento

CCNA 2 Conceitos Básicos de Roteadores e Roteamento CCNA 2 Conceitos Básicos de Roteadores e Roteamento Capítulo 10 - TCP/IP Intermediário 1 Objetivos do Capítulo Descrever o TCP e sua função; Descrever a sincronização e o controle de fluxo do TCP; Descrever

Leia mais

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback SMTP, POP, IMAP, DHCP e SNMP Professor Leonardo Larback Protocolo SMTP O SMTP (Simple Mail Transfer Protocol) é utilizado no sistema de correio eletrônico da Internet. Utiliza o protocolo TCP na camada

Leia mais

Prof. Rafael Gross. rafael.gross@fatec.sp.gov.br

Prof. Rafael Gross. rafael.gross@fatec.sp.gov.br Prof. Rafael Gross rafael.gross@fatec.sp.gov.br Todo protocolo define um tipo de endereçamento para identificar o computador e a rede. O IP tem um endereço de 32 bits, este endereço traz o ID (identificador)

Leia mais

Redes de Computadores II

Redes de Computadores II Redes de Computadores II UDP Prof: Ricardo Luís R. Peres Tem como objetivo prover uma comunicação entre dois processos de uma mesma sessão que estejam rodando em computadores dentro da mesma rede ou não.

Leia mais

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima INFORMÁTICA FUNDAMENTOS DE INTERNET Prof. Marcondes Ribeiro Lima Fundamentos de Internet O que é internet? Nome dado a rede mundial de computadores, na verdade a reunião de milhares de redes conectadas

Leia mais

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013 MC714 Sistemas Distribuídos 2 semestre, 2013 Tipos de comunicação Middleware: serviço intermediário na comunicação de nível de aplicação. Fig. 67 Ex.: correio eletrônico Comunicação é persistente. Middleware

Leia mais

Aula 3. Objetivos. A internet.

Aula 3. Objetivos. A internet. Aula 3 Objetivos A internet. Uma rede é... usando Um ambiente onde pessoas se comunicam e trocam idéias que requerem Um conjunto de aplicações e serviços distribuídos criando realizada através de Uma disciplina

Leia mais

Prof. Marcelo Cunha Parte 5 www.marcelomachado.com

Prof. Marcelo Cunha Parte 5 www.marcelomachado.com Prof. Marcelo Cunha Parte 5 www.marcelomachado.com Criado em 1974 Protocolo mais utilizado em redes locais Protocolo utilizado na Internet Possui arquitetura aberta Qualquer fabricante pode adotar a sua

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Prof. Marcelo Gonçalves Rubinstein Programa de Pós-Graduação em Engenharia Eletrônica Faculdade de Engenharia Universidade do Estado do Rio de Janeiro Ementa Introdução a Redes de

Leia mais

Banco de Dados Oracle. Faculdade Pernambucana - FAPE

Banco de Dados Oracle. Faculdade Pernambucana - FAPE Faculdade Pernambucana - FAPE Visão Geral dos Componentes Principais da Arquitetura Oracle Servidor Oracle É o nome que a Oracle deu ao seu SGBD. Ele consiste de uma Instância e um Banco de Dados Oracle.

Leia mais

Camadas de Transporte, Sessão & Apresentação. Função. Camadas REDES x TRANSPORTE. Redes de Computadores Prof. Leandro C. Pykosz

Camadas de Transporte, Sessão & Apresentação. Função. Camadas REDES x TRANSPORTE. Redes de Computadores Prof. Leandro C. Pykosz Camadas de Transporte, Sessão & Apresentação Redes de Computadores Prof. Leandro C. Pykosz Função A camada de Transporte fica entre as camadas de nível de aplicação (camadas 5 a 7) e as de nível físico

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Introdução: Sockets Para estabelecer a Comunicação Interprocesso nos Sistemas Distribuídos,

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais