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

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

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

Transcrição

1 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 1 Prof. Marcel Santos Silva Aula 10 Lins/SP UDP User Datagram Protocol UDP User Datagram Protocol O protocolo UDP fornece um serviço de transporte que é não-confiável e não orientado à conexão. Orientado a datagrama. Mensagens transmitidas pelo UDP podem: Ser perdidas (sem controle de erros) Duplicadas (sem controle de fluxo) Chegar fora de ordem (sem sequenciamento). As aplicações que usam o UDP são responsáveis pela detecção e correção desses erros. Cabeçalho (Header) UDP Número da porta de origem Número da porta do destino Tamanho (tamanho do frame) Checksum (usado para verificação de erros de transmissão - opcional no UDP) Dados Portas de origem e destino podem ser diferentes UDP User Datagram Protocol Funcionamento do UDP O protocolo TCP fornece um serviço de transporte confiável e orientado à conexão. Aplicação servidora abre uma porta e espera por mensagens das aplicações clientes Portas dos servidores são sempre conhecidas Aplicação cliente envia mensagem para porta aberta pelo servidor Orientado a datagrama IP. Faz controle de erros com retransmissão Controle de fluxo: controla sender para não sobrecarregar o receiver Não há duplicação Sequenciamento. 1

2 Cabeçalho (Header) TCP: identifica os bytes enviados. identifica o tamanho da janela para o controle de fluxo ponteiro para dados urgentes, contidos na área de dados. identifica os bytes que foram recebidos e tratados sem erro pelo destino, e também a sequência do próximo byte esperado. Divide a comunicação em três fases: estabelecimento de conexão; transferência de dados; e Encerramento da conexão. Flags: SYN: solicita conexão FIN: finaliza a conexão RST: reset da conexão ACK: confirma o recebimento Estabelecimento de uma conexão Encerramento de uma conexão Origem PC1 Destino PC2 Origem PC1 Destino PC2 SYN_SENT SYN 1 FIN_WAIT 1 FIN 1 SYN_RCVD ACK 1 CLOSE_WAIT ESTABLISHED SYN 2 + ACK 1 FIN_WAIT 2 FIN 2 + ACK 1 LAST_ACK TIME_WAIT 2 ACK 2 ACK 2 ESTABLISHED CLOSED Várias aplicações podem estar executando simultaneamente em uma mesma máquina Endereço IP identifica uma máquina sem fazer distinção da aplicação que deve receber o datagrama. Utilizado para comunicação interprocessos distribuídos Aplicações cliente-servidor = IP + porta Assim, os protocolos de transporte definem um mecanismo de endereçamento de aplicações. Host: Host: Cada aplicação em uma máquina é identificada por um número inteiro de 16 bits e denominado porta (port number). O par (endereço IP, porta) é denominado socket internet, identifica unicamente uma entidade de aplicação na Internet e é utilizado pelo TCP e UDP para endereçamento de aplicações. Processo Cliente Porta qualquer Porta conhecida Processo Servidor 2

3 UDP Modelo Cliente/Servidor Exemplo de chamadas de sistema necessárias (e a relação entre elas) para implementação de uma aplicação de rede no modelo cliente/servidor sem conexão (UDP). Cliente Servidor UDP WSAStartup( ) WSAStartup( ) TCP Modelo Cliente/Servidor Exemplo no modelo cliente/servidor com conexão (TCP). socket( ) socket( ) bind( ) bind( ) recvfrom( ) sendto( ) envia pedido Bloqueia até receber dados de um cliente Processa pedido recvfrom( ) envia resposta sendto( )... closesocket( )... closesocket( ) A seguir a explicação das principais chamadas de sistema (funções) de manipulação da comunicação. Função: WSAStartup() Inicia o Windows s Dynamic Link (WinSock DLL). Também é usada para confirmar o suporte e a versão do WinSock.DLL. Vamos utilizar a versão mais recente (2.0). WSAStartup(MAKEWORD(2, 0), &wsa_data) A função MAKEWORD retorna um WORD, por exemplo, se quiser usar a versão do WinSock 1.1 é só alterar para MAKEWORD(1, 1). WSAStartup(MAKEWORD(2, 0), &wsa_data) A função retorna 0 se conseguiu inicializar o ambiente winsock. Na ocorrência de erros pode se usar a função WSAGetLastError() para saber mais detalhes. Exemplo de código para verificação: if (WSAStartup(MAKEWORD(2, 0), &wsa_data)!= 0) msg_err_exit("wsastartup() falhou!\n"); O parâmetro wsa_data é um ponteiro para um estrutura WSADATA que receberá os detalhes da implementação do WinSock. Função: socket() Cria o socket. SOCKET WSAAPI socket(int af, int type, int protocol); Parâmetro af especifica a família de protocolos que o socket vai utilizar. A seguir algumas famílias de protocolos suportados pela versão 2.0: AF_INET: para protocolos Internet IPv4; AF_INET6: para protocolos Internet IPv6; AF_NETBIOS: para protocolo NetBIOS; AF_UNIX: Unix Internet Protocols; AF_ISO: ISO Protocols; AF_NS: Xerox Network System Protocols. Função: socket() Cria o socket. SOCKET WSAAPI socket(int af, int type, int protocol); O parâmetro type especifica qual o tipo de socket, ou seja, a semântica de comunicação associada ao socket. Para programação com TCP/IP os tipos mais usados são: SOCK_STREAM: fornece um serviço de stream de bytes confiável e orientado a conexão. Utiliza o protocolo TCP para a família de protocolos AF_INET ou AF_INET6; SOCK_DGRAM: fornece um serviço de datagramas, não confiável e sem conexão. Utiliza o protocolo UDP para a família de protocolos AF_INET ou AF_INET6. 3

