Você está na página 1de 198

Redes de Computadores

II

Versão 07-02

PROF: MESSIAS B. FIGUEIREDO


Email: messiasbf@gmail.com
Facebook: Messias Figueiredo
Tel: (71) 9 9190-2845
Messias Bittencourt Figueiredo Aula 01 Versão 07-02 1

Apresentação

Currículo Resumido Formação


2009 Doutorando em Ciência da Computação
• Funções Técnicas- Universidade Federal da Bahia
Programa: Doutorado Multiinstitucional em Ciência da Computação.
Administrativas Projeto: Modelagem e Avaliação de Desempenho de Redes WDM
Híbridas: 2005.
Orientador: Prof Dr. William F. Giozza.

2004 Mestre em Redes de Computadores (UNIFACS)


Universidade Salvador, UNIFACS, Bahia, Brasil.
Título: REDE METROPOLITANA DE ALTO DESEMPENHO DE SALVADOR
(REMADS): Proposta de Arquitetura e Avaliação de Desempenho no
Contexto MPLS. Ano de obtenção título: 2005.
Orientador: Prof Dr. William F Giozza.

1998 Especialista em Sistemas Distribuídos. (UFBA)


Universidade Federal da Bahia, UFBA, Bahia, Brasil.
Título: Simulação de redes IP.
Orientador: Dr. Raimundo Macedo.

1997 Especialista em Redes de Computadores (UNIFACS)


Universidade Salvador, UNIFACS, Bahia, Brasil.
Título: Sistemas de Cabeação Estruturado. Ano de finalização: 1998.
Orientador: Prof Dr. William F Giozza.

1990 Bacharelado em Ciência da Computação (UNIFACS).


Universidade Salvador, UNIFACS, Bahia, Brasil.
Título: Implantação da internet na UNIFACS . 1996.
Orientadora: Profa Ms. Claudete Mary.

1987 Tecnólogo Superior em Manutenção Elétrica (CENTEC).


Centro Federal de Educação Tecnológica da Bahia, CEFET/BA, Bahia,
Brasil.

Messias Bittencourt Figueiredo Aula 01 Versão 07-02 2


Apresentação

Currículo Resumido Acadêmico


•Professor Instituto Federal da Bahia – IFBA •Escola de Administração da Universidade Federal
(2009) da Bahia-UFBA
• Coordenador: Licenciatura Superior Computação • Coordenador: Núcleo de Informática;
• Professor: Linguagem Programação (Java); • Professor: Informática Aplicado à Administração;
• Professor: Arquitetura de Computadores • Professor: Informática Aplicado à Secretariado.
• Professor: Redes de Computadores I
•Faculdade Integrada da Bahia- FIB (1997-2006)
• Professor: Redes de Computadores II
• Professor: Informática Aplicado à Administração;
•Secretaria de Educação - GOV.BA (2008) • Professor: C.Contábeis
• Coordenador: da Coordenação de Tecnologia • Professor: Administração Hoteleira;
Educacional da Estado da Bahia; • Professor: Marketing
• Coordenador: PROINFO-BA. • Professor: Relações Internacionais
•Rede Nacional de Pesquisa – RNP (2007/2009) • Professor: Administração
• Supervisor: REMESSA. • Professor: Sistemas de Informação.

•Universidade Salvador – UNIFACS (2007 A 2009)


• Coordenador: Sistema de Informação - EAD;
• Professor: Arquitetura I;
• Professor: Arquitetura II;
• Professor: Redes I;
• Professor: Redes II;
• Professor: Sistemas Operacionais;
• Professor: Sistemas Distribuídos;
• Professor: Introdução a Computação;
• Professor: Informática Aplicada à Logística;
• Professor: Sistemas de Informação Aplicado a Gestão
Saúde

Messias Bittencourt Figueiredo Aula 01 Versão 07-02 3

IFBA
• Escola: • Formação Histórico Crítico:
– Valorização da escola como espaço – A formação histórico-crítica, integrada
social responsável pela apropriação à formação técnico-científica, esta
do saber universal; presente na missão do IFBA:

– Socialização do saber elaborado às – Objetivo: superar o tecnicismo


camadas populares, entendendo a reducionista e a visão unilateral de
apropriação crítica e história do atendimento às necessidades
conhecimento enquanto instrumento formativas do mercado;
de compreensão da realidade social e
atuação crítica e democrática para a
transformação desta realidade. – A preocupação em qualificar a visão
de mundo e os conceitos que
subjazem à missão institucional em
• Missão do IFBA: vigor demonstra o compromisso do
Campus a formação de cidadãos e
– Promover a formação do cidadão cidadãs comprometidos com
histórico crítico, oferecendo ensino, transformações estruturais
pesquisa e extensão com qualidade necessárias ao Município o qual esta
socialmente referenciada, objetivan- inserida.
do o desenvolvimento sustentável do
país.

Messias Bittencourt Figueiredo Versão 07-02 4


Cidadão Histórico Crítico

Formação
Básica

Formação
Formação
Técnica
Social

Formação Formação
em CIDADÃO Empreended
Pesquisa ora

Formação
Formação
Música Artística
Política
(Extensão)
Formação
Esportiva

Dança
Artes
Plásticas
5
Messias Bittencourt Figueiredo Versão 07-02 5

Curso Técnico Informática


Integrado Subsequente
• Período Letivo: 3º Ano –Período Letivo: 2º
• Carga-Horária: 60h Módulo
–Carga-Horária: 90h

Messias Bittencourt Figueiredo Aula 01 Versão 07-02 6


Apresentação

Plano de Ensino
COMPETÊNCIAS HABILIDADES
• Instalar servidores de rede e configurar suas
• Instalar um sistema operacional para
funções e serviços
servidor de rede.

• Configurar serviço de validação de usuário.

• Configurar servidor.
– Web

– Disco

– Impressão

– DNS

– E-mail

– Servidor Multirede

• Configurar:
– Intranet: NFS, DHCP, Proxy.

– Internet: servidor web, e-mail, firewall.

• Administração dos usuários de segurança

Messias Bittencourt Figueiredo Aula 01 Versão 07-02 7

Apresentação

Plano de Ensino
HABILIDADES HABILIDADES
1.Aprender sobre roteamento estático e 1.Interconectar os equipamentos, configurá-los
roteamento dinâmico Configurar serviço de e quais as vantagens e desvantagens de se
validação de usuário; investir em uma infraestrutura própria de
redes;
2.Conhecer Roteadores: Componentes internos
do roteador, características físicas do 2.Projetar redes IP através do cálculo de sub-
roteador, conexões externas do roteador, redes e uma visão projetista de como
conexões das portas de gerenciamento; implementar a numeração de hosts baseado
na necessidade da empresa;
3.Conhecer VLAN, protocolo Spanning-Tree;
3.Configurar VLSM;
4.Compreender conceitos necessários para
implementação de redes Virtuais (VLANs) e os 4.Implementar redes através de Switches nível
comandos de configuração de um Switch; ; 2;

5.Conceitos sobre protocolo CDP; 5.Configurar um roteador, desde seu estado


inicial de compra até a implementação em um
6.Aprender sobre roteamento estático e ambiente corporativo;
roteamento dinâmico com OSPF, RIP, IGRP e
EIGRP; 6.Configurar o protocolo de roteamento em um
ambiente roteável;
7.Escalonamento de IP com NAT e PAT, DHCP;
7.Configurar roteadores em ambientes WAN
8.Abordagem de tecnologias WAN: ISDN, utilizando PPP, Frame Relay;
Frame-Relay, X.25;
8.Prática sobre protocolo CDP.

Messias Bittencourt Figueiredo Aula 01 Versão 07-02 8


Bases Científicas -Tecnológicas
• Sistema operacional:
– Windows NT
– Linux

Messias Bittencourt Figueiredo Aula 01 Versão 07-02 9

Projeto Pedagógico Redes de Computadores II

Conteúdo Programático
• Introdução aa Redes de Computadores • Segurança em Redes de Computadores
• Revisão Redes I • Multimídia em Redes de Computadores
– Arquitetura TCP/IP

• Camada de Redes
• Camada de Transporte
• Camada de Aplicação
– Web
– Disco
– Impressão
– DNS
– E-Mail
– Servidor Multirede
– DHCP
– Proxy
– Administração de Usuários
– NFS

Messias Bittencourt Figueiredo Aula 01 Versão 07-02 10


Apresentação

Plano de Ensino
PROCEDIMENTOS RECURSOS DIDÁTICOS
METODOLÓGICOS
– Utilização de quadro branco,
– O desenvolvimento da disciplina se laboratórios, computador, projetor
dará por meio de aulas expositivas, multimídia, aparelho de som.
nos laboratórios, e dialogadas em
classe, discussões de estudos de
casos, atividades individuais e em
grupo, apresentação de trabalhos
pelos alunos

Messias Bittencourt Figueiredo Aula 01 Versão 07-02 11

Apresentação

Plano de Ensino
AVALIAÇÃO
– Avaliações escritas;

– Avaliações práticas;

– Trabalhos individuais e em grupo


(listas de exercícios, estudos
dirigidos, pesquisas);

– Participação nas discussões;

Messias Bittencourt Figueiredo Aula 01 Versão 07-02 12


Referências Bibliográficas
Básica Complementar
1. DAVIES, Donald Watts ; Price, W. 1. TANEMBAUM, A. "Computer
L. "Security for computer Networks". Prentice-Hall, 3ª
networks". Chichester : J. Wiley, Edição, 1996
1989
2. SOARES, Luis Fernando Gome.
2. COMER, Douglas. "Interne- "Redes de Computadores - Das
tworking with TCP/IP". Volume I, LAN’s, MAN’s e WAN’s às Redes
II e III. Prentice-Hall, 1991 ATM". Editora Campus, 1995

Messias Bittencourt Figueiredo Aula 01 Versão 07-02 13

AV1 – REVISÃO
(Aulas I, II e III)

Messias Bittencourt Figueiredo Aula 02 Versão 07-02 14


AV2
Camada de Rede

Messias Bittencourt Figueiredo Aula 05 Versão 07-02 15

Camada de Rede Introdução

Camada
de
Rede
Messias Bittencourt Figueiredo Aula 05 Versão 07-02 16
Arquitetura TCP/IP
Arquitetura TCP/IP
(3 camadas + Enlace + Física)
... ...
MP MP
SN SN
TP, TP,
SM , SM
P3, PO
P3
PO PDU: Dados
TP , TP,
Camada de Aplicação HT Camada de Aplicação HT

P P
,UD ,UD
T CP PDU: Segmento T CP
Camada de Transporte Camada de Transporte
IP IP
PDU: Pacote
Camada de Rede Camada de Rede
I FI I FI
,W t ,W
net rne
ther the
C , E PDU: Quadros AC, E
MA M
Camada de Enlace de Dados Camada de Enlace de Dados
.
its,
.. ts,.
s, B , Bi
bra ras
, Fi s, Fib
os PDU: Bits o
Cab Cab
Camada Física Camada Física
Link Físico

Messias Bittencourt Figueiredo Versão 07-02 17

A Camada de Rede na Internet

CAMADA DE APLICAÇÃO

CAMADA DE TRANSPORTE

PROTOCOLO DE PROTOCOLO IP
ROTEAMENTO

- Seleção de Rotas - Convenções de Endereços


CAMADA - Formato de Datagrama
- RIP, OSPF, BGP
DE REDE - Manuseio de pacotes

TABELA DE PROTOCOLO ICMP


ENCAMINHAMENTO
- Relata erros
- Sinalização de roteadores

CAMADA DE ENLACE

CAMADA FÍSICA

Messias Bittencourt Figueiredo Versão 07-02 18


Funções da Camada de Rede
• A camada de rede do modelo OSI é – ICMP (Internet Control Message
Protocol) – Com o ICMP os hosts e
responsável por controlar a roteadores que usam comunicação IP podem
operação da rede de um modo relatar erros e trocar informações de status
geral; e controle;

• Principais funções: – ARP (Address Resolution Protocol) -


– Prover endereçamento lógico para as Permite que certo computador se comunique
interfaces de rede; com outro computador na mesma rede
quando somente o endereço IP é conhecido
– Prover roteamento dos pacotes entre fonte pelo destinatário;
e destino;
– Comutação de pacotes; – RARP (Reverse Address Resolution
– Descoberta e seleção de rotas; Protocol) – Contrario do protocolo ARP, ao
invés de obter o informações como o MAC e
– Controle de congestionamento; o IP de máquinas remotas, o protocolo RARP
requisita informações para a própria
– Controle de fluxo
maquina. Foi substituído pelo DHCP e pelo
BOOTP;
• Protocolos:
– IP (Internet Protocol) – Recebe – IGMP (Internet Group Management
segmentos de dados da camada de Protocol) – É usado por hosts para reportar
transporte e os encapsula em datagramas, seus participantes de grupos de hosts a
é um protocolo não confiável por não exigir roteadores multicast vizinhos.
confirmação;

Messias Bittencourt Figueiredo Aula 05 Versão 07-02 19

Camada de Rede

Camada de Rede
• Transporta segmentos da estação Aplicação
Transporte
Rede
Enlace

remetente à receptora;
Física Rede Rede
Enlace Enlace
Física Física

Rede
Enlace
Física

Rede Rede
Enlace Enlace

• No lado remetente, encapsula


Física Física

Aplicação

segmentos dentro de datagramas;


Transporte
Rede
Enlace
Física

Rede
Enlace
Física Aplicação
Aplicação Transporte
Transporte Rede
Rede Enlace

• No lado receptor, entrega os


Enlace Física
Física

segmentos para a camada de


transporte; Aplicação
Transporte
Aplicação
Transporte
Rede
Rede Enlace
Enlace Física
Física

• Protocolos da camada de rede, em


todos os sistemas finais e
roteadores, examinam campos de
cabeçalho de todos os datagramas
IP que passam por eles.

Messias Bittencourt Figueiredo Aula 10 Versão 07-02 20


Camada de Transporte Introdução

Visão Geral da Rede


Aplicação
Transporte
Rede
Enlace
Física Rede Rede
Enlace Enlace
Física Física

Rede
Enlace
Física

Rede Rede
Enlace Enlace
Física Física

Aplicação
Transporte
Rede
Enlace
Física

Rede
Enlace
Física Aplicação
Aplicação Transporte
Transporte Rede
Rede Enlace
Enlace Física
Física

Aplicação
Aplicação Transporte
Transporte Rede
Rede Enlace
Enlace Física
Física

Messias Bittencourt Figueiredo Aula 10 Versão 07-02 21

Camada de Rede Conceitos

Conceitos Básicos

Messias Bittencourt Figueiredo Aula 05


22
Camada de Rede Conceitos

Conceitos
• Internet - “Rede De Redes” ISP Local ISP Regional

– Livremente hierárquica;
– Internet Pública x Intranet Privada

• Protocolos - Controlam o envio


e o recebimento de mensagens
– TCP, IP, HTTP, FTP, PPP
Provedor de Serviços Internet

• Padrões Internet ISP Empresa


– RFC: Request for comments
– IETF: Internet Engineering
Task Force

• Equipamentos

Estação Móvel
Roteador
Servidor

Ponto de
Acesso
Estação de Trabalho

Messias Bittencourt Figueiredo Aula 05 Versão 07-02 23

Camada de Rede Conceitos

Visão dos Serviços


ISP Local
• Infraestrutura De Comunicação ISP Regional

– Permite o uso de aplicações


distribuídas:
• Navegação Web;
• Correio eletrônico
• Jogos
Provedor de Serviços Internet
• Comércio eletrônico;
ISP Empresa
• Compartilhamento de arquivos.

• Serviços De Comunicação
Disponibilizados:
– Orientado a conexão
• Confiável
– Não orientado a conexão
• Não confiável

Messias Bittencourt Figueiredo Aula 05 Versão 07-02 24


Camada de Rede Conceitos

Estrutura da Rede
• Borda da Rede
– Host (hospedeiros)
– Aplicações (hosts)

• Núcleo da Rede
– Roteadores;
– Rede de redes.

• Redes de Acesso
– Meio físico
– Enlaces de comunicação

Messias Bittencourt Figueiredo Aula 05 Versão 07-02 25

Camada de Rede Borda da Rede

Borda da Rede

Messias Bittencourt Figueiredo Aula 06


26
Camada de Rede Borda da Rede

Borda da Rede
• Sistemas finais
– Hosts
– Aplicações
• WWW, e-mail

• Modelo Cliente/Servidor
– o host cliente faz os pedidos,
são atendidos pelos servidores
• Cliente Web - Navegador
• Servidor - Servidor de e-mail

• Modelo Peer-to-Peer
– Sem servidores dedicados
• Emule;
• KaZaA;
• Torrent.

Messias Bittencourt Figueiredo Aula 06 Versão 07-02 27

Camada de Rede Borda da Rede

Serviço Orientado A Conexão


• Objetivo - Transferência de • Implementa controle de fluxo
dados entre sistemas finais; – Garantir que a transmissor não
inundará o receptor, com
• Apresentação – Prepara a consequente descarte de
transferência de dados pacotes;
– Alô, alô protocolo humano;
• Controle de congestionamento
– inicializa o “estado” em dois hosts
que desejam se comunicar. – Transmissor “diminui a taxa de
transmissão” quando a rede
• TCP – Protocolo de Controle de está congestionada.
Transmissão
• Aplicações
– RFC 793;
– Web
– Serviço orientado a conexão; • HTTP
– Transferência de dados através de – Transferência de arquivos
um fluxo (corrente) de bytes • FTP
ordenados e confiável – Login remoto
• Telnet
• Perda - Reconhecimento e – correio eletrônico
retransmissão. • SMTP

Messias Bittencourt Figueiredo Aula 06 Versão 07-02 28


Camada de Rede Borda da Rede

Serviço Não Orientado A Conexão


• Objetivo - Transferência de • Aplicações
dados entre sistemas finais; – Multimídia;
• UDP – Protocolo de Datagrama
– Videoconferência;
do Usuário
– RFC 768; – Telefone por Internet.

– Serviço sem conexão;

– Transferência de dados não


confiável;

– Não controla o fluxo;

– Não controla
congestionamento.

Messias Bittencourt Figueiredo Aula 06 Versão 07-02 29

Camada de Rede Núcleo da Rede

Núcleo da Rede

Messias Bittencourt Figueiredo Aula 06


30
Camada de Rede Núcleo da Rede

Núcleo da Rede
• Malha de roteadores
interconectados

• Questão Fundamental: Como


os dados são transferidos
através da rede?
– Comutação De Circuitos
• Circuito dedicado por
chamada;
– Rede telefônica
– Não é usada em Redes de
Computadores

– Comutação De Pacotes
• Dados são enviados através da
rede em pedaços discretos,
denominados de Datagrama.

Messias Bittencourt Figueiredo Aula 06 Versão 07-02 31

Camada de Rede Núcleo da Rede

Comutação de Circuitos
X
Comutação de Pacotes

Messias Bittencourt Figueiredo Aula 08


32
Camada de Rede Núcleo da Rede

Taxonomia das Redes


Taxonomia – Disciplina
acadêmica que define
os grupos com base em
Redes de características
comuns.
Telecomunicações

Redes de Comutação Redes de Comutação


de Circuitos de Pacotes

FDM Redes Redes de


TDM
de CVs Datagrama

Messias Bittencourt Figueiredo Aula 08 Versão 07-02 33

Camada de Rede Núcleo da Rede

Comutação de Circuitos

Messias Bittencourt Figueiredo Aula 07


34
Comutação de Circuitos
• Recursos fim a fim são • Desempenho
reservados para a chamada; – Garantido
• Banda do enlace • Necessita estabelecimento de
– Corresponde a capacidade conexão
dos comutadores

• Recursos dedicados
– Sem compartilhamento

S S

Host A

S S S S
TDM ou FDM S
Host A

Host B

S S

Host A

Messias Bittencourt Figueiredo Versão 07-02 35

Camada de Rede Núcleo da Rede

Comutação de Circuitos

Messias Bittencourt Figueiredo Aula 07 Versão 07-02 36


Camada de Rede Núcleo da Rede

Comutação de Circuitos
• Recursos da rede • Tipos de Multiplexação Feita na
– Largura de banda são divididos Comutação de Circuitos
em “pedaços” – TDM - Multiplexação Por
Divisão de Tempo.
• Pedaços alocados às chamadas

• O pedaço do recurso fica


ocioso se não for usado pelo
seu dono;
– Não há compartilhamento
– FDM - Multiplexação Por
Divisão de Frequência.
• Como é feita a divisão da
banda de um canal
– Multiplexação

Messias Bittencourt Figueiredo Aula 07 Versão 07-02 37

Camada de Rede Núcleo da Rede

Comutação de Pacotes

Messias Bittencourt Figueiredo Aula 08


38
Camada de Rede Núcleo da Rede

Comutação de Pacotes
• Cada fluxo de dados fim a fim • Congestionamento
é dividido em pacotes; • Pacotes são enfileirados;
• Pacotes dos usuários A, B • Esperam para usar o enlace.
compartilham os recursos da
rede;
• Store and Forward
• Cada pacote usa toda a banda
do canal enquanto esta sendo • Armazena e reenvia;
transmitido;
• Pacotes se deslocam uma
• Recursos são usados quando etapa por vez;
necessário;
• Transmite num enlace;

• Disputa por Recursos • Espera a vez no próximo.


• Demanda total pelos recursos
pode superar a quantidade
disponível

Messias Bittencourt Figueiredo Aula 08 Versão 07-02 39

Camada de Rede Núcleo da Rede

Comutação de Pacotes

Ethernet
10 Mbps Multiplexação do Canal
A
2 Mbps 10 Mbps

C
Fila de Pacotes
34 Mbps

Ethernet Esperando a Vez


10 Mbps no Enlace de Saída
B

100 Mbps 100 Mbps

D E
Messias Bittencourt Figueiredo Aula 08 Versão 07-02 40
Redes De Comutação De Pacotes
Circuito Virtual (CV) • Analogia: dirigir, pedindo
informações
• O endereço do destino determina a
próxima etapa;

• Rotas podem mudar durante a


sessão;

R R

Host A

R R R R
R
Host A

Host B

R R

Host A

Messias Bittencourt Figueiredo Versão 07-02 41

Redes De Comutação De Pacotes


Redes De Datagrama • Os roteadores mantêm estados para
cada chamada;
• Cada pacote contém um
identificador do circuito virtual;

• Caminho fixo determinado no


estabelecimento da chamada,
permanece fixo durante a chamada;

R R

Host A

R R R R
R
Host A

Host B

R R

Host A

Messias Bittencourt Figueiredo Versão 07-02 42


I AVALIAÇÃO

Messias Bittencourt Figueiredo Aula 09 Versão 07-02 43

Camada de Rede

Camada de Rede

Messias Bittencourt Figueiredo Aula 10


44
Endereço IP

Messias Bittencourt Figueiredo Aula 10 Versão 07-02 45

Endereço IP
• É uma identificação de uma
interface de um dispositivo
computacional em uma rede local
ou pública;

• Cada interface de um sistema


computacional deve possuir um
endereço lógico IP (Internet
Protocol);

• Este endereço IP é o meio pelo


qual as máquinas usam para se
comunicarem;

Messias Bittencourt Figueiredo Versão 07-02 46


IPCONFIG/IFCONFIG
• ipconfig - é um programa do – /displaydns: Exibe o conteúdo de
sistema operacional Microsoft cache de resolução de DNS.
Windows capaz de dar informa-
ções sobre o IP da rede local;

• Ifconfig - comando análogo no


Linux existe.
– /all: Exibe todas as informações
de configuração da interfaces de
redes instaladas;
– /release: Libera o endereço IP do
adaptador especificado;
– /renew: Renova o endereço IP
para o adaptador especificado;
– /flushdns: Limpa o cache de
resolução DNS;
– /registerdns: Atualiza todas as
concessões DHCP e torna a
registrar os nomes DNS;

Messias Bittencourt Figueiredo Versão 07-02 47

IPCONFIG /ALL
• Ipconfig é um programa do
sistema operacional Microsoft
Windows capaz de dar
informações sobre o IP da rede
local;

• No Linux existe um comando


análogo a esse denominado
ifconfig;

Messias Bittencourt Figueiredo Versão 07-02 48


DHCP

Messias Bittencourt Figueiredo Aula 18 Versão 07-02 49

DHCP (Dynamic Host Configuration Protocol)


• DHCP (Dynamic Host Configu-
ration Protocol)

• O DHCP surgiu como padrão em


Outubro de 1993;

• É um protocolo da arquitetura
TCP/IP que oferece configuração
dinâmica de IP para os Host’s da
rede;

• Por solicitação do Host cliente, o


servidor DCHP pode fornecer:
– IP;
– Máscara de sub-rede
– Sufixo da rede;
– Gateway Padrão
– DNS;
– Servidores WINS

Messias Bittencourt Figueiredo Versão 07-02 50


Cliente DHCP

192
.168
.0.3

192.168.0.15

Cliente DHCP Banco de Dados


Servidor DHCP De
Endereços IP

7
.0.7
.168
192

Cliente DHCP

Messias Bittencourt Figueiredo Versão 07-02 51

Funcionamento DHCP
1. Um cliente envia um pacote UDP
em broadcast (destinado a todas Cliente DH
CP envia

as máquinas) com uma requisição


mensagem
Cliente DHCP Discover broadcas
Message t de desco
berta

DHCP (para a porta 67); cliente


para
unicats
sagem
rna men essage Servidor DHCP

2. Os servidores DHCP que


reto
or DHCP Offer M
Servid

capturarem este pacote irão Cliente DH


CP Resp
onde me
nsag
Request em solicitando pa
responder para a porta 68 do Host
Cliente DHCP
Menssage râmetros
IP

solicitante com um pacote com Mensa


gem
fa com
configurações onde constará, pelo Servid
compl
eta tare essage
or DHCP owledgmen
Ackn
tM
Servidor DHCP

menos, um endereço IP, uma


máscara de rede e outros dados Cliente DHCP

opcionais, como o gateway, Tempo

servidores de DNS, etc..;

3. Cliente de posse do endereço IP


do servidor DHCP solicita
parâmetros IP;

4. Servidor envia ao cliente


parâmetros DHCP.

Messias Bittencourt Figueiredo Versão 07-02 52


DHCP (Protocolo de Configuração de Host Dinâmico)

Cliente D
HCP envi
a mensa
gem bro
Cliente DHCP Discover adca
Message st de descoberta

en te
para cli
unicats
a mensagem Servidor DHCP
retorn essage
r D HC P Offer M
Servido

Cliente D
HCP Res
ponde m
ensagem
Cliente DHCP Request solicitan
Menssag do parâm
e etros IP

