0% acharam este documento útil (0 voto)
14 visualizações39 páginas

Aula 2 - Introducao A Rede

A aula aborda os princípios básicos das redes, incluindo a arquitetura TCP/IP e as camadas de aplicação, transporte, rede, enlace e física. Discute diferentes modelos de comunicação, como cliente-servidor e P2P, além de requisitos de aplicações como confiabilidade, largura de banda e segurança. Também são apresentados os protocolos UDP e TCP, suas características e serviços oferecidos.

Enviado por

Ranyere Vieira
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
14 visualizações39 páginas

Aula 2 - Introducao A Rede

A aula aborda os princípios básicos das redes, incluindo a arquitetura TCP/IP e as camadas de aplicação, transporte, rede, enlace e física. Discute diferentes modelos de comunicação, como cliente-servidor e P2P, além de requisitos de aplicações como confiabilidade, largura de banda e segurança. Também são apresentados os protocolos UDP e TCP, suas características e serviços oferecidos.

Enviado por

Ranyere Vieira
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 39

AULA 3 - REDES

Prof. Pedro Braconnot Velloso


Resumo da última aula

• Começo da Internet

• Princípios básicos

• Comutação pacotes x circuitos

• Protocolos

• Arquitetura em camadas
Arquitetura TCP/IP

APLICAÇÃO

TRANSPORTE

REDE

ENLACE

FÍSICA
Camada Aplicação

• Programas que

• Executam em diferentes sistemas finais

• Comunicam-se através da rede

• Ex: servidor Web se comunica com um navegador

• Dispositivos do núcleo da rede não executam aplicações de


usuários

• Aplicações nos sistemas finais permitem rápido


desenvolvimento e disseminação
Arquitetura de aplicações

• Três básicas

• Cliente-servidor

• Par-a-par (P2P – peer-to-peer)

• Híbrida
Cliente/Servidor

• Cliente

• Faz requisições a servidores

• Não se comunica com outros


clientes

• Servidor

• Endereço conhecido

• Recebe requisições dos clientes

• Sempre ligado
Problemas Cliente/Servidor

• Desperdício de banda passante

• Gargalo

• Ponto único de falha


Comunicação P2P

• Comunicação direta entre os clientes

• Não existe a figura de um único servidor

• Todos são clientes e servidores


Arquitetura híbrida

• P2P com servidores auxiliares

• Skype

• Localização do endereço do parceiro remoto:


servidor

• Conversação é direta: cliente-cliente

• bitTorrent

• Servidor para achar o torrent


Requisitos das Aplicações

• Transferência confiável de dados

• Algumas aplicações podem tolerar perdas

• Ex.: áudio e vídeo não-codificados

• Outras requerem transferência 100% confiável

• Transferência de arquivos, email, SSH, etc.


Vídeo codificado em MPEG-4

99,0 %

97,0 %

92,0 %
Requisitos das aplicações

• Largura de banda

• Algumas aplicações exigem uma quantidade


mínima de banda para funcionarem

• Aplicações multimídias

• Outras aplicações se adaptam a banda disponível

• Aplicações elásticas

• Web, email, transferência de arquivos, etc.


Requisitos das aplicações

• Segurança

• Autenticação

• Controle de acesso

• Integridade

• Não-repúdio

• Confidencialidade
Requisitos das aplicações

Aplicação Perda Banda passante Atraso

Transferência de arquivos sem perdas elástica tolerante

Email sem perdas elástica tolerante

Web sem perdas elástica tolerante

áudio: 5kb-1Mb centenas de


Áudio/vídeo em tempo real tolerante*
vídeo:10kb-5Mb miliseg.

Áudio/vídeo gravado tolerante* Idem poucos seg.

centenas de
Jogos interativos tolerante até 10 kbps
miliseg.

Mensagens instantâneas sem perdas elástica sim/não (?)


Protocolos de aplicação

• Tipos de mensagens trocadas

• Ex.: mensagens de requisição e resposta

• Sintaxe das mensagens