4 Função: socket() Cria o socket. SOCKET WSAAPI socket(int af, int type, int protocol); O parâmetro protocol define o protocolo de transporte (TCP ou UDP) a ser utilizado. Geralmente colocamos o valor 0 (zero) para este parâmetro, pois o protocolo é determinado pela combinação dos outros dois parâmetros (af e type). Caso queira especificar o protocolo, a seguir algumas opções: IPPROTO_IP: Internet Protocol (0); IPPROTO_ICMP: Internet Control Message Protocol (1); IPPROTO_IGMP: Internet Group Multicast Protocol (2); IPPROTO_GGP: Gateway-Gateway Protocol (3); IPPROTO_TCP: Transmission Control Protocol (6); IPPROTO_UDP: User Datagrama Protocol (17). Função: socket() Retorna um descritor para o socket criado (socket descriptor) que será usado como parâmetro para todas as outras operações (funções) subsequentes. Em caso de falha será retornado INVALID_SOCKET. Pode-se usar a função WSAGetLastError() para coletar mais detalhes do erro. Exemplo de código para verificação: //criando o socket local para o servidor = socket(af_inet, SOCK_DGRAM, IPPROTO_UDP); if (==INVALID_SOCKET) { //Se ocorreu erro msg_err_exit("socket(): Erro ao criar socket!\n"); Função: bind() Função: bind() Associa um endereço local ao socket anteriormente criado. Isto significa, no contexto da arquitetura Internet, atribuir-lhe um endereço IP (o endereço IP da máquina onde ele foi criado) e uma porta (que identificará a aplicação que solicitou a sua criação). int bind(socket s, const struct sockaddr *addr, int namelen); Parâmetro s é o socket descriptor retornado pela função socket(). Parâmetro addr é um ponteiro para uma estrutura do tipo sockaddr. Parâmetro namelen é o tamanho em bytes da estrutura, use a função sizeof() para isto. Antes de usar a função bind() é preciso conhecer as estruturas sockaddr, sockaddr_in e in_addr. Mas a que utilizamos é a sockaddr_in. Definições da estrutura sockaddr: struct sockaddr { ; u_short sa_family; //address family char sa_data[14]; //address; O item sa_data da estrutura vai depender da família de protocolos utilizada. Para a família de protocolos TCP/IP (AF_INET) deve-se utilizar somente um "endereçamento de internet" no sa_data. Exemplo de código da estrutura sockaddr: local_address.sin_addr.s_addr=htonl(inaddr_any); //zera a estrutura local_address memset(&local_address, 0, sizeof(local_address)); local_address.sin_family = AF_INET; //internet address family local_address.sin_port = htons(local_port); //porta local local_address.sin_addr.s_addr=htonl(inaddr_any); //assume //endereço local É preciso converter os dados antes de enviá-los pela rede. Para isso existem as funções htons() e htonl(): htons(): converte um unsigned short (host-to-network) htonl(): converte um unsigned long (host-to-network) INADDR_ANY faz com que o socket recebe todos os endereços locais dá máquina onde está sendo executado o programa. Por exemplo, se a máquina possui duas placas de rede ( e ), o socket receberá ambos os endereços. Para especificar apenas um IP pode-se utilizar a função inet_addr(). O programa cliente utilizará esta função. 4

