Buscar

03_Camada_Protocolo_Aplicação

Prévia do material em texto

21/03/2024
1
REDES DE COMPUTADORES: 
APLICAÇÃO E TRANSPORTE
Camada e Protocolos de aplicação
Camada de aplicação
Metas:
• Aprender aspectos conceituais e de 
implementação de protocolos de 
aplicação em redes
– Paradigma cliente /servidor
– Modelos de serviço
• Aprender sobre protocolos através do 
estudo de protocolos populares do 
nível da aplicação
Conhecer...
• ...protocolos específicos:
– http
– ftp
– smtp
– pop
– dns
• ...a programação de aplicações de 
rede.
– Programação usando sockets
1
2
21/03/2024
2
Camada de aplicação
• É a camada mais próxima dos usuários
• Nas demais camadas, existem 1 ou 2 protocolos principais
• Na camada de aplicação, existem vários protocolos, um para cada tipo de serviço
• Além disso, um serviço de rede pode fazer uso de mais de um protocolo
• Ex.: o serviço de e-mail pode utilizar os protocolos SMTP, POP e IMAP
Camada de aplicação
• Aplicações de rede são a “razão de 
ser” de uma rede de computadores
– Qual a necessidade de projetar 
uma rede se não existissem 
aplicações que fossem usá-la?
• Aplicações de rede são distribuídas em 
dois ou mais sistemas finais
application
transport
network
data link
physical
application
transport
network
data link
physical
application
transport
network
data link
physical
3
4
21/03/2024
3
Camada de aplicação
application
transport
network
data link
physical
application
transport
network
data link
physical
application
transport
network
data link
physical
• Aplicações comunicam-se através de 
troca de mensagens
– Ex.: Correio eletrônico, transferência
de arquivos, WWW, login remoto, 
voz, etc...
– As aplicações de rede têm
protocolos da camada de aplicação
que definem detalhes desta
comunicação via troca de 
mensagens
Protocolos de aplicação
• Protocolos da camada de aplicação:
– Não são a aplicação.
– APENAS uma “parte” da aplicação.
– Define mensagens trocadas por aplicações e ações tomadas em sua resposta.
– Usam serviços providos por protocolos de camadas inferiores
Os processos em dois sistemas diferentes comunicam-se entre si, trocando mensagens através da rede de 
computadores.
Um processo de emissão cria e emite mensagens na rede; um processo de recepção recebe estas 
mensagens e responde possivelmente emitindo mensagens de volta.
5
6
21/03/2024
4
Como os processos trocam mensagens
• Um protocolo da camada de aplicação define como os processos de aplicação, funcionando em 
sistemas de extremidade diferentes.
• Detalhadamente, um protocolo da camada de aplicação define:
– Os tipos de mensagens trocadas, por exemplo, mensagens do pedido e mensagens de 
resposta.
– A sintaxe dos vários tipos de mensagem, tais como os campos na mensagem e como os 
campos são delineados.
– A semântica dos campos, isto é, o significado da informação nos campos.
– As regras para determinar quando e como um processo emite mensagens e responde às 
mensagens.
Aplicações de rede
• Um processo é um programa que roda num host.
– Dois processos no mesmo host se comunicam
usando comunicação entre processos
(interprocess comunnication), definida pelo
sistema operacional (SO).
– Dois processos em hosts distintos se 
comunicam usando um protocolo da camada
de aplicação
Um agente de usuário (UA) é 
uma interface entre o usuário 
e a aplicação de rede.
• WWW: browser.
• Correio: leitor/compositor
de mensagens
• Streaming audio/video:
tocador (player) de mídia
7
8
21/03/2024
5
Paradigma cliente-servidor
• Existem 2 figuras: cliente e servidor
• Cliente: solicita um serviço
• Ex.: leitor de correio eletrônico
• Servidor: recebe, processa e responde
• Ex.: servidor de correio
Camada de aplicação
• API - Aplication Program Interface:
– Interface de programação de aplicações
• Define a interface entre a aplicação e camada de transporte.
• Socket (= tomada) : API da Internet
– Dois processos se comunicam enviando dados para um socket , ou lendo dados 
de um socket.
9
10
21/03/2024
6
Comunicação pelos sockets
• Os dois processos comunicam-se entre si emitindo e recebendo mensagens através de seus 
sockets.
• O socket de um processo pode ser pensado como a porta do processo:
• Um processo emite e recebe mensagens da rede, através de seus sockets.
• Quando um processo quer emitir uma mensagem a um outro processo em um outro 
host, empurra a mensagem para fora de sua porta.
• O processo supõe que há um infra-estrutura de transporte no outro lado da porta, a 
qual transportará a mensagem até a porta do processo do destino.
Como um processo identifica outro ?
• Pergunta: Como um processo pode “identificar”o outro processo com o qual quer se 
comunicar?
• Endereço IP do host do outro processo.
• Por enquanto: basta saber que o IP ADDRESS é um valor de 32-bits que identifica 
unicamente o sistema de extremidade. Mais precisamente, identifica unicamente a 
interface (placa) que conecta esse host à Internet. Ex. 200.145.9.9
• “Número de porta” : permite que o hospedeiro receptor determine a qual processo deve 
ser entregue a mensagem. Exemplo: Porta 80/TCP.
• Ex. 200.145.9.9:80 (Ver RFC 1700 - Portas well-known)
11
12
21/03/2024
7
Que serviços de transporte a aplicação precisa?
• Quando se desenvolve uma aplicação, deve-se escolher um dos protocolos 
disponíveis do transporte.
• Como você faz esta escolha? 
• Estuda-se os serviços fornecidos pelos protocolos disponíveis do transporte, 
e escolhe-se o protocolo com os serviços que melhor se adaptem às 
necessidades de sua aplicação.
Perda de dados:
• Algumas aplicações (por
exemplo áudio) podem tolerar
algumas perdas.
• Outras (por exemplo, 
transferência de arquivos, 
telnet) exigem transferência
100% confiável
Temporização:
• Algumas aplicações (por 
exemplo, telefonia em
Internet, jogos interativos)
requerem baixo retardo para 
serem “viáveis”.
Largura de banda:
• Algumas aplicações (por exemplo , multimídia) requerem quantia 
mínima de banda para serem “viáveis”.
• Outras aplicações (“elásticas”) conseguem usar qualquer quantia
de banda disponível.
Que serviços de transporte a aplicação precisa?
13
14
21/03/2024
8
Requisitos do serviço de transporte de aplicações comuns
Aplicação Perdas Banda Sensibilidade temporal
transferência de arqs sem perdas elástica não
correio sem perdas elástica não
documentos WWW sem perdas elástica não
áudio/vídeo de tempo real tolerante
áudio: 5Kb-1Mb | 
vídeo:10Kb-5Mb
sim, décimos de seg.
áudio/vídeo gravado tolerante como anterior sim, alguns seg.
jogos interativos tolerante > alguns Kbps sim, décimos de seg.
apps financeiras sem perdas elástica sim e não
Serviços providos por protocolos de transporte Internet
• Serviço TCP:
• Orientado a conexão: 
estabelecimento exigido entre 
cliente e servidor.
• Transporte confiável entre 
processos emissor e receptor.
• Controle de fluxo: emissor não vai 
“afogar” receptor.
• Controle de congestionamento: 
estrangular emissor quando a rede 
está carregada.
• Serviço UDP:
• Não orientado a conexão
• Transferência de dados não 
confiável entre processos 
remetente e receptor.
• Não provê: estabelecimento da 
conexão, confiabilidade, controle 
de fluxo, controle de 
congestionamento, garantias 
temporais ou de banda mínima.
• Pergunta-se: Qual é o interesse em 
ter um UDP?
15
16
21/03/2024
9
Aplicações Internet: seus protocolos e seus protocolos de 
transporte
Aplicação Protocolo da camada de app. Protocolo de transporte usado
Correio eletrônico smtp [RFC 821] TCP
Acesso terminal remoto telnet [RFC 854] TCP
WWW http [RFC 2068] TCP
Transferência de arquivos ftp [RFC 959] TCP
streaming multimídia proprietário (Ex: RealNetworks) TCP ou UDP
Servidor de arquivo remoto NFS TCP ou UDP
Telefonia Internet proprietário (Ex: Volcatec) tipicamente UDP
Prof. Márcio Garcia Martins
marciog@unisinos.br
Para anotar: ao enviar e-mail sempre coloque o 
seguinte prefixo no assunto
[RC:AT-ano-semestre] – Nome do aluno
17
18
	Slide 1: REDES DE COMPUTADORES: APLICAÇÃOE TRANSPORTE 
	Slide 2: Camada de aplicação
	Slide 3: Camada de aplicação
	Slide 4: Camada de aplicação
	Slide 5: Camada de aplicação
	Slide 6: Protocolos de aplicação
	Slide 7: Como os processos trocam mensagens
	Slide 8: Aplicações de rede
	Slide 9: Paradigma cliente-servidor
	Slide 10: Camada de aplicação
	Slide 11: Comunicação pelos sockets
	Slide 12: Como um processo identifica outro ?
	Slide 13: Que serviços de transporte a aplicação precisa?
	Slide 14: Que serviços de transporte a aplicação precisa?
	Slide 15: Requisitos do serviço de transporte de aplicações comuns
	Slide 16: Serviços providos por protocolos de transporte Internet
	Slide 17: Aplicações Internet: seus protocolos e seus protocolos de transporte
	Slide 18

Continue navegando