• Campos presentes nas mensagens e como são identificados

• Semântica das mensagens

• Significado da informação carregada por cada campo

• Regras para quando os processos enviam e respondem às


mensagens
Arquitetura TCP/IP

AH mensagem APLICAÇÃO

TRANSPORTE

REDE

ENLACE

FÍSICA
Arquitetura TCP/IP

APLICAÇÃO

AH mensagem TRANSPORTE

REDE

ENLACE

FÍSICA
Camada de transporte

• Provê um canal lógico de comunicação entre processos em


diferentes sistemas finais

• Para a aplicação, os sistemas finais estão diretamente


conectados

• Conexão fim-a-fim

• Executados nos sistemas finais

• Transforma as mensagens da aplicação em segmentos

• envia para a camada de rede


Camada de transporte

• Existem diferentes protocolos de transporte

• Fornecem diferentes tipos de serviços

• Aplicações usam o mais adequado ao seu propósito

• Na Internet

• User Datagram Protocol (UDP)

• Somente os serviços mínimos

• Entrega não-confiável e não-ordenada

• Transmission Control Protocol (TCP)

• Entrega confiável e ordenada

• Estabelecimento de conexão

• Controle de congestionamento

• Controle de fluxo
Programação com Sockets

• Socket API

• Introduzida no Unix BSD 4.1 em 1981

• Sockets são criados, usados e liberados explicitamente pelas aplicações

• Baseados no paradigma cliente-servidor

• Dois tipos de serviços de transporte através da API

• Datagrama não-confiável (UDP)

• Orientado a fluxo de bytes e confiável (TCP)

• Atualmente disponível em diferentes linguagens de programação


Multiplexação/Demultiplexação

• Muitos processos rodando na mesma máquina

• IP não basta

• Identificador inclui tanto o endereço IP quanto números de


portas

• Associados ao processo em execução na estação

• Exemplos de números de portas

• Servidor HTTP: 80

• Servidor de email: 25
Protocolo UDP

• Definido pela RFC 768

• Protocolo de transporte mínimo

• Serviço de melhor esforço

• Segmentos UDP podem ser

• Perdidos

• Entregues à aplicação fora de ordem

• Sem conexão

• Não há “setup” entre remetente e o receptor

• Tratamento independente de cada segmento UDP


Protocolo UDP

• Por quê é necessário?

• Elimina o estabelecimento de conexão

• Menor latência

• É simples

• Não mantém “estado” da conexão nem no remetente, nem no


receptor

• Cabeçalho de segmento reduzido

• Não há controle de congestionamento

• UDP pode transmitir tão rápido quanto desejado (e possível)


Aplicações com UDP

Banda
Aplicação Perda Atraso
passante
Transferência de arquivos sem perdas elástica tolerante

Email sem perdas elástica tolerante

Web sem perdas elástica tolerante


áudio: 5kb-1Mb centenas de
Áudio/vídeo em tempo real tolerante*
vídeo:10kb-5Mb miliseg.

Áudio/vídeo gravado tolerante* Idem poucos seg.


centenas de
Jogos interativos tolerante até 10 kbps
miliseg.
Mensagens instantâneas sem perdas elástica sim/não (?)
Protocolos por aplicação

Protocolo de Protocolo de
Aplicação
aplicação transporte
Servidor de arquivos remoto NFS Tipicamente UDP

Gerenciamento de rede SNMP Tipicamente UDP

Protocolo de roteamento RIP Tipicamente UDP

Tradução de nomes DNS Tipicamente UDP


Protocolo por aplicação

Protocolo de Protocolo de
Aplicação
aplicação transporte
Email SMTP TCP

Acesso remoto Telnet, SSH TCP

Web HTTP TCP

Transferência de arquivos FTP TCP

Distribuição multimídia HTTP, RTP TCP ou UDP


SIP, RTP,
Telefonia na Internet proprietário TCP ou UDP
(Skype)
Protocolo UDP

• Utilizado para aplicações multimídias