5 //interligando o socket com o endereço (local) //registrando no Sistema if (bind(local_socket, (struct sockaddr *) &local_address, sizeof(local_address)) == SOCKET_ERROR){ closesocket(local_socket); msg_err_exit("bind(): Erro ao fazer o bind\n"); A função bind() retornará 0 em caso de sucesso. Caso contrário retornará SOCKET_ERROR. Use WSAGetLastError() para analisar o erro. Função listen() Coloca o socket a espera de conexões. int listen(socket s, int backlog); Parâmetro s é o socket descriptor. Parâmetro backlog indica quantas conexões pendentes o socket pode deixar na fila para serem processadas. O mínimo para o backlog é 1 e o máximo 5. Função listen() Função accept() //coloca o socket para aguardar as conexoes if (listen(local_socket, BACKLOG_MAX) == SOCKET_ERROR) { closesocket(local_socket); msg_err_exit("listen(): Erro ao receber conexão\n"); O retorno da função em caso de sucesso é 0, caso contrário ela retornará um SOCKET_ERROR. Novamente, use a função WSAGetLastError() para analisar o erro. Em caso de erro, deve-se finalizar a aplicação com as funções WSACleanup() e closesocket(). Aceita a conexão quando ela é detectada. SOCKET accept(socket s, struct sockaddr* addr, int* addrlen); Parâmetro s é o socket descriptor. Parâmetro addr é um ponteiro para uma estrutura do tipo sockaddr (igual ao da função bind()), nela a função irá armazenar o endereço (estrutura) da entidade cliente que requisitou a conexão. Caso não precise armazenar as informações do cliente, pode colocar apenas um NULL no lugar. Parâmetro addrlen é um ponteiro onde a função irá colocar o tamanho em bytes da estrutura addr recebida do cliente. Função accept() Função recv() Exemlo de código: remote_socket = accept(local_socket, (struct sockaddr *) &remote_address, &remote_length); if(remote_socket == INVALID_SOCKET) { closesocket(local_socket); msg_err_exit("accept(): Erro ao aceitar conexão\n"); Importante observar que o accept() é bloqueante, ou seja, enquanto o programa estiver no accept() ele ficará parado esperando por uma conexão. A função accept() retorna um socket descriptor, o qual deverá ser utilizado para comunicação com o cliente que acabou de se conectar. Se der algum problema será retornado um INVALID_SOCKET. Recebe os dados de uma conexão. int recv(socket s, char* buf, int len, int flags); Parâmetro s é o socket descriptor associado ao cliente e retornado pela função accept(). Parâmetro buf é o buffer onde serão armazenadas as informações recebidas. Parâmetro len é o tamanho deste buffer. Parâmetro flags indica o modo como serão recebidos os dados. Colocando o valor 0 (zero) ele não fará nenhuma ação especial. 5

