Redes de Computadores

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

Download "Redes de Computadores"

Transcrição

1 Prof. Universidade Federal de Mato Grosso do Sul 24 de abril de 2017

2 Sumário 1 O núcleo da rede 2 3

3 Introdução Nesta aula vamos fazer ter uma visão geral de como programas de rede (usando sockets funcionam) em C e Python. Os principais objetivos são: 1 Entender o uso de Sockets;

4 Introdução Nesta aula vamos fazer ter uma visão geral de como programas de rede (usando sockets funcionam) em C e Python. Os principais objetivos são: 1 Entender o uso de Sockets; 2 Entender o fluxo de comunicação cliente/servidor;

5 Introdução Nesta aula vamos fazer ter uma visão geral de como programas de rede (usando sockets funcionam) em C e Python. Os principais objetivos são: 1 Entender o uso de Sockets; 2 Entender o fluxo de comunicação cliente/servidor; 3 Desenvolver trabalhos práticos.

6 Introdução: O que é uma rede? O que nós usualmente chamamos de rede de computadores é composta por um número de camadas de rede, cada uma fornecendo um número diferente de restrições e/ou garantias sobre os dados naquela camada. Os protocolos de cada camada de rede geralmente tem seus próprios formatos de pacotes, cabeçalhos e layout.

7 Introdução: O que é uma rede? O que nós usualmente chamamos de rede de computadores é composta por um número de camadas de rede, cada uma fornecendo um número diferente de restrições e/ou garantias sobre os dados naquela camada. Os protocolos de cada camada de rede geralmente tem seus próprios formatos de pacotes, cabeçalhos e layout. As sete camadas de rede tradicionais são divididas em dois grupos: superiores inferiores A interface de sockets fornece uma API uniforme para as camadas inferiores de rede e nos permite implementar aplicações nas camadas superiores.

8 Introdução: IP e Rede Dentro de uma rede de computadores, podem existir diversos tipos de equipamentos e utilizando vários meios físicos de comunicação: ethernet, wifi, bluetooth.

9 Introdução: IP e Rede Para que dois computadores troquem informações, é necessário entender como esta comunicação. Primeiro vamos analisar o modelo OSI de transmissão de dados:

10 Transporte Vai ser necessário entender cada equipamento de rede para processarmos uma comunicação direta na rede? Esta é uma pergunta pertinente e a resposta é simples: não!

11 Transporte Vai ser necessário entender cada equipamento de rede para processarmos uma comunicação direta na rede? Esta é uma pergunta pertinente e a resposta é simples: não! Para realizarmos a comunicação na rede, usamos uma API que cuida dos detalhes de baixo nível chamada de socket. Embora exista uma confusão sobre qual o nível de iteração da API de socket s e o modelo OSI, dizemos que ele está presente nas camadas altas e nas baixas, e vai depender apenas de como sua aplicação funciona.

12 Transporte O que os sockets fazem? Enquanto a interface de sockets teoricamente permite acesso para outras famílias de protocolos além da IP, na prática, cada camada de rede que você usar na sua aplicação com sockets irá usar o IP.

13 Transporte O que os sockets fazem? Enquanto a interface de sockets teoricamente permite acesso para outras famílias de protocolos além da IP, na prática, cada camada de rede que você usar na sua aplicação com sockets irá usar o IP. Na camada de transporte, os sockets suportam especificamente dois protocolos: TCP Transmission Control Protocol UDP User Datagram Protocol

14 Transporte Os sockets não sabem quando estão sendo executados sobre ethernet, token ring ou uma conexão discada, nem tem noção alguma sobre os protocolos de alto nível, como NFS, HTTP ou FTP. As vezes, a interface de sockets não será a sua melhor escolha para programar para a rede. Existem outras bibliotecas (em várias linguagens) que podem utilizar os protocolos em alto nível, sem deixar você se preocupar com os detalhes envolvidos na manipulação das conexões. As camadas mais baixas, como por exemplo no domínio de aplicações para drivers de dispositivos tem muito mais interesse nos endereçamentos e manipulações manuais do socket.

15 Transporte: TCP Quando estamos programando uma aplicação que utiliza sockets, você deve escolher entre usar TCP ou usar UDP (para transportar os dados). O TCP é um protocolo stream, enquanto o UDP é um protocolo orientado a datagramas. O TCP estabelece uma conexão contínua entre o cliente e o servidor e a mantém aberta durante toda a comunicação. Cada byte pode ser escrito (e a ordem correta é garantida), enquanto a conexão estiver ativa. Entretando os bytes escritos sobre o TCP não tem uma estrutura interna, então, protocolos de alto nível são necessários para delimitar quaisquer dados e campos entre as transmissões.

16 Transporte: UDP Por outro lado, o UDP não precisa que nenhuma conexão seja estabelecida entre um cliente e um servidor, ele simplesmente transmite a menssagem entre os endereços. Uma funcionalidade interessante do UDP é que ele é capaz de auto-delimitar cada datagrama indicando exatamente onde ele começa e termina. Entretando, ele não garante que os pacotes chegaram na ordem, ou que de fato chegaram ao destino. Protocolos de alto-nível utilizados sobre o UDP, podem é claro, fornecer um formato de handshaking e confirmações. Uma analogia as diferenças entre TCP e UDP podem ser feitas pensando numa chamada telefônica e na postagem de uma carta.

17 Transporte: analogias TCP: Conversa telefônica: Uma chamada telefônica não está ativa até que uma pessoa disque para outra e esta atenda. O canal telefônico continua ativo enquanto os participantes estiverem conversando e eles são livres para dizer muito ou pouco durante a chamada. A conversa ocorre em uma ordem temporal. UDP: Carta pelo correio: Quando enviamos uma carta, o correio inicia o procedimento de entrega da carta sem ter certeza que o destinatário existe e nem quanto tempo levará para a carta ser entregue. O destinatário pode receber várias cartas em qualquer ordem, e a carta pode ser perdida no caminho.