sagem
m Men
refa co e
co mp leta ta e ss ag Servidor DHCP
M
r DHCP wledgment
Servido Ackno

Cliente DHCP

Tempo

Messias Bittencourt Figueiredo Versão 07-02 53

Parâmetros de Configuração do Servidor DHCP


• Servidor DHCP: É um servidor onde foi • Pool de endereços: Após definir um
instalado e configurado o serviço DHCP; escopo DHCP e aplicar intervalos de
exclusão, os endereços remanescentes
formam o pool de endereços disponíveis
• Cliente DHCP:É qualquer dispositivo de
dentro do escopo;
rede capaz de obter as configurações do
TCP/IP a partir de um servidor DHCP;
• Concessão: É um período de tempo
especificado por um servidor DHCP
• Escopo: Um escopo é o intervalo
durante o qual um computador cliente
consecutivo completo dos endereços IP
pode usar um endereço IP que ele
possíveis para uma rede ou faixa de IP
recebeu do servidor DHCP;
que serão distribuídos;

• Reserva: As reservas asseguram que


• Superescopo: É um agrupamento
um dispositivo de hardware especificado
administrativo de escopos que pode ser
na rede sempre pode usar o mesmo
usado para oferecer suporte a várias
endereço IP;
redes IP lógicas na mesma rede física;

• Tipos de opção: São outros


• Intervalo de exclusão: Um intervalo
parâmetros de configuração do cliente
de exclusão é uma sequência limitada
que um servidor DHCP pode atribuir aos
de endereços IP dentro de um escopo,
clientes. Ex: IP para gateways,
excluído dos endereços que são
servidores WINS e servidores DNS;
fornecidos pelo DHCP;
Messias Bittencourt Figueiredo Versão 07-02 54
Nomes

Messias Bittencourt Figueiredo Aula 10 Versão 07-02 55

Nomes IP
• Endereço IP é o meio pelo qual as
máquinas usam para se
comunicarem;

• Endereços mnemônicos
(www.ifba.edu.br) são mais fáceis
de ser assimilados pelos homens;

• Cada endereço mnemônicos


(nome) está associado a um
endereço ip:
• www.ifba.edu.br = 200.128.35.6
• www.ufba.br = 192.188.11.21
• www.facebook.com = 31.13.85.8
• A conversão é feita de forma
automática pelo servidor DNS
(Domain Name System);

• Este processo de conversão é


conhecido como "resolução de
nomes ou resolver".
Messias Bittencourt Figueiredo Versão 07-02 56
Resolução de Nomes (Resolver)
• Os nomes DNS são hierárquicos e
permitem que faixas de espaços
de nomes sejam delegados a
outros DNS;

• No topo da hierarquia estão os 13


servidores raiz;

Messias Bittencourt Figueiredo Versão 07-02 57

Hierarquia de Domínio
Root
“.”

.net .org .com .gov .br .us .(...)

.ufba .gov .org .com .net .edu

.adm .fisica .economia mst .uol .ifba

.salvador .seabra .camacari .barreiras .ilheus

.www .ftp
Messias Bittencourt Figueiredo Versão 07-02 58
DNS (Domain Name System)

Messias Bittencourt Figueiredo Versão 07-02 59

Fases da Consulta DNS


1. Estação de trabalho consulta arqui-
vo local.host na própria máquina
para verificar se há um endereço IP
correspondente ao mnemônico
pesquisado;

2. Caso não encontre, a estação de


trabalho solicita ao servidor DNS
local primário (se disponível) ou o
secundário, o IP correspondente;
6. O servidor microsoft.com então
3. Caso o endereço solicitado não se envia o IP para o servidor DNS
encontre do servidor DNS local, local que registra esse ip na sua
este solicita ao DNS raiz; cache. Após registrar, o DNS local
devolve o IP a estação de
4. O DNS raiz por sua vez solicita o IP trabalho;
ao servidor imediatamente de mais
baixo nível, ou seja, o DNS.com; 7. A estação de trabalho, por sua
vez, de posse do Ip endereça o
5. O DNS.com, por sua vez, vai servidor de página desejado, ou
solicitar o IP ao Microfost.com; seja, o 207.26.230.219.

Messias Bittencourt Figueiredo Versão 07-02 60


Comandos DNS
• nslookup - é uma ferramenta,
comum ao Windows e ao Linux,
utilizada para se obter
informações sobre registros de
DNS de um determinado domínio,
host ou IP.

Messias Bittencourt Figueiredo Versão 07-02 61

WINS

Messias Bittencourt Figueiredo Aula 18 Versão 07-02 62


Wins (Servidor de Nomes Internet Windows)
• Windows Internet Name Service • Como o DNS, o WINS é
(WINS) implementado em duas partes:
• Implementação da Microsoft do
1. Servidor - que gerencia o
NetBIOS Name Service (NBNS);
Banco de dados Jet embutido,
• servidor de nomes e serviços para replicação servidor a servidor,
nomes de computadores NetBIOS; requisições de serviço e
conflitos;
• Efetivamente, o WINS está para os
2. Cliente - que gerencia o
nomes NetBIOS como o DNS está
registro e renovação de nomes
para os nomes de domínio;
dos clientes, e cuida das
• um mapeamento central de nomes consultas.
de hospedeiro para endereços de
rede;

Messias Bittencourt Figueiredo Versão 07-02 63

Wins (Servidor de Nomes Internet Windows)

Messias Bittencourt Figueiredo Versão 07-02 64


Whois

Messias Bittencourt Figueiredo Aula 18 Versão 07-02 65

Whois

Messias Bittencourt Figueiredo Versão 07-02 66


Whois

Messias Bittencourt Figueiredo Versão 07-02 67

Camada de Rede

Formato de Mensagem IPv4


(Pacote ou Datagrama)

Messias Bittencourt Figueiredo Aula 10 Versão 07-02 68


Pacote x Datagrama
• Pacote - É uma estrutura unitária de • Datagrama - É uma unidade de
transmissão de dados ou uma sequência transferência básica associada a uma
de dados transmitida por uma rede ou rede de comutação de pacotes em que a
linha de comunicação que utilize a entrega, hora de chegada, e a
comutação de pacotes. ordem não são garantidos.

• O termo datagrama é muitas vezes


• A informação a transmitir geralmente é considerado sinônimo de "pacote", mas
quebrada em inúmeros pacotes e então há algumas diferenças:
transmitida. Além da parte da
informação, o pacote possui um • Datagrama é geralmente reservado para
cabeçalho, que contém informações os pacotes de um serviço "não
importantes para a transmissão, como o confiável“.
endereço do destinatário, soma para
checagem de erros, prioridades, entre
outras.

• Pacote se aplica a qualquer mensagem


formatada como um pacote;

Messias Bittencourt Figueiredo Versão 07-02 69

Pacote X Datagrama

Pacote Pacote Pacote Pacote


ok ok ok te
ok co
Pa
ok
Paco
te
ok
Pacote
ok

o te
Pac
ok

Pacote
ok
Da
tag
ra
ra
tag
Da

Datagra Datagra Datagra Datagra Datagra

Messias Bittencourt Figueiredo Versão 07-02 70


Pacote X Datagrama

Pacote Pacote Pacote Pacote


ok ok ok te
ok co
Pa
ok
Paco
te
ok

Pacote
ok

o te
Pac
ok

Pacote
ok

Da
ta
gr
ra

a
tag
Da

Datagra Datagra Datagra Datagra Datagra

Messias Bittencourt Figueiredo Versão 07-02 71

Formato do Cabeçalho do Pacote IPv4


• Versão – Versão do cabeçalho, com 4 bits;

• Tamanho Do Cabeçalho (IHL) -


Comprimento do Cabeçalho, 4 bits;

• Tipo De Serviço (ToS) – Nó deveria


especificar uma preferência para como os
datagramas poderiam ser manuseados em
cada roteador:
• Se preferir pequeno desfasamento de • Tempo De Vida (TTL) - ajuda a prevenir que
tempo ou alta confiabilidade, os datagramas persistam numa rede. Limita a
vida de um datagrama em segundos;
• Não foi largamente implementado.
• Protocolo - definindo o protocolo seguinte
• Comprimento (pacote) - define todo o usado numa porção de dados de um
tamanho do datagrama, incluindo cabeçalho e datagrama IP. TCP, UDP, ICMP,...
dados, em bytes de oito bits.
• Mínimo = 20 bytes • Checksum - Um pacote em trânsito é
• Máximo - 64 Kbytes. alterado por cada comutador que atravesse.
Um desses comutadores pode comprometer o
• Identificador - Identificar fragmentos pacote, e a verificação é uma forma simples
identificativos do datagrama IP original; de detectar a consistência do cabeçalho.
• Flags - controlar ou identificar fragmentos • Opções - Marca de tempo, registrar rota
seguida, especificar lista de roteadores a
• Offset - permite que um receptor determine o visitar.
local de um fragmento em particular no
datagrama IP original;
Messias Bittencourt Figueiredo Aula 10 Versão 07-02 72
Formato do Cabeçalho do Pacote IPv4

Messias Bittencourt Figueiredo Aula 10 Versão 07-02 73

Camada de Rede

Formato de Mensagem IPv6


(Pacote ou Datagrama)

Messias Bittencourt Figueiredo Aula 10 Versão 07-02 74


Camada de Rede

IPv6
• Motivação Inicial: espaço de • Motivação adicional:
endereços de 32-bits em breve – Formato do cabeçalho facilita acelerar
completamente alocado. processamento e re-encaminhamento;
• IPv6 é a versão mais atual do – Mudanças no cabeçalho para facilitar
Protocolo de Internet; QoS;
– Novo endereço “anycast”: rota para o
• Junho de 2012; “melhor” de vários servidores
replicados
• Esforço do IETF para criar o IPng
(Internet Protocol Next Generation) • Formato do Datagrama IPv6:
• O protocolo está sendo implantado – Cabeçalho de tamanho fixo de
gradativamente na Internet; 40 bytes

• Deve funcionar lado a lado com o – Não admite fragmentação


IPv4;

• IPv4 só suporta cerca de 4 bilhões


de endereços;

• IPv4 só suporta cerca de 340


undecilhões endereços novos;
Messias Bittencourt Figueiredo Aula 10 Versão 07-02 75

Formato da Mensagem IPv6


• Versão – Versão do cabeçalho; 1 2 3
8 bits
4 5 6 7 8 9 10 11
8 bits
12 13 14 15 16 17 18 19
8 bits
20 21 22 23 24 25 26 27
8 bits
28 29 30 31 32

Versio Traffic Class Flow Label

• Traffic Class - É usado para assinalar a (4bits) (8 Bits)


Payload Length
(14 bits)
(24 Bits)
Next Header
(8bits)
Hop Limit
(8 bits)

classe de serviço a que o pacote pertence,


permitindo assim dar diferentes tratamentos a Endereço Origem
(128 Bits)

pacotes provenientes de aplicações com


exigências distintas. (QoS); Endereço Destino
(128 Bits)

• Flow Label - É usado com novas aplicações


que necessitem de bom desempenho. Permite
associar datagramas que fazem parte da
comunicação entre duas aplicações. Usados
Dados
para enviar datagramas ao longo de um
caminho pré-definido.

• Payload Length - Representa o volume de


dados em bytes que pacote transporta;

• Next Header - Usado para especificar o tipo


de informação que está a seguir ao cabeçalho
corrente (áudio, vídeo, dados,..).

• Hop Limit - Indica o número máximo de


saltos (passagem por roteadores) que o
datagrama pode dar, antes de ser descartado,
semelhante (TTL no IPv4).

Messias Bittencourt Figueiredo Aula 10 Versão 07-02 76


Formato do Cabeçalho do Pacote IPv6
8 bits 8 bits 8 bits 8 bits
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Versio Traffic Class Flow Label


(4bits) (8 Bits) (24 Bits)
Payload Length Next Header Hop Limit
(14 bits) (8bits) (8 bits)

Endereço Origem
(128 Bits)

Endereço Destino
(128 Bits)

Dados

Messias Bittencourt Figueiredo Versão 07-02 77

Endereçamento IP

Messias Bittencourt Figueiredo Aula 11 Versão 07-02 78


Camada de Rede

Endereçamento IP
• Endereço IP
– Identificador de 32-bits para 223.1.1.2
interface de estação, roteador. 223.1.2.2

• Interface 223.1.1.1 223.1.2.1


223.1.1.3 223.1.3.1
– Conexão entre estação, roteador e
enlace físico; 223.1.2.3

• Roteador típico tem múltiplas interfaces;


223.1.1.4

• Estação pode ter múltiplas interfaces;


223.1.3.2 223.1.3.3
• Endereço IP associado à interface, não à
estação ou roteador.

223.1.3.2 = 11011111.00000001.00000011.00000001

Messias Bittencourt Figueiredo Aula 11 Versão 07-02 79

Camada de Rede

Endereçamento IP
O endereço IP é associado a
interface e não ao host.

223.1.1.2

223.1.2.2
I1 I2
223.1.1.1 223.1.2.1
223.1.1.3 I3
223.1.3.1

223.1.2.3

223.1.1.4

223.1.3.2 = 11011111.00000001.00000011.00000001 223.1.3.2 223.1.3.3


Messias Bittencourt Figueiredo Aula 11 Versão 07-02 80
Camada de Rede

Endereçamento IP
• Endereços Físicos • Portanto
– Endereço MAC – Endereço IP é uma palavra de 32
– Ethernet bits, estruturado em classes, que
identifica a rede e a estação na
– 48 bits
rede.
– AA-CF-34-93-99-00

– Para rotear, os roteadores


analisam os endereços IP no
• Endereços Lógicos cabeçalho do Datagrama.
– Endereço IP;
– 32 Bits;
– Ex: 150.162.60.1

Messias Bittencourt Figueiredo Aula 11 Versão 07-02 81

Camada de Rede

Endereço IP
• Número inteiro de 32 bits • Os endereços de rede são
atribuídos de forma única por
– 128 . 10 . 2 . 30 um órgão central
10000000 00001010 00000010 00011110
 NIC - Network Information Center

• Dividida em Classes
– A, B, C, D e E
• A atribuição de endereços as
estações de trabalho são de
responsabilidade da própria
• IP é formado por um par instituição.
– Netid - endereço de rede
– Hostid - endereço de host

Messias Bittencourt Figueiredo Aula 11 Versão 07-02 82


Classes de Endereços
IP’s

Messias Bittencourt Figueiredo Aula 12 Versão 07-02 83

Camada de Rede

Classes de Endereços IP’s


• O arquitetura TCP/IP provê 5 • A classe E é reservada para
classes de endereçamentos uso futuro.
IP’s:
• Classe A;
• Classe B;
• Classe C;
• Classe D;
• Classe E.

• As classes A,B,C permitem o


endereçamento direto à
estação na rede Internet;

• A classe D permite efetuar


broadcasting;

Messias Bittencourt Figueiredo Aula 12 Versão 07-02 84


Classes de Endereços IP’s
8 bits 8 bits 8 bits 8 bits
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Classe A 0 Identificação da Rede (7 bits) Identificação do Host (24 Bits)

Classe B 1 0 Identificação da Rede (14 bits) Identificação do Host (16 Bits)

Classe C 1 1 0 Identificação da Rede (21 bits) Identificação do Host (8 Bits)

Classe D 1 1 1 0 Identificação do Grupo de Multicast (28 bits)

Classe E 1 1 1 1 0 Reservado Para Uso Futuro (27 bits)

No de Redes No de Host
Classe A 128 16.777.214
Classe B 16.384 65.534
Classe C 2.097.152 254
Messias Bittencourt Figueiredo Aula 12 Versão 07-02 85

Camada de Rede

Classes de Endereços IP’s


Endereço Endereço
Classe
Inicial Final
Classe A 1.0.0.0 a 126.255.255.255
loopback 127.0.0.0 a 127.255.255.255
Classe B 128.0.0.0 a 191.255.255.255
Classe C 192.0.0.0 a 223.255.255.255
Classe D 224.0.0.0 a 239.255.255.255
Classe E 240.0.0.0 a 247.255.255.255
Nota: A faixa de endereços 127.0.0.0 é utilizado como endereço de loopback, ou
seja, para teste interno da própria interface.
Messias Bittencourt Figueiredo Aula 12 Versão 07-02 86
Camada de Rede Intervalos de endereços
Classe A 1.0.0.0 a 126.255.255.255

Classe A Classe B
Classe C
128.0.0.0
192.0.0.0
a
a
191.255.255.255
223.255.255.255
Classe D 224.0.0.0 a 239.255.255.255
Classe E 240.0.0.0 a 247.255.255.255

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 7 bits = 27= 128 Redes - 2 = 126 Redes 24 bits = 224= 16.777.216 Hosts

0 0 0 0 0 0 0 0

0 1 1 1 1 1 1 1
Endereços de redes de Classe A: 0.0.0.0 a 127.0.0.0.0

Ex: 0.0.0.0.0 – 0.255.255.255 Ex: 1.0.0.0.0 – 1.255.255.255


127.0.0.0 – 127.255.255.255 126.0.0.0 – 126.255.255.255

• Primeiro byte indica o endereçamento de rede e os três bytes restantes o endereçamento


de host;
• Na classe A, o primeiro bit é sempre 0;
• Os NETID vão de 0-127
– Descarta os endereços 0 e 127.
Messias Bittencourt Figueiredo Aula 12 Versão 07-02 87

Camada de Rede

Classes A
• Endereços de Redes (NETID) Intervalos de endereços
Classe A 1.0.0.0 a 126.255.255.255
– Os endereços 0 e 127 não são Classe B 128.0.0.0 a 191.255.255.255
utilizados pois são reservados: Classe C 192.0.0.0 a 223.255.255.255
Classe D 224.0.0.0 a 239.255.255.255
Classe E 240.0.0.0 a 247.255.255.255
• O numero 127 se destina a testes
de loopback em uma rede;

• Um loopback nada mais é do que


a conexão que a rede faz com ela – O número 127 não é utilizado
mesma para testes internos, como rede Classe A, pois é um
configurações, velocidade de número especial, reservado para
trafego numa comunicação
paralela ou serial etc. fazer referência ao próprio
computador;
– O número 127.0.0.1 é um
número especial conhecido como
localhost:

• Sempre que um programa fizer


referência a localhost ou ao
número 127.0.0.1, estará
fazendo referência ao
computador onde o programa
está sendo executado.

Messias Bittencourt Figueiredo Aula 12 Versão 07-02 88


Camada de Rede Intervalos de endereços
Classe A 1.0.0.0 a 126.255.255.255
Classe B Classe B 128.0.0.0 a 191.255.255.255
Classe C 192.0.0.0 a 223.255.255.255
Classe D 224.0.0.0 a 239.255.255.255
Classe E 240.0.0.0 a 247.255.255.255

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 0 6 bits do 1o Octeto + 8 Bits do 2o Octeto * = 26 . 28 = 64 * 256 = 16.384 redes 16 bits = 216= 65536 Hosts

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Endereços de redes de Classe A: 128.1.0.0 a 191.254.0.0.0

• Classe que permite o endereçamento de:


– 16.384 redes -2;
– 65.536 Hosts - 2

Messias Bittencourt Figueiredo Aula 12 Versão 07-02 89

Camada de Rede Intervalos de endereços


Classe A 1.0.0.0 a 126.255.255.255

Classe C Classe B
Classe C
128.0.0.0
192.0.0.0
a
a
191.255.255.255
223.255.255.255
Classe D 224.0.0.0 a 239.255.255.255
Classe E 240.0.0.0 a 247.255.255.255

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 0 5 bits do 1o Octeto + 8 Bits do 2o Octeto * 8 bits do 3o Octeto = 32.256.256 = 2.097.152 redes 8 bits = 28= 256 hosts

1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Endereços de redes da Classe A: 128.1.0.0 a 191.254.254.0.0

• Classe que permite o endereçamento de:


– 2.097.152 - 2;
– 256 Hosts.

Messias Bittencourt Figueiredo Aula 12 Versão 07-02 90


Camada de Rede

Revisão
Classe A
• 10.0.0.0 é um número de rede;
• 10.0.1.0 é um endereço de máquina nesta rede 10.255.255.255.255

Classe B
• 172.17.0.0 é um número de rede;
• 172.17.0.1 é um endereço de máquina;
• 172.17.255.255 é um endereço de rede de transmissão;

Classe C
• 192.168.3.0 é um número de rede
• 192.168.3.42 é um endereço de máquina nesta rede 192.168.3.255 é
o endereço de rede de transmissão

Messias Bittencourt Figueiredo Aula 12 Versão 07-02 91

Camada de Rede

Endereços Classes D e E
• Classe D: • Classe E:

– Multidifusão; – Uso futuro

– Vários computadores em um – de 240.1.1 a 247.254.254


mesmo segmento de LAN;

– Formação de grupos de
computadores:

• (ex. grupo de roteadores)

• (RFC 1340) de 224.1.1 a


239.254.254

Messias Bittencourt Figueiredo Aula 12 Versão 07-02 92


Camada de Rede

128.10.2.241
128.10.2.242

128.10.2.20
128.10.2.2
Barramento Estrela

128.10.2.10 128.10.2.32 128.10.2.31

128.10.2.1
191.5.4.1

128.10.3.1

128.10.3.2
191.5.4.2 191.5.4.3 191.5.4.4

Barramento

128.10.3.3
128.10.3.5

128.10.3.4

Messias Bittencourt Figueiredo Aula 12 Versão 07-02 93

Camada de Rede

Alocação de Endereços Para Redes Privadas


• Address Allocation for Private Internets;

• Classes de Endereços Privativos;

• RFC 1918:

• Classe A: 101

• Classe B: 172.16 a 172.31

• Classe C: 192.168.0 a 192.168.255

Messias Bittencourt Figueiredo Aula 12 Versão 07-02 94


Mascaras

Messias Bittencourt Figueiredo Aula 13 Versão 07-02 95

Camada de Rede

Mascaras de Sub-Rede
• Cada host de uma sub-rede, além de receber um endereço IP
único, deve também ser configurado com sua Máscara de Sub-
Rede (igual para todos os hots da sub-rede);

• Máscara é uma seqüência de 4 bytes, onde os bits 1 indicam o


endereço de rede e os bits 0 indicam os endereços de Hosts;

Classe A = 255.0.0.0
Classe B = 255.255.0.0
Classe C = 255.255.255.0

Classe A = 11111111.00000000.00000000.00000000 /8
Classe B = 11111111.11111111.00000000.00000000 /16
Classe C = 11111111.11111111.11111111.00000000 /24

Messias Bittencourt Figueiredo Aula 13 Versão 07-02 96


Camada de Rede

Mascaras de Sub-Rede
• Para determinar qual é o endereço de rede de um
endereço IP, deve-se fazer uma operação AND entre o
endereço IP e a mascara de Sub-Rede. O Resultado
será o endereço de rede. Todos os hosts cujo endereço
dessa operação for igual pertencem à mesma rede;

IP = 200.18.228.96 = 11001000.00010010.11100100.11100100 =
M = 255.255.255.0 = 11111111.11111111.11111111.00000000
AND entre IP e M
=11001000.00010010.11100100.00000000

Messias Bittencourt Figueiredo Aula 13 Versão 07-02 97

Camada de Rede

Mascaras de Sub-Rede
• Para determinar qual é o endereço de rede de um
endereço IP deve-se fazer uma operação AND entre o
endereço IP e a Mascara da Rede. O Resultado será o
endereço de rede;
• Todos os hosts cujo endereço dessa operação for igual
pertencem à mesma rede.

IP = 200.18.228.96 = 11001000.00010010.11100100.01100000 =
M = 255.255.255.0 = 11111111.11111111.11111111.00000000
AND entre IP e M = 11001000.00010010.11100100.00000000
Endereço de Rede = 200.18.228.0

Messias Bittencourt Figueiredo Aula 13 Versão 07-02 98


Sub-Redes

Messias Bittencourt Figueiredo Aula 14 Versão 07-02 99

Sub-Redes

223.1.1.2

223.1.2.2
I1 I2
223.1.1.1 223.1.2.1
223.1.1.3 I3
223.1.3.1

223.1.2.3

223.1.1.4

223.1.3.2 223.1.3.3
Messias Bittencourt Figueiredo Aula 14 Versão 07-02 100
Camada de Rede

Sub-Redes
• Endereço IP:
– Parte de rede 223.1.1.2

• Bits de mais alta ordem 223.1.2.2


I1 I2
– Parte da estação 223.1.1.1 223.1.2.1
223.1.1.3 I3
• Bits de mais baixa ordem 223.1.3.1

• O que é uma subrede 223.1.2.3

IP 223.1.1.4

– São grupo de host que


possuem interface com a 223.1.3.2 223.1.3.3

mesma parte de rede;


– podem alcançar um IP sem a
necessidade de roteamento. Esta rede consiste de 3 redes IP

Messias Bittencourt Figueiredo Aula 14 Versão 07-02 101

Sub-Redes
Quantas Sub-Redes
existem nessa rede? 223.1.1.2 223.1.1.3 223.1.1.4

223.1.1.1
.4.1

22
3.1
.1
223

.5.1
.4.2

22
3.1
.1

.
223

5.2

223.1.6.1 223.1.6.2

223.1.2.1 223.1.3.1

223.1.2.2 223.1.2.3 223.1.3.2 223.1.3.3

Messias Bittencourt Figueiredo Aula 14 Versão 07-02 102


Sub-Redes
Resposta: 6
223.1.1.2 223.1.1.3 223.1.1.4

223.1.1.1

.1

22
.1.4

3.1
223

.5.
1
.2

22
.1.4

3.1
.
223

5.2
223.1.6.1 223.1.6.2

223.1.2.1 223.1.3.1

223.1.2.2 223.1.2.3 223.1.3.2 223.1.3.3

Messias Bittencourt Figueiredo Aula 14 Versão 07-02 103

Roteamento Entre Domínio


de Classes (CIDR)

Messias Bittencourt Figueiredo Aula 15 Versão 07-02 104


Camada de Rede

Roteamento Intra Domínio de Classes (CIDR)


• CIDR (Classless Inter-Domain Rounting);

• Classes IP’s apresentam desperdício de endereços IP;

– Um empresa que tenha 10 computadores e receba uma Classe C


desperdiçará 244 endereços. Imagine se possuísse uma classe A ou B?

• Utilizando CIDR é possível subdividir o conjunto de endereços de


uma rede Classe C, por exemplo, em conjuntos menores de Ips,
de forma a ter mais aproveitamento dos endereços desperdiçados;

• Divisão de endereço não é determinado pela classe e sim pela


máscara da sub-rede;

• Mascara indica quantos bits compõem o endereço de rede.

