Redes de computadores: Aplicações Prof. Dr. Amine BERQIA [email protected] http://w3.ualg.pt/~bamine/ Sumário Onde Estamos? Nota Importante Separação de Tarefas O Conceito Cliente/Servidor Application Programming Interface API Exemplos de Aplicações Onde estamos? Nota Importante Embora o Modelo de Referência ISO OSI defina uma camada de sessão e apresentação, elas são na prática frequentemente integradas numa outra camada. Em muitos casos elas simplesmente não são usadas. Separação de Tarefas Rede Transfere bits/bytes Opera a pedido da aplicação Aplicações Que dados a transmitir Quando transmitir os dados Para onde transmitir dados Significado de bits/bytes Cliente/Servidor Características Cliente Inicia duma forma Activa ligações ao servidor Utiliza portas fonte diferentes para cada conexão Servidor Espera Passivamente conexões de clientes Usa o mesmo porto de fonte para todos os clientes Utilização de Portas de Protocolo A Cada serviço é atribuído um número de porta distinta, P, Servidor Informa o Sistema Operativo que está usar a porta P Espera pela chegada de pedidos Cliente Formula pedidos Envia pedido á porta P no computador servidor Portas de protocolo Ideia Básica A cada aplicação é atribuído um identificador de porta distinto. O servidor tem que especificar o identificador quando iniciar a execução (arranque da aplicação). Um cliente tem que especificar o identificador quando pedir ao software de rede para contactar o servidor. O software de protocolo no computador servidor utiliza o identificador para dirigir pedidos à aplicação de servidor correcta. Interagindo com Software de Protocolo Tanto o Cliente como o servidor utiliza protocolos de transporte Software de protocolo reside no SO As Aplicações estão fora do SO Mecanismo para ligar os dois Interface de programação de aplicativos (API) Application Programming Interface Parte do sistema operativo Permite ás Aplicações utilizarem os protocolos Define Operações permitidas Argumentos para cada operação Exemplo API: Sockets Exemplo de Aplicação (1): DNS Comunicação na Internet requer endereços IP Humanos preferem usar nomes para o computador Sistema automatizado disponível para traduzir nomes em endereços Conhecido como Domain Name System (DNS) Especificações Base em RFC 1034 e RFC 1035 Como Funciona o DNS È Dado Nome de um computador É Devolvido O endereço internet de computador (o IP) Método Pesquisa distribuída Clientes contactam o Server conforme necessário Exemplo de Aplicação(2): E-mail Endereço de e-mail texto que especifica caixa de correio destino [email protected] Formato de mensagem de correio cabeçalho identifica remetente, destinatário, conteúdos, formato é palavra chave: informação linha em branco corpo MIME E-mail original estava restringido a texto ASCII Utilizadores desejam enviar ficheiros de imagem ficheiros de áudio programas compilados (binário) Solução Multi-purpose Internet Mail Exchange (MIME) Definido no RFC 1521 e RFC 1522 Exemplo de Aplicação(2): SMTP Simple Mail Transfer Protocol SMTP Definido no RFC 821 Utiliza protocolo TCP Utilzado entre Programa de transferência de correio no computador do remetente Servidor de correio do destinatário Especifica como Cliente interage com o servidor Destinatários são especificados Mensagem é transferida Exemplo de Aplicação(3): TELNET Login Remoto Definido em RFC 854 Permite acesso interactivo a um computador de um local remoto Interface texto Utilizador invoca o cliente especifica computador remoto Cliente inicializa conexão TCP ao servidor Transmite teclas premidas através da conexão exibe resultados em tela Exemplo de Aplicação(4): Protocolo de transferência de ficheiros (FTP) Definido no RFC 959 Cópia completa de ficheiro Utiliza o TCP Suporta transferências de ficheiros binários ou de texto Conjunto extenso de comandos Até 1995, era a fonte principal de pacotes na Internet FTP Exemplo de Aplicação(4): World Wide Web (WWW) Páginas na Web pode conter texto, imagens, objectos embebidos e ligações (links) formato standard é a linguagem HTML ligações (links) usam tags URL transferido utilizando o HTTP Veja http://www.w3c.org para todos os detalhes Protocolo de Transferência de hipertexto (HTTP) Servidor Web disponibiliza páginas Servidor utiliza a porta 80 por defeito Cliente Web (browser) requisita páginas Cria uma conexão TCP ao servidor HTTP assenta em cima do TCP HTTP v1.1 definido no RFC 2068 melhoramento principal em relação á v1.0: única conexão de TCP para múltiplos pedidos de HTTP