6 Função recv() do { //limpa o buffer //recebe a mensagem do cliente message_length = recv(remote_socket, message, BUFFER_SIZE, 0); if(message_length == SOCKET_ERROR) msg_err_exit("recv(): Erro ao receber mensagem\n"); //exibe a mensagem na tela printf("%s: %s\n", inet_ntoa(remote_address.sin_addr), message); while(strcmp(message, FIM_TRANSMISSAO));//sai quando receber by do cliente Função recv() do { //limpa o buffer //recebe a mensagem do cliente message_length = recv(remote_socket, message, BUFFER_SIZE, 0); if(message_length == SOCKET_ERROR) msg_err_exit("recv(): Erro ao receber mensagem\n"); //exibe a mensagem na tela printf("%s: %s\n", inet_ntoa(remote_address.sin_addr), message); while(strcmp(message, FIM_TRANSMISSAO));//sai quando receber by do cliente O recv() retorna o total de bytes recebidos, até o máximo especificado no parâmetro len. Ele retorna 0 (zero) quando a conexão é fechada normalmente. Se der algum erro ele retorna um SOCKET_ERROR. Função inet_ntoa() converte um endereço de Internet escrito no formato de envio pela rede (network) em uma string de endereço formatado nos padrões de Internet com pontos decimais. Função recv() do { //limpa o buffer //recebe a mensagem do cliente message_length = recv(remote_socket, message, BUFFER_SIZE, 0); if(message_length == SOCKET_ERROR) msg_err_exit("recv(): Erro ao receber mensagem\n"); //exibe a mensagem na tela printf("%s: %s\n", inet_ntoa(remote_address.sin_addr), message); while(strcmp(message, FIM_TRANSMISSAO));//sai quando receber by do cliente recv() está dentro de um loop, antes de receber uma mensagem o buffer (variável message no código) deverá ser limpo. Após receber a mensagem, ela é exibida. O loop encerra quando o cliente enviar uma mensagem "by". Função connect() Conecta o cliente ao servidor. int connect(socket s, const struct sockaddr* name, int namelen); Parâmetro s é o descritor do socket criado anteriormente. Parâmetro name deve ser uma estrutura do tipo socketaddr_in com as informações de endereçamento do servidor remoto (preenchida anteriormente). Parâmetro namelen é o tamanho em bytes da estrutura name usada no parâmetro anterior. Função connect() Função send() Responsável por enviar informações ao servidor. if (connect(remote_socket, (struct sockaddr *) &remote_address, sizeof(remote_address)) == SOCKET_ERROR) { msg_err_exit("connect() failed\n"); Se der algum erro a função connect() retorna um SOCKET_ERROR. A função connect() também é bloqueante, enquanto estiver tentando conectar ficará travado. int send(socket s, const char* buf, int len, int flags); Parâmetros são iguais ao da função recv(). O send() retonará o número de bytes enviados, esse número não será maior do que len (e ele não enviará mais do que o especificado em len). Se der um erro ele retornará SOCKET_ERROR. 6

7 Função send() //limpa o buffer printf("msg: "); gets(message); fflush(stdin); message_length = strlen(message); // envia a mensagem para o servidor if (==SOCKET_ERROR) { send(remote_socket, message, message_length, 0) closesocket(remote_socket); msg_err_exit("send() failed\n"); É importante sempre limpar o buffer antes de transmitir as mensagens. Função sendto() Responsável por enviar informações. int sendto(socket s, const char* buf, int len, int flags, sockaddr Remote, int Addrlen); Parâmetro s é o descritor do socket por onde será enviada a mensagem Parâmetro buf é a variável que contém a mensagem a ser enviada. Parâmetro len é o tamanho deste buffer. Parâmetro flags indica o modo como serão enviados os dados. Colocando o valor 0 (zero) ele não fará nenhuma ação especial. Parâmetro Remote é a estrutura que armazena o endereço do destino. Parâmetro Addrlen é a quantidade de bytes da estrutura de endereço. Função sendto() if (sendto(, message, message_length, 0, (struct sockaddr *)&remoteaddr, sizeof(remoteaddr))==socket_error) { closesocket(); msg_err_exit("sendto() failed\n"); O sendto() retonará o número de bytes enviados, esse número não será maior do que len (e ele não enviará mais do que o especificado em len). Se der um erro ele retornará SOCKET_ERROR. Função recvfrom() Responsável por receber informações. int recvfrom(socket s, const char* buf, int len, int flags, sockaddr Remote, int Addrlen); Parâmetro s é o socket descriptor associado ao socket por onde chegarão as informações. Parâmetro buf é o buffer onde serão armazenadas as informações recebidas. Parâmetro len é o tamanho deste buffer. Parâmetro flags indica o modo como serão recebidos os dados. Colocando o valor 0 (zero) ele não fará nenhuma ação especial. Parâmetro Remote é a estrutura que armazena o endereço de quem enviou os dados. Parâmetro Addrlen é a quantidade de bytes da estrutura deste endereço. Função recvfrom() message_length = recvfrom(, message, BUFFER_SIZE, 0, (struct sockaddr *) &remoteaddr, &remoteaddrsize); if(message_length == SOCKET_ERROR) msg_err_exit("recvfrom(): Erro ao receber mensagem\n"); //exibe a mensagem na tela printf("\nservidor>> %s\n", message); Exemplo de uma comunicação cliente/servidor utilizando UDP e TCP O recvfrom() retorna o total de bytes recebidos, até o máximo especificado no parâmetro len. Retorna 0 (zero) quando a conexão é fechada normalmente. Se der algum erro ele retorna um SOCKET_ERROR. 7

8 TCP com servidor concorrente TCP com servidor concorrente Um servidor concorrente usando o protocolo de transporte TCP, é implementado da seguinte forma: - servidor cria o socket; - executa o listen() e fica aguardando conexões de clientes através do accept(); - ao estabelecer uma conexão, o servidor cria uma thread para atender o cliente; - o servidor volta a aceitar conexões enquanto a nova thread processa o pedido anterior. CreateThread () A função CreateThread( ) é responsável por criar uma nova linha de execução (thread). HANDLE WINAPI CreateThread( LPSECURITY_ATTRIBUTES lpthreadattributes, SIZE_T dwstacksize, LPTHREAD_START_ROUTINE lpstartaddress, LPVOID lpparameter, DWORD dwcreationflags, LPDWORD lpthreadid); HANDLE WINAPI CreateThread( LPSECURITY_ATTRIBUTES lpthreadattributes, SIZE_T dwstacksize, LPTHREAD_START_ROUTINE lpstartaddress, LPVOID lpparameter, DWORD dwcreationflags, LPDWORD lpthreadid); HANDLE WINAPI CreateThread( LPSECURITY_ATTRIBUTES lpthreadattributes, SIZE_T dwstacksize, LPTHREAD_START_ROUTINE lpstartaddress, LPVOID lpparameter, DWORD dwcreationflags, LPDWORD lpthreadid); O parâmetro lpthreadattributes é um ponteiro para uma estrutura que determina se o handle retornado poderá ser herdado pelo processo filho. Um valor nulo (NULL ou 0) indica que não poderá ser herdado. O parâmetro dwstacksize indica o tamanho inicial, em bytes, da pilha (stack) que a nova thread utilizará. Se este parâmetro for 0, então a nova thread usará o tamanho padrão para um executável. O parâmetro lpstartaddress é um ponteiro para a função que será executada dentro da nova thread. O parâmetro lpparameter é um ponteiro para uma variável que será passada para a thread. O parâmetro dwcreationflags representa os flags que controlam a criação da nova thread. Dois dos possíveis valores são: 0 indica que a thread executa imediatamente após sua criação; CREATE_SUSPENDED (0x ) neste caso a thread será criada em um estado suspenso e não executará até a função ResumeThread() for chamada. HANDLE WINAPI CreateThread( LPSECURITY_ATTRIBUTES lpthreadattributes, SIZE_T dwstacksize, LPTHREAD_START_ROUTINE lpstartaddress, LPVOID lpparameter, DWORD dwcreationflags, LPDWORD lpthreadid); O parâmetro lpthreadid é um ponteiro para uma variável que receberá o identificador da thread criada. Se este parâmetro for NULL, o identificador na nova thread não será retornado. A seguir o trecho de código onde é criada a nova thread a cada cliente que se conecta ao servidor. Exemplo de um servidor concorrente com TCP. Nesta nova implementação o servidor cria uma nova thread a cada nova conexão, a qual irá atender o referido cliente. DWORD nthreadid; CreateThread(0, 0, processamsgcliente, (void*)remote_socket, 0, &nthreadid); 8

9 - Trabalho De acordo com os conceitos vistos e os exemplos testados no laboratório. Desenvolver um jogo (até três alunos) que utilize o modelo cliente/servidor com os protocolos TCP ou UDP. Opções de jogos: Forca Jogo da Memória Jogo da Velha Batalha Naval Dois ou Um Joquempô Fazer um documento com a especificação e funcionamento do jogo. 9

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

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

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

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

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

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

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

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

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

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

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

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

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

Tecnologia de Redes. Protocolo TCP

Tecnologia de Redes. Protocolo TCP Volnys B. Bernal (c) 1 Tecnologia de Redes Protocolo TCP Transmission Control Protocol Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Volnys B. Bernal (c) 2 Agenda Introdução Pacote

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

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

Camada de rede. Camada de enlace. Meio Físico

Camada de rede. Camada de enlace. Meio Físico Instituto Federal do Pará - IFPA Ricardo José Cabeça de Souza ricardo.souza@ifpa.edu.br 2010 Redes Básicas S-12 Modelo OSI Camada de Transporte Responsável pela transferência eficiente, confiável e econômica

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

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

Transporte. Sua função é: Promover uma transferência de dados confiável e econômica entre máquina de origem e máquina de destino.

Transporte. Sua função é: Promover uma transferência de dados confiável e econômica entre máquina de origem e máquina de destino. Redes de Computadores Transporte Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Camada de transporte Sua função é: Promover uma transferência de dados confiável e econômica

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

Programação em C/C++

Programação em C/C++ OO Engenharia Eletrônica - Programação em C/C++ Slides 20: TCP/IP em Winsocks 2. API do Windows para programar aplicativos que utilizam o protocolo TCP/IP. Prof. Jean Marcelo SIMÃO TCP/IP em Winsocks 2

Leia mais

Redes de Computadores

Redes de Computadores 6. Camada de Transporte DIN/CTC/UEM 2008 Principais Funções Oferece conexão lógica entre duas extremidades da rede Oferece controle fim-a-fim de fluxo e confiabilidade Independente da tecnologia utilizada

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

CAP 312 - PROGRAMAÇÃO DE REDES DE COMPUTADORES ESTRUTURA DO SOFTWARE TCP/IP

CAP 312 - PROGRAMAÇÃO DE REDES DE COMPUTADORES ESTRUTURA DO SOFTWARE TCP/IP A...2 1.O FLUXO DE PACOTES...2 1.O FLUXO DE ENTRADA...2 2.O FLUXO DE SAÍDA...4 2.A MÁQUINA DE ESTADO FINITO DO PROTOCOLO TCP...5 1.O THREE-WAY-HANDSHAKE...9 2.A TROCA DOS DADOS...10 3.FECHANDO A CONEXÃO...10

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

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

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

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

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

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

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

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano. No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano. Essa estratégia foi deixada para trás. Atualmente, o software de rede é altamente

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

Redes de Computadores (RCOMP 2014/2015)

Redes de Computadores (RCOMP 2014/2015) Redes de Computadores (RCOMP 2014/2015) Desenvolvimento de aplicações de rede UDP e TCP 1 Protocolo UDP ( User Datagram Protocol ) Tal como o nome indica, trata-se de um serviço de datagramas, ou seja

Leia mais

Redes. Pablo Rodriguez de Almeida Gross

Redes. Pablo Rodriguez de Almeida Gross Redes Pablo Rodriguez de Almeida Gross Conceitos A seguir serão vistos conceitos básicos relacionados a redes de computadores. O que é uma rede? Uma rede é um conjunto de computadores interligados permitindo

Leia mais

Sistemas Distribuídos (Parte 4 - Aplicação Distribuída)

Sistemas Distribuídos (Parte 4 - Aplicação Distribuída) Unidade de Gestão da Educação Presencial - GEDUP Pós-graduação em Redes de Computadores Sistemas Distribuídos (Parte 4 - Aplicação Distribuída) Prof. Ms. Tomás Dias Sant Ana Varginha, 2006 Sumário 1. INTRODUÇÃO...1

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

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

Camada de Transporte. Protocolos TCP e UDP

Camada de Transporte. Protocolos TCP e UDP Camada de Transporte Protocolos TCP e UDP Protocolo UDP Protocolo de transporte da Internet sem gorduras Serviço best effort, segmentos UDP podem ser: perdidos entregues fora de ordem para a aplicaçã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

Programação TCP/IP. Protocolos TCP e UDP

Programação TCP/IP. Protocolos TCP e UDP Programação TCP/IP Protocolos TCP e UDP Tecnologia em Redes de Computadores Unicesp Campus I Prof. Roberto Leal Visão Geral da Camada de Transporte 2 1 Protocolo TCP Transmission Control Protocol Protocolo

Leia mais

Prof. Luís Rodolfo. Unidade III REDES DE COMPUTADORES E TELECOMUNICAÇÃO

Prof. Luís Rodolfo. Unidade III REDES DE COMPUTADORES E TELECOMUNICAÇÃO Prof. Luís Rodolfo Unidade III REDES DE COMPUTADORES E TELECOMUNICAÇÃO Redes de computadores e telecomunicação Objetivos da Unidade III Apresentar as camadas de Transporte (Nível 4) e Rede (Nível 3) do

Leia mais

CAPÍTULO 6 A CAMADA DE TRANSPORTE

CAPÍTULO 6 A CAMADA DE TRANSPORTE CAPÍTULO 6 A CAMADA DE TRANSPORTE 6.1 OS SERVIÇOS DE TRANSPORTE: 6.1.1 SERVIÇOS OFERECIDOS ÀS CAMADAS SUPERIORES: Tem como objetivo de oferecer um serviço confiável, eficiente e econômico a seus usuários.

Leia mais

29-Aug-07. Histórico. Interfaces e Periféricos Redes como interfaces. Abstração da infraestrutura de rede como interface

29-Aug-07. Histórico. Interfaces e Periféricos Redes como interfaces. Abstração da infraestrutura de rede como interface Interfaces e Periféricos Redes como interfaces Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) Histórico Surgimento e popularização das redes criou a necessidade e oportunidade de usá-las como mecanismo