18 Transporte Além do protocolo TCP ou UDP, existem duas coisas que um peer (cliente ou servidor) precisa saber sobre a máquina que deseja se comunicar: o enderenço IP e a porta. Um endereço IP é representado como um dado de 32-bits, usualmente representado por quatro campos numéricos separados por ponto, exemplo: A porta é um valor de 16-bits, simplesmente representado por um número menor que

19 Transporte Em ambientes Unix, somente o super usuário (root) pode utilizar portas abaixo da 1024 para serviços. Todos os serviços mapeados pela IANA encontram-se em /etc/services e oficialmente sempre vão existir duas entradas, uma para TCP e outra para UDP, mesmo que o UDP não seja utilizado. Um endereço IP pega um pacote para uma máquina, a porta permite a máquina decidir para que processo/serviço (se tiver algum) para direcioná-lo. Está uma forma simples de explicar, mas a idéia está correta no geral.

20 Rede Na maioria das vezes quando nós pensamos sobre um computador (cliente ou servidor) na Internet, não lembramos dos números associados a cada um, por exemplo, ninguém lembra o IP do Google de cabeça lembra? mas um nome sim: Para encontrar um IP associado a um host (computador cliente/servidor), em particular usamos o Serviço de Resolução de Nomes, ou DNS (Domain Name Server), e algumas vezes a resolução local é utilizada antes (geralmente o /etc/hosts). Assumam sempre que endereço IP estará disponível.

21 Rede Como funciona a resolução de nomes? O programa de linha de comando: nslookup ou o comando dig podem ser utilizados para encontrar o endereço IP de um host através do seu nome simbólico. Atualmente, várias ferramentas simples fazem isso também só que de forma passiva, como o ping ou traceroute. Mas é simples fazer isso programando. Usando a linguagem C, a biblioteca padrão fornece uma função chamada gethostbyname(), que é utilizada para resolver o nome de um endereço. Vejamos uma versão simplificada do aplicativo nslookup.

22 Rede: meulookup.c # include < stdio.h > /* stderr, stdout */ # include < stdlib.h > /* exit */ # include < netdb.h > /* hostent struct, gethostbyname () */ # include < netinet / in.h > /* in_ addr structure */ # include < arpa / inet.h > /* inet_ ntoa () para formato do endereco IP */ int main ( int argc, char ** argv ) { struct hostent * host ; /* informacao do host */ struct in_addr h_addr ; /* endereco de internet address */ if( argc!= 2) { fprintf ( stderr, " Use : meulookup < inet_address >\ n"); exit (1) ; }

23 Rede: meulookup.c if (( host = gethostbyname ( argv [1]) ) == NULL ) { fprintf ( stderr, "( mini ) nslookup falhon para %s \n", argv [1]) ; exit (1) ;} h_addr. s_addr = *(( unsigned long *) host - > h_ addr_ list [0]) ; fprintf ( stdout,"%s\n", inet_ntoa ( h_addr )); } return 0;

24 Rede Sempre que possível as bibliotecas serão comentadas com as funções que foram utilizadas, para facilitar a compreensão. É criada um ponteiro para estrutura que vai armazenar as informações do host que estamos procurando o IP (*host), e uma estrutura que vai manipular o endereço de Internet (h addr). A função inet ntoa() é uma função que converte um endereço de Internet, entregue na ordenação de bytes da rede, para uma string em IPv4 em notação ponto-decimal.

25 Rede: meulookup.py Como seria a mesma aplicação escrita em Python? #!/ usr / bin / env python import socket, sys print socket. gethostbyname ( sys. argv [1]) Linguagens orientadas a objeto é o poder do encapsulamento e das bibliotecas.

26 Cliente-Servidor Os exemplos de cliente e servidor a seguir são os mais simples quanto possível. A aplicação deve enviar exatamente o que receber, dai o nome: cliente/servidor echo. Todo computador utiliza este tipo de comunição para propósitos de depuração, por isso se torna tão conveniente como exemplo. Diferente do primeiro exemplo que só realizava consultas, vamos desta vez programar o cliente e o servidor de echo. Mas primeiro vamos entender os passos da comunicação entre os clientes.

27 Cliente-Servidor Three-way-handshake no TCP Entender como uma comunicação é estabelecida é importante para que

28 Cliente-Servidor Para enteder a comunicação via socket, é preciso compreender que passos são necessários para escrever uma aplicação cliente: 1 Criar o socket

29 Cliente-Servidor Para enteder a comunicação via socket, é preciso compreender que passos são necessários para escrever uma aplicação cliente: 1 Criar o socket 2 TCP: estabelecer a conexão com o servidor

30 Cliente-Servidor Para enteder a comunicação via socket, é preciso compreender que passos são necessários para escrever uma aplicação cliente: 1 Criar o socket 2 TCP: estabelecer a conexão com o servidor 3 Enviar algum dado para o servidor

31 Cliente-Servidor Para enteder a comunicação via socket, é preciso compreender que passos são necessários para escrever uma aplicação cliente: 1 Criar o socket 2 TCP: estabelecer a conexão com o servidor 3 Enviar algum dado para o servidor 4 Receber algum dado devolta.

32 Cliente-Servidor Para enteder a comunicação via socket, é preciso compreender que passos são necessários para escrever uma aplicação cliente: 1 Criar o socket 2 TCP: estabelecer a conexão com o servidor 3 Enviar algum dado para o servidor 4 Receber algum dado devolta. 5 algumas vezes o envio e recepção podem alternar por um tempo

33 Cliente-Servidor Para enteder a comunicação via socket, é preciso compreender que passos são necessários para escrever uma aplicação cliente: 1 Criar o socket 2 TCP: estabelecer a conexão com o servidor 3 Enviar algum dado para o servidor 4 Receber algum dado devolta. 5 algumas vezes o envio e recepção podem alternar por um tempo 6 TCP: fechar a conexão