Messias Bittencourt Figueiredo Aula 15 Versão 07-02 105

Camada de Rede

(Classless Inter-Domain Rounting) - CIDR


Benefícios:

– Maior flexibilidade ao esquema de endereçamento TCP/IP, com


melhor aproveitamento dos endereços;

– Aumento da performance da rede, uma vez que o tráfego local


das sub-redes e as mensagens broadcast não são propagada
para toda a rede;

– Simplicidade da tabela de roteamento dos roteadores.

Messias Bittencourt Figueiredo Aula 15 Versão 07-02 106


Messias Bittencourt Figueiredo Aula 15 Versão 07-02 107

Camada de Rede

Exercícios CIDR

Messias Bittencourt Figueiredo Aula 16 Versão 07-02 108


Camada de Rede

Exercício 1
• Você recebeu uma classe C, conforme tabela Classe C
acima, distribua os endereços dessa classe Rede: 200.50.230.0
nas sub-redes abaixo. Mascara: 255.255.255.0

Sub-Net 1
R Sub -Net 3

1 ... 110 1 ... 70

Messias Bittencourt Figueiredo Aula 16 Versão 07-02 109

Camada de Rede

Exercício 2
• Você recebeu uma classe C, conforme tabela Classe C
acima, distribua os endereços dessa classe Rede: 200.50.230.0
nas sub-redes abaixo. Mascara: 255.255.255.0

Sub-Net 1
R Sub -Net 3

1 ... 60 1 ... 50

Sub-Net 3

1 ... 15

Messias Bittencourt Figueiredo Aula 16 Versão 07-02 110


Camada de Rede

Exercício 3
Classe C
Rede: 200.50.230.0
Mascara: 255.255.255.0

Sub -Net 3

1 ... 40

Sub-Net 1
R Sub -Net 3

1 ... 60 30

Subnet 4

1 ... 45

Messias Bittencourt Figueiredo Aula 16 Versão 07-02 111

Camada de Rede
Classe C
Exercício 4 Rede: 200.50.230.0
Mascara: 255.255.255.0
Sub -Net 3

1 ... 25

Sub-Net 1
R Sub -Net 3

1 ... 20 1 ... 10

Subnet 4 Subnet 4

1 ... 15 1 ... 15

Messias Bittencourt Figueiredo Aula 16 Versão 07-02 112


Camada de Rede
Classe C
Rede: 200.50.230.0 R3
Mascara: 255.255.255.0

R1 1 ... 60

1 ... 100

R2

R4
1 ... 30
1 ... 4

Messias Bittencourt Figueiredo Aula 16 Versão 07-02 113

Exercício:

Messias Bittencourt Figueiredo Aula 16 Versão 07-02 114


Atividade Avaliativa:
• Utilizando uma única classe C
de endereçamento IP
192.168.0.1, redistribua os
endereços para a topologia de
rede ao lado de forma a provê
a comunicação entre todas as
subredes:

Messias Bittencourt Figueiredo Aula 16 Versão 07-02 115

Camada de Rede

Trabalho em Equipe
1. Endereçamento IP:

Parte 1: Você é o gerente de um provedor de acesso Internet e recebe uma classe de endereços
128.1.0.0/16 para gerenciar o seu negócio. Esse provedor tem como clientes 5 Hospitais (cada um
com diversos setores e com aproximadamente 500 computadores cada), duas Universidades (cada
uma com campi composto por 10 prédios e 300 computadores cada), 3 fábricas (150 computadores
em média) e 5000 clientes pessoa física.

Monte uma topologia para este provedor, especificando:

 Número de bits necessários para identificar as sub-redes;


 Máscara utilizada;
 Liste os identificadores de redes alocados nas instituições clientes e na própria empresa;
 Liste a faixa de endereços IP que podem ser alocados para as sub-redes das instituições
(escolha qualquer uma);
 Endereços de broadcast de cada instituição;
 NAT;
 Sub-redes públicas e privativas.

Messias Bittencourt Figueiredo Aula 16 Versão 07-02 116


Camada de Rede

Roteamento

Aula 4

Messias Bittencourt Figueiredo


117

Camada de Transporte Introdução

Visão Geral da Rede


Aplicação
Transporte
Rede
Enlace
Física Rede Rede
Enlace Enlace
Física Física

Rede
Enlace
Física

Rede Rede
Enlace Enlace
Física Física

Aplicação
Transporte
Rede
Enlace
Física

Rede
Enlace
Física Aplicação
Aplicação Transporte
Transporte Rede
Rede Enlace
Enlace Física
Física

Aplicação
Aplicação Transporte
Transporte Rede
Rede Enlace
Enlace Física
Física

Messias Bittencourt Figueiredo Aula 10 Versão 07-02 118


Camada de Rede

Roteamento

R
Roteador de
Backbone

BACKBONE R
Roteador de Roteador de
borda de área Backbone
Roteador de
R borda de área Roteador de
borda de área
R
R

R R
ÁREA 2 R
ÁREA 3
R
ÁREA 1 R Roteador
Roteador R Internos
R Internos
Roteador R
Internos
R

Messias Bittencourt Figueiredo Aula 24 Versão 07-02 119

Roteamento
• O Roteamento é o mecanismo
que permite a comunicação
entre dois dispositivos que
estejam em redes distintas;

• O dispositivo responsável para


realização do roteamento é
conhecido como Roteador;

• Mas outros dispositivos


conectados a duas ou mais
redes também poderão atuar
no papel de roteador.

Messias Bittencourt Figueiredo Versão 07-02 120


Camada de Rede

Funções da Camada de Rede


Encaminhamento Roteamento
• Move pacotes de uma entrada do • Determina a rota a ser seguida
roteador para a saída apropriada. pelos pacotes da fonte até o
destino, utilizando:
• Analogia: processo de atravessar
uma encruzilhada durante a • Algoritmos de roteamento
viagem.
• Analogia: Processo de planejar uma
viagem da origem até o destino.
ALGORITMO DE ROTEAMENTO

Tabela de Encaminhamento
End. Destino Porta de Saída
200.128.5.5 1
200.128.10.71 2
200.128.30.97 3
1 R3 3
4

2
200.128.20.102 4 3 2
200.128.10.71

2 1

R1 R6
DADOS 200.128.20.102
1

2
4
200.128.5.5 3 2
3
4 3
2 3 2
2 4
R1
DADOS 200.128.20.102 1
R4
1 200.128.20.102

2
3

1
200.128.5.5 2 5
4
1 1
2
2 3
2
1

R2 3
3
1
R5
R1 4
1

200.128.30.97

Messias Bittencourt Figueiredo Aula 10 Versão 07-02 121

Diferença: Encaminhamento e Roteamento

Messias Bittencourt Figueiredo Versão 07-02 122


Diferença: Encaminhamento e Roteamento
ALGORITMO DE ROTEAMENTO ALGORITMO DE
ROTEAMENTO

R7
Tabela de Encaminhamento Tabela de Encaminhamento
End. Destino Porta de Saída End. Destino Porta de Saída
200.128.5.5 1 200.128.5.5 2
200.128.10.71 1
200.128.10.71 2
200.128.30.97 3
200.128.30.97 3 200.128.20.102 4
200.128.20.102 4
1 R3 3
4

2 200.128.10.71
3 2

2 1

R1 R6
DADOS 200.128.20.102
1

2
4
200.128.5.5 3 2
4 3
2 3 2

1 4
R4
200.128.20.102

2
1

2 5

1 1
2 3
2
1

R2 3
3
1
R5
R1 4
200.128.30.97

Tabela de Encaminhamento Tabela de Encaminhamento


End. Destino Porta de Saída End. Destino Porta de Saída
200.128.5.5 1 200.128.5.5 1
200.128.10.71 2 200.128.10.71 3
200.128.30.97 3 200.128.30.97 5
200.128.20.102 2 200.128.20.102 4

Messias Bittencourt Figueiredo Versão 07-02 123

Camada de Rede

Tabela de Encaminhamento

Faixas de Endereços de Destino Interfaces de Saída


200 23 121 0
0
200 23 121 255
200 23 122 0
1
200 23 122 255
200 23 123 0
2
200 23 123 255
Caso Contrário 3
Messias Bittencourt Figueiredo Versão 07-02 124
Camada de Rede

Tabela de Encaminhamento

Faixas de Endereços de Destino Interfaces de Saída


200 128 1 0
200 128 2 1
200 128 3 2
Caso Contrário 3
• Exemplo:
– Qual a interface de saída para o endereço de destino:
• 200.128.2.135?
• 200.128.1.10?
• 200.128.3.15
• 10.120.12.56?
Messias Bittencourt Figueiredo Versão 07-02 125

Camada de Rede

Arquitetura dos
Roteadores

Messias Bittencourt Figueiredo Aula 21 Versão 07-02 126


Camada de Transporte Introdução

Visão Geral da Rede


Aplicação
Transporte
Rede
Enlace
Física Rede Rede
Enlace Enlace
Física Física

Rede
Enlace
Física

Rede Rede
Enlace Enlace
Física Física

Aplicação
Transporte
Rede
Enlace
Física

Rede
Enlace
Física Aplicação
Aplicação Transporte
Transporte Rede
Rede Enlace
Enlace Física
Física

Aplicação
Aplicação Transporte
Transporte Rede
Rede Enlace
Enlace Física
Física

Messias Bittencourt Figueiredo Aula 21 Versão 07-02 127

Camada de Rede Arquitetura dos Roteadores

Roteador
• Roteador - É um dispositivo que encaminha pacotes de dados
entre redes de computadores distintas. Um roteador é conectado a
duas ou mais linhas de dados de redes diferentes.

• Quando um pacote de dados chega em uma das linhas de entrada,


o roteador lê o endereço de destino para determinar o seu destino
final. Em seguida, usando as informações na sua tabela de
encaminhamento, o roteador direciona o pacote para a porta de
saída para que este siga a sua viagem até o destino final.

Messias Bittencourt Figueiredo Aula 21 Versão 07-02 128


Camada de Rede

Hardware dos
Roteadores

Messias Bittencourt Figueiredo Aula 21 Versão 07-02 129

Camada de Rede Arquitetura dos Roteadores

Arquitetura dos Roteadores


Funções importantes dos Roteadores:
1. Comutam datagramas da porta de entrada para a porta de saída, baseado no
endereço IP de saída.
2. Utiliza protocolo/algoritmo de roteamento (RIP, OSPF, BGP) para a tomada de
decisão da escolha da porta de saída;
3. Algoritmo de roteamento utiliza tabela de rota para escolha da porta de saída.

Fila Entrada Fila Saída

PE PS

Fila Entrada Fila Saída

PE Matriz PS

De
Comutação
Fila Entrada Fila Saída

PE PS

Processador De
Roteamento
Protocolo De Tabela de Algoritmo de
Encaminhamento Encaminhamento Roteamento

Messias Bittencourt Figueiredo Aula 21 Versão 07-02 130


Camada de Rede Arquitetura dos Roteadores

Porta de Entrada
– Objetivo: Fazer processamento da porta de entrada na ‘velocidade da
linha’, ou seja, tempo “zero” de processamento;

– Fila: armazenamento temporário para evitar perdas de pacotes quando a


taxa de entrada for mais rápido que a taxa de saída da matriz de
comutação;

– Matriz de Comutação: define a porta de saída do datagrama a partir da


tabela de rotas na memória da porta de entrada.

Porta de Entrada
Link Dados Fila Matriz
Linha Protocolo
Ethernet
De
Forwarding
Desencapsulamento
Comutação

Camada Camada Camada


Física Enlace De Rede
Messias Bittencourt Figueiredo Aula 21 Versão 07-02 131

Camada de Rede Arquitetura dos Roteadores

Arquitetura dos Roteadores


Matriz de Comutação

A X

B Matriz Y
De
C Comutação Z

Messias Bittencourt Figueiredo Aula 21 Versão 07-02 132


Camada de Rede Arquitetura dos Roteadores

Tipos De Matrizes de Comutação

Messias Bittencourt Figueiredo Aula 21 Versão 07-02 133

Camada de Rede Arquitetura dos Roteadores

Comutação Via Memória Compartilhada


A Matriz De Comutação X

B Y
Memória
Compartilhada

C Z

Porta de Memóri a Porta de


Entrada Saí da
Processador
De
Roteamento
Barramento do Si stema

Memória Compartilhada • Primeiros Modernos:


– Processador da porta de entrada
• Primeiros Roteadores: consulta tabela, copia para a
 Pacote copiado pelo processador para
memória;
memória do sistema; – Cisco Catalyst 8500.
 Velocidade limitada pela largura de
banda da memória.
Messias Bittencourt Figueiredo Aula 21 Versão 07-02 134
Camada de Rede Arquitetura dos Roteadores

Comutação Via Memória Compartilhada

• Primeiros Modernos:
– Processador da porta de entrada
consulta tabela, copia para a
memória;
– Cisco Catalyst 8500.

Messias Bittencourt Figueiredo Aula 21 Versão 07-02 135

Camada de Rede Arquitetura dos Roteadores

Comutação via Barramento


Matriz De Comutação
A X

B Y

C Z

Processador
De
Roteamento

• Datagrama é envia da porta de • Contenção pelo barramento: taxa de


entrada para a porta de saída via comutação limitada pela largura de
barramento único; banda do barramento;

• Apenas um datagrama de cadaz • Barramento de 1 Gbps, Cisco 1900:


vez ocupa o barramento da matriz velocidade suficiente para roteadores
de comutação; de acesso e corporativos (mas não
regionais ou de backbone).
Messias Bittencourt Figueiredo Aula 21 Versão 07-02 136
Camada de Rede Arquitetura dos Roteadores

Comutação via Barramento

• Barramento de 1 Gbps, Cisco 1900:


velocidade suficiente para roteadores A
Matriz De Comutação
X
de acesso e corporativos (mas não
regionais ou de backbone). B Y

C Z

Processador
De
Roteamento

Messias Bittencourt Figueiredo Aula 21 Versão 07-02 137

Camada de Rede Arquitetura dos Roteadores

Comutação Via Barramento Cruzado (Crossbar)


A Matriz De Comutação

B
Processador De
Roteamento

Barramento Cruzado (Rede de Interconexão)


• Basicamente uma rede dentro do roteador;
• Desenvolvida para vencer a limitação da largura de
banda da comutação por barramento;
• É uma rede de interconexão que consistem em 2n X
barramentos, conectando n portas de entrada a n Y Z
portas de saída;
• Uma tendência atual é fragmentar um datagrama IP
de comprimento variável em células de comprimento
fixo, marcar e comutar as células por meio da rede
de interconexão.
Messias Bittencourt Figueiredo Aula 21 Versão 07-02 138
Camada de Rede Arquitetura dos Roteadores

Comutação Via Barramento Cruzado (Crossbar)


A Matriz De Comutação

Processador De
Roteamento
C

Barramento Cruzado (Rede de


Interconexão)
• Supera limitações de banda dos barramentos;
• Redes Banyan e outras redes de interconexão
desenvolvidas inicialmente para interligar
processadores num sistema multiprocessador; X
Z
Y
• Projeto avançado: fragmentar datagrama em
células de tamanho fixo, comutar células
através da matriz de comutação.
• Cisco 12000: comuta N Gbps pela rede de
interconexão.
Messias Bittencourt Figueiredo Aula 21 Versão 07-02 139

Camada de Rede Arquitetura dos Roteadores

Comutação Via Barramento Cruzado (Crossbar)

• Cisco 12000: comuta N Gbps pela


rede de interconexão.

Messias Bittencourt Figueiredo Aula 21 Versão 07-02 140


Camada de Rede Arquitetura dos Roteadores

Porta de Saída
– Objetivo: Fazer processamento da porta de saída na ‘velocidade da
linha’, ou seja, tempo “zero” de processamento;
– Buffers/Fila: necessário quando datagramas chegam a matriz de
comutação mais rapidamente que a taxa de transmissão;
– Disciplina de escalonamento: escolhe um dos datagramas
enfileirados para transmissão.

Porta de Saída
Matriz Fila Link Dados

De Protocolo
Ethernet
Linha
Forwarding
Comutação Encapsulamento

Camada Camada Camada


De Rede Enlace Física

Messias Bittencourt Figueiredo Aula 21 Versão 07-02 141

Camada de Rede

Software dos
Roteadores

Messias Bittencourt Figueiredo Aula 21 Versão 07-02 142


Comandos Básicos Dos
Roteadores Cisco

Messias Bittencourt Figueiredo Aula 22 Versão 07-02 143

Comandos Básicos de Roteadores Cisco


• Configurando um nome: • Configurando senha da console.
– Router>enable – Router>enable

– Router#configure terminal – Router#configure terminal

– Router(config)#hostname RedeLabIFBA – Router(config)#line console 0

– RedeLabIFBA# – Router(config-line)#password RedeLabIFBA

• Configurando senha enable:


– Router>enable • Configurando acesso telnet para
– Router#configure terminal 05 usuários:
– Router(config)#enable password RedeLabIFBA – Router>enable

– Router#configure terminal
• Configurando senha enable secret:
– Router(config)#line vty 04
– Router>enable
– Router(config-line)#login
– Router#configure terminal
– Router(config-line)#password RedeLabIFBA
– Router(config)#enable secret RedeLabIFBA

Messias Bittencourt Figueiredo Aula 22 Versão 07-02 144


Comandos Básicos de Roteadores Cisco
• Configurando IP na interface • Configurando IP na interface serial.
ethernet. – Router>enable
– Router>enable – Router#configure terminal
– Router#configure terminal – Router(config)#interface serial 0/1/0
– Router(config)#interface ethernet 0/1 – Router(config-if)#ip address 192.168.1.1
255.255.255.0
– Router(config-if)#ip address 192.168.1.1
255.255.255.0 – Router(config-if)#clock rate 128000 (somente
se a serial for DCE)
– Router(config-if)#no shutdown
– Router(config-if)#no shutdown
• Configurando IP na interface
fastethernet. • Configurando roteamento RIP v1.
– Router# configure terminal
– Router>enable
– Router(config)#router rip
– Router#configure terminal
– Router(config-router)#network 192.168.1.0
– Router(config)#interface fastEthernet 0/1
– Router(config-router)#network 10.0.0.0
– Router(config-if)#ip address 192.168.1.1
255.255.255.0

– Router(config-if)#no shutdown

Messias Bittencourt Figueiredo Aula 22 Versão 07-02 145

Comandos Básicos de Roteadores Cisco


• Configurando uma rota default por ip do
próximo salto.
– Router#configure terminal

– Router(config)#ip route 0.0.0.0 0.0.0.0


192.168.1.1

• Configurando rota default por interface.


– Router#configure terminal

– Router(config)#ip route 0.0.0.0 0.0.0.0 serial


0/1/0


Configurando rota estática por ip do
próximo salto.
– Router#configure terminal

– Router(config)#ip route 192.168.0.0


255.255.255.0 192.168.1.1

• Configurando rota estática por


interface.
– Router#configure terminal

– Router(config)#ip route 192.168.0.0


255.255.255.0 serial 0/0


Messias Bittencourt Figueiredo Aula 22 Versão 07-02 146
Comandos Básicos de Roteadores Cisco
• Configurando roteamento entre Vlans.

– Router>enable

– Router#configure terminal

– Router(config)#interface fastEthernet 0/1

– Router(config-if)#no shutdown

– Router(config-if)#exit

– Router(config)#interface fastEthernet 0/0.1 (ID da sub-interface)

– Router(config-subif)#encapsulation dot1Q 10 (ID da vlan)

– Router(config-subif)#ip address 192.168.1.1 255.255.255.0

– Router(config-subif)#exit

– Router(config)#interface fastEthernet 0/0.2 (ID da sub-interface)

– Router(config-subif)#encapsulation dot1Q 20 (ID da vlan)

– Router(config-subif)#ip address 192.168.2.1 255.255.255.0

Messias
• Bittencourt Figueiredo Aula 22 Versão 07-02 147

Comandos Básicos de Roteadores Cisco


• Comandos de verificação e diagnóstico: – Router#sh flash:

– Router#show • Verifica os arquivos de sistema operacional da


Flash
• Fornece uma lista dos comandos show
disponíveis – Router#copy running-config startup-
config
– Router#show arp
• Salva as configurações ativas na RAM para a
• Exibe a tabela ARP do roteador NVRAM

– Router#sh interfaces
• Verifica detalhadamente as configurações das
interfaces

– Router#sh ip interface brief


• Verifica resumidamente as configurações das
interfaces)

– Router#sh ip route
• Verifica a tabela de roteamento

– Router#sh running-config
• Verifica as configurações ativas na RAM
– Router#sh startup-config
• Verifica as configurações da NVRAM

Messias Bittencourt Figueiredo Aula 22 Versão 07-02 148


Exercício Sobre Comandos Cisco:
1. Elabore uma lista de comandos – Router> enable

para configurar o roteador da


topologia de rede abaixo: – Router# configure terminal

– Router(config)# interface GigabitEthernet0/0

– Router(config-if)#i p address 200.128.23.1 255.255.255.0

– Router#configure terminal

– Router(config)#interface GigabitEthernet0/1

– Router(config-if)#ip address 200.128.50.1 255.255.255.0

– Router(config-if)#exit

Messias Bittencourt Figueiredo Versão 07-02 149

Exercício Sobre Comandos Cisco:


Para a topologia de rede abaixo, • R2
configure as interfaces dos roteadores • Router> enable
utilizando linhas de comando, conforme • Router# configure terminal
explicado em sala de aula: • Router(config)# interface FastEthernet0/0
• Router(config-if)# ip address 200.120.0.1 255.255.255.0

10.0.0.1/8 • Router# configure terminal


GE 0/0
• Router(config)# interface FastEthernet0/1
128.130.0.1/16 GE
0/1 R1 GE
0/2
129.130.0.1/16
• Router(config-if)# ip address 128.130.0.2 255.255.0.0
• Router(config-if)# no shutdown
FE 0/1 128.130.0.2/16 129.130.0.2/16 FE 0/1

R2 R3
FE 0/0 FE 0/0
• Router#configure terminal
200.120.0.1/24 200.130.0.1/24
• Router(config)#interface GigabitEthernet0/1
Switch • Router(config-if)#ip address 200.128.50.1 255.255.255.0
Switch

Messias Bittencourt Figueiredo Versão 07-02 150


II AVALIAÇÃO

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 151

Protocolos de
Roteamento

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 152


Camada de Rede

Protocolos de Roteamento

PROTOCOLO DE ROTEAMENTO

INTRADOMÍNIO INTERDOMÍNIO

RIP OSPF BGP

Vetor de
Estado de Enlace Vetor de Caminho
Distância

Messias Bittencourt Figueiredo Versão 07-02 153

RIP

Messias Bittencourt Figueiredo Aula 23


154
RIP (Routing Information Protocol)
• Protocolo de Troca de Informações • Desvantagens:
entre Roteadores;
– Perda de funcionalidade em redes
• Objetivo do RIP: encaminhar grandes, com mais de 15 saltos;
pacotes de uma entrada do
roteador para a saída do mesmo; – Grande consumidor de largura de
banda. Cada 30 segundos, ele faz
• É um protocolo bastante usado em
um broadcast de sua tabela de
redes locais/domesticas;
roteamento;
• Suporte e facilidade de configu-
ração; – Ignora fatores de velocidade e
trafego de informações;
• Utiliza uma Tabela de Roteamento
baseada numa métrica de saltos ; – Convergência Lenta - leva
relativamente muito tempo para
• Cada enlace tem custo 1;
que alterações na rede fiquem
• Verifica as diversas rotas entre dois sendo conhecidas por todos os
pontos e escolhe a que tiver menos roteadores. Esta lentidão pode
saltos; causar loops de roteamento, por
causa da falta de sincronia nas
• Cada rota só pode ter até 15 saltos; informações dos roteadores.
Messias Bittencourt Figueiredo Versão 07-02 155

RIP (Routing Information Protocol)


• Utiliza o algoritmo Vetor de • Os protocolos baseados no
Distância: algoritmo Vetor de Distância partem
do princípio de que cada roteador
– Este algoritmo é responsável do SA deve conter uma tabela
pela construção de uma informando todas as possíveis rotas
tabela que informa as rotas dentro deste AS;
possíveis dentro do SA.
• Utiliza broadcast para enviar a sua • A partir desta tabela, o algoritmo
tabela para todos os seus vizinhos escolhe a melhor rota e o enlace
em intervalos predefinidos de que deve ser utilizado;
tempo (30 segundos);

• Estas mensagens de atualização • Estas rotas formam uma tabela;


permitem aos seus vizinhos
atualizarem as suas tabelas; • Cada uma destas rotas contém as
• Após atualizar as suas tabelas, os seguintes informações:
seus vizinhos replicam as suas
tabelas para os seus vizinhos
(vizinhos dos vizinhos);

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 156


RIP - Histórico
• Histórico: criado pelo Departa- • Solução: criar um protocolo de
mento de Defesa dos EUA em 1969; roteamento padrão para a troca de
informações entre os roteadores e
• Objetivo: construir um sistema de hosts da rede;
comunicação digital para tempos de
guerra; • A rede está organizada como um
conjunto de Sistemas Autônomos
• Problema: se uma das bases de (SA);
informações fosse atacada?
• Cada SA terá a sua própria
• O que fazer: necessidade de tecnologia de roteamento;
construir uma infraestrutura de
rede onde as informações • O protocolo de encaminhamento
pudessem ser rapidamente usado dentro do Sistema Autónomo
redirecionas de/para outras bases é referido como um Interior
(nós); Gateway Protocol (IGP).

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 157

Mensagem RIP
• Endereço -> IP da rede; • O pacote RIP é transmitido através
do protocolo de transporte UDP;

• Roteador -> Próximo roteador


da rota de destino; • Usa a porta 520 do UDP
(transmissão e recepção);

• Interface -> O enlace utilizado


• Se uma rota não é atualizada
para alcançar o próximo roteador
dentro de 180 segundos, sua
da rota de destino;
distância é colocada em infinito e a
entrada será removida das tabelas
• Métrica -> Indicando a distância de roteamento dos demais
da rota (0 a 15). Rota com métrica roteadores;
16 é considerada rota infinita;
• O formato da mensagem do RIP é
• Tempo -> Quando a rota foi mostrado na próxima tabela.
atualizada pela última vez.

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 158


Formato Da Mensagem RIP V02

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 159

Tabela de
Encaminhamento

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 160