Leia mais

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Computadores Digitais 2. Prof. Rodrigo de Souza Couto Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista ATENÇÃO Esta apresentação foi retirada e adaptada dos seguintes trabalhos: Notas de aula do Prof. Miguel Campista da

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

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES 09/2013 Cap.3 Protocolo TCP e a Camada de Transporte 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores

Leia mais

Curso: Tec. Em Sistemas Para Internet 1 semestre Redes de Computadores Memória de Aula 07. Prof. Moises P. Renjiffo

Curso: Tec. Em Sistemas Para Internet 1 semestre Redes de Computadores Memória de Aula 07. Prof. Moises P. Renjiffo Curso: Tec. Em Sistemas Para Internet 1 semestre Redes de Computadores Memória de Aula 07 DETALHAMENTO DA CAMADA DE REDE: 1- Endereçamento Físico. MAC Da camada de Enlace. 2- Endereçamento Logico. IP Endereço

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

Um pouco sobre Pacotes e sobre os protocolos de Transporte

Um pouco sobre Pacotes e sobre os protocolos de Transporte Um pouco sobre Pacotes e sobre os protocolos de Transporte O TCP/IP, na verdade, é formado por um grande conjunto de diferentes protocolos e serviços de rede. O nome TCP/IP deriva dos dois protocolos mais

