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

Copy of A camada de aplicação - Redes de Computadores - UFC

By Pedro Victor

Copy of A camada de aplicação - Redes de Computadores - UFC

  • 54