• Tolerantes a perdas

• Sensíveis à taxa de transmissão

• Outros usos

• DNS Reduzir a latência na requisição de páginas Web

• SNMP Reduzir o tempo de reação a um problema na rede

• Transferência confiável com UDP?

• É necessário acrescentar confiabilidade na camada de aplicação

• Recuperação de erro específica para cada aplicação


Comunicação confiável

• O que é?
Comunicação confiável

• Nenhum dado transmitido é corrompido

• Nenhum dado transmitido é perdido

• Todos os dados são entregues ordenadamente

• Características do canal não confiável

• Determinam a complexidade de um protocolo de transferência


confiável de dados

• Protocolo de transferência confiável de dados

• Responsável por implementar um canal confiável


Protocolo confiável

• Detecção de erros

• Requisição automática de retransmissão

• ACK/NACK

• Problemas de duplicidade de pacote


Protocolo TPC

• Muito mais complexo que o UDP

• UDP: RFC 768

• TCP: RFCs 793, 1122, 1323, 2018 e 2581

• Orientado à conexão

• Antes do início da transmissão existem um handshake

• Dois processos trocam segmentos para definir parâmetros

• É uma conexão lógica

• Diferente da estabelecida na comutação de circuitos

• Não há um caminho definido e nem reserva de recursos

• “Só existe” nos sistemas finais

• Elementos intermediários não armazenam nenhum estado


Protocolo TPC

• Comunicação confiável

• Retransmissão de segmentos perdidos

• Temporizador

• É ponto-a-ponto

• Um transmissor e um receptor

• Transmissão full duplex

• Fluxo de dados bidirecional na mesma conexão

• MSS: tamanho máximo de segmento

• Estabelecimento de conexão

• Controle de fluxo

• Receptor não será afogado pelo transmissor

• Controle de congestionamento

• Evitar a saturação dos enlaces da rede


Estabelecimento de conexão

• É feita antes da troca de dados

• Inicialização de variáveis

• Números de seqüência

• Tamanho dos buffers,

• Variáveis do mecanismo de controle de fluxo

• Janela de recepção (RcvWindow)

• Etc.
Controle de fluxo

• Evitar que o transmissor

• Envie dados em uma taxa superior

• Taxa que o receptor pode receber

• Informação acordada no início da transmissão


Controle de congestionamento

• Evitar que o transmissor envie

• Uma taxa maior que a rede suporta

• Limita a transmissão dos dados

• De acordo com a taxa de perda.

• Devido ao descarte ou demora nos roteadores

• Janela de transmissão

• Aumento aditivo

• Redução multiplicativa
Serviço oferecido pelo TCP

• Orientado a conexão

• Estabelecimento de conexão

• Mensagens de controle antes da troca de mensagens da aplicação

• Transporte confiável

• Entre processos emissor e receptor

• Controle de fluxo

• Emissor não irá sobrecarregar o receptor

• Controle de congestionamento

• A taxa de envio do emissor depende da carga da rede

• Não provê garantias temporais ou de banda mínima


Serviço oferecido pelo UDP

• Transferência de dados não-confiável

• Entre processos emissor e receptor

• Não provê

• Estabelecimento da conexão

• Confiabilidade

• Controle de fluxo

• Controle de congestionamento

• Garantias temporais ou de banda mínima


Requisitos das aplicações

Aplicação Protocolo de aplicação Protocolo de transporte

Email SMTP TCP

Acesso remoto Telnet, SSH TCP

Web HTTP TCP

Transferência de arquivos FTP TCP

Distribuição multimídia HTTP, RTP TCP ou UDP

SIP, RTP, proprietário


Telefonia na Internet tipicamente UDP
(Skype)
Créditos

• Algumas das transparências foram inspiradas nas


aulas

• Prof. Igor de Monteiro Moraes (IC/UFF)

• Inclusive as figuras que estão sem o crédito

• Figura do primeiro slide

• Fonte: http://www.ikanda.be/sensors/what-is-iot

Você também pode gostar