Função da Tabela de Roteamento
• Uma tabela de roteamento é um • A tabela de roteamento contém
arquivo de dados na RAM usada associações de rede/próximo salto;
para armazenar informações de rota
sobre redes conectadas diretamente • Essas associações informam a um
e remotas; roteador que, em termos ideais, um
determinado destino pode ser
ALGORITMO DE ROTEAMENTO alcançado enviando-se o pacote
para um roteador específico que
Tabela de Encaminhamento representa o "próximo salto" a
End. Destino Porta de Saída caminho do destino final;
200.128.5.5 1
200.128.10.71 2
200.128.30.97 3 • A associação de próximo salto
200.128.20.102 4 também pode ser a interface de
saída para o destino final.
3

R1
DADOS 200.128.20.102
1
200.128.5.5 3
4
2
1

Messias Bittencourt Figueiredo Versão 07-02 161

Mensagem RIP
• Endereço -> IP da rede; • O pacote RIP é transmitido através
do protocolo de transporte UDP;

• Roteador -> Próximo roteador


da rota de destino; • É usado a porta 520 do UDP, tanto
para transmissão quanto para
recepção;
• Interface -> O enlace utilizado
para alcançar o próximo roteador
• Se uma rota não é atualizada
da rota de destino;
dentro de 180 segundos, sua
distância é colocada em infinito e a
• Métrica -> Número indicando a entrada será mais tarde removida
distância da rota (0 a 15), sendo das tabelas de roteamento dos
uma rota com métrica 16 demais roteadores;
considerada uma rota infinita;
• O formato da mensagem do RIP é
• Tempo -> Quando a rota foi mostrado na próxima tabela.
atualizada pela última vez.

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 162


Exemplo de Subrede

A B C

1 (M=1) 2 (M=1)

3 (M=1) 4 (M=1)

)
=1
(M
5
6 (M=1)

D E

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 163

Tabela De Roteamento
A D E
De A para: Enlace Métrica De D para: Enlace Métrica De E para: Enlace Métrica
A Local 0 A 3 1 A 6 2
B 1 1 B 3 2 B 4 1
C 1 2 C 6 2 C 5 1
D 3 1 D Local 0 D 6 1
E 3 2 E 6 1 E Local 0

B
De B para: Enlace Métrica A B C
A 1 1
B Local 0 1 (M=1) 2 (M=1)
C 2 1
D 4 2
E 4 1
3 (M=1) 4 (M=1)
)
=1

