A Camada de
Aplicação

Redes de Computadores Integrantes: Antônio Anderson - 422029 Felipe Barros - 412983 Gustavo Marques - 414465 João Batista - 414644 Pedro Víctor - 417338

Arquiteturas de
Aplicação de Rede

Cliente Servidor
P2P
Cliente Servidor
Arquiteturas de
Aplicação de Rede

Cliente Servidor
ex:
Arquiteturas de
Aplicação de Rede

Peer to Peer (P2P)
Arquiteturas de
Aplicação de Rede

Peer to Peer (P2P)
ex:
Arquiteturas de
Aplicação de Rede

Comunicação entre Processos

Processos
Programas que são executados nos sistemas finais
Comunicação entre Processos

Processos Clientes e processos Servidores
No contexto de uma sessão de comunicação entre um par de processos, aquele que inicia a comunicação é rotulado de Cliente.
O que espera ser contatado para iniciar a sessão é o servidor.
A interface Processo - Rede

Socket
Interface entre a camada de aplicação e a de transporte dentro de um hospedeiro.
É também denominado interface de programação da aplicação (API) entre a aplicação e a rede
Endereçando processos

-
O endereço do hospedeiro (IP)
- Um identificador que especifica o processo receptor no hospedeiro de destino (nº de porta)
ex:
Um servidor Web é identificado pelo número de porta 80.
Um processo servidor de correio (usando o protocolo SMTP) é identificado pelo número de porta 25.
Serviços de transporte disponíveis para aplicações

Protocolos da camada de transporte têm a responsabilidade de levar as mensagens de uma API a outra.
Muitos protocolos disponíveis, quais escolher?
Serviços de transporte disponíveis

Necessidades da Aplicação
X
Serviços disponíveis no protocolo
Analisar:
Analogia
-
Necessidade: Se deslocar do CC à Humberto Monte
-
Protocolos: Pegar o interno, ir a pé
-
Interno: Mais rápido, 7% de chances de ir sentado
-
A pé: Mais calmo, brisa do Açude da Agronomia
Quais serviços podem ser oferecidos?
Serviços de transporte disponíveis

Serviços de protocolos divididos em quatro dimensões
-
Transferência confiável de dados
-
Vazão
-
Temporização
-
Segurança
Serviços de transporte disponíveis

Transferência confiável de dados
Um pacote pode esgotar um buffer, ser descartado por um host ou um roteador
Ex.: aplicações financeiras, dados não podem ser perdidos
Recebimento de dados é garantido
O processo remetente é passado a API com a absoluta certeza de que chegará ao processo destinatário sem erros
Aplicações tolerantes a perda não
precisam desse serviço
Serviços de transporte disponíveis

Vazão
Vazão é a taxa pela qual o processo remetente pode enviar bits ao processo destinatário em bits/s.
No serviço de vazão, a aplicação exige uma taxa específica disponível.
Aplicações sensíveis a largura de banda
Podem usar técnicas para se adaptar a vazão disponíveis
Aplicações elásticas não
precisam desse serviço
Serviços de transporte disponíveis

Temporização
Exige um tempo mínimo de deslocamento de informações entre aplicações
Ex: Jogos Multiplayer
Serviços de transporte disponíveis

Segurança
Capaz de codificar todos os dados transmitidos entre o remetente e o destinatário
Sigilo, integridade de dados, autenticação do ponto terminal, entre outros serviços
Ex: Whatsapp, Telegram
Serviços de transporte providos pela Internet

A Internet disponibiliza dois protocolos de transporte para aplicações:
TCP
UDP
Cada um deles oferece um conjunto diferente de serviços para as aplicações solicitantes.
Qual protocolo usar?
Serviços do TCP

Orientado a Conexão
Troca de informações de controle entre Cliente e Servidor (Apresentação)
Conexão só é feita após essa apresentação
Conexão Full Duplex
Conexão é interrompida quando o envio de mensagens é encerrado
Serviços do TCP

Transporte Confiável
Envio de dados sem erro
Os dados chegam na ordem correta
Controle de Congestionamento
Serviços do UDP

Não orientado à Conexão
Não há apresentação entre Cliente e Servidor
Não há controle da comunicação
Leve e Simplificado
Serviços do UDP

Não há controle de congestionamento
Não há garantia da entrega dos dados
Dados podem chegar em qualquer ordem
Sem confiabilidade de transferência de dados
Como lembrar fácil

Serviços não Providos

Vazão
Temporização
Garantia de entrega
Segurança
SSL
Originalmente, não são providos pelo TCP e UDP:
Onde usar cada um?

Email
Acesso à terminal remoto
Web
Transferências de arquivos
Multimídia em fluxo contínuo (Youtube)
TCP
UDP
Telefonia por internet (Skype)

Aprendemos que processos em redes comunicam-se via sockets. Mas...
- Como as mensagens são estruturadas?
- Qual o siginificado dos diversos campos das mensagens enviadas?
- Quando as mensagens são enviadas?

Protocolos da camada de aplicação
Esses protocolos definem como um processo de uma aplicação em um End System passa mensagens para outros
Em espacial tais protocolos definem:
-
O tipo de mensagem trocada, se é de requisição (request) ou resposta (response)
-
A sintaxe da mensagem, como os campos que devem conter, e a semântica
-
Regras que determinam como os processos devem se comunicar

Protocolos da camada de aplicação
Alguns procolos da camada de aplicação são especificadas pela RFC (Request for Comments Internet Engineering Taskforce) e portanto são de domínio público.
Por exemplo, o HTTP (protocolo para Web), se um browser foi desenvolvido seguindos os padroes HTTP RFC, este browser estará apto a fazer requisições por paginas web

Protocolos da camada de aplicação
É importante notar que alguns protocolos são feitos com o propósito de não serem feitos para domínio público.
Por exemplo os protocolos de transferência de arquivos P2P.

Rede de aplicação VS Protocolo de camada de aplicação
Um protocolo da camada de aplicação é apenas um pedaço da rede de aplicação
Exemplos:
Um protocolo da camada de aplicação é apenas um pedaço da rede de aplicação
-
A Web é uma aplicação cliente-servidor que nos permite solicitar documentos, possui seu padrão de documentos (HTML), Browsers, Servidores e protocolo HTTP
-
O serviço de email possui servidores de envio, de recebimento e armazenamento (mailboxes), seus leitores e criadores de email e procolo SMTP (Simple Mail Transfer Protocol)

Aplicações de rede abordadas no livro Kurose
- Todos os dias diversas aplicações surgem, daremos atenção a 5 em especial: Web, transferência de arquivos, email eletrônico, serviço de direcionamento e P2P
- A web utiliza o protocolo HTTP, um dos mais simples de entender
- O FTP por seu constraste com o HTTP
- O serviço de email por utilizar diversos protocolos
- O serviço de direcionamento, DNS, pois traduz o IP para domínios
- Por fim o P2P com transferência distribuida de arquivos
Obrigado pela atenção


Redes de Computadores Integrantes: Antônio Anderson - 422029 Felipe Barros - 412983 Gustavo Marques - 414465 João Batista - 414644 Pedro Víctor - 417338
A camada de aplicação - Redes de Computadores - UFC
By João Batista
A camada de aplicação - Redes de Computadores - UFC
- 314