Protocolo de rede Não basta a ligação em hardware; é necessária uma linguagem comum protocolo de comunicações - especificação do formato das mensagens e das condições em que são enviadas IP - Internet Protocol define formato dos pacotes e comportamento dos routers é o mínimo para que um computador se possa ligar à Internet cada computador tem uma cópia do software IP que todas as aplicações de rede usam pacote IP é um datagrama (telegrama de dados) computador A pretende enviar dados para o computador B: A constrói um datagrama, entrega-o à sua rede que se encarrega de o transportar até B e B extrai os dados do datagrama cria-se a ilusão de uma única rede virtual Internet - 1 Implementando uma rede virtual O hardware das várias tecnologias de rede não entende directamente o formato IP cada rede define o seu próprio formato de pacote os datagramas viajam encapsulados em pacotes das redes que atravessam (são os dados destes pacotes) um router recebe um pacote da rede A, retira o respectivo datagrama para obter o endereço, escolhe a rede para onde o enviar e embrulha-o num pacote apropriado para essa rede só a máquina destino abre o datagrama para processar os dados o endereço do pacote pode ser diferente do endereço do datagrama (intermediário) cada máquina tem que ter o seu endereço IP (incluindo os routers) Internet - 2 Endereços Para ligar computadores à Internet é necessário obter endereços da autoridade Internet competente os endereços IPv4 têm 32 bits e escrevem-se como 4 números (0-255) separados por pontos 193.136.28.10 InterNIC FCCN CICA IPv4 tem um máximo teórico de 4G; futuro IPv6 expande atribuição de endereços optimiza a gestão da rede: computadores na mesma rede têm o mesmo prefixo uma máquina, para enviar um pacote para um endereço de outra rede, dirige o pacote ao seu router, que o passa ao router apropriado seguinte, até chegar à rede do destino podem existir caminhos alternativos; escolhe-se, em princípio, o mais curto que está activo Internet - 3 Classes de redes Endereço: <número da rede><número do nó> Classe A B 1º byte Rede Nó 1-126 N N.N H.H.H H.H H C 128-191 192-223 D E 224-239 240-254 N.N.N (multicast) (reservada) Número do nó Gestão local (FEUP: 14 redes classe C) Internet - 4 Perda de pacotes Nível de comutação de pacotes, para ser eficiente, tem que ser simples X um router recebe pacotes e encaminha-os tem alguma memória, capaz de absorver picos de tráfego se saturar, os pacotes a mais perdem-se é necessário reenviar os pacotes perdidos, mas garantir isso não é responsabilidade da camada IP Rede a máx: 5000 XZ YW Rede c Y Rede b Z W Rede d máx: 5000 ? máx: 5000 Internet - 5 Protocolo de transmissão Para transmitir uma mensagem grande é necessário parti-la em pacotes transmitir os pacotes reconstruir a mensagem, assegurando que todos os pacotes chegaram, sem repetições e pela ordem correcta TCP - Transmission Control Protocol garante que a mensagem é correctamente transmitida • promove o reenvio de pacotes perdidos, ao fim de um prazo • reordena os pacotes que se atrasaram por seguirem caminhos mais longos • ignora eventuais pacotes repetidos torna a Internet fiável tão essencial a cooperação com o IP, que o protocolo básico da Internet é muitas vezes designado conjuntamente TCP/IP Internet - 6 Retransmissão de pacotes TCP acrescenta uma identificação dos dados em cada pacote (permite detectar repetidos) quando um pacote chega ao destino, o facto é confirmado à origem por uma pequena mensagem de cada vez que envia dados, o TCP inicia um temporizador se a confirmação chegar dentro do prazo, o temporizador é cancelado, senão reenvia os dados o prazo do temporizador ajusta-se automaticamente segundo a distância do destino e a carga da rede adaptação a circunstâncias variáveis explica a eficiência Internet - 7 Família de protocolos TCP/IP Robustez/flexibilidade Aplicação Telnet, FTP, SMTP, SNMP... Transporte TCP, UDP Rede IP, ICMP (RFC 792), IGMP (RFC 1112) Ethernet, FDDI, ATM... Interface ao meio Internet - 8 Porque funciona bem? IP garante flexibilidade TCP garante fiabilidade exige muito pouco do hardware de rede: WANs ou LANs, rápidas ou lentas, com ou sem perda de pacotes, por rádio, cabo ou fibra as normas são detalhadas e testadas, garantindo compatibilidade tolerante a falhas, reenvio de pacotes perdidos, escolha de caminho monitorização do desempenho da rede adaptação automática à velocidade de transmissão Método de desenvolvimento liberdade de investigação consenso entre os técnicos objectivos práticos impementação e teste como critérios para a normalização Internet - 9 Modelos de computação Computação centralizada Computação distribuída as primeiras redes tinham um computador e vários dispositivos (impressoras, terminais, …) ligados, completamente controlados pelo computador modelo mestre-escravo as redes passam a ter vários computadores com capacidade de processar pacotes comunicação simétrica: qualquer máquina, PC ou mainframe, pode contactar outra máquina (peer-to-peer) computação distribuída refere-se a computação que envolva 2 ou mais computadores a comunicar numa rede Grande diversidade de aplicações na Internet tipo de serviço, intervenientes na comunicação, duração, direcção do fluxo de informação, número de envolvidos Internet - 10 Modelo cliente-servidor Ideia básica: especializar alguns computadores para oferecer serviços; um programa cliente, noutro computador, pode contactar o servidor para lhe fazer um pedido quem comunica são os programas (na Internet, usando TCP/IP) TCP/IP não arranca automaticamente programas de aplicação; programa servidor tem que estar a correr quando chegar o pedido os computadores são multiprogramados Resultado embora cada comunicação seja entre dois programas, um servidor (com várias cópias do mesmo programa) pode satisfazer simultaneamente vários pedidos e um computador pode ser cliente em várias conversas cliente pode fazer um pedido, aguardar pela resposta e terminar ou iniciar uma sessão e ficar a receber informação Internet - 11 Arquitectura cliente-servidor ftp cliente ftp servidor Aplicação TCP TCP Transporte IP IP Rede driver Ethernet driver Ethernet Interface ao Meio Ethernet Internet - 12 Serviço de nomes As pessoas preferem nomes a números DNS - Domain Name System serviço da Internet que faz a correspondência entre um nome associado à máquina e o seu endereço IP tom.fe.up.pt 193.136.28.12 nome tem que ser único; uma máquina pode ter vários nomes O DNS marcou a transição da Internet de um modelo de administração centralizado para um modelo de administração distribuído. hosts.txt (espaço de nomes plano) DNS (espaço de nomes hierárquico) nomes curtos + sufixo Internet - 13 Espaço de nomes root arpa com edu mil fr pt Domínios genéricos Domínios geográficos uminho up fe fc lnec tom calvin.cs.ushef.ac.uk máquina.departamento.organização.tipo_de_org.país Internet - 14 Tradução Servidores de nomes Tal como a generalidade dos serviços da Internet, o DNS é um serviço cliente-servidor. BD programa nome 1 resolver cliente 4 número nslookup - interroga o DNS (Unix) name server 2 3 c a c h e Server remoto Internet - 15 Nomes e números Administração de nomes é feita pela instituição de nível apropriado pt - Governo português + FCCN up - CIUP fe - CICA não há correspondência entre as partes do nome e as partes do número IP Internet - 16 Serviços de navegação São serviços que permitem varrer ou vasculhar documentos em computadores remotos obter texto, som e imagem de uma multiplicidade de fontes mostrar automaticamente a informação recuperada guardar uma cópia no disco local imprimir uma cópia em papel seguir referências para documentos relacionados, dispensando o conhecimento exacto do nome do ficheiro e até da máquina as referências podem mudar de servidor diferentes dos serviços de recuperação (ftp) que se limitam a transferir informação sem a mostrar Internet - 17 gopher Serviço baseado em menús funcionamento do navegador cada linha do menú está associada a outro menú a um ficheiro que é visualizado ou a um programa para executar contacta o servidor (um de cada vez) obtém uma página de informação fecha a ligação mostra a informação as fronteiras do computador diluem-se e o conjunto dos servidores de gopher funcionam como um grande repositório integrado Internet - 18