Leia mais

Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação. Associação dos Instrutores NetAcademy - Julho de 2007 - Página

Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação. Associação dos Instrutores NetAcademy - Julho de 2007 - Página Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação 1 Introdução à Camada de Transporte Camada de Transporte: transporta e regula o fluxo de informações da origem até o destino, de forma confiável.

Leia mais

Redes de Computadores. Protocolo TCP/IP Profa. Priscila Solís Barreto

Redes de Computadores. Protocolo TCP/IP Profa. Priscila Solís Barreto Redes de Computadores Protocolo TCP/IP Profa. Priscila Solís Barreto Internet G G G Introdução Protocolo: Conjunto de regras que determinam como o hardware e o software de uma rede devem interagir para

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

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

Comunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais Comunicação Inter-Processos Conceitos Iniciais 1 Características para Comunicação Inter-Processos. Passagem de Mensagem pode ser suportada por duas operações de comunicação (send e receive). A comunicação

Leia mais

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

Redes de Computadores. Arquitetura de Protocolos Profa. Priscila Solís Barreto Redes de Computadores Arquitetura de Protocolos Profa. Priscila Solís Barreto REDE... Um sistema de comunicações para conectar sistemas finais Sistemas finais? =hosts PCs, estações de trabalho componentes

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

Universidade Federal de São Carlos Departamento de Computação. Sistemas Operacionais. Gerenciamento de Threads no Windows