C
(M
5

De C para: Enlace Métrica


A 2 2
B 2 1 6 (M=1)
C local 0
D 5 2 D E
E 5 1
Messias Bittencourt Figueiredo Aula 23 Versão 07-02 164
Algoritmos de
Roteamento

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 165

Algoritmo de Roteamento
• Finalidade: • Um grafo é usado para formular
problemas de roteamento:
– Dado um conjunto de roteadores
conectados por enlaces, um algoritmo
de roteamento descobre um “bom”
caminho entre o roteador fonte e o
roteador destino;

• Um “bom” caminho é aquele que,


normalmente, tem o menor custo; Exemplo de Grafos Não Orientados

• Mas, algumas vezes, um bom


caminho pode não ser o menor
caminho ou o caminho com o menor • No contexto do roteamento da
custo: camada de rede, os nós do grafo
representam roteadores e as
– Podemos ter um caminho longo, arestas, que conectam esses nós,
mas que seja mais rápido de chegar,
representam os enlaces físicos entre
porque o caminho mais curto pode
estar congestionado. esses roteadores.

Messias Bittencourt Figueiredo Versão 07-02 166


Características dos Algoritmos de Roteamentos
Algoritmo Descentralizado Algoritmo Global

– O cálculo do caminho de menor custo é – Um algoritmo de roteamento global


realizado de modo iterativo e calcula o caminho de menor custo entre
distribuído; uma fonte e um destino usando
conhecimento completo e global sobre
– Nenhum nó tem informação completa a rede;
sobre os custos de todos os enlaces da
rede;
– Um algoritmo considera como dados de
cálculos a conectividade entre todos os
– Por meio de processo iterativo de nós e todos os custos;
cálculo e troca de informações com
seus nós vizinhos, um nó calcula
gradualmente o caminho de menor – Na prática, algoritmos com informações
custo até o destino ou até o conjunto globais de estado são frequentemente
de destinos; denominados de algoritmos de Estado
de Enlace;

– Algoritmo Vetor de Distância.

Messias Bittencourt Figueiredo Versão 07-02 167

Algoritmo de Roteamento
• Representação Real:
5km

R2 3km 2
R4
5k
m m
2k

R1 2km 3k
m 1km R6
1k
m
2k
m

1
R3 1km R5

• Representação Gráfica
E3

N2 E5 N4
2

E9
E2

N1 E4 E6 E8 N6
E1
E 10

1
N3 E7 N5

Grafo G=(N,E)
Messias Bittencourt Figueiredo Versão 07-02 168
Exemplo
N1 E1 = 5 N2 G  (N, E)
N  N1 , N 2 , N 3 , N 4 
E  E 1 , E 2 , E 3 
N4

Seja o custo entre N1 e N2


N3
c  (N 1 , N 3 )

c  min( 2 , 5  7 )  2
Seja o custo entre N1 e N4

c  ( N 1, N 4 )
c  min( 5  , 2  7  ,2  )  
Messias Bittencourt Figueiredo Versão 07-02 169

ALGORITMO VETOR DE DISTÂNCIA


(Bellman-Ford )

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 170


Algoritmo Vetor De Distância (DV)
• 1957; • Cada roteador mantém a sua
distância para todos os destinos
• Algoritmo de roteamento Bellman- conhecidos em uma tabela de
Ford; Vetor de Distância;

• Base de funcionamento do RIP,


BGP, ISO IDRP, IPX da Novell e o A
Arpanet Original; De A para: Enlace Métrica
A Local 0
• O RIP divide a rede em: B 1 1
C 1 2
D 3 1
1. Máquinas Ativas: são roteadores
E 3 2
que anunciam suas rotas aos demais
roteadores;
• As tabelas de Vetor de Distância
2. Máquinas Passivas: são roteadores consistem de uma série de
que não anunciam, mas que destinos (vetores) e custos
atualizam suas rotas baseadas em (distâncias) para alcançá-los,
anúncios. definindo o custo mais baixo para
alcançá-los;

Messias Bittencourt Figueiredo Versão 07-02 171

Camada de Rede

Algoritmo Vetor De Distância (DV)


• Cada roteador transmite sua tabela • Outra limitação é o máximo de
de roteamento pelo canal 15 hops imposto pelo RIP;
compartilhado;
• Fragilidades:
• O protocolo RIP escolhe a rota que
passa pelo menor número de
roteadores (hop) para encaminhar – Não detecta inconsistências nas
informações fornecidas pelos outros
um pacote a uma determinada roteadores;
rede;
– Pode levar a uma situação de loop de
roteamento;
• O RIP é indicado para redes
relativamente pequenas;
– Quando um roteador encaminha para
outro mensagens destinadas a uma
• Tipicamente, os roteadores trocam determinada rede e vice-versa;
informações sobre suas tabelas de
– Isso é agravado pelo fato do
roteamento a cada 30 segundos, o
protocolo não utilizar autenticação
que pode gerar um incremento no para troca de informações.
tráfego de rede;

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 172


Algoritmo Vetor De Distância (DV)
• O algoritmo Vetor de Distância é :

– Iterativo: o processo continua ate


que mais nenhuma informação seja
trocada entre vizinhos;

– Assíncrono: não requer que todos os


nós executem simultaneamente;

– Distribuído: cada nó recebe alguma


informação de um ou mais vizinhos
diretamente ligados a ele. Em
seguida, ele realiza os cálculos e
• Onde:
distribui os resultados para seus – Du(z) = custo do caminho de menor custo
vizinhos. entre u e z;

du ( z)  min v {c(u, w)  d w ( z)}

Messias Bittencourt Figueiredo Versão 07-02 173

Exemplo com Bellman Ford:


Calcule o menor custo entre os Logo:
vértices U e Z do grafo abaixo:
3 Du(z) = min{c(u,v) + dv(z), c(u,x) + dx(z), c(u,w)+ dw(z)}
3

v 3 2
w
3
1
Então temos:
u 2 2 2 z
2
V = c(u,v) + dv(z) = 3 + 4 = 7
2

1
x y
X = c(u,x) + dx(z) = 2 + 3 = 5
3

W = c(u,w) + dw(z) = 3 + 1 = 4
Solução:
– Segundo Bellon-Ford, temos Resultado:
que: Du(z) = min {V,X,W} = min { 7, 5, 4}
=4
du ( z)  min v{c(u, vizinho)  min dvizinhos( z)}

Messias Bittencourt Figueiredo Versão 07-02 174


Exercício 1:
Calcule o menor custo entre os Logo:
vértices U e Z do grafo abaixo:
Du(z) = min{c(u,v) + dv(z), c(u,x) + dx(z), c(u,w)+ dw(z)}
7

v 5 2
w
Então temos:
4
4

u 3 6 3 z
6
1 5
x 6 y
Solução:
– Segundo Bellon-Ford, temos
que: Resultado:

du ( z)  min v{c(u, vizinho)  min dvizinhos( z)}

Messias Bittencourt Figueiredo Versão 07-02 175

Exercício 2:
2. Utilizando a fórmula de Bellman • Resolução:
Ford, calcule o menor custo entre
os vértices T e Z conforme
U = c(T,U) + dU(Z) = 4 + 3 + 3 = 10
explicado em sala de aula. Em X = c(T,X) + dX(Z) = 3 + 1 + 2 = 6
seguida, grife o caminho de menor
custo entre os vértices T e Z. V = c(T,V) + dV(Z) = 2 + 1 + 1 + 2= 6

Y
U
dT (Z )  min v {c(T , X )  d X ( z)}
2

T 3 X Z
3

U 2
Y
1
V W
T 3 X Z

1
V W

Messias Bittencourt Figueiredo Versão 07-02 176


Exercício 3:
Utilizando a fórmula de Bellman Logo:
Ford, calcule o menor custo entre
os vértices T e Z conforme Du(z) = min{c(u,v) + dv(z), c(u,x) + dx(z), c(u,w)+ dw(z)}
explicado em sala de aula. Em
seguida, grife o caminho de
menor custo entre os vértices T e Então temos:
Z. 5
3

U 2
Y
:

T 3 X Z

1
V W
Resultado:
d x ( y)  min v {c( x, v)  dv ( y)}
Solução:
– Segundo Bellon-Ford, temos que:
Messias Bittencourt Figueiredo Versão 07-02 177

Algoritmo Vetor de Distância

Messias Bittencourt Figueiredo Versão 07-02 178


Algoritmo Vetor de Distância
5

v 3 2
w
5
2

u 2 3 1 z
1

2
1
x 1 y

Messias Bittencourt Figueiredo Versão 07-02 179

OSPF

Messias Bittencourt Figueiredo Aula 24


180
Camada de Rede

OSPF (Open Shortest Path First)


• Empregado no final da década de • Projetado para o ambiente
1980; TCP/IP para ser usado
internamente ao AS;
• SPF foi criado para substituir o
protocolo RIP;
• O caminho é computado local-
• Protocolo Aberto de Busca Pelo mente usando o algoritmo:
Menor caminho;

• Open - significa que ele pode ser –Shortest Path First


implementado por qualquer –Menor Rota Primeiro
fabricante, sem pagamento de
licença, de modo a ser utilizado por
todos, ou seja, Protocolo aberto
(Open) e publicamente disponível;

• Shortest Path First – Busca pelo


menor caminho primeiro;

• Leva em consideração o Estado do


Enlace

Messias Bittencourt Figueiredo Aula 24 Versão 07-02 181

Características do OSPF:

• Usa um sistema de broadcasting de


informação de estado de enlace;

• Utiliza mais métricas para calcular


rotas;

• É dinâmico e capaz de realizar


convergências mais rápidas que o
RIP;

• Tratar diferentes tipos de tráfegos


com diferentes formas;

Messias Bittencourt Figueiredo Versão 07-02 182


OSPF (Open Shortest Path First)
• Ao invés de ter na tabela as melhores
rotas, todos os nós possuem todos os links
da rede;

• Cada rota contém o identificador de


interface, o número do enlace e a distância
ou métrica;

• Com essas informações os roteadores


descobrem sozinhos a melhor rota.

Messias Bittencourt Figueiredo Aula 24 Versão 07-02 183

Camada de Rede

OSPF (Open Shortest Path First)


• Usa algoritmo do Estado de Enlaces • Segurança:
(EE):
– Todas mensagens OSPF são
autenticadas (para impedir intrusão
– Disseminação de pacotes EE; maliciosa)

– Mapa da topologia em cada nó; • Caminhos Múltiplos


– Permitido custos iguais
– Cálculo de rotas usando o algoritmo
SPF (Shortest Path First) – O RIP permite e usa apenas uma rota

• Anúncio de OSPF inclui uma entrada


por roteador vizinho
• Para cada enlace, múltiplas
• Anúncios disseminados para SA métricas de custo para TOS
inteiro (via inundação) diferentes (p.ex, custo de
enlace de satélite colocado
– Carregados em mensagens OSPF como “baixo” para melhor
diretamente sobre IP (ao invés de TCP esforço; “alto” para tempo
ou UDP)
real)

Messias Bittencourt Figueiredo Aula 24 Versão 07-02 184


Camada de Rede

OSPF Hierárquico
• O OSPF trabalha com hierarquia • Roteador De Fronteira De
de dois níveis: Área:
1. Roteadores De Área: – Interligam Sistemas Autônomos (Sas);

• O OSPF faz anuncio do Estado do


– Faz um “resumo” das distâncias às
Enlace dentro da mesma área
redes na sua própria área

• Cada nó (roteador) possui o


– Faz o anuncia a outros roteadores de
detalhamento da topologia dentro
fronteira de área.
da mesma área.

R
Roteado r d e
Backbone

2. Roteadores De Backbone: Ro teador de


B ACKB O N E R
Roteador de
bo rda de área Backbone

• Cada nó roteador sabe apenas a


Ro tead or de
R borda d e área Ro tead or de
bo rda de área
R
direção (caminho mais curto) R

para redes em outras áreas.


R R
ÁR E A 2 R

• Realizam roteamento OSPF ÁREA 3


R

limitado ao backbone. R
ÁR E A 1 R
Roteado r
In tern os
R
Roteador
Interno s
Roteador R
Interno s
R

Messias Bittencourt Figueiredo Aula 24 Versão 07-02 185

Camada de Rede

OSPF Hierárquico

R
Roteador de
Backbone

BACKBONE R
Roteador de Roteador de
borda de área Backbone
Roteador de
R borda de área Roteador de
borda de área
R
R

R R
ÁREA 2 R
ÁREA 3
R
ÁREA 1 R Roteador
Roteador R Internos
R Internos
Roteador R
Internos
R

Messias Bittencourt Figueiredo Aula 24 Versão 07-02 186


ALGORITMO DE ESTADO DE ENLACE
(Dijkstra)

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 187

Algoritmo Estado de Enlace (EE)


• 1959; 3
C
A E1=1
2
B E2=1

• Algoritmo de roteamento de
Dijkstra; E3=1 E4=1
E5
=1

• Base de funcionamento do OSPF;


1
D E6=1 E
• A topologia da rede, o estado e os
custos dos enlaces estão disponíveis Origem Destino Enlace Métrica
para os algoritmos de todos os nós A B 1 1
da rede; A D 3 1
B A 1 1
B C 2 1
• Cada nó transmite pacotes de
B E 4 1
estado de enlace a todos os outros C B 2 1
nós da rede; C E 5 1
D A 3 1
• Cada pacote contem a identidade D E 6 1
E B 4 1
do nó e os custos dos enlaces
E C 5 1
ligados a ele:
E D 6 1
Messias Bittencourt Figueiredo Versão 07-02 188
Algoritmo Estado de Enlace (EE)
Origem Destino Enlace Métrica
A B 1 1
Origem Destino Enlace Métrica Origem Destino Enlace Métrica
A D 3 1
A B 1 1 A B 1 1
B A 1 1
A D 3 1 A D 3 1
B C 2 1
B A 1 1 B A 1 1
B E 4 1
B C 2 1 B C 2 1
C B 2 1
B E 4 1 B E 4 1
C E 5 1
C B 2 1 C B 2 1
D A 3 1
C E 5 1 C E 5 1
D E 6 1
D A 3 1 D A 3 1
E B 4 1
D E 6 1 D E 6 1
E C 5 1
E B 4 1 E B 4 1
E D 6 1
E C 5 1 E C 5 1
E D 6 1 E D 6 1

A E1=1
2
B E2=1 C
Origem Destino Enlace Métrica
A B 1 1
E5 A D 3 1
E3=1 E4=1 =1 B A 1 1
B C 2 1
B E 4 1
C B 2 1
1
D E6=1 E C
D
E
A
5
3
1
1
D E 6 1
E B 4 1
Origem Destino Enlace Métrica
Origem Destino Enlace Métrica
A B 1 1 A B 1 1
A D 3 1 A D 3 1
B A 1 1 B A 1 1

5 1
2 1 B C 2 1

E C
B C
B E 4 1 B E 4 1
C B 2 1 C B 2 1
C E 5 1 C E 5 1
D A 3 1 D A 3 1

E D 6 1
D E 6 1 D E 6 1
E B 4 1 E B 4 1
E C 5 1 E C 5 1
E D 6 1 E D 6 1

Messias Bittencourt Figueiredo Versão 07-02 189

Camada de Rede

Algoritmo Estado de Enlace (EE)


• A distribuição dos pacotes é feito • O algoritmo de Estado de Enlace
via Broadcast: utiliza o algoritmo de Dijkstra para
– Todos os nós tem uma visão idêntica
obter o caminho de menor custo:
da rede;
– Global: cada nó deve obter, em
– Cada nó pode, então, rodar o primeiro lugar, um mapa completo
algoritmo de estado de enlace e da rede antes de rodar o algoritmo
calcular o mesmo conjunto de de Dijkstra.
caminhos de menor custo como todos
os outros nós.
– Iterativo: depois de k iterações,
• O algoritmo EE é um algoritmo sabemos menor custo p/ k destinos
iterativo e tem a propriedade de, Origem De stino Enla ce Métrica Origem De stino Enlace Mé trica
Orige m De stino Enla ce Métrica
A B 1 1

após a k-ésima iteração, conhecer


A D 3 1
A B 1 1 A B 1 1
B A 1 1
A D 3 1 A D 3 1
B C 2 1
B A 1 1 B A 1 1
B E 4 1
B C 2 1 B C 2 1
C B 2 1
B E 4 1 B E 4 1
C E 5 1
C B 2 1 C B 2 1
D A 3 1
C E 5 1 C E 5 1
D E 6 1
D A 3 1 D A 3 1
E B 4 1
D E 6 1 D E 6 1
E C 5 1
E B 4 1 E B 4 1

os caminhos de menor custo para


E D 6 1
E C 5 1 E C 5 1
E D 6 1 E D 6 1

k nós de destino e, dentre os A E1=1


2
B E2=1 C
caminhos de menor custo até
todos os nós de destino, esses k
E5
E3=1 E4=1 =1

caminhos terão os k menores


custos. 1
D E6=1 E
Orige m De stino Enla ce Métrica Orige m Destino Enlace Métrica
A B 1 1 A B 1 1
A D 3 1 A D 3 1
B A 1 1 B A 1 1
B C 2 1 B C 2 1
B E 4 1 B E 4 1
C B 2 1 C B 2 1
C E 5 1 C E 5 1
D A 3 1 D A 3 1
D E 6 1 D E 6 1
E B 4 1 E B 4 1
E C 5 1 E C 5 1
6 1 E D 6 1
E D

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 190


Algoritmo Estado de Enlace (EE)
0. [0,-](0) 1. [0,-](0) [5,x](1)
x 5 C x 5 C

[4,x](1)
A D A D

B 10 Y B 10 Y

2. [0,-](0) [5,x](1) 3. [0,-](0) [5,x](1)


x 5 C x 5 C

[4,x](1) [4,x](1)
A D A D
[7,C](2) [7,C](2)
[6,A](2) [6,A](2)
B 10 Y B 10 Y
[13,C](2) [13,C](2)
[16,B](3)
[9,D](3)
4. [0,-](0) [5,x](1)
x 5 C
Vértice Caminho Distância Iteração
[4,x](1) X - 0 0
A D A X 4 1
[7,C](2) B A 6 2
[6,A](2) C X 5 1
B 10 Y
[13,C](2) D C 7 2
[16,B](3) Y D 9 3
[9,D](3) = Min
Messias Bittencourt Figueiredo Versão 07-02 191

Exercício No 01:
0. [ , ]( ) 1. [ , ]( )
x 7 C x 7 C
10 4 10 4

A 5 D A 5 D
12 12
8

B 4 Y B 4 Y

2. [ , ]( )
C
3. [ , ]( )
C
x 7 x 7

10 4 10 4

A 5 D A 5 D
12 12
8

B 4 Y B 4 Y

[ , ]( )
4. x 7 C Vértice Caminho Distância Iteração
10 4 X
A
A 5 D B
C
12 D
8

Y
B 4 Y

Messias Bittencourt Figueiredo Versão 07-02 192


Exercício No 01
0. [ , ]( ) 1. x
[ , ]( )
C
x 7 C 7

A D A D

7
7

B 4 Y B 4 Y

2. [ , ]( )
C
3. [ , ]( )
C
x 7 x 7

A D A D
7

7
B 4 Y B 4 Y

[ , ]( ) Vértice Caminho Distância Iteração


4. x 7 C X
A
A D B
7

C
D
B 4 Y Y

Messias Bittencourt Figueiredo Versão 07-02 193

Resposta do Exercício No 02:


[0 ,-]( 0 ) [0 , - ]( 0 ) [7 ,x ](1 )
0. 1. x C
x 7 C 7

A D A D
7
7

[10 ,x ]( 1 )

B 4 Y B 4 Y
[7 ,x ]( 1 )
[0 , - ]( 0 ) [7 ,x ](1 )
[0 ,-]( 0 )
2. [7 ,x ](1 ) 3. x 7 C [13 ,A ](2 )
x 7 C [13 ,A ](2 )

A D [11 ,C ](2 )
7

A D [11 ,C ](2 )
7

[10 ,x ]( 1 )
[10 ,x ]( 1 ) [10 ,C ](2 )
[10 ,C ](2 ) B 4 Y [11 ,B ](2 )
[14 ,A ](2 )
B 4 Y [11 ,B ](2 ) [7 ,x ]( 1 ) [19 ,D ](3 )
[14 ,A ](2 )
[7 ,x ]( 1 ) [14 ,A ](3 )
[0 ,-]( 0 )
4. x 7 C Vértice Caminho Distância Iteração
X - 0 0
A X 10 1
A D
7

B X 7 1
C X 7 1
B 4 Y D C 11 2
[7 ,x ]( 1 ) [11 ,B ](2 )
Y B 11 2

Messias Bittencourt Figueiredo Versão 07-02 194


Exercício No 03
0. [ , ]( ) 1. x
[ , ]( )
C
x 7 C 7

10 4 10 4
3 3

A D A 5 D

7
5
7

4
12
4 12

8
8
B 4 Y B 4 Y

2. [ , ]( )
C
3. [ , ]( )
C
x 7 x 7

10 4 10 4
3 3

A 5 D A 5 D
7

7
4 4
12 12
8

8
B 4 Y B 4 Y

[ , ]( ) Vértice Caminho Distância Iteração


4. x 7 C X
10 4
3 A
A 5 D B
7

4
C
12
D
8

B 4 Y
Y
Messias Bittencourt Figueiredo Versão 07-02 195

Algoritmo Estado de Enlace (EE)


Notação: 5

• D(v): custo do caminho de menor custo entre o nó


3

v 3 2
w
da fonte e o destino v até essa iteração ao do 5
algoritmo, ou seja, valor corrente do custo do 2

caminho da origem ao destino V; u 2 3 1 z


• p(v): nó anterior (vizinho de v) ao longo do 1
2

caminho de menor custo corrente desde a fonte 1


x 1 y
ate v.

• N': conjunto de nós cujo caminho de menor custo


já foi determinado;

• c(i,j): custo do enlace do nó i ao nó j. custo é


infinito (∞) se não forem vizinhos diretos;

• v pertence a N' se o caminho de menor custo entre


a fonte e v for inequivocamente conhecido;

• D(V): p(V): nó antecessor no caminho da origem


ao nó V, imediatamente antes de V

Messias Bittencourt Figueiredo Versão 07-02 196


Algoritmo Estado de Enlace (EE)
5

v 3 2
w
5
2

u 2 3 1 z
1

2
1
x 1 y

Messias Bittencourt Figueiredo Versão 07-02 197

Camada de Rede

O Algoritmo de Dijkstra (EE)


5

v 3 2
w
5
2

u 2 3 1 z
1
2

1
x 1 y

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 198


COMPARATIVO
VD x EE

EXERCÍCIO
(NOTA 4ª UNIDADE)

Messias Bittencourt Figueiredo Versão 07-02 199

BGP

Messias Bittencourt Figueiredo Aula 24


201
BGP (Border Gateway Protocol)
• Protocolo de roteamento
Inter • Função Primária - Trocar informação de
domínios; acesso à rede, inclusive informação
sobre a lista das trajetórias dos SAs,
• RFCs 1771,1772,1773,1774,1657; com outros sistemas BGP;
• Criado para uso nos roteadores • Esta informação pode ser usada para
principais da Interne;. construir um gráfico da conectividade
dos SAs a partir do qual loops de
• Protocolo de roteamento dinâmico,
roteamento podem ser detectados e
utilizado para comunicação entre
reforçadas as políticas de decisão com
sistemas autônomos (SAs);
outros SAs.
• Projetado para evitar loops de
• Quando um roteador se conecta à rede
roteamento em topologias arbitrarias, o
pela primeira vez, os roteadores BGP
mais serio problema de seu antecessor,
trocam suas tabelas de rotas completas.
o EGP (Exterior Gateway Protocol).

• Roteamento Baseado em Politica


(policy-based routing), um roteamento
com base em um conjunto de regras
não-técnicas, definidas pelos Sistemas
Autônomos.

Messias Bittencourt Figueiredo Versão 07-02 202

BGP (Border Gateway Protocol)


• Quando a tabela de rotas muda, • Este número pode ser baseado em
roteadores enviam a parte da tabela qualquer critério: número de SAs
que mudou; que a trajetória cruza, estabilidade,
velocidade, retardo ou custo. Os 4
• Roteadores BGP não enviam tipos de mensagens BGP são:
regularmente atualizações de
roteamento planejadas e as
atualizações de rotas informam
somente a trajetória ótima para
uma rede;

• BGP usa uma única métrica para


determinar a melhor trajetória para
uma dada rede.

• Esta métrica consiste de número


arbitrário que especifica o grau de
preferência de um enlace em
particular e é atribuído pelo
administrador da rede.

Messias Bittencourt Figueiredo Versão 07-02 203


AS (Sistemas Autônomos)

R2C

R3A R3C
SA2 R2A
SA3

R2B R3B

R1A R1D

Algoritmo de

SA1 Roteamento intra SA

Algoritmo de
Roteamento intra SA
R1B R1C
Tabela de
Encaminhamento

Tabela de
Encaminhamento

Algoritmo de
Roteamento intra SA

Tabela de
Encaminhamento

Messias Bittencourt Figueiredo Versão 07-02 204

Camada de Rede

Sistemas Autônomos Interconectados

R2C

R3A R3C
SA2 R2A
SA3

R2B R3B

R1A R1D

SA1
R1B R1C
Algoritmo de Algoritmo de
Roteamento inter SA Roteamento intra SA

Tabela de
Encaminhamento

– Intra-SA define entradas p/ dest. internos


Algoritmo de
Roteamento intra SA

– Inter-SA define entradas p/ dest. externos Tabela de


Encaminhamento

Messias Bittencourt Figueiredo Aula 23 Versão 07-02 205


Tarefas do roteamento inter-SA
• Suponha que um roteador em SA1 precisa:
SA1 recebe um datagrama cujo 1. aprender quais destinos são
destino está fora de SA1 alcançáveis via SA2 e quais são
– Roteador deveria alcançáveis via SA3
encaminhar o pacote p/ um 2. propagar estas info. de
dos roteadores de borda, alcançabilidade para todos os
mas qual? roteadores em SA1

Tarefas do roteador inter-SA!


R2C

R3A R3C
SA2 R2A
SA3

R2B R3B

R1A R1D

SA1
R1B R1C

Messias Bittencourt Figueiredo Versão 07-02 206

ICMP
(Internet Control Message Protocol)

Messias Bittencourt Figueiredo Versão 07-02 207


Camada de Rede

ICMP (Internet Control Message Protocol)


• Protocolo De Mensagem de Tipo Código Mensagem
Controle Internet;
0 0 resposta de eco (ping)
• RFC 792; 3 0 rede dest. inalcançável
• Camada de rede, acima de IP; 3 1 estação dest. inalcançável
3 2 protocolo dest. inalcançável
• Utilizado para fornecer relatórios
de erros à fonte original; 3 3 porta dest. inalcançável
3 6 rede dest. desconhecida
• Usado por estações e
roteadores para reportar erros 3 7 estação dest. desconhecida
• Relatar erros: estação, rede, 4 abaixar fonte (controle de
porta, protocolo inalcançáveis 0 congestionamento - n
• Pedido/resposta de eco: (usado
usado)
por ping) 8 0 pedido eco (ping)
• Mensagem ICMP: 9 0 anúncio de rota
– Tipo; 10 0 descobrir roteador
– Código; 11 0 TTL (sobrevida) expirada
12 0 erro de cabeçalho IP
– Mensagem de erro.
Messias Bittencourt Figueiredo Versão 07-02 208

Ping
• É um utilitário que usa o protocolo
ICMP para testar a conectividade
entre equipamentos;

• É um comando disponível
praticamente em todos os sistemas
operacionais;

• Seu funcionamento consiste no


envio de pacotes para o
equipamento de destino e na
"escuta" das respostas;

• Se o equipamento de destino
estiver ativo, uma "resposta" (o
"pong", uma analogia ao famoso
jogo de ping-pong) é devolvida ao
computador solicitante.

Messias Bittencourt Figueiredo Versão 07-02 209


Camada de Rede

Traceroute e ICMP
• Origem envia uma série de • Traceroute faz isto 3 vezes
segmentos UDP para o destino

– Primeiro tem TTL =1


Critério De Parada:
– Segundo tem TTL=2, etc.
– Segmento UDP eventualmente chega
– Número de porta improvável à estação destino

• Até que o n-ésimo datagrama – Destino retorna pacote ICMP “porta


chegue ao n-ésimo roteador: inalcançável” (tipo 3, código 3)

– Roteador descarta datagrama – Quando origem recebe este pacote


ICMP, pára.
– Envia p/ origem uma mensagem ICMP
(tipo 11, código 0)

– Mensagem inclui nome e endereço IP


do roteador

• Quando a mensagem ICMP chega,


origem calcula RTT

Messias Bittencourt Figueiredo Versão 07-02 210

VPN
(Rede Privada Virtual)

Messias Bittencourt Figueiredo


211
Rede Privada Virtual
• É uma rede de comunicações • VPNs seguras usam protocolos de
privada construída sobre uma rede criptografia por tunelamento que
de comunicações pública; fornecem a confidencialidade,
autenticação e integridade neces-
sárias para garantir a privacidade
das comunicações requeridas.

• Uma VPN é uma conexão estabelecida


sobre uma infraestrutura pública ou
compartilhada, usando tecnologias de
tunelamento e criptografia para
manter seguros os dados trafegados;

Messias Bittencourt Figueiredo Versão 07-02 212

Rede Privada Virtual

Messias Bittencourt Figueiredo Versão 07-02 213


Funcionamento
• Quando uma rede quer enviar
dados para a outra rede através da
VPN, um protocolo, exemplo IPSec,
faz o encapsulamento do quadro
normal com o cabeçalho IP da rede
local;
• Quando esses dados encapsulados
chegarem à outra extremidade, é
feito o desencapsulamento do IPSec
e os dados são encaminhados ao
referido destino da rede local.

• É adiciona o cabeçalho IP da
Internet atribuída ao Roteador, um
cabeçalho AH, que é o cabeçalho de
autenticação e o cabeçalho ESP,
que é o cabeçalho que provê
integridade, autenticidade e
criptografia à área de dados do
pacote;.

Messias Bittencourt Figueiredo Versão 07-02 214

Rede Privada Virtual

Messias Bittencourt Figueiredo Versão 07-02 215


Messias Bittencourt Figueiredo Versão 07-02 216

Messias Bittencourt Figueiredo Versão 07-02 217


Tunelamento

Messias Bittencourt Figueiredo Versão 07-02 218

Tunelamento
• Usado para transportar dados de
um protocolo dentro de outro
protocolo;

• Ou seja, é um protocolo dentro de


outro protocolo;

• Encapsulamento – Nome dado


quando se coloca um protocolo
dentro de outro protocolo;

Messias Bittencourt Figueiredo Versão 07-02 219


IP Tunneling
• IP Tunneling - é um termo técnico • O meio para que essas duas redes
para designar o encapsulamento de se vejam é, tipicamente, a
um pacote IP dentro de outro com o Internet. Dessa forma o fator
propósito de simular uma conexão
limitador que é a distância é
física entre duas redes remotas
através de uma outra rede. praticamente eliminado,
permitindo a utilizadores de uma
rede dispôr dos recursos de outra
rede remota como se fossem
locais.
• Este processo é frequentemente usado
com o protocolo IPsec para criar um
meio de conectar duas redes usando
uma VPN.

Messias Bittencourt Figueiredo Versão 07-02 220

IPSEC (IP Security Protocol)


• IPsec é o protocolo de criptografia da – Integridade: garante que o mesmo
internet para tunelamento, criptografia conteúdo que chegou ao seu destino seja o
e autenticação. mesmo da origem;

• IPSec - É uma extensão do protocolo – Autenticidade: garantia de que uma pessoa


IP que visa a ser o método padrão para é quem diz ser;
o fornecimento de privacidade,
autenticidade, e Autenticidade do – Não Repúdio: garantir que a pessoa não
usuário quando se transferem negue ter assinado ou criado a informação;
informações através de redes IP pela
internet. – Disponibilidade: garantir que a informação
possa ser obtida sempre que for necessário,
• IPsec é uma suíte de protocolos que isto é, que esteja sempre disponível para
provê segurança no nível da camada IP quem precisar dela no exercício de suas
funções;
para comunicações pela Internet

• RFC 6071 – Confidencialidade: significa garantir que a


informação não será conhecida por pessoas
que não estejam autorizadas para tal.

– Privacidade: garantir que a informação é


sua e só você tem acesso.

Messias Bittencourt Figueiredo Versão 07-02 221


IPSEC (IP Security Protocol)
• Opera sob a camada de rede; • Características: Combinação de
diferentes e diversas tecnologias criadas para
• Outros protocolos de segurança da internet
prover uma segurança melhor:
como SSL e TLS operam desde a camada de
transporte (camada 4) até a camada de – Mecanismo de troca de chaves de Diffie-
aplicação; Hellman;

• Isto torna o IPsec mais flexível, como pode – Criptografia de chave pública para assinar as
ser usado protegendo os protocolos TCP e trocas de chave de Diffie-Hellman
UDP, mas aumentando sua complexidade e
– Algoritmos para grandes volumes de dados,
despesas gerais de processamento, porque
com o DES;
não se pode confiar em TCP (camada 4 do
modelo OSI) para controlar a confiabilidade e – Algoritmos para cálculo de Hash como
a fragmentação; utilização de chaves, com o HMAC,

• IPsec é parte obrigatória do IPv6, e opcional – Autenticação de pacotes e certificados


para o uso com IPv4; digitais assinados por uma autoridade
certificadora, que agem como identidades
digitais.

• Modos de operação:
– Modo de transporte
– Modo túnel

Messias Bittencourt Figueiredo Versão 07-02 222

• O meio para que essas duas redes se vejam


é, tipicamente, a Internet. Dessa forma o
fator limitador que é a distância é
IPSEC (IP Security Protocol) praticamente eliminado, permitindo a
utilizadores de uma rede dispôr dos recursos
• Modo de transporte: • Modo
de outraderede
tunelamento:
remota como se fossem locais.
– Somente a mensagem (payload) é
criptografada; – No modo de tunelamento, o pacote IP é
criptografado por inteiro;
– O roteamento permanece intacto, desde que
o cabeçalho do IP não seja modificado e
nem cifrado; – Deve, assim, encapsular um novo pacote IP
para distribuí-lo;
– Quando o cabeçalho da autenticação é
usado, os endereços IP não podem ser
– O tunelamento é usado para comunicações
traduzidos, porque isto invalida o valor de
da rede-a-rede (túneis seguros entre
Hash;
roteadores) ou comunicações de host-a-rede
– As camadas de transporte e de aplicação e de host-a-host sobre a internet.
são fixas sempre pelo Hash, assim, não
podem sofrer nenhuma modificação;
–O modo transporte é usado para
comunicações de host-a-host.

Messias Bittencourt Figueiredo Versão 07-02 223


IPSEC (IP Security Protocol)
• Características Técnicas: Dois
protocolos foram desenvolvidos para
prover um nível de segurança para os
fluxos dos pacotes e mudanças de
chaves como:
– ESP (Encapsulating Security Payload)
provê autenticação, confidencialidade dos
dados e integridade da mensagem.

– AH (Authentication Header) - provê


autenticação e integridade dos dados,
mas não a confidencialidade.

Messias Bittencourt Figueiredo Versão 07-02 224

Camada de Rede

Tunelamento

IPv6 dentro de IPv4 quando necessário

Messias Bittencourt Figueiredo Versão 07-02 225


NAT

Messias Bittencourt Figueiredo


226

Camada de Rede

NAT (Network Address Translation)


Motivação – Pode modificar endereços de
dispositivos na rede local sem
– Rede local usa apenas um endereço notificar o mundo exterior
IP, no que concerne ao mundo
exterior;
– pode trocar de ISP sem mudar os
endereços dos dispositivos na rede
– Não há necessidade de alocar faixas local
de endereços do ISP;
– dispositivos dentro da rede local
– Apenas um endereço IP é usado não são explicitamente
para todas as interfaces dos hosts; endereçáveis, i.e., visíveis do
mundo exterior (um incremento de
segurança).

Messias Bittencourt Figueiredo Versão 07-02 227


Camada de Rede

NAT (Network Address Translation)

resto da rede local


Internet (e.x., rede caseira)
10.0.0.1
10.0.0/24
10.0.0.4
10.0.0.2
138.76.29.7

10.0.0.3

Todos os datagramas deixando a Datagramas com origem ou


rede local têm o mesmo endereço destino nesta rede usam
IP NAT origem: 138.76.29.7, e endereços 10.0.0/24 para
diferentes números de porta origem e destino (como usual)
origem.

Messias Bittencourt Figueiredo Versão 07-02 228

Camada de Rede

NAT (Network Address Translation)


• Tradução de Endereços de • Clientes/servidores remotos
Rede; vão responder usando (IP NAT,
novo porta) como endereço
• Implementação de um serviço destino.
NAT
– Datagrama saindo:

• Troca (IP origem, Porta) de


cada datagrama saindo para
(IP NAT, Nova Porta).

– Datagrama entrando:

• Trocar (IP NAT, Nova Porta)


nos campos de destino de cada
datagrama entrando para o
(IP origem, Porta)
correspondente armazenado na
tabela NAT.

Messias Bittencourt Figueiredo Versão 07-02 229


NAT (Network Address Translation)
TABELA DE TRADUÇÃO NAT
ENDEREÇO LAN ENDEREÇO WAN
192.168.0.2:3345 138.76.29.10:5001
192.168.0.2/24
O- 192.168.0.2:3345
D - 138.76.29.10:80

O- 192.168.0.2:3345 O- 138.76.29.1:5001
192.168.0.3/24 D - 138.76.29.10:80 D - 138.76.29.10:80

192.168.0.1/24 138.76.29.1/24 138.76.29.10/24


O - 138.76.29.10:80 O - 138.76.29.10:80
D- 192.168.0.2:3345 D- 138.76.29.1:5001

192.168.0.4/24

Messias Bittencourt Figueiredo Versão 07-02 230

Camada de Rede

NAT (Network Address Translation)


• campo do número de porta com 16-bits:
– 65536 conexões simultâneas com um único endereço no lado WAN!

• NAT é controverso:
– roteadores deveriam processar somente até a camada 3
– viola o argumento fim-a-fim
• possibilidade do uso de NAT deve ser levado em conta pelos projetistas de
aplicações (p.e., P2P)
– escassez de endereços, por outro lado, deveria ser resolvida com o
IPv6

Messias Bittencourt Figueiredo Versão 07-02 231


Camada de Transporte Introdução

Camada
de
Transporte
Messias Bittencourt Figueiredo Versão 07-02 232

Arquitetura TCP/IP
Arquitetura TCP/IP
(3 camadas + Enlace + Física)
P... ...
NM MP
SN
T P, S MTP,
M ,S
3, S P3
OP PDU: Dados PO
T P, P TP,
Camada de Aplicação HT Camada de Aplicação HT

P P
,UD ,UD
T CP PDU: Segmento T CP
Camada de Transporte Camada de Transporte
IP IP
PDU: Pacote
Camada de Rede Camada de Rede
I FI I FI
,W t ,W
net rne
her the
C , Et PDU: Quadros C, E
MA MA
Camada de Enlace de Dados Camada de Enlace de Dados
.
ts,.
. ts,.
, Bi , Bi
bra
s
ib ras
os , Fi PDU: Bits os,
F
Cab Cab
Camada Física Camada Física
Link Físico

Messias Bittencourt Figueiredo Versão 07-02 233


Camada de Transporte Introdução

Visão Geral da Rede


Aplicação
Transporte
Rede
Enlace
Física Rede Rede
Enlace Enlace
Física Física

Rede
Enlace
Física

Rede Rede
Enlace Enlace
Física Física

Aplicação
Transporte
Rede
Enlace
Física

Rede
Enlace
Física Aplicação
Aplicação Transporte
Transporte Rede
Rede Enlace
Enlace Física
Física

Aplicação
Aplicação Transporte
Transporte Rede
Rede Enlace
Enlace Física
Física

Messias Bittencourt Figueiredo Versão 07-02 234

Camada de Transporte Introdução

Camada de Transporte
Aplicação
Transporte
Rede
Enlace
Física Rede Rede
Enlace Enlace
Física Física

Rede
Enlace
Física
CO
NE Rede Rede
XÃ Enlace Enlace
O
LÓ Física Física
G ICA
FIM
Aplicação AF
Transporte IM
Rede EN
Enlace TR
Física
EA
PL
ICA
ÇÕ Rede
ES Enlace
Física Aplicação
Aplicação Transporte
Transporte Rede
Enlace

Fornecem comunicação
Rede
Enlace Física
Física

lógica entre processos de


aplicação executando em
diferentes hospedeiros. Aplicação
Aplicação Transporte
Transporte Rede
Rede Enlace
Enlace Física
Física

Messias Bittencourt Figueiredo Versão 07-02 235


Camada de Transporte Introdução

Serviços e protocolos de transporte


• Os protocolos de transporte Aplicação
Transporte
Rede

são executados nos sistemas


Enlace
Física Rede Rede
Enlace Enlace

finais:
Física Física

Rede
Enlace
Física
CO
NE

• Lado transmissor: quebra


Rede Rede
XÃ Enlace Enlace
O Física Física

G

as mensagens da aplicação
IC
A
FIM
Aplicação A

em segmentos, repassa-os
Transporte
FIM
Rede EN
Enlace TR
EA

para a camada de rede;


Física
PL
IC

Õ Rede
ES Enlace
Física Aplicação
Aplicação Transporte
Transporte Rede
Rede Enlace

• Lado receptor: remonta as


Enlace Física
Física

mensagens a partir dos


segmentos, repassa-as para
a camada de aplicação. Aplicação
Aplicação
Transporte
Transporte Rede
Rede Enlace
Enlace Física
Física

• Existem mais de um protocolo


de transporte disponível para
as aplicações: (TCP e UDP)

Messias Bittencourt Figueiredo Versão 07-02 236

Camada de Transporte Introdução

Camadas de Transporte x Rede


• Camada de Rede: Aplicação
Transporte
Rede
Enlace

comunicação lógica entre


Física Rede Rede
Enlace Enlace
Física Física

hospedeiros;
Rede
Enlace
Física
CO
NE Rede Rede
XÃ Enlace Enlace
O Física Física

G IC
A
FIM
Aplicação A
Transporte
FIM

• Camada de Transporte:
Rede EN
Enlace TR
Física
EA
PL
IC

Rede

comunicação lógica entre


Õ ES Enlace
Física Aplicação
Aplicação Transporte
Transporte Rede
Rede Enlace

os processos.
Enlace Física
Física

Aplicação
Aplicação Transporte
Transporte Rede
Rede Enlace
Enlace Física
Física

Messias Bittencourt Figueiredo Versão 07-02 237


Camada de Transporte Introdução

Protocolos da Camada de Transporte


TCP: entrega confiável, ordenada

• controle de congestionamento;
• controle de fluxo;
• estabelecimento de conexão.

UDP: entrega não confiável, não


ordenada.

• extensão sem “gorduras” do


“melhor esforço” do IP.

Serviços não disponíveis nos dois


protocolos:
• garantias de atraso máximo;
• garantias de largura de banda mínima.
Messias Bittencourt Figueiredo Versão 07-02 238

Camada de Transporte Introdução

Multiplexação/Demultiplexação

Multiplexação no Transmissor Demultiplexação no Receptor

Reúne dados de muitos Entrega dos segmentos


Sockets e envelopa os dados
com o cabeçalho. recebidos ao Socket correto.

Messias Bittencourt Figueiredo Versão 07-02 239


Camada de Transporte Introdução

Como funciona a Demultiplexação


• Computador recebe os datagramas
IP: Formato do Segmento
TCP/UDP
• Cada datagrama possui os
endereços IP da origem e do
destino;
32 bits
• Cada datagrama transporta 1
segmento da camada de porta remetente porta destinatário
transporte;
outros campos
• Cada segmento possui números do cabeçalho
das portas origem e destino.

• O hospedeiro usa os endereços IP


dados da
e os números das portas para
aplicação
direcionar o segmento ao socket
apropriado (mensagem)

Messias Bittencourt Figueiredo Versão 07-02 240

Camada de Transporte Introdução

Demultiplexação Não Orientada a Conexão


• Quando o hospedeiro recebe • Cria sockets com números de
segmento UDP: porta:
DatagramSocket mySocket1 = new
DatagramSocket(99111)
• Verifica no. da porta de destino DatagramSocket mySocket2 = new
no segmento DatagramSocket(99222)

• Socket UDP identificado pela


• encaminha o segmento UDP para o
dupla:
socket com aquele no. de porta
Endereço IP: Porta Destino

• Datagramas com diferentes


endereços IP origem e/ou
números de porta origem podem
ser encaminhados para o mesmo
socket

Messias Bittencourt Figueiredo Versão 07-02 241


Camada de Transporte Introdução

Demultiplexação Não Orientada a Conexão


DatagramSocket ServerSocket = new DatagramSocket(6428)

cliente Servidor Cliente


IP: A IP: C IP:B
P2 P1
P1
P3

PO: 6428 PO: 6428


PD: 9157 PD: 5775

PO: 9157 PO: 5775


PD: 6428 PD: 6428

PO (Porta Origem)
Messias Bittencourt Figueiredo PD Versão
(Porta Destino)
07-02 242

Camada de Transporte Introdução

Demultiplexação Orientada a Conexões


• Servidor pode dar suporte a • Socket TCP identificado pela
muitos sockets TCP simultâneos: quádrupla:

• cada socket é identificado pela • endereço IP origem


sua própria quádrupla
• número da porta origem

• Servidores Web têm sockets • endereço IP destino


diferentes para cada conexão
cliente • número da porta destino

• HTTP não persistente terá • Receptor usa todos os quatro


sockets diferentes para cada valores para direcionar o
pedido
segmento para o socket
apropriado

Messias Bittencourt Figueiredo Versão 07-02 243


Camada de Transporte Introdução

Demultiplexação Orientada a Conexões

Cliente Servidor Cliente


IP: A IP: C IP:B
P1 P4 P5 P6 P2 P1P3

PO: 5775
PD: 80
IP-O: B
IP-D:C

PO: 9157 PO: 9157


PD: 80 PD: 80
IP-O: A IP-O: B
IP-D:C IP-D:C

Messias Bittencourt Figueiredo Versão 07-02 244

Camada de Transporte Introdução

Demultiplexação Orientada a Conexões:

Servidor Web com Threads

Cliente Servidor Cliente


IP: A IP: C IP:B

P1 P4 P2 P1P3

PO: 5775
PD: 80
IP-O: B
IP-D:C

PO: 9157 PO: 9157


PD: 80 PD: 80
IP-O: A IP-O: B
IP-D:C IP-D:C

Messias Bittencourt Figueiredo Versão 07-02 245


Camada de Transporte UDP

UDP: User Datagram Protocol [RFC 768]


• Por quê existe um UDP? • Protocolo de transporte da
Internet;

• elimina estabelecimento de
• mínimo, “sem gorduras”,
conexão (o que pode causar
retardo)
• Serviço “melhor esforço”,
segmentos UDP podem ser:
• simples: não se mantém
“estado” da conexão nem no • perdidos
remetente, nem no receptor
• entregues à aplicação fora de
• cabeçalho de segmento ordem
reduzido
• sem conexão:
• Não há controle de
• não há “setup” UDP entre
congestionamento: UDP pode remetente, receptor
transmitir tão rápido quanto
desejado (e possível)
• tratamento independente de
cada segmento UDP
Messias Bittencourt Figueiredo Versão 07-02 246

Camada de Transporte UDP


Formato do segmento UDP
Mais sobre UDP
• Muito utilizado para aplicações de
meios contínuos (voz, vídeo)

• tolerantes a perdas;
soma de

• sensíveis à taxa de transmissão. verificação

• Outros usos de UDP


32 bits
Comprimento em
• DNS (nomes); bytes do porta origem porta dest.
segmento UDP,
• SNMP (gerenciamento). comprimento checksum
incluindo
cabeçalho
• Transferência confiável com UDP:

• Acrescentar confiabilidade na camada


de aplicação;
Dados da aplicação
• Recuperação de erro específica à (mensagem)
aplicação.

Messias Bittencourt Figueiredo Versão 07-02 247


Cliente UDP

Messias Bittencourt Figueiredo Versão 07-02 251

Servidor UDP

Messias Bittencourt Figueiredo Versão 07-02 252


Camada de Transporte TCP

TCP

Messias Bittencourt Figueiredo Versão 07-02 253

Camada de Transporte TCP

TCP (Transmission Control Protocol)


• Conexão ponto-a-ponto: • Dados full-duplex:
– Um transmissor e um receptor – transmissão bi-direcional na
mesma conexão
• Seqüêncial byte stream:
– MSS: maximum segment size
– Não há contornos de mensagens

• Confiável: • Orientado à conexão:


– Garantia de entrega de pacotes via – handshaking (troca de mensagens
confirmação de controle) inicia o estado do
transmissor e do receptor antes da
• Pipelined: troca de dados;
– Transmissão de vários pacotes • RFCs:
enquanto aguarda confirmação;
– 793, 1122, 1323, 2018, 2581
• Controle de Fluxo:
– Controle de congestão e de fluxo
definem tamanho da janela de
transmissão; aplicação
envia dados
aplicação
lê dados
socket socket
port
– buffers de transmissão e de TCP TCP
port

recepção. buffe de txr


segment
buffer de rx

Messias Bittencourt Figueiredo Versão 07-02 254


Camada de Transporte TCP

TCP (Transmission Control Protocol)


Aplicação Aplicação
Envia Dados Socket Lê Dados

Socket
Socket

Socket
TCP TCP
SEGMENTO
Buffer TX Buffer TX

aplicação aplicação
socket envia dados lê dados
socket
port port
TCP TCP
buffe de txr buffer de rx
segment

Messias Bittencourt Figueiredo Versão 07-02 255

Camada de Transporte TCP

Estrutura do Segmento TCP


32 bits
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

porta de origem porta de destino

número de seqüência

número de reconhecimento
tam. não
U A P R S F janela de recepção U Urg: Dados urgente
cabeçalho usado
checksum dados urgentes A Ack: Campo de confirmação
Opções (tamanho variável)
P PSH: Produz envio de dados

R RST: Reestabelece conexão

S Syn: Sincronismo

F Fin: Finaliza conexão

dados de aplicação
(tamanho variável)

janela de recepção: número de


bytes receptor está pronto para
aceitar.
Messias Bittencourt Figueiredo Versão 07-02 256
Camada de Transporte TCP

Números de Sequência e ACKs do TCP


Números de sequência:
número do
primeiro byte no
segmento de
Cliente Servidor dados
Usuário
digita
‘Pedro’ Seq=
42 , A
ACKs:
CK=7
9, data número do
= ‘Pe
próximo byte

Tempo de Transmissão e Confirmação


d r o’ host confirma
recepção de
‘Pedro’, e ecoa
esperado do
dro”
o ’Pedro’ de outro lado.
= ‘Pe volta.
3, data
CK=4
79, A
host confirma Seq=
Recepção do
‘pedro’ ecoado
Seq=
4 3, A
CK=8
0

cenário telnet simples


Tempo

Messias Bittencourt Figueiredo Versão 07-02 257

Camada de Transporte TCP

Cenários de Retransmissão 1

Cliente Servidor

Seq=
01 , D
ata =”A”
temporização

Tempo de Transmissão e Confirmação

=”A”
Data
=01,
, Ack
=101
Seq
X
Perda
Pacote

Seq=
01 , D
ata=
”A”


ata=”A
ck= 01 , D
1 01 , A
Se q =

Tempo

Messias Bittencourt Figueiredo Versão 07-02 258


Camada de Transporte TCP

Cenários de Retransmissão 2

Cliente Servidor

Seq=
51 , D
ata =”C”

Temporização seq=51
Seq=
52 , D
Temporização seq=52

ata=
”D”

Tempo de Transmissão e Confirmação em casa de falha


=”D”
Data
52,
02, Ac k =
e q =1 =”C”
S Data
51 ,
03, Ack=
S e q =1
Seq=
51 , D
Seq= ata =”C”
53 , A
ck= 102 ,
Data
=”D”

ata=”C
k= 51 , D
10 3 , Ac
Se q =

Seq=
54, A
ck=1
03 ,
Data
=”C”

Tempo

Messias Bittencourt Figueiredo Versão 07-02 259

Camada de Transporte TCP

Controle de Fluxo
Objetivo: Controlar a velocidade/volume de tráfego enviado ao
receptor de forma a não saturar o buffers de recepção, pelo envio
de dados rápido demais.

Receptor: explicitamente informa Transmissor: mantém a


ao transmissor sobre a área livre quantidade de dados transmitidos
disponível no seu buffer. Utilizada o mas não reconhecidos menor que o
campo RcvWindow no segmento último RcvWindow recebido do
TCP. receptor.
RcvWindows RcvWindow = Total de
espaço livre no buffer do
receptor

ESPAÇO
Dados DADOS NO Dados Para
IP DE BUFFER TCP Aplicação

REPOSIÇÃO
RcvBuffer = Tamanho
RcvBuffer do Buffer de recepção do
TCP (Transmissor)
Messias Bittencourt Figueiredo Versão 07-02 260
Camada de Transporte TCP

TCP Estabelecimento de Conexão


TCP transmissor estabelece Three way handshake:
conexão com o receptor antes
de trocar segmentos de dados Passo 1: sistema final cliente envia
TCP SYN ao servidor
• initializar variáveis: – especifica número de seqüência
– números de seqüência inicial

– buffers, controle de fluxo (ex. Passo 2: sistema final servidor que


RcvWindow) recebe o SYN, responde com
segmento SYNACK
• cliente: iniciador da conexão
Socket clientSocket = new
– reconhece o SYN recebido

Socket("hostname","port number"); – aloca buffers


– especifica o número de seqüência
• servidor: chamado pelo cliente
inicial do servidor
Socket connectionSocket =
welcomeSocket.accept(); Passo 3: o sistema final cliente
reconhece o SYNACK

Messias Bittencourt Figueiredo Versão 07-02 261

Camada de Transporte TCP

TCP: Término de Conexão


Fechando uma conexão:
cliente fecha o socket: clientSocket.close();

1. Passo: Cliente envia o segmento


TCP_FIN ao servidor; Cliente Servidor
Close
2. Passo: Servidor recebe TCP_FIN,
responde com TCP_ACK. Fecha a conexão, FIN
envia em seguida, TCP_FIN;

3. Passo: cliente recebe TCP_FIN, responde


com TCP_ACK.
ACK
Close
– Entra “espera temporizada” - vai
responder com ACK a FINs recebidos
FIN

4. Passo: Servidor, recebe ACK. Conexão


fechada.
Tempo Espera
Finalização

ACK

Closed

Messias Bittencourt Figueiredo Versão 07-02 262


Camada de Transporte TCP

Princípios de Controle de Congestionamento


Congestionamento: • Um dos 10 problemas
– Informalmente: “muitas mais importantes na
fontes enviando dados Internet!
acima da capacidade da
rede de tratá-los”.

• Sintomas:
– Perda de pacotes (saturação
de buffer nos roteadores)
– Atrasos grandes (filas nos
buffers dos roteadores)

• Diferente de controle
de fluxo!
Messias Bittencourt Figueiredo Versão 07-02 263

Código para Criar Conexão


• SERVIDOR • CLIENTE
(...) (...)Socket s;
ServerSocket s = new Try
ServerSocket(9000); {
while (true) s =new
Socket(“poncho”,8189);
{
}
Socket conexao = s.accept();
catch(Exception e)
// Disparar uma thread que
// faça algo, passando
{
/*Erro*/
// conexão como parâmetro
(...) System.exit(0);

} }
/* Socket conectado */

Messias Bittencourt Figueiredo Versão 07-02 264


Resumo:
• TCP (Transmission • UDP (User Datagram
Control Protocol) Protocol)

• Orientado a conexão • Orientado a datagrama

• Confiável • Não é confiável

• Stream • Datagramas (pacotes)

• Controle de fluxo • Sem controle de fluxo

• Mensagens ordenadas • Sem garantia de ordem


ou de chegada
• Mais lento
• Menor overhead

• Mais apropriado a
broadcast
Messias Bittencourt Figueiredo Versão 07-02 265

Camada de Aplicação Introdução

Camada
de
Aplicação
Messias Bittencourt Figueiredo Versão 07-02 266
Arquitetura TCP/IP
Arquitetura TCP/IP
(3 camadas + Enlace + Física)
... ...
MP MP
SN SN
TP, TP,
SM , SM
P3, PO
P3
PO PDU: Dados
TP , TP,
Camada de Aplicação HT Camada de Aplicação HT

P P
,UD ,UD
T CP PDU: Segmento T CP
Camada de Transporte Camada de Transporte
IP IP
PDU: Pacote
Camada de Rede Camada de Rede
I FI I FI
,W t ,W
net rne
ther the
C , E PDU: Quadros AC, E
MA M
Camada de Enlace de Dados Camada de Enlace de Dados
.
its,
.. ts,.
s, B , Bi
bra ras
, Fi s, Fib
os PDU: Bits o
Cab Cab
Camada Física Camada Física
Link Físico

Messias Bittencourt Figueiredo Versão 07-02 267

Temas De Trabalhos:
1. MP3

2. MPEG

3. RTSP

4. DNS

5. Kazaaz/Emule/Torrent

6. SMTP/POP3

Messias Bittencourt Figueiredo Versão 07-02 268


HTTP

Messias Bittencourt Figueiredo


269

Camada de Aplicação

A Web e o HTTP
• Páginas Web consistem de objetos; • Exemplo de URL:

• Objeto pode ser um arquivo HTML,


http://www.someschool.edu/someDept/pic.gif
uma imagem JPEG, um applet
Java, um arquivo de áudio,…

• Páginas Web consistem de um


arquivo base HTML que inclui
vários objetos referenciados;

• Cada objeto é endereçável por uma


URL (Localizador Universal de
Recursos);

nome do hospedeiro nome do caminho

Messias Bittencourt Figueiredo Versão 07-02 270


Camada de Aplicação

HTTP (Hypertext Transfer Protocol)


• Protocolo de Transferência
Hipertexto;

• Protocolo da camada de
aplicação da Web

• Modelo cliente/servidor PC executando

– cliente: browser que pede, Explorer


recebe, “visualiza” objetos
Web
– servidor: servidor Web Servidor
envia objetos em resposta a executando
pedidos servidor
Web Apache
• HTTP 1.0: RFC 1945
Mac executando
• HTTP 1.1: RFC 2068 Navigator

Messias Bittencourt Figueiredo Versão 07-02 271

Camada de Aplicação

HTTP
• Usa serviço de transporte TCP: • HTTP é “sem estado”

• Cliente inicia conexão TCP (cria • servidor não mantém informação


socket) ao servidor, porta 80 sobre pedidos anteriores do cliente

• Servidor aceita conexão TCP do


cliente

• Mensagens HTTP (mensagens do


protocolo da camada de apl)
trocadas entre browser (cliente Nota
HTTP) e servidor Web (servidor Protocolos que mantêm
“estado” são complexos!
HTTP)
r história passada (estado)
• Encerra conexão TCP tem que ser guardada
r Caso caia servidor/cliente,
suas visões do “estado”
podem ser inconsistentes,
devem ser reconciliadas

Messias Bittencourt Figueiredo Versão 07-02 272


Camada de Aplicação

Conexões HTTP
HTTP não persistente HTTP persistente
• No máximo um objeto é • Múltiplos objetos podem ser
enviado numa conexão TCP enviados sobre uma única
conexão TCP entre cliente e
• HTTP/1.0 usa o HTTP não servidor
persistente
• HTTP/1.1 usa conexões
persistentes no seu modo
default

Messias Bittencourt Figueiredo Versão 07-02 273

Camada de Aplicação

Exemplo de HTTP não persistente


Supomos que usuário digita a URL www.algumaUniv.br/algumDepartmento/inicial.index
(contém texto,
referências a 10
imagens jpeg)

1a. Cliente http inicia conexão


TCP a servidor http 1b. servidor http no hospedeiro
(processo) a www.algumaUniv.br espera por
www.algumaUniv.br. Porta 80 conexão TCP na porta 80.
é padrão para servidor http. “aceita” conexão, avisando ao
cliente
2. cliente http envia mensagem
de pedido de http (contendo
URL) através do socket da 3. servidor http recebe mensagem
conexão TCP de pedido, formula mensagem
de resposta contendo objeto
solicitado
(algumDepartmento/inicial.index),
envia mensagem via socket

tempo
Messias Bittencourt Figueiredo Versão 07-02 274
Camada de Aplicação

Exemplo de HTTP não


persistente (cont.)
4. servidor http encerra conexão
TCP .

5. cliente http recebe


mensagem de resposta
contendo arquivo html,
visualiza html. Analisando
arquivo html, encontra 10
objetos jpeg referenciados

6. Passos 1 a 5 repetidos para


cada um dos 10 objetos jpeg

tempo

Messias Bittencourt Figueiredo Versão 07-02 275

Camada de Aplicação

Modelagem do tempo de resposta


Definição de RTT (Round Trip
Time): intervalo de tempo
entre a ida e a volta de um
pequeno pacote entre um
cliente e um servidor
Tempo de resposta: Inicia a conexão
TCP
• um RTT para iniciar a conexão RTT
TCP
solicita
• um RTT para o pedido HTTP e arquivo
tempo para
o retorno dos primeiros bytes RTT
da resposta HTTP transmitir
arquivo o arquivo
• tempo de transmissão do recebido
arquivo
total = 2RTT+tempo de tempo tempo
transmissão

Messias Bittencourt Figueiredo Versão 07-02 276


Camada de Aplicação

HTTP persistente
Problemas com o HTTP não Persistente sem paralelismo:
persistente:
• o cliente envia um novo pedido
• requer 2 RTTs para cada objeto apenas quando a resposta
• SO aloca recursos do hospedeiro anterior tiver sido recebida
para cada conexão TCP
• um RTT para cada objeto
• os browser freqüentemente abrem referenciado
conexões TCP paralelas para
recuperar os objetos referenciados Persistente com paralelismo:
HTTP persistente • default no HTTP/1.1
• o servidor deixa a conexão aberta • o cliente envia os pedidos logo
após enviar a resposta que encontra um objeto
• mensagens HTTP seguintes entre referenciado
o mesmo cliente/servidor são
enviadas nesta conexão • pode ser necessário apenas um
RTT para todos os objetos
referenciados

Messias Bittencourt Figueiredo Versão 07-02 277

Camada de Aplicação

Formato da mensagem HTTP: requisição


• Dois tipos de mensagem HTTP: requisição, resposta

• mensagem de requisição HTTP:


– ASCII (formato legível por pessoas)

linha da requisição
(comandos GET, GET /somedir/page.html HTTP/1.0
POST, HEAD) Host: www.someschool.edu
linhas de User-agent: Mozilla/4.0
cabeçalho Connection: close
Accept-language:fr
Carriage return,
line feed (carriage return (CR), line feed(LF) adicionais)
indicam fim
de mensagem
Messias Bittencourt Figueiredo Versão 07-02 278
Camada de Aplicação

Mensagem de requisição HTTP: formato geral

Messias Bittencourt Figueiredo Versão 07-02 279

Camada de Aplicação

Tipos de métodos
HTTP/1.0 HTTP/1.1

• GET • GET, POST, HEAD

• POST • PUT
– Upload de arquivo contido
• HEAD no corpo da mensagem
– Pede para o servidor não para o caminho especificado
enviar o objeto requerido no campo URL
junto com a resposta
(usado p/ debugging) • DELETE
– Exclui arquivo especificado
no campo URL

Messias Bittencourt Figueiredo Versão 07-02 280


Camada de Aplicação

Enviando conteúdo de formulário


Método POST : Método GET:

• Conteúdo é enviado para • Conteúdo é enviado para


o servidor no corpo da o servidor no campo URL:
mensagem

www.somesite.com/animalsearch?key=monkeys&max=10

Messias Bittencourt Figueiredo Versão 07-02 281

Camada de Aplicação

Formato de mensagem HTTP: resposta

linha de status
(protocolo,
HTTP/1.1 200 OK
código de status,
Connection close
frase de status)
Date: Thu, 06 Aug 1998 12:00:15 GMT
linhas de Server: Apache/1.3.0 (Unix)
cabeçalho
Last-Modified: Mon, 22 Jun 1998 …...
Content-Length: 6821
Content-Type: text/html
dados, p.ex.,
arquivo html dados dados dados dados ...
solicitado

Messias Bittencourt Figueiredo Versão 07-02 282


Camada de Aplicação

Cookies: manutenção do “estado” da conexão


Muitos dos principais sítios Web Exemplo:
usam cookies
– Suzana acessa a Internet
Quatro componentes: sempre do mesmo PC
1) linha de cabeçalho do cookie – Ela visita um sítio específico
na mensagem de resposta de comércio eletrônico pela
HTTP primeira vez
2) linha de cabeçalho do cookie – Quando os pedidos iniciais
na mensagem de pedido HTTP
HTTP chegam no sítio, o
3) arquivo do cookie mantido no sítio cria uma ID única e
host do usuário e gerenciado cria uma entrada para a ID
pelo browser do usuário no BD de retaguarda
4) BD de retaguarda no sítio Web