34 Cliente-Servidor: cliente echo.c # include < stdio.h > /* printf */ # include < stdlib.h > /* exit */ # include < string.h > /* bzero */ # include <sys / socket.h > /* struct sockaddr, socket */ # include < netinet / in.h > /* struct sockaddr_ in */ # include < arpa / inet.h > /* inet_pton, htons */ # include < unistd.h > /* read */ # define BUFFSIZE 32 # define SA struct sockaddr A definição do cabeçalho é muito parecida com o anterior, veja que agora estão explicitas as definições.

35 Cliente-Servidor: cliente echo.c int main ( int argc, char * argv []) { int sockfd, received = 0, bytes = 0; struct sockaddr_ in servaddr ; char buffer [ BUFFSIZE ]; if ( argc!= 4) error (" Use : TCPecho <server_ip > <palavra > <porta >"); sockfd = socket ( PF_INET, SOCK_STREAM, IPPROTO_ TCP ); bzero (& servaddr, sizeof ( servaddr )); servaddr. sin_family = AF_INET ; servaddr. sin_addr. s_addr = inet_addr ( argv [1]) ; servaddr. sin_port = htons ( atoi ( argv [3]) ); Note que foi criado o descritor do socket e inicializada a estrutura servaddr.

36 Cliente-Servidor: cliente echo.c connect ( sockfd, (SA *) & servaddr, sizeof ( servaddr )); send ( sockfd, argv [2], strlen ( argv [2]), 0); Nós realizamos a conexão passando para a função connect o descritor do socket que é um inteiro, o endereço da estrutura e o tamanho desta estrutura. Um detalhe importante fica por conta do cast (SA *) que força a conversão para a estrutura usada na Internet.

37 Cliente-Servidor Escrevendo nosso primeiro Cliente-Servidor } printf (" Recebido : "); while ( received < strlen ( argv [2]) ) { bytes = recv ( sockfd, buffer, BUFFSIZE -1, 0); received += bytes ; buffer [ bytes ] = \0 ; printf ("%s", buffer ); } printf ("\n"); close ( sockfd ); exit (0) ; E enquanto não é recebida a mensagem completa como retorno, o programa fica aguardando sua transferência.

38 Cliente-Servidor: Passos para escrever o Servidor Echo Um servidor de socket é um pouco mais complicado que o cliente, principalmente porque ele precisa estar apto a gerenciar vários clientes realizando conexões. Basicamente, existem dois aspectos em um servidor:

39 Cliente-Servidor: Passos para escrever o Servidor Echo Um servidor de socket é um pouco mais complicado que o cliente, principalmente porque ele precisa estar apto a gerenciar vários clientes realizando conexões. Basicamente, existem dois aspectos em um servidor: 1 Manipular cada conexão estabelecida

40 Cliente-Servidor: Passos para escrever o Servidor Echo Um servidor de socket é um pouco mais complicado que o cliente, principalmente porque ele precisa estar apto a gerenciar vários clientes realizando conexões. Basicamente, existem dois aspectos em um servidor: 1 Manipular cada conexão estabelecida 2 Escutar por conexões para estabelecer No nosso exemplo, e na maioria das vezes, você poderá separar o manipulador de uma conexão em uma função de suporte. Você pode fazer isso de formas diferentes (fork, threads, select).

41 Cliente-Servidor: servidor echo.c Nosso exemplo de servidor de echo tem novamente as entradas que já vimos no nosso exemplo anterior e definindo nos comentários cada uma das funções que são referidas durante o programa. Bibliotecas necessárias:

42 Cliente-Servidor: servidor echo.c Nosso exemplo de servidor de echo tem novamente as entradas que já vimos no nosso exemplo anterior e definindo nos comentários cada uma das funções que são referidas durante o programa. Bibliotecas necessárias: # include < stdio.h > /* printf */ # include < stdlib.h > /* exit */ # include < string.h > /* bzero */ # include <sys / socket.h > /* recv, send */ # include < arpa / inet.h > /* struct sockaddr */ # include < unistd.h > /* exit */ # define BUFFSIZE 32 # define MAXPENDING 5 # define SA struct sockaddr