Universidade Federal de São Carlos Departamento de Computação. Sistemas Operacionais. Gerenciamento de Threads no Windows Universidade Federal de São Carlos Departamento de Computação Sistemas Operacionais Gerenciamento de Threads no Windows Gerenciamento de Processo Um sistema operacional envolve atividades assíncronas e

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática 90 minutos * 24.05.2013 =VERSÃO A= 1 1. Esta teste serve como avaliação de frequência às aulas teóricas. 2. Leia as perguntas com atenção antes de responder. São 70 perguntas de escolha múltipla. 3. Escreva

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

1. PRINCIPAIS PROTOCOLOS TCP/IP

1. PRINCIPAIS PROTOCOLOS TCP/IP 1. PRINCIPAIS PROTOCOLOS TCP/IP 1.1 IP - Internet Protocol RFC 791 Esse protocolo foi introduzido na ARPANET no início dos anos 80, e tem sido utilizado juntamente com o TCP desde então. A principal característica

Leia mais

Comunicação através da API sockets sobre TCP/IP

Comunicação através da API sockets sobre TCP/IP Capítulo 5 Comunicação através da API sockets sobre TCP/IP When writing communications code, everything can and does fail Victor R. Volkman 1 TCP/IP ("Transmission Control Protocol / Internet Protocol")

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

Camada de Transporte. BCC361 Redes de Computadores Universidade Federal de Ouro Preto Departamento de Ciência da Computação

Camada de Transporte. BCC361 Redes de Computadores Universidade Federal de Ouro Preto Departamento de Ciência da Computação BCC361 Redes de Computadores Universidade Federal de Ouro Preto Departamento de Ciência da Computação Prof. Reinaldo Silva Fortes www.decom.ufop.br/reinaldo 2012/01 Camada Nome 5 Aplicação 4 Transporte

Leia mais

Camada de Transporte. Agenda. Tópicos. Serviços oferecidos... O serviço de transporte

Camada de Transporte. Agenda. Tópicos. Serviços oferecidos... O serviço de transporte BCC361 Redes de Computadores Universidade Federal de Ouro Preto Departamento de Ciência da Computação Prof. Reinaldo Silva Fortes www.decom.ufop.br/reinaldo 2012/01 Camada Nome 5 Aplicação 4 Transporte

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

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

Tutorial de Sockets - Parte I Por: Frederico Perim

Tutorial de Sockets - Parte I Por: Frederico Perim Tutorial de Sockets - Parte I Por: Frederico Perim O que é um Socket? Você já deve ter ouvido faler sobre Sockets e talvez esteja imaginando do que se trata exatamente. Bem, resumindo: através de Sockets

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

Tópicos em Sistemas Distribuídos. Modelos de Comunicação

Tópicos em Sistemas Distribuídos. Modelos de Comunicação Tópicos em Sistemas Distribuídos Modelos de Comunicação Comunicação em SD Comunicação entre processos Sockets UDP/TCP Comunicação em grupo Broadcast Multicast Comunicação entre processos Conceitos básicos

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

genérico proteção de rede filtragem dos pacotes Sem estado (stateless) no próprio pacote. Com estado (stateful) outros pacotes

genérico proteção de rede filtragem dos pacotes Sem estado (stateless) no próprio pacote. Com estado (stateful) outros pacotes FIREWALLS Firewalls Definição: Termo genérico utilizado para designar um tipo de proteção de rede que restringe o acesso a certos serviços de um computador ou rede de computadores pela filtragem dos pacotes

Leia mais

Redes de Computadores. Trabalho de Laboratório Nº7

Redes de Computadores. Trabalho de Laboratório Nº7 Redes de Computadores Curso de Eng. Informática Curso de Eng. de Electrónica e Computadores Trabalho de Laboratório Nº7 Análise do tráfego na rede Protocolos TCP e UDP Objectivo Usar o Ethereal para visualizar

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

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

Teleprocessamento e Redes

Teleprocessamento e Redes Teleprocessamento e Redes Aula 23: (laboratório) 13 de julho de 2010 1 2 3 ICMP HTTP DNS TCP 4 nslookup Sumário Permite fazer requisições a um servidor DNS O nslookup envia uma requisição para o servidor,

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

INTERNET = ARQUITETURA TCP/IP

INTERNET = ARQUITETURA TCP/IP Arquitetura TCP/IP Arquitetura TCP/IP INTERNET = ARQUITETURA TCP/IP gatewa y internet internet REDE REDE REDE REDE Arquitetura TCP/IP (Resumo) É útil conhecer os dois modelos de rede TCP/IP e OSI. Cada

Leia mais

Tecnologia de Redes de Computadores