Messias Bittencourt Figueiredo Versão 07-02 285

Camada de Aplicação

Cookies (continuação)
O que os cookies podem
obter: nota
Cookies e privacidade:
• autorização r cookies permitem que os
sítios aprendam muito
• carrinhos de compra sobre você
r você pode fornecer nome e
• sugestões e-mail para os sítios
r mecanismos de busca usam
• estado da sessão do redirecionamento e cookies
para aprender ainda mais
usuário (Webmail)
r agências de propaganda
obtêm perfil a partir dos
sítios visitados

Messias Bittencourt Figueiredo Versão 07-02 287


Camada de Aplicação

Cache Web (servidor proxy)

Meta: atender pedido do cliente sem envolver servidor de origem


• usuário configura Servidor
browser: acessos Web de origem
via proxy cliente
Servidor
• cliente envia todos proxy
pedidos HTTP ao proxy
– se objeto estiver no
cache do proxy, este o
devolve
imediatamente na
resposta HTTP
– senão, solicita objeto
do servidor de origem, cliente
Servidor
depois devolve de origem
resposta HTTP ao
cliente
Messias Bittencourt Figueiredo Versão 07-02 288

Camada de Aplicação

Mais sobre Caches Web


• Cache atua tanto como cliente Para que fazer cache Web?
quanto como servidor
• Redução do tempo de resposta
• Tipicamente o cache é para os pedidos do cliente
instalado por um ISP
(universidade, empresa, ISP • Redução do tráfego no canal de
residencial) acesso de uma instituição

• A Internet cheia de caches


permitem que provedores de
conteúdo “pobres”
efetivamente forneçam
conteúdo!

Messias Bittencourt Figueiredo Versão 07-02 289


FTP

Messias Bittencourt Figueiredo


293

FTP (File Transfer Protocol)


• Protocolo de Transferência de
arquivo;

• Modelo cliente/servidor;
• Cliente: lado que inicia transferência
(pode ser de ou para o sistema remoto)

• Servidor: hospedeiro remoto

• Transferir de arquivo de servidor


para cliente e de cliente para
servidor;

• Download: Transferência de
servidor para cliente;

• Upload: Transferência de cliente


para servidor;

• RFC 959

• Servidor ftp: porta 21

Messias Bittencourt Figueiredo Versão 07-02 294


Camada de Aplicação

FTP: conexões separadas p/ controle, dados


• Cliente FTP contata servidor FTP na • Servidor FTP mantém o “estado”:
porta 21, especificando o TCP como diretório atual, autenticação
protocolo de transporte; anterior
• O cliente obtém autorização através
da conexão de controle; Cliente FTP

Conexão de Controle

• O cliente consulta o diretório TCP, Porta 21

remoto enviando comandos através Conexão de Dados


TCP, Porta 20

da conexão de controle;
• Quando o servidor recebe um
comando para a transferência de
Sistema de
Arquivo Local
Sistema de
um arquivo, ele abre uma conexão Arquivo Remoto

de dados TCP para o cliente;


• Após a transmissão de um arquivo
o servidor fecha a conexão;
• O servidor abre uma segunda
conexão TCP para transferir outro
arquivo
• Conexão de controle: “fora da faixa”
Messias Bittencourt Figueiredo Versão 07-02 295

Correio Eletrônico

Messias Bittencourt Figueiredo


297
Camada de Aplicação

Correio Eletrônico fila de


mensagens
Três grandes componentes: de saída
caixa de
• agentes de usuário (UA) agente correio do usuário
de
• servidores de correio usuário
servidor agente
• simple mail transfer protocol: de correio de
usuário
SMTP
SMTP
servidor
Agente de Usuário de correio agente
SMTP de
usuário
• a.k.a. “leitor de correio”
• compor, editar, ler mensagens
SMTP
agente
de correio servidor de
usuário
de correio
• p.ex., Eudora, Outlook, elm,
Netscape Messenger agente
de
• mensagens de saída e usuário
agente
chegando são armazenadas no de
servidor usuário

Messias Bittencourt Figueiredo Versão 07-02 298

Correio Eletrônico: servidores de


Camada de Aplicação

correio
Servidores de correio
• caixa de correio contém agente
mensagens de chegada (ainda de
usuário
não lidas) p/ usuário
servidor agente
de correio de
• fila de mensagens contém usuário
mensagens de saída (a serem
enviadas) SMTP
servidor
de correio
• protocolo SMTP entre SMTP
servidores de correio para
transferir mensagens de SMTP
correio agente
servidor de
– cliente: servidor de correio de correio usuário
que envia
– “servidor”: servidor de agente
correio que recebe de
usuário
agente
de
usuário

Messias Bittencourt Figueiredo Versão 07-02 299


Correio Eletrônico:Camada de Aplicação

SMTP [RFC 2821]


• usa TCP para a transferência
confiável de msgs do correio
do cliente ao servidor, porta 25

• transferência direta: servidor


remetente ao servidor receptor

• três fases da transferência


– handshaking (saudação)
– transferência das
mensagens
– encerramento

• interação comando/resposta
– comandos: texto ASCII
– resposta: código e frase de
status

• mensagens precisam ser


Messias Bittencourt Figueiredo Versão 07-02 300

em ASCII de 7-bits

Camada de Aplicação

Interação SMTP típica


S: 220 doces.br
C: HELO consumidor.br
S: 250 Hello consumidor.br, pleased to meet you
C: MAIL FROM: <ana@consumidor.br>
S: 250 ana@consumidor.br... Sender ok
C: RCPT TO: <bernardo@doces.br>
S: 250 bernardo@doces.br ... Recipient ok
C: DATA
S: 354 Enter mail, end with "." on a line by itself
C: Voce gosta de chocolate?
C: Que tal sorvete?
C: .
S: 250 Message accepted for delivery
C: QUIT
S: 221 doces.br closing connection
Messias Bittencourt Figueiredo Versão 07-02 302
Camada de Aplicação

Experimente uma interação SMTP:


• telnet nomedoservidor 25

• veja resposta 220 do servidor

• entre comandos HELO, MAIL FROM, RCPT TO, DATA,


QUIT

estes comandos permitem que você envie correio sem


usar um cliente (leitor de correio)

Messias Bittencourt Figueiredo Versão 07-02 303

Camada de Aplicação

SMTP: últimas palavras


• SMTP usa conexões Comparação com HTTP
persistentes
• HTTP: pull (recupera)
• SMTP requer que a mensagem
(cabeçalho e corpo) sejam em • SMTP: push (envia)
ASCII de 7-bits
• ambos têm interação
• servidor SMTP usa CRLF.CRLF comando/resposta, códigos de
para reconhecer o final da status em ASCII
mensagem
• HTTP: cada objeto é
encapsulado em sua própria
mensagem de resposta
• SMTP: múltiplos objetos de
mensagem enviados numa
mensagem de múltiplas partes

Messias Bittencourt Figueiredo Versão 07-02 304


Camada de Aplicação

Formato de uma mensagem


SMTP: protocolo para trocar msgs
de correio

RFC 822: padrão para formato de


mensagem de texto: cabeçalho linha em
• linhas de cabeçalho, p.ex., branco
– To:
– From:
corpo
– Subject:
diferentes dos comandos de
smtp!

• corpo
– a “mensagem”, somente de
caracteres ASCII

Messias Bittencourt Figueiredo Versão 07-02 305

Camada de Aplicação

Protocolos de acesso ao correio

agente SMTP SMTP POP3 ou agente


de de
usuário
IMAP usuário

servidor de correio servidor de correio


do remetente do receptor

• SMTP: entrega/armazenamento no servidor do


receptor
• protocolo de acesso ao correio: recupera do servidor
– POP: Post Office Protocol [RFC 1939]
• autorização (agente <-->servidor) e transferência
– IMAP: Internet Mail Access Protocol [RFC 1730]
• mais comandos (mais complexo)
• manuseio de msgs armazenadas no servidor
– HTTP: Hotmail , Yahoo! Mail, Webmail, etc.
Messias Bittencourt Figueiredo Versão 07-02 309
Camada de Aplicação

Protocolo POP3
S: +OK POP3 server ready
C: user ana
fase de autorização S: +OK
• comandos do cliente: C: pass faminta
– user: declara nome S:C:+OK user successfully
list logged on

– pass: senha S: 1 498


S: 2 912
• servidor responde S: .
– +OK C: retr 1
– -ERR S: <message 1 contents>
S: .
fase de transação, C: dele 1
cliente:
C: retr 2
• list: lista números das S: <message 1 contents>
msgs S: .
• retr: recupera msg por C: dele 2
número
Messias Bittencourt Figueiredo C: quit Versão 07-02 310

• dele: apaga msg S: +OK POP3 server signing off

• quit

Camada de Aplicação

POP3 (mais) e IMAP


Mais sobre o POP3 IMAP

• O exemplo anterior usa o • Mantém todas as


modo “download e mensagens num único
delete”. lugar: o servidor

• Bob não pode reler as • Permite ao usuário


mensagens se mudar de organizar as mensagens
cliente em pastas

• “Download-e-mantenha”: • O IMAP mantém o estado


copia as mensagens em do usuário entre sessões:
clientes diferentes – nomes das pastas e
mapeamentos entre as IDs
• POP3 não mantém estado das mensagens e o nome
entre conexões da pasta

Messias Bittencourt Figueiredo Versão 07-02 311


Camada de Aplicação

Capítulo 2: Roteiro
• 2.1 Princípios de • 2.6 Compartilhamento de
aplicações de rede arquivos P2P

• 2.2 A Web e o HTTP • 2.7 Programação e


desenvolvimento de
• 2.3 Transferência de aplicações com TCP
arquivo: FTP
• 2.8 Programação de
• 2.4 Correio Eletrônico na sockets com UDP
Internet
• 2.9 Construindo um
• 2.5 DNS: o serviço de servidor Web simples
diretório da Internet

Messias Bittencourt Figueiredo Versão 07-02 312

Correio Eletrônico

Messias Bittencourt Figueiredo


313
Camada de Aplicação

Capítulo 2: Roteiro
• 2.1 Princípios de • 2.6 Compartilhamento de
aplicações de rede arquivos P2P

• 2.2 A Web e o HTTP • 2.7 Programação e


desenvolvimento de
• 2.3 Transferência de aplicações com TCP
arquivo: FTP
• 2.8 Programação de
• 2.4 Correio Eletrônico na sockets com UDP
Internet
• 2.9 Construindo um
• 2.5 DNS: o serviço de servidor Web simples
diretório da Internet

Messias Bittencourt Figueiredo Versão 07-02 314

Camada de Aplicação Introdução

Objetivos do Capítulo
• Aspectos conceituais e de • Aprenda sobre protocolos
implementação de através do estudo de
protocolos de aplicação protocolos populares da
em redes camada de aplicação:
– Modelos de serviço da
camada de transporte – HTTP
– Paradigma cliente servidor – FTP
– Paradigma peer-to-peer – SMTP/ POP3/ IMAP
– DNS

• A programação de
aplicações de rede
– programação usando a API
de sockets

Messias Bittencourt Figueiredo Versão 07-02 315


Camada de Aplicação Introdução

Criando uma aplicação de rede


Programas que
– Executam em diferentes
aplicação
sistemas finais
transporte
– Comunicam-se através da rede rede
enlace
– p.ex., Web: servidor Web se física
comunica com o navegador

Programas não relacionados


ao núcleo da rede
– Dispositivos do núcleo da rede
não executam aplicações de aplicação
aplicação
usuários transporte
transporte
rede
– Aplicações nos sistemas finais rede
enlace
permite rápido enlace
física
desenvolvimento e física

disseminação

Messias Bittencourt Figueiredo Versão 07-02 316

Camada de Aplicação Introdução

Arquiteturas das aplicações de rede


• Cliente-servidor

• Peer-to-peer (P2P)

• Híbrida cliente-servidor/P2P

Messias Bittencourt Figueiredo Versão 07-02 317


Camada de Aplicação Introdução

Arquitetura Cliente/Servidor
• Servidor:
– Sempre ligado
– Endereço IP permanente
– Escalabilidade com server farms

• Cliente:
– Comunica-se com o servidor
– Pode estar conectado
intermitentemente
– Pode ter endereços IP dinâmicos
– Não se comunica diretamente com
outros clientes

Messias Bittencourt Figueiredo Versão 07-02 318