43 Cliente-Servidor: servidor echo.c int main ( int argc, char * argv []) { int listenfd, connfd, clientlen, n; char buffer [ BUFFSIZE ]; struct sockaddr_ in servaddr, client ; if( argc!= 2) error (" Use : SERVERecho <porta >"); A comparação, embora pouco elegante, do argc não é a melhor forma de verificar opções via linha de comando. Estudem a biblioteca getopt.

44 Cliente-Servidor: servidor echo.c listenfd = socket ( PF_INET, SOCK_STREAM, IPPROTO_ TCP ); bzero (& servaddr, sizeof ( servaddr )); servaddr. sin_family = AF_INET ; servaddr. sin_addr. s_addr = htonl ( INADDR_ANY ); servaddr. sin_port = htons ( atoi ( argv [1]) ); bind ( listenfd, (SA *) & servaddr, sizeof ( servaddr )); listen ( listenfd, MAXPENDING ); Zeramos o endereço do servidor e preenchemos a estrutura de tal forma a definir que a conexão que estamos fazendo é do tipo TCP/IP.

45 Cliente-Servidor: servidor echo.c Laço de recebimento e resposta da mensagem. for ( ; ; ) { n = -1; clientlen = sizeof ( client ); connfd = accept ( listenfd, (SA *) & client, & clientlen ); n = recv ( connfd, buffer, BUFFSIZE, 0); while (n > 0) { send ( connfd, buffer, n, 0); n = recv ( connfd, buffer, BUFFSIZE, 0); } close ( connfd ); } exit (0) ;

46 Cliente-Servidor O laço vai ser executado até que o servidor seja terminado, os passos que serão executados neste trecho final do código são: 1 Aceitar a conexão do cliente e armazenar em connfd;

47 Cliente-Servidor O laço vai ser executado até que o servidor seja terminado, os passos que serão executados neste trecho final do código são: 1 Aceitar a conexão do cliente e armazenar em connfd; 2 Receber alguma quantidade de bytes em n;

48 Cliente-Servidor O laço vai ser executado até que o servidor seja terminado, os passos que serão executados neste trecho final do código são: 1 Aceitar a conexão do cliente e armazenar em connfd; 2 Receber alguma quantidade de bytes em n; 3 Enquanto tiver algo a enviar, ele envia, recebe o retorno do que ainda não foi enviado e fica neste passo até terminar.

49 Cliente-Servidor: cliente echo.py #!/ usr / bin / env python " Use : client.py <servidor > <frase > <porta >" from socket import * import sys if len ( sys. argv )!= 4: sys. exit (0) sock = socket ( AF_INET, SOCK_ STREAM ) sock. connect (( sys. argv [1], int ( sys. argv [3]) )) message = sys. argv [2] messlen, received = sock. send ( message ), 0 while received < messlen : data = sock. recv (32) sys. stdout. write ( data ) received += len ( data ) print sock. close ()

50 Cliente-Servidor servivor echo.py: implementação em Python. #!/ usr / bin / env python " Use : server.py <port >" from SocketServer import BaseRequestHandler, TCPServer import sys, socket class EchoHandler ( BaseRequestHandler ): def handle ( self ): print " Client connected :", self. client_ address self. request. sendall ( self. request. recv (2**16) ) self. request. close () if len ( sys. argv )!= 2: print doc else : TCPServer ((,int ( sys. argv [1]) ), EchoHandler ). serve_forever ()

51 Perguntas?

MC823 Atividade 1: Cliente/Servidor TCP Iterativo. 3 Modificando o servidor para retornar data e hora

MC823 Atividade 1: Cliente/Servidor TCP Iterativo. 3 Modificando o servidor para retornar data e hora MC823 Atividade 1: Cliente/Servidor TCP Iterativo Gustavo Sverzut Barbieri 1 Introdução Nessa atividade nós modificamos cliente e servidor simples que utilizam o protocolo TCP/IP.

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

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

Introdução à Programação com Sockets. Fernando Jorge Silveira Filho Daniel Sadoc Menasché Introdução à Programação com Sockets Fernando Jorge Silveira Filho fernando@land.ufrj.br Daniel Sadoc Menasché sadoc@land.ufrj.br Visão Geral Objetivos: Realizar comunicação entre processos. Entender como

Leia mais

Comunicação entre Processos

Comunicação entre Processos Comunicação entre Processos Troca de Mensagens send (destino, msg) receive (origem, mensagem) questões semântica de operações especificação de origem e destino formato de mensagem envio síncrono e assíncrono

Leia mais

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

Sockets. André Restivo. April 29, Faculdade de Engenharia da Universidade do Porto. André Restivo (FEUP) Sockets April 29, / 27 Sockets André Restivo Faculdade de Engenharia da Universidade do Porto April 29, 2013 André Restivo (FEUP) Sockets April 29, 2013 1 / 27 Sumário 1 Introdução 2 Cliente/Servidor 3 API C++ 4 André Restivo

Leia mais

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

Cliente UDP. Programação sockets. Agenda. Cliente UDP. Resumo de Chamadas UDP. Resumo das chamadas UDP. Resumo de Chamadas UDP. 2002-2015 Volnys Bernal 1 2002-2015 Volnys Bernal 2 Agenda Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos Escola Politécnica da USP Resumo das chamadas sockets para UDP Uso

Leia mais

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

Cliente UDP. Programação sockets. Agenda. Cliente UDP. Resumo de Chamadas UDP. Chamadas UDP. Resumo de Chamadas UDP. 2002-2013 Volnys Bernal 1 2002-2013 Volnys Bernal 2 Agenda Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Resumo de Chamadas UDP Chamada Chamada Chamada 2002-2013 Volnys Bernal 3

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

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

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

API de Sockets. Modelo Cliente/Servidor (2/2) Modelo Cliente/Servidor (1/2) José Pedro Oliveira Sistemas Operativos I Conteúdo (jpo@di.uminho.pt) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho 1 Sistemas Operativos I 2006-2007 Modelo Cliente/Servidor (1/2) Modelo

Leia mais

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

Programação com Sockets. Redes de Computadores I 2007/2008 Programação com Sockets Redes de Computadores I 2007/2008 Arquitectura das Aplicações Cliente-Servidor Peer-to-Peer (P2P) Híbrido Peer-to-Peer e Cliente-Servidor 09-11-2007 Universidade do Minho 1 Comunicação

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

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

Sumário. Introdução ao TCP/IP e à Internet API Sockets para comunicação via redes Exemplos Sumário Introdução ao TCP/IP e à Internet API Sockets para comunicação via redes Exemplos A Internet: Endereços Cada computador ligado à Internet tem um endereço único que o distingue dos restantes (endereço

Leia mais

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

Programação de Aplicações em. Rede usando Sockets Programação de Aplicações em Objetivos: Rede usando Sockets Conhecer a API Sockets, que permite a programas de aplicação comunicar-se através da Internet Aplicações e Protocolo de Aplicação Aplicação:

Leia mais

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

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

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

Sockets - Conceitos Básicos. COMUNICAÇÃO ENTRE PROCESSOS Sockets. Conceitos Básicos. Tipos de Sockets Sockets - Conceitos Básicos COMUNICAÇÃO ENTRE PROCESSOS Sockets! Sockets são uma forma de IPC (InterProcess Communication ) fornecida pela 4.3 BSD que fornecem comunicação entre processos residentes em

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

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

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

Leandro Soares de Sousa (DSc.)   Página:   Aula 05 - desenvolvimento com sockets Tópicos Especiais Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: http://www.ic.uff.br/~lsousa Aula 05 - desenvolvimento com sockets Mais e mais ferramentas! 2 Aplicações distribuídas:

Leia mais

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

Programação em Sockets visando verificar a diferença entre transmissão confiável (TCP) e não confiável (UDP) II - UFRGS Programação em Sockets visando verificar a diferença entre transmissão confiável (TCP) e não confiável (UDP) Valter Roesler Universidade Federal do Rio Grande do Sul (UFRGS) Instituto de Informática

Leia mais

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

Sistemas Operacionais - Básico e Avançado - Prof. Celso Maciel da Costa Mestrado em Informática - PUCRS 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

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-2013 Volnys Bernal 1 2004-2013 Volnys Bernal 2 Resumo das Chamadas TCP Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys 2004-2013 Volnys Bernal 3 2004-2013 Volnys Bernal 4 Resumo

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-2013 Volnys Bernal 1 2004-2013 Volnys Bernal 2 Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys 2004-2013 Volnys Bernal 3 2004-2013 Volnys Bernal 4 Lado Cliente Lado Servidor sd1

Leia mais

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

Servidor UDP. Programação Sockets Volnys Bernal. Servidor UDP Resumo das Chamadas UDP. Resumo de Chamadas UDP. Resumo de Chamadas UDP 2004-2015 Volnys Bernal 1 2004-2015 Volnys Bernal 2 Resumo das Chamadas UDP Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos Escola Politécnica da USP 2004-2015 Volnys Bernal

Leia mais

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

Servidor UDP Volnys Borges Bernal Departamento de Sistemas Eletrônicos Escola Politécnica da USP 2004-2017 Volnys Bernal 1 Servidor UDP Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos Escola Politécnica da USP 2004-2017 Volnys Bernal 2 Resumo das Chamadas UDP 2004-2017

Leia mais

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

Servidor TCP Volnys Borges Bernal Depto de Engenharia de Sistemas Eletrônicos Escola Politécnica da USP 2004-2019 Volnys Bernal 1 Servidor TCP Volnys Borges Bernal Depto de Engenharia de Sistemas Eletrônicos Escola Politécnica da USP 2004-2019 Volnys Bernal 2 Resumo das Chamadas TCP 2004-2019 Volnys Bernal

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

Leandro Soares de Sousa (DSc.) Página: Parte III

Leandro Soares de Sousa (DSc.)   Página:   Parte III Tópicos Especiais em Sistemas Computacionais Leandro Soares de Sousa (DSc.) e-mail: leandro.uff.puro@gmail.com Página: http://www.ic.uff.br/~lsousa Parte III Mais e mais ferramentas! 2 Aplicações distribuídas:

Leia mais

Programação com Sockets

Programação com Sockets Programação com LP4 Ciência da Computação 1 Comunicação entre processos Nível mais baixo É um tipo particular de modelo de programação em redes utilizado em várias linguagens como: C, C++ e Java São estruturas

Leia mais

Sistemas Operacionais II

Sistemas Operacionais II Introdução Instituto de Informátic ca - UFRGS Sistemas Operacionais II Estudo de caso: sockets API Aula 11 Aplicações em ambientes de rede seguem dois modelos: Cliente-servidor Peer-to-peer Interface de

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

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

Soquetes TCP. Jean Ribeiro Damasceno. Escola de Engenharia Universidade Federal Fluminense (UFF) Rua Passo da Pátria, 156 Niterói RJ Brasil Soquetes TCP Jean Ribeiro Damasceno Escola de Engenharia (UFF) Rua Passo da Pátria, 156 Niterói RJ Brasil jeanrdmg@yahoo.com.br Função socket(): Cria um novo ponto final de comunicação int socket ( int

Leia mais

MC823 Laboratório de Teleprocessamento e Redes

MC823 Laboratório de Teleprocessamento e Redes MC823 Laboratório de Teleprocessamento e Redes Primeiro Semestre 2008 Carlos R. Senna Prof. Edmundo R. M. Madeira Tecnologias de Comunicação 2 MC823 Funções para cliente-servidor UDP 3 well-known port

Leia mais

Trabalho 02: Cliente e Servidor em C

Trabalho 02: Cliente e Servidor em C Trabalho 02: Cliente e Servidor em C Redes de Computadores 1 Descrição Este trabalho deve ser entregue no Moodle até a data correspondente de entrega. Envie sua resposta somente em texto a não ser que

Leia mais

Resolução de Nomes Volnys Borges Bernal Deparatamento de Sistemas Eletrônicos Escola Politécnica da USP

Resolução de Nomes Volnys Borges Bernal Deparatamento de Sistemas Eletrônicos Escola Politécnica da USP 2002-2015 Volnys Bernal 1 Resolução de Nomes Volnys Borges Bernal volnys@lsi.usp.br Deparatamento de Sistemas Eletrônicos Escola Politécnica da USP 2002-2015 Volnys Bernal 2 Agenda Introdução à resolução

Leia mais

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade IV Camada de Rede. Luiz Leão

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade IV Camada de Rede. Luiz Leão Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 4.1 Protocolo IP 4.2 Endereçamento IP 4.3 Princípios de Roteamento Introdução O papel da camada de rede é transportar pacotes

Leia mais

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar - Aula 7 - MODELO DE REFERÊNCIA TCP O modelo de referência TCP, foi muito usado pela rede ARPANET, e atualmente usado pela sua sucessora, a Internet Mundial. A ARPANET é de grande utilidade para entender

Leia mais

Redes de Computadores e Aplicações

Redes de Computadores e Aplicações Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos Redes de Computadores e Aplicações Aula 13 - Camada de Aplicação Visão Geral Prof. Diego Pereira

Leia mais

Programação TCP/IP (sockets)

Programação TCP/IP (sockets) Programação TCP/IP (sockets) Instituto Superior de Engenharia de Lisboa Departamento de Engenharia de Electrónica e Telecomunicações e de Computadores Redes de Computadores Aplicações 17-03-2010 Programação

Leia mais

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

COMUNICAÇÃO ENTRE APLICAÇÕES. Laboratórios de Informática João Paulo Barraca, André Zúquete, Diogo Gomes COMUNICAÇÃO ENTRE APLICAÇÕES Laboratórios de Informática 2014-2015 João Paulo Barraca, André Zúquete, Diogo Gomes Comunicação Aplicações interagem de várias formas com o utilizador (stdin, stdout, stderr)

Leia mais

Programação Orientada a Objetos para Redes de Computadores. Modelo Cliente-Servidor. Comunicação entre Processos. O que é um Socket?

Programação Orientada a Objetos para Redes de Computadores. Modelo Cliente-Servidor. Comunicação entre Processos. O que é um Socket? Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Sockets Comunicação entre Processos O que é um processo?

Leia mais

Programação Orientada a Objetos para Redes de Computadores

Programação Orientada a Objetos para Redes de Computadores Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Sockets Comunicação entre Processos O que é um processo?

Leia mais

Volnys Bernal 1. Trabalho Chat UDP. PSI 2653 Meios Eletrônicos Interativos I

Volnys Bernal 1. Trabalho Chat UDP. PSI 2653 Meios Eletrônicos Interativos I 2007-2017 Volnys Bernal 1 Trabalho PSI 2653 Meios Eletrônicos Interativos I 2007-2017 Volnys Bernal 2 Objetivo: Desenvolvimento de um programa chat UDP (cliente e servidor) Grupo Cada grupo deve escolher

Leia mais

camada de transporte SOCKET TCP UDP

camada de transporte SOCKET TCP UDP Sockets O que são sockets? O acesso aos serviços da camada de transporte pode ser feito por primitivas de transporte, essas primitivas são denominadas SOCKET. Por essas primitivas é possível acessar vários

Leia mais

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

Introdução à Programação Sockets. Programação Sockets. (c) Volnys Bernal. Agenda. Introdução à Programação Sockets 00-0 Volnys Bernal 00-0 Volnys Bernal Agenda Introdução à Programação Sockets Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos Escola Politécnica da USP Interface de programação

Leia mais

Modelo de Camadas. Redes de Computadores

Modelo de Camadas. Redes de Computadores Modelo de Camadas Redes de Computadores Sumário Visão Geral de uma Rede de Computadores Protocolos Modelo de Camadas Porque utilizar Tipos de Modelos de Referência Modelo de Referência ISO/OSI Histórico

Leia mais

Camada de Transporte Protocolos TCP e UDP

Camada de Transporte Protocolos TCP e UDP Arquitetura de Redes de Computadores e Tecnologia de Implementação de Redes 2016.1 Camada de Transporte Protocolos TCP e UDP Curso Técnico Integrado em Informática Turma: INT.INF.3M Arquitetura de Redes

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

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

Redes de Computadores II. Programação com Sockets em Python v.2016 Redes de Computadores II Programação com Sockets em Python Prof. Ricardo Couto A. da Rocha rcarocha@ufg.br UFG Regional de Catalão Camada de Transporte Arquitetura TCP/IP APLICAÇÃO TRANSPORTE REDE

Leia mais

Modelo de Referência TCP/IP

Modelo de Referência TCP/IP Modelo de Referência TCP/IP Redes de Computadores Charles Tim Batista Garrocho Instituto Federal de São Paulo IFSP Campus Campos do Jordão garrocho.ifspcjo.edu.br/rdc charles.garrocho@ifsp.edu.br Técnico

Leia mais

Comunicação em Rede e Internet. Computação Aplicada à Comunicação e Artes Carlos Eduardo Ba9sta

Comunicação em Rede e Internet. Computação Aplicada à Comunicação e Artes Carlos Eduardo Ba9sta Comunicação em Rede e Internet Computação Aplicada à Comunicação e Artes Carlos Eduardo Ba9sta Introdução Arquitetura de Sistemas: Sistema Mul9tarefa Sistema Mul9processador Sistemas Distribuídos: Consiste

Leia mais

Por Fernando Koyanagi

Por Fernando Koyanagi Por Fernando Koyanagi Recursos usados 18 jumpers fêmea x fêmea Módulo de 16 relés com optoacoplador Raspberry Pi 3 Rede interna (TCP/IP) Intenção dessa aula 1. Iniciar automação com Raspberry Pi PI 2.

Leia mais

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

Cliente UDP. Programação sockets. Agenda. Cliente UDP. Resumo de Chamadas UDP. Chamadas UDP. Resumo de Chamadas UDP. 2002-2004 Volnys Bernal 1 2002-2004 Volnys Bernal 2 Agenda Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Resumo de Chamadas UDP Chamada connect() Chamada send() Chamada sendto()

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

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES Prof. Esp. Fabiano Taguchi fabianotaguchi@gmail.com http://fabianotaguchi.wordpress.com BENEFÍCIOS MODELO OSI Menor complexidade; Interfaces padronizadas; Interoperabilidade entre

Leia mais

Comunicação entre processos. Sistema centralizado

Comunicação entre processos. Sistema centralizado Sistemas Distribuídos Comunicação entre processos Sistema centralizado Comunicação entre processos Arquivo Memória compartilhada Sinal Fila de mensagem SO gerencia comunicação 2 Sistema distribuído Idéia

Leia mais

Redes de Computadores

Redes de Computadores Introdução Inst tituto de Info ormátic ca - UF FRGS s de Computadores User Datagram Protocol - UDP NAT/NAPT Introdução a protocolos de aplicação (sockets) Aula 24 Entidades da camada de transporte oferecem

Leia mais

Redes de Computadores Arquitetura TCP/IP. Prof. Alberto Felipe

Redes de Computadores Arquitetura TCP/IP. Prof. Alberto Felipe Redes de Computadores Arquitetura TCP/IP Prof. Alberto Felipe Histórico TCP/IP O TCP/IP foi desenvolvido em 1969 pelo U.S. Departament of Defense Advanced Research Projects Agency DARPA, como um recurso

Leia mais

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES Camada de aplicação Um protocolo da camada de aplicação define como processos de uma aplicação, que funcionam em sistemas finais diferentes,

Leia mais

Redes de Computadores. Prof. Msc André Y. Kusumoto

Redes de Computadores. Prof. Msc André Y. Kusumoto Redes de Computadores Prof. Msc André Y. Kusumoto andrekusumoto.unip@gmail.com Open Systems Interconnection Modelo OSI No início da utilização das redes de computadores, as tecnologias utilizadas para

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

Sockets e Threads em Java

Sockets e Threads em Java Sockets e Threads em Java U N I V E R S I D A D E T E C N O L Ó G I C A F E D E R A L D O P A R A N Á D E P A R T A M E N T O A C A D Ê M I C O D E E L E T R Ô N I C A P R O F. V I T O R Y A N O Comunicação

Leia mais

Problemas relacionados a exclusão mútua

Problemas relacionados a exclusão mútua Problemas relacionados a exclusão mútua Deadlock: um conjunto de processos fica bloqueado, cada um a espera de um recurso que o outro detém. Starvation: alguns processos são repetidamente preteridos, enquanto

Leia mais

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

Cliente/Servidor. Programação com Sockets. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Programação com Sockets Graça Bressan Graça Bressan/LARC 2000 1 Interface através de Sockets Socket é uma API ( Aplication Program Interface ) para acesso aos serviços do protocolo de

Leia mais

Modelo de Referência TCP/IP

Modelo de Referência TCP/IP Modelo de Referência TCP/IP Redes de Computadores Charles Tim Batista Garrocho Instituto Federal de Minas Gerais IFMG Campus Ouro Branco garrocho.github.io charles.garrocho@ifmg.edu.br Sistemas de Informação

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES Prof. Esp. Fabiano Taguchi fabianotaguchi@gmail.com http://fabianotaguchi.wordpress.com SUÍTE TCP 1 Camada de aplicação Protocolo Hypertext Transfer Protocol 2 HTTP Uma página WWW

Leia mais

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

Comunicação entre Processos. 1. Pipes 2. Fifos 3. Sockets Comunicação entre Processos 1. Pipes 2. Fifos 3. Sockets Pipes Implementa um canal de comunicação associado a um processo Limitações: Os dados apenas fluem num sentido Só podem ser usados entre processos

Leia mais

Volnys Borges Bernal. Agenda. Resolução de Nomes. Introdução à resolução de nomes. Introdução à resolução de nomes

Volnys Borges Bernal. Agenda. Resolução de Nomes. Introdução à resolução de nomes. Introdução à resolução de nomes 2002-2009 Volnys Bernal 1 2002-2009 Volnys Bernal 2 Agenda Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Resolução de nome de protocolo 2002-2009 Volnys Bernal 3 2002-2009 Volnys

Leia mais

ATENÇÃO O TCP/IP não é um protocolo. TCP/IP é um conjunto de diversos protocolos em 04 camadas próprias que se relaciona com o modelo OSI.

ATENÇÃO O TCP/IP não é um protocolo. TCP/IP é um conjunto de diversos protocolos em 04 camadas próprias que se relaciona com o modelo OSI. PROTOCOLOS DE TRANSMISSÃO DE DADOS PROTOCOLO TCP/IP Trata-se da sigla da palavra inglesa Transmission Control Protocol / Internet Protocol ou, simplesmente Protocolo de Controle de Transmissão / Protocolo

Leia mais

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

Introdução à Programação Sockets. Programação Sockets. (c) Volnys Bernal. Agenda. Introdução à Programação Sockets Introdução à 00-00 Volnys Bernal 00-000 Volnys Bernal Agenda Introdução à Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Interface de programação sockets Socket Socket address Par

Leia mais

Protocolos de Rede. Protocolos em camadas

Protocolos de Rede. Protocolos em camadas Protocolos de Rede Prof. Alexandre Beletti Protocolos em camadas Existem protocolos em diferentes camadas dos modelos de estudo (OSI e TCP/IP) Lembre-se de diferencias tipos de programas de tipos de protocolos

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Transporte Parte I Prof. Thiago Dutra Agenda n Parte I n Introdução n Protocolos de Transporte Internet n Multiplexação e n UDP n Parte II n TCP

Leia mais

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

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão Unidade 5 Camada de Transporte e Aplicação Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 5.1 Protocolo UDP 5.2 Protocolo TCP 5.3 Principias Protocolos de Aplicação 5.3.1 SMTP

Leia mais

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

Introdução à Programação Sockets. Programação Sockets. (c) Volnys Bernal. Agenda. Introdução à Programação Sockets 00-006 Volnys Bernal 00-006 Volnys Bernal Agenda Introdução à Programação Sockets Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Interface de programação sockets Socket Socket address

Leia mais

Resumo das Propriedades de UDP e de TCP

Resumo das Propriedades de UDP e de TCP Relembrando... Processos duma aplicação distribuída comunicam via mensagens. O formato e o significado destas mensagens depende do protocolo usado. As mensagens são transportadas entre processos através

Leia mais

Protocolos e Serviços de Redes

Protocolos e Serviços de Redes Protocolos e Serviços de Redes Redes de Computadores Charles Tim Batista Garrocho Instituto Federal de São Paulo IFSP Campus Campos do Jordão garrocho.ifspcjo.edu.br/rdc charles.garrocho@ifsp.edu.br Técnico

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

Prof. Marcelo Cunha Parte 6

Prof. Marcelo Cunha Parte 6 Prof. Marcelo Cunha Parte 6 www.marcelomachado.com ARP (Address Resolution Protocol) Protocolo responsável por fazer a conversão entre os endereços IPs e os endereços MAC da rede; Exemplo: Em uma rede

Leia mais

Estruturas de Comunicação de Dados Aula 3 Camadas de Aplicação e Transporte

Estruturas de Comunicação de Dados Aula 3 Camadas de Aplicação e Transporte Estruturas de Comunicação de Dados Aula 3 Camadas de Aplicação e Transporte Escola Maria Eduarda Ramos de Barros Curso técnico em redes de computadores Carpina - PE Roteiro Aplicações de Rede Transporte

Leia mais

Lista de exercícios - 1º bimestre 2016 REDES

Lista de exercícios - 1º bimestre 2016 REDES Lista de exercícios - 1º bimestre 2016 REDES Jean Nicandros Stragalinos Neto. Prontuário: 1616251. Curso: ADS 2º Módulo. 1) Desenhe duas redes com 7 e 8 computadores e defina a configuração IP de cada

Leia mais

Projeto e Desenvolvimento de Aplicações Cliente / Servidoras Para a INTERNET

Projeto e Desenvolvimento de Aplicações Cliente / Servidoras Para a INTERNET Projeto e Desenvolvimento de Aplicações Cliente / Servidoras Para a INTERNET João Carlos Gluz Canoas, RS, março de 2001 Sumário SUMÁRIO... 2 CAPÍTULO I - O MODELO CLIENTE / SERVIDOR... 4 1.1. MOTIVAÇÃO...

Leia mais

Canais de Comunicação

Canais de Comunicação Canais de Comunicação February 24, 2010 Sumário Comunicação via Mensagens Propriedades dum Canal de Comunicação Protocolos da Internet UDP TCP Aplicação Distribuída O que é? É uma aplicação que consiste

Leia mais

Módulo 3 Nível Transporte

Módulo 3 Nível Transporte Nível Transporte Redes de Computadores - LTIC António Casimiro 2º Semestre 2014/15 Adaptado a partir de: Computer Networking: A Top Down Approach, 6 th edition. Jim Kurose, Keith Ross, Addison Wesley,

Leia mais

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO O MODELO TCP/IP

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO O MODELO TCP/IP UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO O MODELO TCP/IP MARINGÁ 2014 SUMÁRIO 2 O MODELO TCP/IP...2 2.1 A CAMADA DE ENLACE...2

Leia mais

Grupo I [6 v] Considere o processo com a seguinte tabela de páginas: Página Presente Protecção Base 0 0 RW RW R R RW -

Grupo I [6 v] Considere o processo com a seguinte tabela de páginas: Página Presente Protecção Base 0 0 RW RW R R RW - Número: Nome: LEIC/LETI 2014/15-2º Teste de Sistemas Operativos 9/Janeiro/2015 Identifique todas as folhas. Responda no enunciado no espaço fornecido. Justifique todas as respostas. Duração: 1h30m Grupo

Leia mais

Protocolos e Serviços de Redes

Protocolos e Serviços de Redes Protocolos e Serviços de Redes Redes de Computadores Charles Tim Batista Garrocho Instituto Federal de Minas Gerais IFMG Campus Ouro Branco garrocho.github.io charles.garrocho@ifmg.edu.br Sistemas de Informação

Leia mais

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

Sistemas Operacionais II Unix: Memória e E/S. Geraldo Braz Junior Sistemas Operacionais II Unix: Memória e E/S Geraldo Braz Junior Gerenciamento de Memória Gerenciamento de Memória Espaço de Endereçamento 1. Segmento de código Instruções de máquina que formam o código

Leia mais

Redes de Computadores. Protocolos TCP/IP

Redes de Computadores. Protocolos TCP/IP Redes de Computadores Protocolos TCP/IP Sumário 2! Endereços IP (lógicos) Sub-redes! Endereços Ethernet (físicos)! Conversão de endereços IP/Ethernet! Pacotes IP! Números de portos! Segmentos UDP! Segmentos

Leia mais

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

Sockets: Sumário. Resumo das Propriedades de UDP e de TCP Sockets: Sumário Sockets TCP Modêlo. API de Java. API da biblioteca C. Avaliação Crítica de Sockets. 1 Resumo das Propriedades de UDP e de TCP Propriedade UDP TCP Abstracção Mens. Stream Baseado em Conexão

Leia mais

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

UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA ENGENHARIA DE COMPUTAÇÃO UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA ENGENHARIA DE COMPUTAÇÃO ALAN FERNANDO COELHO GARCIA EDUARDO GUILHERME CORDEIRO MECÂNISMO DE

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

TCP/IP Protocolos e Arquiteturas

TCP/IP Protocolos e Arquiteturas TCP/IP Protocolos e Arquiteturas Prof. Airton Ribeiro de Sousa 2016 Introdução ao TCP/IP Para que os computadores de uma rede possam trocar informações entre si, é necessário que todos adotem as mesmas

Leia mais

Rede de computadores Protocolos UDP. Professor Carlos Muniz

Rede de computadores Protocolos UDP. Professor Carlos Muniz Rede de computadores Professor Carlos Muniz User Datagram Protocol O User Datagram Protocol (UDP) é um protocolo simples da camada de transporte. Ele é descrito na RFC 768 [1] e permite que a aplicação

Leia mais

Prof. Mizael Cortez Modelo em camadas Arquitetura TCP/IP Modelo ISO/OSI

Prof. Mizael Cortez Modelo em camadas Arquitetura TCP/IP Modelo ISO/OSI Prof. Mizael Cortez everson.cortez@ifrn.edu.br Modelo em camadas Arquitetura TCP/IP Modelo ISO/OSI A Internet é um sistema extremamente complicado e que possui muitos componentes: inúmeras aplicações e

Leia mais

Redes de Computadores

Redes de Computadores Introdução Inst tituto de Info ormátic ca - UF FRGS s de Computadores NAT/NAPT User Datagram Protocol UDP Introdução a protocolos de aplicação (sockets) Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados

Leia mais

Obter conhecimentos básicos sobre programação socket para desenvolver softwares clientes.

Obter conhecimentos básicos sobre programação socket para desenvolver softwares clientes. Objetivo: Obter conhecimentos básicos sobre programação socket para desenvolver softwares clientes. Atividade 1 Estude, compile, corrija (se necessário) e teste o programa hostbyaddr.c. Modifique o programa

Leia mais

Outline. 33. Manipulação de arquivos DIM

Outline. 33. Manipulação de arquivos DIM Outline 33. Manipulação de arquivos DIM031 015.1 Leitura e escrita 3 s DIM031 33. Manipulação de arquivos 015.1 1 / 4 DIM031 33. Manipulação de arquivos 015.1 / 4 Arquivo = entidade de armazenamento de

Leia mais

Jéfer Benedett Dörr

Jéfer Benedett Dörr Redes de Computadores Jéfer Benedett Dörr prof.jefer@gmail.com Conteúdo Camada 4 Camada de Transporte Objetivo Conhecer o funcionamento da camada de transporte; Apresentar os protocolos UDP e TCP; Aprender

Leia mais