Tecnologia de Redes de Computadores Tecnologia de Redes de Computadores Prof. Sidney Nicolau Venturi Filho 31. CAMADA DE TRANSPORTE Camada de Transporte Camada de Transporte Funções da camada controle de fluxo fim-a-fim sequênciação detecção

Leia mais

Endereços de transporte TPDU. Nível de Rede Endereço de rede. Figura 1. Entidade de transporte

Endereços de transporte TPDU. Nível de Rede Endereço de rede. Figura 1. Entidade de transporte 24 A CAMADA DE TRANSPORTE O nível de transporte é o coração da pilha de protocolos Sua tarefa é prover transporte confiável e eficiente de dados de uma máquina origem para uma máquina destino, independente

Leia mais

INTRODUÇÃO ÀS REDES DE COMPUTADORES

INTRODUÇÃO ÀS REDES DE COMPUTADORES INTRODUÇÃO ÀS REDES DE COMPUTADORES CAMADA DE TRANSPORTE Teresa Vazão 2 INTRODUÇÃO Fiabilidade na net.. 1973 Vincent Cerf and Robert Kahn: Inventores do protocolo TCP Vincent Cerf é o Chief Internet- Evangelist,

Leia mais

Programação em Rede Baseada em Java. Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída www.dca.ufrn.

Programação em Rede Baseada em Java. Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída www.dca.ufrn. Programação em Rede Baseada em Java Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída www.dca.ufrn.br/~affonso/cursos Definiçõs Básicas Uma rede é um conjunto de computadores

Leia mais

Redes de Computadores I. Introdução a Programação com Sockets em C# Prof. Marcelo Charan

Redes de Computadores I. Introdução a Programação com Sockets em C# Prof. Marcelo Charan Redes de Computadores I Introdução a Programação com em C# Prof. Marcelo Charan C# - Programação via As classes de rede do Framework.NET foram concebidas para prover interfaces amigáveis à API nativa dos

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

Sockets com Java Parte I

Sockets com Java Parte I Sockets com Java Parte I Neste artigo veremos como desenvolver aplicações em Java que podem comunicar-se via rede local ou via internet, usando sockets. Leia mais em: Sockets com Java Parte I http://www.devmedia.com.br/sockets-com-java-parte-i/

Leia mais

Protocolos de Comunicação

Protocolos de Comunicação Protocolos de Comunicação Faculdades Santa Cruz TRC4SA Professor Guerra 2 2o Bimestre 3 Aplicações e Transporte TCP/IP O TCP/IP é uma combinação de dois protocolos individuais. O IP opera na camada 3 e

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES O QUE É PROTOCOLO? Na comunicação de dados e na interligação em rede, protocolo é um padrão que especifica o formato de dados e as regras a serem seguidas. Sem protocolos, uma rede

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

Redes de Computadores. TCP Orientação à Conexão. Prof. Othon M. N. Batista (othonb@yahoo.com) Mestre em Informática

Redes de Computadores. TCP Orientação à Conexão. Prof. Othon M. N. Batista (othonb@yahoo.com) Mestre em Informática Redes de Computadores TCP Orientação à Conexão Prof. Othon M. N. Batista (othonb@yahoo.com) Mestre em Informática Tópicos Orientação à Conexão Estabelecimento de Conexão Diagrama de Estudo de Caso Wireshark

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

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

3) Na configuração de rede, além do endereço IP, é necessário fornecer também uma máscara de subrede válida, conforme o exemplo:

3) Na configuração de rede, além do endereço IP, é necessário fornecer também uma máscara de subrede válida, conforme o exemplo: DIRETORIA ACADÊMICA DE EDUCAÇÃO E TECNOLOGIA COORDENAÇÃO DOS CURSOS DA ÁREA DE INFORMÁTICA! Atividade em sala de aula. 1) A respeito de redes de computadores, protocolos TCP/IP e considerando uma rede

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

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Segundo Bimestre

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Segundo Bimestre Exercícios de Revisão Redes de Computadores Edgard Jamhour Segundo Bimestre Exercicio 1: Considere a seguinte configuração de rede estruturada em VLANs 220.0.0.2/24 C VLAN 2 B VLAN 1 A VLAN 1 VLAN 1,2,3

Leia mais

Camada de rede: IP. Cabeçalho IP, encaminhamento de pacotes IP, sub-redes, máscara de sub-redes e processos de cálculo, NAT e PAT, futuro do IPv4.

Camada de rede: IP. Cabeçalho IP, encaminhamento de pacotes IP, sub-redes, máscara de sub-redes e processos de cálculo, NAT e PAT, futuro do IPv4. Camada de rede: IP Cabeçalho IP, encaminhamento de pacotes IP, sub-redes, máscara de sub-redes e processos de cálculo, NAT e PAT, futuro do IPv4. Internet Rede 2 Rede 1 Internet Rede 4 Rede 3 Rede 5 O

Leia mais