Camada de Aplicação Introdução

Arquitetura P2P pura


• P2P

• Não há servidor sempre


ligado

• Sistemas finais arbitrários


se comunicam
diretamente

• Pares estão conectados


intermitentemente e
mudam endereços IP

• Exemplo: Gnutella

Altamente escalável
Messias Bittencourt Figueiredo Versão 07-02 319

Porém, difícil de gerenciar


Camada de Aplicação Introdução

Híbrida cliente-servidor/P2P
Napster
– Transferência de arquivos
P2P
– Busca de arquivos
centralizada:
• Pares registram conteúdo
no servidor central
• Pares consultam o mesmo
servidor central para
localizar conteúdo

Mensagem instantânea
– Conversa entre usuários
P2P
– Localização e detecção de
presença centralizadas:
• Usuários registram o seu
endereço IP junto ao
servidor central quando
Messias Bittencourt Figueiredo 320
ficam online
Versão 07-02

• Usuários consultam o
servidor central para
encontrar endereços IP dos
contatos

Camada de Aplicação Introdução

Comunicação entre Processos


Processo: programa que Processo cliente: processo
executa num sistema final que inicia a comunicação

• processos no mesmo Processo servidor: processo


sistema final se que espera ser contatado
comunicam usando
comunicação
interprocessos definida
pelo sistema operacional
(SO)
r Nota: aplicações com
• processos em sistemas arquiteturas P2P
finais distintos se possuem processos
clientes e processos
comunicam trocando servidores
mensagens através da
rede
Messias Bittencourt Figueiredo Versão 07-02 321
Camada de Aplicação

Sockets
• Os processos enviam/
recebem mensagens
hospedeiro ou hospedeiro ou
para/dos seus sockets
servidor servidor
• Um socket é análogo a controlado pelo
uma porta desenvolvedor da processo
processo
– Processo transmissor envia aplicação
socket socket
a mensagem através da
TCP com TCP com
porta Internet
buffers, buffers,
– O processo transmissor variáveis variáveis
assume a existência da
infra-estrutura de controlado
transporte no outro lado da pelo SO
porta que faz com que a
r API: (1) escolha
mensagem do ao
chegue protocolo de transporte; (2)
habilidade para fixar alguns parâmetros (mais sobre
socket do processo receptor
isto posteriormente)
Messias Bittencourt Figueiredo Versão 07-02 322

Camada de Aplicação

Endereçamento de processos
• O identificador inclui tanto o • Para que um processo receba
endereço IP quanto os mensagens, ele deve possuir
números das portas associadas um identificador
com o processo no hospedeiro
. • Cada hospedeiro possui um
endereço IP único de 32 bits
• Exemplo de números de
portas: • P: o endereço IP do hospedeiro
no qual o processo está sendo
– Servidor HTTP: 80 executado é suficiente para
– Servidor de Correio: 25 identificar o processo?
– Outras:
• Resposta: Não, muitos
• www.iana.org processos podem estar
executando no mesmo
• Mais sobre isto posteriormente. hospedeiro

Messias Bittencourt Figueiredo Versão 07-02 323


Camada de Aplicação

Os protocolos da camada de aplicação definem


• Tipos de mensagens Protocolos de domínio
trocadas, ex. mensagens de público:
requisição e resposta
• definidos em RFCs
• Sintaxe dos tipos das
mensagens: campos • Permitem a interoperação
presentes nas mensagens e
como são identificados • ex, HTTP e SMTP
• Semântica dos campos, i.e., Protocolos proprietários:
significado da informação
nos campos • Ex., KaZaA
• Regras para quando os
processos enviam e
respondem às mensagens

Messias Bittencourt Figueiredo Versão 07-02 324

De que serviços uma aplicação


Camada de Aplicação

necessita?
Transferência confiável de Temporização
dados
• algumas apls (p.ex., telefonia
• algumas apls (p.ex. áudio)
Largura de jogos
Internet, bandainterativos)
podem tolerar algumas perdas r algumas
requeremapls (p.ex.,
baixo retardo para
multimídia) requerem
serem “viáveis”
• outras (p.ex., transf. de quantia mínima de banda
arquivos, telnet) requerem para serem “viáveis”
transferência 100% confiável r outras apls (“apls elásticas”)
conseguem usar qq quantia
de banda disponível

Messias Bittencourt Figueiredo Versão 07-02 325


Requisitos
Camada dede aplicações de rede
Aplicação

selecionadas

Largura de Sensibilidade
Aplicação Perdas Banda ao atraso

transferência de arqs sem perdas elástica não


correio sem perdas elástica não
documentos Web sem perdas elástica não
áudio/vídeo em tolerante áudio: 5kb-1Mb sim, 100’s mseg
tempo real vídeo:10kb-5Mb
áudio/vídeo gravado tolerante como anterior sim, alguns segs
jogos interativos tolerante > alguns kbps sim, 100’s mseg
mensagem instantânea sem perdas elástica sim e não

Messias Bittencourt Figueiredo Versão 07-02 326

Serviços providos pelos protocolos de


Camada de Aplicação

transporte da Internet
Serviço TCP: Serviço UDP:
• orientado a conexão: • transferência de dados não
apresentação requerida entre confiável entre processos
cliente e servidor remetente e receptor
• transporte confiável entre
processos remetente e • não provê: estabelecimento da
receptor conexão, confiabilidade,
controle de fluxo, controle de
• controle de fluxo: remetente congestionamento, garantias
não vai “afogar” receptor temporais ou de banda mínima
• controle de congestionamento:
estrangular remetente quando P: Qual é o interesse em ter um
a rede estiver carregada
UDP?
• não provê: garantias temporais
ou de banda mínima

Messias Bittencourt Figueiredo Versão 07-02 327


AplsCamada
Internet:
de Aplicação seus protocolos e seus
protocolos de transporte

Protocolo da Protocolo de
Aplicação camada de apl transporte usado

correio eletrônico SMTP [RFC 2821] TCP


acesso terminal remoto telnet [RFC 854] TCP
Web HTTP [RFC 2616] TCP
transferência de arquivos ftp [RFC 959] TCP
streaming multimídia proprietário TCP ou UDP
(p.ex. RealNetworks)
telefonia Internet proprietário tipicamente UDP
(p.ex., Dialpad)

Messias Bittencourt Figueiredo Versão 07-02 328

Camada de Aplicação

DNS: Domain Name System


Pessoas: muitos Domain Name System:
identificadores:
• base de dados distribuída
– CPF, nome, no. da implementada na hierarquia de
Identidade muitos servidores de nomes

hospedeiros, roteadores • protocolo de camada de


Internet : aplicação permite que
hospedeiros, roteadores,
– endereço IP (32 bit) - usado servidores de nomes se
p/ endereçar datagramas comuniquem para resolver
– “nome”, ex., jambo.ic.uff.br nomes (tradução
- usado por gente endereço/nome)
– nota: função imprescindível
P: como mapear entre da Internet implementada
nome e endereço IP? como protocolo de camada
de aplicação
– complexidade na borda da
rede

Messias Bittencourt Figueiredo Versão 07-02 329


Camada de Aplicação

DNS (cont.)
Serviços DNS Serviços DNS

• Tradução de nome de • Roda sobre UDP e usa a


porta 53
hospedeiro para IP
– RFCs 1034, 1035
• Apelidos para hospedeiros – Atualizado em outras RFCs
(aliasing)
– Nomes canônicos e apelidos Por que não centralizar o
• Apelidos para servidores DNS?
de e-mail • ponto único de falha
• Distribuição de carga • volume de tráfego
– Servidores Web replicados: • base de dados
conjunto de endereços IP para
centralizada e distante
um nome canônico
• manutenção (da BD)
Messias Bittencourt Figueiredo Versão 07-02 330

Não é escalável!

Camada de Aplicação

Base de Dados Hierárquica e


Distribuída
Root DNS Servers

com DNS servers org DNS servers edu DNS servers

pbs.org poly.edu umass.edu


yahoo.com amazon.com
DNS servers DNS servers DNS servers
DNS servers DNS servers

Cliente quer IP para www.amazon.com; 1a aprox:

• Cliente consulta um servidor raiz para encontrar


um servidor DNS .com

• Cliente consulta servidor DNS .com para obter o


servidor DNS para o domínio amazon.com

• Cliente consulta servidor DNS do domínio


Messias Bittencourt Figueiredo 331
amazon.com para obter endereço IP de
Versão 07-02

www.amazon.com
Camada de Aplicação

DNS: Servidores raiz

• procurado por servidor local que não consegue resolver


o nome
• servidor raiz:
– procura servidor oficial se mapeamento
desconhecido
– obtéma Verisign,
tradução Dulles, VA

– devolve mapeamento ao k RIPEservidor


c Cogent, Herndon, VA (also Los Angeles)
local
London (also Amsterdam,
d U Maryland College Park, MD Frankfurt)

g US DoD Vienna, VA i Autonomica, Stockholm

h ARL Aberdeen, MD (plus 3 other locations)


m WIDE Tokyo
e NASA Mt View, CA
j Verisign, ( 11 locations)
f Internet Software C. Palo Alto,
CA (and 17 other locations)
13 servidores de
nome raiz em
todo o mundo
b USC-ISI Marina del Rey, CA
l ICANN Los Angeles, CA

Messias Bittencourt Figueiredo Versão 07-02 332

Camada de Aplicação

Servidores TLD e Oficiais

• Servidores Top-level domain (TLD) : servidores


DNS responsáveis por domínios com, org, net,
edu, etc, e todos os domínios de países como br,
uk, fr, ca, jp.
– Network Solutions mantém servidores para domínio
.com
– NIC.br (Registro .br) para domínio .br

• Servidores oficiais: servidores DNS das


organizações, provendo mapeamentos oficiais
entre nomes de hospedeiros e endereços IP para
os servidores da organização (e.x., Web e
correio).
– Podem ser mantidos pelas organizações ou pelo
Messias Bittencourt Figueiredo Versão 07-02 333

provedor de acesso
Camada de Aplicação

Domínios
Registrados
por DPN
(Domínio
de Primeiro
Nível)
17/04/08

Messias Bittencourt Figueiredo Versão 07-02 334

Camada de Aplicação

Servidor de Nomes Local


• Não pertence necessariamente à hierarquia

• Cada ISP (ISP residencial, companhia, universidade) possui um.


– Também chamada do “servidor de nomes default”

• Quanto um hospedeiro faz uma consulta DNS, a mesma é enviada


para o seu servidor DNS local
– Atua como um intermediário, enviando consultas para a hierarquia.

Messias Bittencourt Figueiredo Versão 07-02 335


Camada de Aplicação

Exemplo de DNS servidor raiz


• Hospedeiro em
cis.poly.edu quer
endereço IP para 2
3
gaia.cs.umass.edu servidor TLD
4

servidor local
dns.poly.edu
7 6
1 8

servidor oficial
dns.cs.umass.edu
solicitante
cis.poly.edu
gaia.cs.umass.edu

Messias Bittencourt Figueiredo Versão 07-02 336

Camada de Aplicação

DNS: tipos de consultas


servidor de
consulta recursiva: nomes raiz
• transfere a responsabilidade de
consulta
resolução do nome para o interativa servidor TLD
servidor de nomes contatado
2 3 4
• carga pesada?
5
6
consulta interativa: servidor
intermediário
servidor local 9
• servidor consultado responde
pitomba.ic.uff.br
com o nome de um servidor de saell.cc.columbia.edu
contato consulta 8 7
recursiva
• “Não conheço este nome, mas 1 10
pergunte para esse servidor”
servidor oficial
cs.columbia.edu
solicitante
manga.ic.uff.br

Messias Bittencourt Figueiredo Versão 07-02 337


Camada de Aplicação

DNS: uso de cache, atualização de


dados
• uma vez que um servidor qualquer aprende
um mapeamento, ele o coloca numa cache
local
– entradas na cache são sujeitas a temporização
(desaparecem depois de um certo tempo)
– Servidores TLD tipicamente armazenados no cache dos
servidores de nomes locais
• Servidores raiz acabam não sendo visitados com muita
freqüência

• estão sendo projetados pela IETF


mecanismos de atualização/notificação dos
dados
– RFCs 2136, 3007, 4033/4/5
– http://www.ietf.org/html.charters/dnsext-charter.htmlVersão 07-02
Messias Bittencourt Figueiredo 338

Camada de Aplicação

Registros DNS

DNS: BD distribuído contendo registros de recursos


(RR)
formato RR: (nome, valor, tipo, sobrevida)

r Tipo=A r Tipo=CNAME
m nome é nome de hospedeiro m nome é nome alternativo
(alias) para algum nome
m valor é o seu endereço IP “canônico” (verdadeiro)
• Tipo=NS m valor é o nome
– nome é domínio (p.ex.
canônico
foo.com.br)
– valor é endereço IP de r Tipo=MX
servidor oficial de nomes m nome é domínio
para este domínio
m valor é nome do servidor de
correio para este domínio

Messias Bittencourt Figueiredo Versão 07-02 339


Camada de Aplicação

DNS: protocolo e mensagens

protocolo DNS: mensagens de pedido e resposta,


ambas com o mesmo formato de mensagem
cabeçalho de msg
r identificação: ID de 16 bit
para pedido, resposta ao
pedido usa mesmo ID
r flags:
m pedido ou resposta
m recursão desejada
m recursão permitida
m resposta é oficial

Messias Bittencourt Figueiredo Versão 07-02 340

Camada de Aplicação

Capítulo 2: Roteiro
• 2.1 Princípios de • 2.6 Compartilhamento de
aplicações de rede arquivos P2P

• 2.2 A Web e o HTTP • 2.7 Programação e


desenvolvimento de
• 2.3 Transferência de aplicações com TCP
arquivo: FTP
• 2.8 Programação de
• 2.4 Correio Eletrônico na sockets com UDP
Internet
• 2.9 Construindo um
• 2.5 DNS: o serviço de servidor Web simples
diretório da Internet

Messias Bittencourt Figueiredo Versão 07-02 341


Compartilhamento de
Arquivos P2P

Messias Bittencourt Figueiredo


342

Camada de Aplicação

Compartilhamento de arquivos P2P


Exemplo • Alice escolhe um dos parceiros,
Bob.
• Alice executa aplicação cliente
P2P no seu notebook • O arquivo é copiado do PC de
Bob para o notebook de Alice:
• Periodicamente ela se conecta HTTP
à Internet e recebe um novo • Enquanto Alice está baixando a
endereço IP a cada conexão música, outros usuários podem
estar pegando arquivos do seu
• Pede a música “Hey Jude” computador.
• A aplicação apresenta uma • O parceiro de Alice é tanto um
lista de outros parceiros que cliente Web como um servidor
possuem uma cópia de Hey Web temporário.
Jude.
Todos os parceiros são servidores
= altamente escalável!

Messias Bittencourt Figueiredo Versão 07-02 343


Camada de Aplicação

P2P: diretório centralizado


Projeto original do Napster

1) Quando um parceiro Bob


conecta ele informa ao servidor de diretório

servidor central o seu: centralizado


1
parceiros
– endereço IP
1
– conteúdo
1 3
2) Alice consulta sobre a
2
música “Hey Jude” 1

3) Alice solicita o arquivo a


Bob
Alice

Messias Bittencourt Figueiredo Versão 07-02 344

P2P: problemas com diretório


Camada de Aplicação

centralizado
• Ponto único de falha a transferência de arquivo é
descentralizada, mas a
• Gargalo de desempenho localização do conteúdo é
altamente centralizada.
• Violação de Direitos
Autorais

Messias Bittencourt Figueiredo Versão 07-02 345


Explorando heterogeneidade:
Camada de Aplicação

KaZaA
• Cada parceiro é um líder
de grupo ou está alocado
a um líder de grupo
– Conexão TCP entre cada par
e o seu líder de grupo
– Conexões TCP entre alguns
pares de líderes de grupos

• O líder de um grupo
mantém registro sobre o
conteúdo de todos os
seus filhos

ordinary peer

group-leader peer

neighoring relationships
in overlay network

Messias Bittencourt Figueiredo Versão 07-02 346

Camada de Aplicação

KaZaA: Consulta
• Cada arquivo possui um hash e um descritor

• O cliente envia palavras-chave para o seu líder de


grupo

• O líder de grupo responde com os itens encontrados


– Para cada item: metadados, hash, endereço IP

• Se o líder de grupo repassa a consulta para outros


líderes, eles respondem com os itens encontrados
• O cliente seleciona arquivos para download
– Requisições HTTP usando hash com identificador são enviadas
para os pares que possuem os arquivos desejado

Messias Bittencourt Figueiredo Versão 07-02 347


Camada de Aplicação

Truques do KaZaA
• Limitações na quantidade de uploads simultâneos

• Enfileiramento de requisições

• Prioridades para incentivar disponibilização de conteúdo

• Download em paralelo

Messias Bittencourt Figueiredo Versão 07-02 348

Camada de Aplicação

Capítulo 2: Roteiro
• 2.1 Princípios de • 2.6 Compartilhamento de
aplicações de rede arquivos P2P

• 2.2 A Web e o HTTP • 2.7 Programação e


desenvolvimento de
• 2.3 Transferência de aplicações com TCP
arquivo: FTP
• 2.8 Programação de
• 2.4 Correio Eletrônico na sockets com UDP
Internet
• 2.9 Construindo um
• 2.5 DNS: o serviço de servidor Web simples
diretório da Internet

Messias Bittencourt Figueiredo Versão 07-02 349


Camada de Aplicação

Programação com sockets


API Sockets
Meta: aprender
• apareceu no BSD4.1aUNIX
construir
em aplicações cliente/servidor
1981que se comunicam usando sockets

• são explicitamente criados, socket


usados e liberados por apls
uma interface (uma
• paradigma cliente/servidor “porta”), local ao
hospedeiro, criada por e
• dois tipos de serviço de pertencente à aplicação, e
transporte via API Sockets controlado pelo SO,
através da qual um
– datagrama não confiável processo de aplicação
pode tanto enviar como
– fluxo de bytes, confiável receber mensagens
para/de outro processo
de aplicação
(remoto ou local)

Messias Bittencourt Figueiredo Versão 07-02 350

Camada de Aplicação

Programação com sockets


usando TCP
Socket: uma porta entre o processo de aplicação
e um protocolo de transporte fim-a-fim (UDP ou
TCP)
Serviço TCP: transferência confiável de bytes de
um processo para outro
controlado pelo
controlado pelo processo desenvolvedor de
desenvolvedor de processo
aplicação
aplicação socket socket
TCP com TCP com
controlado
controlado
pelo sistema buffers, buffers, pelo sistema
operacional
internet operacional
variáveis variáveis

estação ou estação ou
servidor servidor

Messias Bittencourt Figueiredo Versão 07-02 351


Programação com sockets usando
Camada de Aplicação

TCP
Cliente deve contactar servidor • Quando contatado pelo cliente,
o TCP do servidor cria socket
• processo servidor deve antes novo para que o processo
estar em execução servidor possa se comunicar
com o cliente
• servidor deve antes ter criado
socket (porta) que aguarda – permite que o servidor
contato do cliente converse com múltiplos
clientes
Cliente contacta servidor para:
– Endereço IP e porta origem
• criar socket TCP local ao cliente são usados para distinguir
os clientes (mais no cap. 3)
• especificar endereço IP,
número de porta do processo
servidor ponto de vista da aplicação
• Quando cliente cria socket: TCP provê transferência
TCP cliente cria conexão com confiável, ordenada de bytes
TCP do servidor (“tubo”) entre cliente e servidor

Messias Bittencourt Figueiredo Versão 07-02 352

Camada de Aplicação

Comunicação entre sockets

Messias Bittencourt Figueiredo Versão 07-02 353


Camada de Aplicação

Jargão para Fluxo (Stream)


• Um fluxo (stream) é uma
seqüência de caracteres que
fluem de ou para um processo.

• Um fluxo de entrada é
conectado a alguma fonte de
entrada para o processo, por
exemplo, teclado ou socket.

• Um fluxo de saída é conectado


a uma fonte de saída, por
exemplo, um monitor ou um
socket.

Messias Bittencourt Figueiredo Versão 07-02 354

Camada de Aplicação

Programação com sockets


usando TCP
keyboard monitor

Exemplo de apl. cliente-


servidor:
inFromUser

input

1. cliente lê linha da entrada


stream
Processo
padrão (fluxo doUsuário), cliente
Process Fluxo de entrada:
envia para servidor via Seqüência de
socket (fluxo Fluxo de saída: bytes recebidos
pelo processo
paraServidor) Seqüência de bytes
transmitidos pelo
2. servidor lê linha do socket processo
inFromServer
outToServer

output input
3. servidor converte linha stream stream

para letras maiúsculas,


devolve para o cliente Socket
cliente TCP
clientSocket
TCP
4. cliente lê linha modificada socket

do socket (fluxo to network from network

doServidor), imprime-a
Messias Bittencourt Figueiredo Versão 07-02 355
Camada de Aplicação

Interações cliente/servidor usando o


TCP
Servidor (executa em nomeHosp) Cliente
cria socket,
porta=x, para
receber pedido: =
socketRecepção
ServerSocket ()

aguarda chegada de
TCP cria socket,

pedido de conexão setup da conexão abre conexão a nomeHosp, porta=x


socketCliente =
socketConexão =
Socket()
socketRecepção.accept()
Envia pedido usando
lê pedido de
socketCliente
socketConexão
escreve resposta
para socketConexão lê resposta de
socketCliente
fecha
fecha
socketConexão
socketCliente

Messias Bittencourt Figueiredo Versão 07-02 356

Camada de Aplicação

Exemplo: cliente Java (TCP)


