Redes de Comunicação - MÓDULO 6 - PDF
Document Details
Uploaded by SpiritualVignette8307
Tags
Related
Summary
Este documento apresenta conceitos introdutórios sobre redes de comunicação, incluindo a arquitetura cliente-servidor, serviços e servidores, gestão de acessos e formação de endereços IP e portas. Aborda também os protocolos TCP e UDP, descrevendo seus usos em aplicações informáticas.
Full Transcript
REDES DE COMUNICAÇÃO GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS MÓDULO6 PROGRAMAÇÃO DE SISTEMAS DE INFORMAÇÃO 1.1 Clientes e servidores Vantagens da arquitetura cliente servidor Cent...
REDES DE COMUNICAÇÃO GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS MÓDULO6 PROGRAMAÇÃO DE SISTEMAS DE INFORMAÇÃO 1.1 Clientes e servidores Vantagens da arquitetura cliente servidor Centralidade – dados protegidos no mesmo lugar Proteção – dados protegidos por ferramentas de segurança Escalabilidade – Remover / adicionar clientes sem afetar operacionalidade Administração – clientes requerem pouca administração 1.2 Serviços e servidores Um servidor é um prestador de serviços dos quais o cliente usufrui As aplicações em execução no cliente trocam informação com o servidor camada de transporte do modelo TCP/IP Portas associadas a esse transporte Socket – estrutura de ligação cliente / servidor 1.3 Gestão de acessos Servidor permite acesso a vários clientes em simultâneo Vários clientes podem realizar operações em simultâneo As operações realizadas pelos clientes têm que ser tratados de modo diferenciado pelo servidor 2.1 Formação de endereços IP O endereço IP é o equivalente ao nosso bilhete de identidade/cartão do cidadão, neste caso serve para identificar equipamentos (computadores, routers, switchs, PDA's, etc) ligados a uma rede. Um IP é constituído por 32 bits, isto é, 4 x 8bit (4 octetos) separados por pontos x.x.x.x. Ex.: 10101001.10101010.11111111.10000000 Existem apenas dois tipos de redes: rede pública e as redes privadas. Contudo, apenas os IP's públicos têm de ser únicos, já que podemos ter em nossa casa um computador com o IP privado 10.0.0.1 e este existir milhões de vezes em redes privadas diferentes sem que exista conflito. Em geral um servidor conta sempre com um IP fixo para tornar a sua descoberta mais rápida. Por outro lado, os computadores clientes, como é o nosso caso relativamente aos nossos ISP, temos quase sempre um IP dinâmico que apenas é único por sessão 2.1 Formação de endereços IP Os IP's encontram-se divididos por classes (oportunamente explicaremos a razão desta divisão). Na tabela fazem-se referência a 4 classes distintas. As classes D e E são classes especiais. Não podem ser utilizadas para identificar redes ou computadores. A classe D está reservada para Multicast e a classe E para futuras utilizações. Da gama de IP's acima apresentada, parte dela, está reservada para redes privadas. Vejamos de seguida a tabela referente à gama de IP's privados. 2.1 Formação de endereços IP Tabela de endereços privados Nesta tabela existe um endereço, que apesar de ser de classe B não é identificado como tal, já que poderia levar a alguma confusão. Estamos a falar dos IP's da gama 169.254.xxx.xxx que existem para autoconfiguração do link local, isto é, quando o host está configurado para receber o seu IP através de DHCP e não encontra na rede quem lhe forneça IP. Assim, por defeito, o host receberá um IP desta gama (IP atribuído quando menciona rede sem conectividade ou limitada). 2.1 Formação de endereços IP De seguida, encontram-se as gamas de IP's que não devem ser utilizados: 2.1 Formação de endereços IP Um endereço IP divide-se em duas partes: identificadora de Network (rede) e identificadora de hosts (máquinas) 2.2 Portas As aplicações cliente servidor distinguem o tráfego que lhes és destinado através da porta que utilizam, o que permite que várias aplicações utilizem o mesmo IP. Tanto o TCP como o UDP dispõem cada um de 65.536 portas. Destas, de 0 a 1023 consideram-se Well, Known Ports (WKP), visto encontrarem--se já atribuídas a aplicações. Vejamos alguns exemplos. 2.2 Portas UDP O protocolo de transporte utilizado para aplicações em tempo real, já que privilegia a velocidade e a simplicidade (cabeçalhos pequenos), não sendo orientado à ligação. Não garante a entrega dos pacotes ao destino, que chegam ordenados, nem faz controlo de erros ou congestionamento. Por estas razões diz-se fornecer um serviço não fiável. TCP O protocolo de transporte utilizado em aplicações como email e transferência de ficheiros orientado à ligação (Fig.2) Assim, não só se garante a entrega dos pacotes ao destino, mas também que estes cheguem ordenados. Este protocolo aplica também controlo de erros e congestionamento. É classificado como um serviço fiável. 2.3 Resolução de endereços IP Broadcast Storm Sucede quando um computador numa rede envia uma mensagem para a toda a rede. Um excesso de broadcast numa rede pode comprometer o funcionamento e o desempenho de uma rede. Para que as estações não necessitem de estar constantemente a enviar mensagens em Broadcast, guardam em forma de tabela os IP's e respetivos MAC Address acedidos (Tabela ARP). bem como os das estações que lhe acederam recentemente. A partir do momento em que o computador de destino não se encontra na mesma rede é necessária a intervenção de um equipamento da 3, ou seja, de um router. Este tem de descobrir por onde encaminha informação que recebeu. Baseando-se no IP de destino, o router. 2.3 Resolução de endereços IP ARP – (Address Resolution Protocol) Associa um endereço físico a um endereço virtual Broadcast a Máquina questionar qual correspondente estação com IP responde em xxx.xxx.xxx.xxx unicast Máquina As duas pretende máquinas podem comunicar então comunicar CONCEITO DE SOCKET Sockets são utilizados nas redes entre programas cliente-servidor. Usados na camada de transporte por protocolos como o TCP e o UDP funcionam como a terminação numa ligação. Cada aplicação tem uma porta associada. Por sua vez, a aplicação corre num computador que tem um endereço IP. Um socket representa o conjunto dessas duas informações. SOCKET = ENDEREÇO IP + PORTA SOCKETS EM TCP Independentemente da linguagem escolhida para a criação de Sockets, o PhP segue os passos normais, tal como as demais linguagens, para a sua utilização. Basicamente, são necessários quatro passos para criar um SOCKET TCP NUM SERVIDOR. 1. Criação do Socket TCP; 2. União entre o Socket criado em 1 com um IP e uma porta; 3. Esperar por clientes; 4. Aceitar clientes. Do lado do cliente o processo é idêntico mas mais simples. Vejamos: SOCKET TCP NUM CLIENTE. 1. Criação do Socket TCP; 2. Estabelecimento de ligação com o servidor; A partir deste momento é possível trocar informação com o servidor usando as funções para esse efeito. No final o Socket deverá ser destruído. SOCKETS EM TCP IP origem Porta origem IP destino Porta destino Só um cliente acede ao mesmo socket, porque é analisada a origem do pedido SOCKETS EM TCP Um socket é a ligação ao sítio correto que permite, no caso dos computadores, a comunicação entre dois processos (aplicações) a correr em máquinas distintas de uma rede (poderia ser na própria máquina mas esta situação não tem interesse para a disciplina). Basicamente resume-se à forma como o software comunica entre si. Apenas desta forma é possível que um computador corra mais do que uma aplicação Web em simultâneo sem que estas entrem em conflito SOCKETS EM TCP Principais funções para utilizar um socket com o protocolo TCP Socket_create() Cria o socket Parâmetros: AF_INET Utilização do protocolo IPV4 SOCK_STREAM Aplicação orientada à ligação SOL_TCP Utilização do protocolo TCP Socket_bind() une o socket criado a um determinado IP e porta Socket_listen() aguarda por um pedido de ligação Socket_accept() aceita a ligação Socket_shutdown() termina a comunicação Socket_close() Fecha o socket SOCKETS EM UDP Sockets em UDP Socket UDP num servidor. 1. Criação do Socket UDP; 2. União entre o Socket criado em 1 com um IP (Localhost) e uma porta. O processo é mais simples do que aquele que foi utilizado para a criação de Sockets em TCP. Isso resulta do facto do UDP não ser orientado à ligação. Em UDP, o mesmo Socket permite a ligação a várias máquinas. Do lado do cliente o processo é exatamente o mesmo. Socket UDP num cliente. 1. Criação do Socket UDP; 2. União entre o Socket criado em 1 com um IP (Localhost) e uma porta (utilizada no servidor). SOCKETS EM UDP Sockets em UDP IP destino Porta destino Comparação do processo de criação de socket nos dois protocolos (TCP e UDP) Protocolo UDP Protocolo TCP São necessários 2 passos para criar um socket UDP num servidor. São necessários quatro passos para criar um Socket TCP num servidor. 1. Criação do Socket UDP; 1. Criação do Socket TCP; 2. União entre o Socket criado em 1 com um IP (Localhost) e uma 2. União entre o Socket criado em 1 com um IP e uma porta; porta. 3. Esperar por clientes; 4. Aceitar clientes. Do lado do cliente o processo é exatamente o mesmo. Do lado do cliente o processo é idêntico mas mais simples. Vejamos: 1. Criação do Socket UDP; 1. Criação do Sockes TCP; 2. União entre o Socket criado em 1 com um IP (Localhost) e uma 2. Estabelecimento de ligação com o servidor. porta (utilizada no servidor). A partir deste momento é possível trocar informação com o servidor usando as funções para esse efeito. No final o Socket deverá ser destruido. SOCKETS EM UDP DIFERENÇA ENTRE CRIAÇÃO DE SOCKETS COM O PROTOCOLO TCP E UDP SOCKETS EM UDP SOCKETS EM UDP SOCKETS EM UDP SOCKETS EM UDP