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
Download

Exemplo de Aplicação