import java.io.*;
import java.net.*;
class ClienteTCP {

public static void main(String argv[]) throws Exception


{
String frase;
String fraseModificada;
Cria
fluxo de entrada BufferedReader doUsuario =
Cria new BufferedReader(new InputStreamReader(System.in));
socket de cliente,
conexão ao servidor Socket socketCliente = new Socket(”nomeHosp", 6789);
Cria
fluxo de saída DataOutputStream paraServidor =
ligado ao socket new DataOutputStream(socketCliente.getOutputStream());
Messias Bittencourt Figueiredo Versão 07-02 357
Camada de Aplicação

Exemplo: cliente Java (TCP), cont.


BufferedReader doServidor =
Cria new BufferedReader(new
fluxo de entrada InputStreamReader(socketCliente.getInputStream()));
ligado ao socket
frase = doUsuario.readLine();

Envia linha paraServidor.writeBytes(frase + '\n');


ao servidor
Lê linha fraseModificada = doServidor.readLine();
do servidor
System.out.println(”Do Servidor: " + fraseModificada);

socketCliente.close();

}
Messias Bittencourt Figueiredo } Versão 07-02 358

Camada de Aplicação

Exemplo: servidor
import java.io.*; Java (TCP)
import java.net.*;

class servidorTCP {

public static void main(String argv[]) throws Exception


{
String fraseCliente;
StringfFraseMaiusculas;
Cria socket
para recepção
ServerSocket socketRecepcao = new ServerSocket(6789);
na porta 6789
Aguarda, no socket while(true) {
para recepção, o
contato do cliente Socket socketConexao = socketRecepcao.accept();
Cria fluxo de
entrada, ligado BufferedReader doCliente =
ao socket new BufferedReader(new
InputStreamReader(socketConexao.getInputStream()));
Messias Bittencourt Figueiredo Versão 07-02 359
Exemplo: servidor Java (TCP),
Camada de Aplicação

cont

Cria fluxo
DataOutputStream paraCliente =
de saída, ligado
new DataOutputStream(socketConexão.getOutputStream());
ao socket
Lê linha fraseCliente= doCliente.readLine();
do socket
fraseEmMaiusculas= fraseCliente.toUpperCase() + '\n';
Escreve linha
ao socket paraClient.writeBytes(fraseEmMaiusculas);
}
} Final do laço while,
} volta ao início e aguarda
conexão de outro cliente

Messias Bittencourt Figueiredo Versão 07-02 360

Camada de Aplicação

Capítulo 2: Roteiro
• 2.1 Princípios de • 2.6 Compartilhamento de
aplicações de rede arquivos P2P

• 2.2 A Web e o HTTP • 2.7 Programação e


desenvolvimento de
• 2.3 Transferência de aplicações com TCP
arquivo: FTP
• 2.8 Programação de
• 2.4 Correio Eletrônico na sockets com UDP
Internet
• 2.9 Construindo um
• 2.5 DNS: o serviço de servidor Web simples
diretório da Internet

Messias Bittencourt Figueiredo Versão 07-02 361


Camada de Aplicação

Programação com sockets


UDP: não tem “conexão” entre
usando UDP
cliente e servidor

• não tem “handshaking”

• remetente coloca
explicitamente endereço IP e
porta do destino ponto de vista da aplicação
UDP provê transferência
• servidor deve extrair endereço não confiável de grupos
IP, porta do remetente do de bytes (“datagramas”)
datagrama recebido
entre cliente e servidor
UDP: dados transmitidos podem
ser recebidos fora de ordem,
ou perdidos

Messias Bittencourt Figueiredo Versão 07-02 362

Camada de Aplicação

Interações cliente/servidor usando o


UDP
Servidor (executa em nomeHosp) Cliente
cria socket,
cria socket,
porta=x, para socketCliente =
pedido que chega:
socketServidor = DatagramSocket()
DatagramSocket()
cria, endereça (nomeHosp, porta=x,
envia pedido em datagrama
lê pedido do usando socketCliente
socketServidor
escreve resposta
ao socketServidor
lê resposta do
especificando endereço
socketCliente
IP, número de porta
fecha
do cliente
socketCliente

Messias Bittencourt Figueiredo Versão 07-02 363


Camada de Aplicação

Exemplo: Cliente Java (UDP)

UDP

Messias Bittencourt Figueiredo Versão 07-02 364

Camada de Aplicação

Exemplo: cliente Java (UDP)


import java.io.*;
import java.net.*;

class clienteUDP {
public static void main(String args[]) throws Exception
{

Cria
fluxo de entrada BufferedReader doUsuario=
new BufferedReader(new InputStreamReader(System.in));
Cria
socket de cliente
DatagramSocket socketCliente = new DatagramSocket();
Traduz nome de
hospedeiro ao
InetAddress IPAddress = InetAddress.getByName(”nomeHosp");
endereço IP
usando DNS byte[] dadosEnvio = new byte[1024];
byte[] dadosRecebidos = new byte[1024];

String frase = doUsuario.readLine();


Messias Bittencourt Figueiredo Versão 07-02 365
dadosEnvio = frase.getBytes();
Camada de Aplicação

Exemplo: cliente Java (UDP) cont.


DatagramPacket pacoteEnviado =
Cria datagrama com new DatagramPacket(dadosEnvio, dadosEnvio.length,
dados para enviar, IPAddress, 9876);
comprimento,
endereço IP, porta
socketCliente.send(pacoteEnviado);
Envia datagrama
ao servidor DatagramPacket pacoteRecebido =
new DatagramPacket(dadosRecebidos, dadosRecebidos.length);
Lê datagrama
do servidor socketCliente.receive(pacoteRecebido);

String fraseModificada =
new String(pacoteRecebido.getData());

System.out.println(“Do Servidor:" + fraseModificada);


socketCliente.close();
}

Messias Bittencourt Figueiredo} Versão 07-02 366

Camada de Aplicação

Servidor UDP

Messias Bittencourt Figueiredo Versão 07-02 367


Camada de Aplicação

Exemplo: servidor Java (UDP)


import java.io.*;
import java.net.*;

class servidorUDP {
public static void main(String args[]) throws Exception
{
Cria socket
para datagramas DatagramSocket socketServidor = new DatagramSocket(9876);
na porta 9876
byte[] dadosRecebidos = new byte[1024];
byte[] dadosEnviados = new byte[1024];

while(true)
Aloca memória para {
receber datagrama DatagramPacket pacoteRecebido =
Recebe new DatagramPacket(dadosRecebidos,
datagrama dadosRecebidos.length);
socketServidor.receive(pacoteRecebido);
Messias Bittencourt Figueiredo Versão 07-02 368

Exemplo: servidor Java (UDP),


Camada de Aplicação

cont String frase = new String(pacoteRecebido.getData());

InetAddress IPAddress = pacoteRecebido.getAddress();


Obtém endereço
IP, no. de porta int porta = pacoteRecebido.getPort();
do remetente

String fraseEmMaiusculas = frase.toUpperCase();

dadosEnviados = fraseEmMaiusculas.getBytes();
Cria datagrama p/
enviar ao cliente DatagramPacket pacoteEnviado =

Escreve new DatagramPacket(dadosEnviados,


dadosEnviados.length, IPAddress, porta);
datagrama
no socket
socketServidor.send(pacoteEnviado);
} Fim do laço while,
} volta ao início e aguarda
} chegar outro datagrama
Messias Bittencourt Figueiredo Versão 07-02 369
Camada de Aplicação

Capítulo 2: Roteiro
• 2.1 Princípios de • 2.6 Compartilhamento de
aplicações de rede arquivos P2P

• 2.2 A Web e o HTTP • 2.7 Programação e


desenvolvimento de
• 2.3 Transferência de aplicações com TCP
arquivo: FTP
• 2.8 Programação de
• 2.4 Correio Eletrônico na sockets com UDP
Internet
• 2.9 Construindo um
• 2.5 DNS: o serviço de servidor Web simples
diretório da Internet

Messias Bittencourt Figueiredo Versão 07-02 370

Camada de Aplicação

Servidor Web Simples


• Funções do servidor Web:
– Trata apenas um pedido HTTP por vez
– Aceita e examina o pedido HTTP
– Recupera o arquivo pedido do sistema de arquivos do servidor
– Cria uma mensagem de resposta HTTP consistindo do arquivo
solicitado precedido por linhas de cabeçalho
– Envia a resposta diretamente ao cliente.

Messias Bittencourt Figueiredo Versão 07-02 371


Camada de Aplicação

Servidor Webimport
Simples
java.io.*;
import java.net.*;
Contém a classe import java.util.*;
StringTokenizer que é
usada para examinar class WebServer {
o pedido public static void main(String argv[]) throws Exception
{
Primeira linha da mensagem
String requestMessageLine;
de pedido HTTP e
String fileName;
Nome do arquivo solicitado
Aguarda conexão ServerSocket listenSocket = new ServerSocket(6789);
do cliente Socket connectionSocket = listenSocket.accept();
Cria fluxo
de Entrada BufferedReader inFromClient =
new BufferedReader(new InputStreamReader(

Cria fluxo connectionSocket.getInputStream()));

de Saída
DataOutputStream outToClient =
new DataOutputStream(
Messias Bittencourt Figueiredo Versão 07-02 372
connectionSocket.getOutputStream());

Camada de Aplicação

Servidor Web Simples, cont


Lê a primeira linha do requestMessageLine = inFromClient.readLine();
pedido HTTP que deveria
ter o seguinte formato:
StringTokenizer tokenizedLine =
GET file_name HTTP/1.0
new StringTokenizer(requestMessageLine);
Examina a primeira linha if (tokenizedLine.nextToken().equals("GET")){
da mensagem para extrair fileName = tokenizedLine.nextToken();
o nome do arquivo if (fileName.startsWith("/") == true )
fileName = fileName.substring(1);

File file = new File(fileName);


Associa o fluxo inFile int numOfBytes = (int) file.length();
ao arquivo fileName
Determina o tamanho do FileInputStream inFile = new FileInputStream (

arquivo e constrói um vetor fileName);

de bytes do mesmo tamanho


byte[] fileInBytes = new byte[];
Messias Bittencourt Figueiredo inFile.read(fileInBytes); Versão 07-02 373
Camada de Aplicação

Servidor Web Simples, cont


outToClient.writeBytes(
"HTTP/1.0 200 Document Follows\r\n");
Inicia a construção da
mensagem de resposta if (fileName.endsWith(".jpg"))
outToClient.writeBytes("Content-Type: image/jpeg\r\n");
if (fileName.endsWith(".gif"))
Transmissão do
outToClient.writeBytes("Content-Type:
cabeçalho da resposta image/gif\r\n");
HTTP. outToClient.writeBytes("Content-Length: " + numOfBytes +
"\r\n");
outToClient.writeBytes("\r\n");

outToClient.write(fileInBytes, 0, numOfBytes);
connectionSocket.close();
}

else System.out.println("Bad Request Message");


}
Messias Bittencourt Figueiredo Versão 07-02 374
}

Camada de Aplicação

Capítulo 2: Resumo
• Arquiteturas de Nosso estudo sobre
aplicações aplicações de rede está
agora completo!
– cliente-servidor r Protocolos específicos:
– P2P m HTTP
– híbrido m FTP
m SMTP, POP, IMAP
• Requerimentos de serviço m DNS
das aplicações: r Programação socket
– confiabilidade, banda,
atraso

• Modelos de serviço de
transporte da Internet
– orientado à conexão,
confiável: TCP
– não confiável, datagramas:
Messias Bittencourt Figueiredo
UDP Versão 07-02 375
Camada de Aplicação

Capítulo 2: Resumo
• troca típica de mensagens • Mais importante: aprendemos
pedido/resposta sobre protocolos

– cliente solicita info ou


serviço
– servidor responde com r msgs de controle vs. dados
dados, código de status m na banda, fora da banda
r centralizado vs.
• formatos de mensagens: descentralizado
– cabeçalhos: campos com r s/ estado vs. c/ estado
info sobre dados r transferência de msgs
(metadados) confiável vs. não confiável
– dados: info sendo r “complexidade na borda da
comunicada rede”

Messias Bittencourt Figueiredo Versão 07-02 376

Camada de Aplicação

Roteiro do Capítulo 1
1.1 O Que é a Internet?

1.2 A Borda (Periferia) da Internet

1.3 O Núcleo da Rede

1.4 Redes de acesso e meios físicos

1.5 ISPs e backbones da Internet

1.6 Atraso e perda em redes de comutação de pacotes


1.7 Camadas de protocolos e seus modelos de serviços

1.8 História das redes de computadores e da Internet

Messias Bittencourt Figueiredo Versão 07-02 377


Camada de Aplicação

Estrutura da Internet: rede de redes

• quase hierárquica

• No centro: ISPs de “nível-1” (ex., Sprint, MCI,


AT&T, Level3, Qwest, Cable & Wireless), cobertura
nacional/internacional
– trata os demais como iguais Provedores de
Nível-1 também se
Provedores interligam em
ISP Nível 1 pontos de acesso
de Nível-1 se NAP de rede (NAPs)
interligam públicos
(peer) de
forma
privada ISP Nível 1 ISP Nível 1

Messias Bittencourt Figueiredo Versão 07-02 378

Camada de Aplicação

ISP de Nível 1: Level3

Messias Bittencourt Figueiredo Versão 07-02 379


Camada de Aplicação

Estrutura da Internet: rede de redes

• ISPs de “Nível-2” ISPs: ISPs menores


(freqüentemente regionais)
– Conexão a um ou mais ISPs de Nível-1, possivelmente a
outros ISPs de Nível-2
ISPs de Nível-
2 também se
ISP de Nível-2 ISP Nível 2 ISP Nível 2 interligam
paga ao ISP de privadamente
Nível-1 pela ISP Nível 1 e também ao
conectividade ao NAP
resto da NAP
Internet
ISP de Nível-2
é cliente do ISP Nível 1 ISP Nível 1 ISP Nível 2
provedor de
Nível 1 ISP Nível 2 ISP Nível 2

Messias Bittencourt Figueiredo Versão 07-02 380

Camada de Aplicação

Provedor de Backbone Nacional

ex. Embratel

http://www.embratel.net.br
Messias Bittencourt Figueiredo Versão 07-02 381
Camada de Aplicação

Conexões Internacionais

Messias Bittencourt Figueiredo Versão 07-02 382

Camada de Aplicação

Estrutura da Internet: rede de redes

• ISPs de “Nível-3” e ISPs locais


– rede de última milha (“acesso”) (próximo aos sistemas
finais)
ISP
ISP ISP
local ISP ISP
Nível 3 local
local local
ISPs locais e ISP Nível 2
Nível-3 são ISP Nível 2
clientes de
ISPs ISP Nível 1
superiores NAP
conectando-os
ao resto da
Internet
ISP Nível 1 ISP Nível 1 ISP Nível 2
ISP
ISP Nível 2 ISP Nível 2
ISP ISP ISP local
local local local
Messias Bittencourt Figueiredo Versão 07-02 383
Camada de Aplicação

Estrutura da Internet: rede de redes


• um pacote passa através de diversas redes!

ISP
ISP ISP
local ISP ISP
Nível 3 local
local local
ISP Nível 2 ISP Nível 2
ISP Nível 1
NAP

ISP Nível 1 ISP Nível 1 ISP Nível 2


ISP
ISP Nível 2 ISP Nível 2
ISP ISP ISP local
local local local
Messias Bittencourt Figueiredo Versão 07-02 384

Camada de Aplicação

Roteiro do Capítulo 1
1.1 O Que é a Internet?

1.2 A Borda (Periferia) da Internet

1.3 O Núcleo da Rede

1.4 Redes de acesso e meios físicos

1.5 ISPs e backbones da Internet

1.6 Atraso e perda em redes de comutação de pacotes


1.7 Camadas de protocolos e seus modelos de serviços

1.8 História das redes de computadores e da Internet

Messias Bittencourt Figueiredo Versão 07-02 385


Camada de Aplicação

Como ocorrem as perdas e


atrasos?
pacotes enfileiram nos buffers do roteador

• taxa de chegada de pacotes ao enlace excede a


capacidade do link de saída.

• pacotes enfileram, esperam pela


pacote em vez (atraso)
transmissão

B
enfileiramento de pacotes (atraso)
buffers livres (disponíveis): pacotes que chegam são
descartados (perda) se não houver buffers livres
Messias Bittencourt Figueiredo Versão 07-02 386

Camada de Aplicação

Quatro fontes de atraso dos


pacotes

• 1. processamento do • 2. enfileiramento
nó: – tempo de espera no enlace
– verificação de bits de saída até a transmissão
errados – depende do nível de
– identificação do enlace congestionamento do
transmissão
de saída roteador
A
propagação

B
processamento
do nó (nodal) enfileiramento
(fila)
Messias Bittencourt Figueiredo Versão 07-02 387
Camada de Aplicação

Atraso em redes comutadas


por pacotes
3. Atraso de 4. Atraso de propagação:
transmissão:
• d = compr. do enlace
• R=largura de banda
do enlace (bps) • s = velocidade de
propagação no meio
• L=compr. do pacote (~2x108 m/seg)
(bits) Nota: s e R são valores muito
• atraso dediferentes!
propagação =
• tempo para enviar os
transmissão d/s
A
bits no enlace = L/Rpropagação

B
processamento
no nó enfileiramento
Messias Bittencourt Figueiredo Versão 07-02 388

Camada de Aplicação

Analogia com uma Caravana

100 km 100 km
Caravana pedágio pedágio
de dez carros

• Os carros se “propagam” a • Tempo para “atravessar”


100 km/h toda a caravana através do
pedágio para a estrada =
• O pedágio leva 12 seg para 12*10 = 120 seg
atender um carro (tempo de
transmissão) • Tempo para que o último
carro se propaga do
• carro~bit; caravana ~ primeiro para o segundo
pacote pedágio:
100km/(100km/h)= 1 h
• P: Quanto tempo leva até
que a caravana esteja • R: 62 minutos
enfileirada antes do segundo
pedágio?
Messias Bittencourt Figueiredo Versão 07-02 389
Camada de Aplicação

Analogia com uma caravana (mais)

100 km 100 km
Caravana pedágio pedágio
de dez carros
• Sim! Após 7 min, o 1o. Carro
• Os carros agora se chega ao 2o. Pedágio e ainda
“propagam” a 1000 km/h há 3 carros no 1o. pedágio.

• Os pedágios agora levam • O 1o. bit do pacote pode


em torno de 1 min para chegar ao 2o. Roteador antes
atender um carro que o pacote tenha sido
totalmente transmitido no 1o.
• P: Os carros chegarão ao roteador!
segundo pedágio antes
que todos os carros – Veja o applet Ethernet no site
da AWL
tenham sido atendidos no
primeiro pedágio?
Messias Bittencourt Figueiredo Versão 07-02 390

Camada de Aplicação

Atraso por nó

d nó  d proc  dfila  d trans  d prop

• dproc = atraso de processamento


– tipicamente de poucos microsegs ou menos

• dfila = atraso de enfileiramento


– depende do congestionamento

• dtrans = atraso de transmissão


– = L/R, significativo para canais de baixa velocidade

• dprop = atraso de propagação


– poucos microsegs a centenas de msegs
Messias Bittencourt Figueiredo Versão 07-02 391
Camada de Aplicação

Atraso de enfileiramento
• R=largura de banda do
enlace (bps)

• L=compr. do pacote (bits)

• a=taxa média de chegada


de pacotes

intensidade de tráfego = La/R


r La/R ~ 0: pequeno atraso de enfileiramento
r La/R -> 1: grande atraso
r La/R > 1: chega mais “trabalho” do que a capacidade de
atendimento, atraso médio infinito!

Messias Bittencourt Figueiredo Versão 07-02 392

Camada de Aplicação

Atrasos e rotas “reais” da Internet

• Como são os atrasos e as perdas reais da Internet?


• Programa Traceroute : fornece medições de atraso da
fonte até os diversos roteadores ao longo do caminho
fim-a-fim até o destino. Para cada i:
– Envia três pacotes que alcançarão o roteador i no caminho
até o destino.
– O roteador i devolverá os pacotes ao transmissor
– O transmissor calcula o intervalo de tempo decorrido entre
a transmissão e a chegada da resposta.

3 probes 3 probes

3 probes

Messias Bittencourt Figueiredo Versão 07-02 393


Camada de Aplicação

Atrasos e rotas “reais”


traceroute: roteadores, atrasos de ida e volta no caminho da origem até o
destino source-dest path
também: pingplotter, vários programas windows (tracert)

1 cs-gw (128.119.240.254) 1 ms 1 ms 2 ms
2 border1-rt-fa5-1-0.gw.umass.edu (128.119.3.145) 1 ms 1 ms 2 ms
3 cht-vbns.gw.umass.edu (128.119.3.130) 6 ms 5 ms 5 ms
4 jn1-at1-0-0-19.wor.vbns.net (204.147.132.129) 16 ms 11 ms 13 ms
5 jn1-so7-0-0-0.wae.vbns.net (204.147.136.136) 21 ms 18 ms 18 ms
6 abilene-vbns.abilene.ucaid.edu (198.32.11.9) 22 ms 18 ms 22 ms
7 nycm-wash.abilene.ucaid.edu (198.32.8.46) 22 ms 22 ms 22 ms
8 62.40.103.253 (62.40.103.253) 104 ms 109 ms 106 ms
9 de2-1.de1.de.geant.net (62.40.96.129) 109 ms 102 ms 104 ms
10 de.fr1.fr.geant.net (62.40.96.50) 113 ms 121 ms 114 ms
11 renater-gw.fr1.fr.geant.net (62.40.103.54) 112 ms 114 ms 112 ms
12 nio-n2.cssi.renater.fr (193.51.206.13) 111 ms 114 ms 116 ms
13 nice.cssi.renater.fr (195.220.98.102) 123 ms 125 ms 124 ms
Messias Bittencourt Figueiredo Versão 07-02 394
14 r3t2-nice.cssi.renater.fr (195.220.98.110) 126 ms 126 ms 124 ms
15 eurecom-valbonne.r3t2.ft.net (193.48.50.54) 135 ms 128 ms 133 ms
16 194.214.211.25 (194.214.211.25) 126 ms 128 ms 126 ms
17 * * *
18 * * *
19 fantasia.eurecom.fr (193.55.113.142) 132 ms 128 ms 136 ms

Camada de Aplicação

Traceroute (www.traceroute.org)

traceroute to nuperc.unifacs.br (200.128.80.130), 30 hops max, 40 byte


packets

1 lightning.sdsc.edu (132.249.20.6) 0.729 ms 0.333 ms 0.471 ms

2 piranha.sdsc.edu (132.249.30.8) 0.343 ms 0.348 ms 0.358 ms

3 riv-hpr--sdsc-sdsc2-ge.cenic.net (137.164.27.53) 2.608 ms 2.547 ms


2.604 ms

4 lax-hpr--riv-hpr-10ge.cenic.net (137.164.25.4) 8.720 ms 8.680 ms 8.596


ms

5 clara--calren-hpr.cenic.net (137.164.27.91) 11.964 ms 11.928 ms 11.843


ms

6 tijuana-saopaulo.core.redclara.net (200.0.204.5) 178.829 ms 178.816 ms


178.712 ms

7 rnp-br-spau.peer.redclara.net (200.0.204.194) 365.759 ms 390.888 ms


374.856 ms

8 * * *

9 so-0-0-0-r1-ba.bkb.rnp.br (200.143.252.33) 203.427 ms 203.377 ms


203.390 ms
Messias Bittencourt Figueiredo Versão 07-02 395

10 s2-ba.bkb.rnp.br (200.143.252.250) 203.894 ms 203.785 ms 244.287 ms

11 200.128.80.130 (200.128.80.130) 203.762 ms 203.937 ms 203.884 ms


Camada de Aplicação

Traceroute (www.traceroute.org)

traceroute to saturno.unifacs.br (200.223.74.117), 30 hops max, 40 byte packets


1 lightning.sdsc.edu (132.249.20.6) 0.515 ms 0.346 ms 0.228 ms
2 piranha.sdsc.edu (132.249.30.8) 0.348 ms 0.469 ms 0.362 ms

3 inet-lax-isp--sdsc-sdsc2-ge.cenic.net (137.164.24.205) 3.977 ms 4.238 ms 3.980 ms


4 lsanca3lcx1-gige14-0-13.wcg.net (64.200.200.49) 4.229 ms 3.862 ms 4.232 ms

5 lsanca3lcx1-globalcrossing-pos.wcg.net (64.200.142.194) 14.590 ms 14.764 ms 14.465


ms
6 so1-0-0-2488M.ar3.jfk1.gblx.net (67.17.72.26) 69.126 ms 69.305 ms 69.164 ms
7 Telemar-Norte-Leste-S-A.ge-1-2-1.ar3.JFK1.gblx.net (64.215.184.22) 76.708 ms 76.921
ms 77.094 ms

8 PO3-0.VLM-SP-ROTN-01.telemar.net.br (200.223.131.234) 187.207 ms 187.720 ms 187.424


ms
9 200.223.131.42 (200.223.131.42) 197.788 ms 197.973 ms 197.784 ms

10 PO6-0.BDEA-BA-ROTN-01.telemar.net.br (200.223.131.49) 228.203 ms 228.204 ms 228.256


ms
11 PO5-0.BDEA-BA-ROTD-02.telemar.net.br (200.223.131.62) 217.232 ms 217.442 ms 217.739
ms

12 Po3.BDEA-BA-ROTD-01.telemar.net.br (200.164.60.66) 228.179 ms 228.212 ms 228.578 ms


13 200.223.254.34 (200.223.254.34) 218.964 ms 218.848 ms 218.970 ms
14 200.223.64.90 (200.223.64.90) 234.829 ms 230.929 ms 231.592 ms
Messias
15 Bittencourt Figueiredo
200.223.74.249 (200.223.74.249) 230.333 ms 231.585 ms 230.357 ms
Versão 07-02 396

16 * * *

Camada de Aplicação

Perda de pacotes
• fila (buffer) anterior a um canal possui capacidade finita

• quando um pacote chega numa fila cheia, o pacote é descartado


(perdido)

• o pacote perdido pode ser retransmitido pelo nó anterior, pelo


sistema origem, ou não ser retransmitido

Messias Bittencourt Figueiredo Versão 07-02 397


Camada de Aplicação

Roteiro do Capítulo 1
1.1 O Que é a Internet?

1.2 A Borda (Periferia) da Internet

1.3 O Núcleo da Rede

1.4 Redes de acesso e meios físicos

1.5 ISPs e backbones da Internet

1.6 Atraso e perda em redes de comutação de pacotes

1.7 Camadas de protocolos e seus modelos de serviços

1.8 História das redes de computadores e da Internet

Messias Bittencourt Figueiredo Versão 07-02 398

Camada de Aplicação

“Camadas” de Protocolos

As redes são
complexas!

• muitos “pedaços”: Pergunta:


– hosts Há alguma esperança
– roteadores em conseguirmos
– enlaces de diversos organizar a estrutura
meios
da rede?
– aplicações
– protocolos
– hardware, software
Ou pelo menos a nossa
discussão sobre
redes?
Messias Bittencourt Figueiredo Versão 07-02 399
Camada de Aplicação

Organização de uma viagem aérea

 Uma série de passos/ações

Messias Bittencourt Figueiredo Versão 07-02 400

Funcionalidade de uma linha aérea em


Camada de Aplicação

camadas

Camadas: cada camada implementa um serviço


m através de ações internas à camada

m depende dos serviços providos pela camada inferior

Messias Bittencourt Figueiredo Versão 07-02 401


Camada de Aplicação

Por que dividir em camadas?

Lidar com sistemas complexos:

• estrutura explícita permite a identificação e


relacionamento entre as partes do sistema
complexo
– modelo de referência em camadas para discussão

• modularização facilita a manutenção e


atualização do sistema
– mudança na implementação do serviço da camada é
transparente para o resto do sistema
– ex., mudança no procedimento no portão não afeta o resto do
sistema

• divisão em camadas é considerada prejudicial?


Messias Bittencourt Figueiredo Versão 07-02 402

Camada de Aplicação

Pilha de protocolos Internet

• aplicação: dá suporte a aplicações de


rede aplicação
– FTP, SMTP, HTTP

• transporte: transferência de dados host- transporte


a-host
rede
– TCP, UDP

• rede: roteamento de datagramas da enlace


origem até o destino
– IP, protocolos de roteamento física

• enlace: transferência de dados entre


elementos de rede vizinhos
– PPP, Ethernet

• física: bits “no fio”


Messias Bittencourt Figueiredo Versão 07-02 403
Camada de Aplicação

Camadas: comunicação lógica


aplicação
Cada camada:
transporte
• distribuída rede
enlace
• as “entidades” física rede
implementam aplicação enlace
as funções transporte física
das camadas rede
em cada nó enlace
aplicação aplicação
física
transporte transporte
• as entidades
rede rede
executam
enlace enlace
ações, trocam
física física
mensagens
entre
parceiras
Messias Bittencourt Figueiredo Versão 07-02 404

Camada de Aplicação

Camadas: comunicação lógica


dados
aplicação
Ex.: transporte
transporte
transporte
• recebe dados da rede
aplicação enlace
• adiciona física ack rede
endereço e aplicação enlace
verificação de transporte dados
física
erro para formar rede
o “datagrama” enlace dados
aplicação aplicação
física
• envia o transporte transporte
transporte
datagrama para a rede rede
parceira
enlace enlace
• espera que a física física
parceira acuse o
recebimento
Messias Bittencourt Figueiredo 405
(ack) Versão 07-02

• analogia: correio
Camada de Aplicação

Camadas: comunicação física


dados
aplicação
transporte
rede
enlace
física rede
aplicação enlace
transporte física
rede
enlace dados
aplicação aplicação
física
transporte transporte
rede rede
enlace enlace
física física

Messias Bittencourt Figueiredo Versão 07-02 406

Camada de Aplicação
origem Encapsulame
mensagem M
segmento H M
t
aplicação nto
datagrama Hn Ht M transporte
quadro Hl Hn Ht M rede
enlace
física
Hl Hn Ht M enlace Hl Hn Ht M

física
switch

destino Hn Ht M rede Hn Ht M
Hl Hn Ht M Hl Hn Ht M
M aplicação enlace
Ht M
transporte física
Hn Ht M
Hl Hn Ht M rede roteador

enlace
física
Messias Bittencourt Figueiredo Versão 07-02 407
Camada de Aplicação

Roteiro do Capítulo 1
1.1 O Que é a Internet?

1.2 A Borda (Periferia) da Internet

1.3 O Núcleo da Rede

1.4 Redes de acesso e meios físicos

1.5 ISPs e backbones da Internet

1.6 Atraso e perda em redes de comutação de pacotes

1.7 Camadas de protocolos e seus modelos de serviços

1.8 História das redes de computadores e da Internet

Messias Bittencourt Figueiredo Versão 07-02 408

Camada de Aplicação

História da Internet
1961-1972: Estréia da comutação de pacotes

• 1961: Kleinrock - teoria • 1972:


das filas demonstra
– demonstração pública
eficiência da comutação
da ARPAnet
por pacotes
– NCP (Network Control
• 1964: Baran - Protocol) primeiro
comutação de pacotes protocolo host-host
em redes militares
– primeiro programa de
• 1967: concepção da e-mail
ARPAnet pela ARPA – ARPAnet com 15 nós
(Advanced Research
Projects Agency)

• 1969: entra em
operação o primeiro nó
da ARPAnet
Messias Bittencourt Figueiredo Versão 07-02 409
Fim

Obrigado Pela Atenção

Messias Bittencourt Figueiredo Versão 07-02 410

Você também pode gostar