Computing">
001 - IfBA - Redes de Computadores II - Introdução - Redes Locais - V07-02
001 - IfBA - Redes de Computadores II - Introdução - Redes Locais - V07-02
001 - IfBA - Redes de Computadores II - Introdução - Redes Locais - V07-02
II
Versão 07-02
Apresentação
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:
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
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 servidor.
– Web
– Disco
– Impressão
– DNS
– Servidor Multirede
• Configurar:
– Intranet: NFS, DHCP, Proxy.
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;
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
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
Apresentação
Plano de Ensino
AVALIAÇÃO
– Avaliações escritas;
– Avaliações práticas;
AV1 – REVISÃO
(Aulas I, II e III)
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
CAMADA DE APLICAÇÃO
CAMADA DE TRANSPORTE
PROTOCOLO DE PROTOCOLO IP
ROTEAMENTO
CAMADA DE ENLACE
CAMADA FÍSICA
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
Aplicação
Rede
Enlace
Física Aplicação
Aplicação Transporte
Transporte Rede
Rede Enlace
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
Conceitos Básicos
Conceitos
• Internet - “Rede De Redes” ISP Local ISP Regional
– Livremente hierárquica;
– Internet Pública x Intranet Privada
• Equipamentos
Estação Móvel
Roteador
Servidor
Ponto de
Acesso
Estação de Trabalho
• Serviços De Comunicação
Disponibilizados:
– Orientado a conexão
• Confiável
– Não orientado a conexão
• Não confiável
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
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.
– Não controla
congestionamento.
Núcleo da Rede
Núcleo da Rede
• Malha de roteadores
interconectados
– Comutação De Pacotes
• Dados são enviados através da
rede em pedaços discretos,
denominados de Datagrama.
Comutação de Circuitos
X
Comutação de Pacotes
Comutação de Circuitos
• Recursos dedicados
– Sem compartilhamento
S S
Host A
S S S S
TDM ou FDM S
Host A
Host B
S S
Host A
Comutação de Circuitos
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
Comutação de Pacotes
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;
Comutação de Pacotes
Ethernet
10 Mbps Multiplexação do Canal
A
2 Mbps 10 Mbps
C
Fila de Pacotes
34 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;
R R
Host A
R R R R
R
Host A
Host B
R R
Host A
R R
Host A
R R R R
R
Host A
Host B
R R
Host A
Camada de Rede
Camada de Rede
Endereço IP
• É uma identificação de uma
interface de um dispositivo
computacional em uma rede local
ou pública;
IPCONFIG /ALL
• Ipconfig é um programa do
sistema operacional Microsoft
Windows capaz de dar
informações sobre o IP da rede
local;
• É um protocolo da arquitetura
TCP/IP que oferece configuração
dinâmica de IP para os Host’s da
rede;
192
.168
.0.3
192.168.0.15
7
.0.7
.168
192
Cliente DHCP
Funcionamento DHCP
1. Um cliente envia um pacote UDP
em broadcast (destinado a todas Cliente DH
CP envia
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
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;
Hierarquia de Domínio
Root
“.”
.www .ftp
Messias Bittencourt Figueiredo Versão 07-02 58
DNS (Domain Name System)
WINS
Whois
Camada de Rede
Pacote X Datagrama
o te
Pac
ok
Pacote
ok
Da
tag
ra
ra
tag
Da
Pacote
ok
o te
Pac
ok
Pacote
ok
Da
ta
gr
ra
a
tag
Da
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
Endereço Origem
(128 Bits)
Endereço Destino
(128 Bits)
Dados
Endereçamento IP
Endereçamento IP
• Endereço IP
– Identificador de 32-bits para 223.1.1.2
interface de estação, roteador. 223.1.2.2
223.1.3.2 = 11011111.00000001.00000011.00000001
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
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
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
Camada de Rede
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
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
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;
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
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
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
Camada de Rede
Endereços Classes D e E
• Classe D: • Classe E:
– Formação de grupos de
computadores:
128.10.2.241
128.10.2.242
128.10.2.20
128.10.2.2
Barramento Estrela
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
Camada de Rede
• RFC 1918:
• Classe A: 101
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);
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
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
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
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
IP 223.1.1.4
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.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
Camada de Rede
Camada de Rede
Exercícios CIDR
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
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
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
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
R1 1 ... 60
1 ... 100
R2
R4
1 ... 30
1 ... 4
Exercício:
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.
Roteamento
Aula 4
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
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
Roteamento
• O Roteamento é o mecanismo
que permite a comunicação
entre dois dispositivos que
estejam em redes distintas;
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
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
Camada de Rede
Tabela de Encaminhamento
Tabela de Encaminhamento
Camada de Rede
Arquitetura dos
Roteadores
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
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.
Hardware dos
Roteadores
PE PS
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
Porta de Entrada
– Objetivo: Fazer processamento da porta de entrada na ‘velocidade da
linha’, ou seja, tempo “zero” de processamento;
Porta de Entrada
Link Dados Fila Matriz
Linha Protocolo
Ethernet
De
Forwarding
Desencapsulamento
Comutação
A X
B Matriz Y
De
C Comutação Z
B Y
Memória
Compartilhada
C Z
• Primeiros Modernos:
– Processador da porta de entrada
consulta tabela, copia para a
memória;
– Cisco Catalyst 8500.
B Y
C Z
Processador
De
Roteamento
C Z
Processador
De
Roteamento
B
Processador De
Roteamento
Processador De
Roteamento
C
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 de Rede
Software dos
Roteadores
– 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
– Router(config-if)#no shutdown
•
Configurando rota estática por ip do
próximo salto.
– Router#configure terminal
•
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-if)#no shutdown
– Router(config-if)#exit
– Router(config-subif)#exit
Messias
• Bittencourt Figueiredo Aula 22 Versão 07-02 147
– Router#sh interfaces
• Verifica detalhadamente 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
– Router#configure terminal
– Router(config)#interface GigabitEthernet0/1
– Router(config-if)#exit
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
Protocolos de
Roteamento
Protocolos de Roteamento
PROTOCOLO DE ROTEAMENTO
INTRADOMÍNIO INTERDOMÍNIO
Vetor de
Estado de Enlace Vetor de Caminho
Distância
RIP
Mensagem RIP
• Endereço -> IP da rede; • O pacote RIP é transmitido através
do protocolo de transporte UDP;
Tabela de
Encaminhamento
R1
DADOS 200.128.20.102
1
200.128.5.5 3
4
2
1
Mensagem RIP
• Endereço -> IP da rede; • O pacote RIP é transmitido através
do protocolo de transporte UDP;
A B C
1 (M=1) 2 (M=1)
3 (M=1) 4 (M=1)
)
=1
(M
5
6 (M=1)
D E
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
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;
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
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
Camada de Rede
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)}
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:
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
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
v 3 2
w
5
2
u 2 3 1 z
1
2
1
x 1 y
OSPF
Características do OSPF:
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);
R
Roteado r d e
Backbone
limitado ao backbone. R
ÁR E A 1 R
Roteado r
In tern os
R
Roteador
Interno s
Roteador R
Interno s
R
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
• Algoritmo de roteamento de
Dijkstra; E3=1 E4=1
E5
=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
Camada de Rede
[4,x](1)
A D A D
B 10 Y B 10 Y
[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
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
C
D
B 4 Y Y
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
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
4
C
12
D
8
B 4 Y
Y
Messias Bittencourt Figueiredo Versão 07-02 195
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
v 3 2
w
5
2
u 2 3 1 z
1
2
1
x 1 y
Camada de Rede
v 3 2
w
5
2
u 2 3 1 z
1
2
1
x 1 y
EXERCÍCIO
(NOTA 4ª UNIDADE)
BGP
R2C
R3A R3C
SA2 R2A
SA3
R2B R3B
R1A R1D
Algoritmo de
Algoritmo de
Roteamento intra SA
R1B R1C
Tabela de
Encaminhamento
Tabela de
Encaminhamento
Algoritmo de
Roteamento intra SA
Tabela de
Encaminhamento
Camada de Rede
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
R3A R3C
SA2 R2A
SA3
R2B R3B
R1A R1D
SA1
R1B R1C
ICMP
(Internet Control Message Protocol)
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;
• Se o equipamento de destino
estiver ativo, uma "resposta" (o
"pong", uma analogia ao famoso
jogo de ping-pong) é devolvida ao
computador solicitante.
Traceroute e ICMP
• Origem envia uma série de • Traceroute faz isto 3 vezes
segmentos UDP para o destino
VPN
(Rede Privada Virtual)
• É 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;.
Tunelamento
• Usado para transportar dados de
um protocolo dentro de outro
protocolo;
• 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,
• Modos de operação:
– Modo de transporte
– Modo túnel
Camada de Rede
Tunelamento
Camada de Rede
10.0.0.3
Camada de Rede
– Datagrama entrando:
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.4/24
Camada de Rede
• 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
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
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
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
finais:
Física Física
Rede
Enlace
Física
CO
NE
as mensagens da aplicação
IC
A
FIM
Aplicação A
em segmentos, repassa-os
Transporte
FIM
Rede EN
Enlace TR
EA
hospedeiros;
Rede
Enlace
Física
CO
NE Rede Rede
XÃ Enlace Enlace
O Física Física
LÓ
G IC
A
FIM
Aplicação A
Transporte
FIM
• Camada de Transporte:
Rede EN
Enlace TR
Física
EA
PL
IC
AÇ
Rede
os processos.
Enlace Física
Física
Aplicação
Aplicação Transporte
Transporte Rede
Rede Enlace
Enlace Física
Física
• controle de congestionamento;
• controle de fluxo;
• estabelecimento de conexão.
Multiplexação/Demultiplexação
PO (Porta Origem)
Messias Bittencourt Figueiredo PD Versão
(Porta Destino)
07-02 242
PO: 5775
PD: 80
IP-O: B
IP-D:C
P1 P4 P2 P1P3
PO: 5775
PD: 80
IP-O: B
IP-D:C
• 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
• tolerantes a perdas;
soma de
Servidor UDP
TCP
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
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
S Syn: Sincronismo
dados de aplicação
(tamanho variável)
Cenários de Retransmissão 1
Cliente Servidor
Seq=
01 , D
ata =”A”
temporizaçã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
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”
Seq=
54, A
ck=1
03 ,
Data
=”C”
Tempo
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.
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
ACK
Closed
• 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
} }
/* Socket conectado */
• Mais apropriado a
broadcast
Messias Bittencourt Figueiredo Versão 07-02 265
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
Temas De Trabalhos:
1. MP3
2. MPEG
3. RTSP
4. DNS
5. Kazaaz/Emule/Torrent
6. SMTP/POP3
Camada de Aplicação
A Web e o HTTP
• Páginas Web consistem de objetos; • Exemplo de URL:
• Protocolo da camada de
aplicação da Web
Camada de Aplicação
HTTP
• Usa serviço de transporte TCP: • HTTP é “sem estado”
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
Camada de Aplicação
tempo
Messias Bittencourt Figueiredo Versão 07-02 274
Camada de Aplicação
tempo
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
Camada de Aplicação
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
Camada de Aplicação
Tipos de métodos
HTTP/1.0 HTTP/1.1
• 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
www.somesite.com/animalsearch?key=monkeys&max=10
Camada de Aplicação
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
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
Camada de Aplicação
• Modelo cliente/servidor;
• Cliente: lado que inicia transferência
(pode ser de ou para o sistema remoto)
• Download: Transferência de
servidor para cliente;
• RFC 959
Conexão de Controle
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
Correio Eletrônico
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
• interação comando/resposta
– comandos: texto ASCII
– resposta: código e frase de
status
em ASCII de 7-bits
Camada de Aplicação
Camada de Aplicação
• corpo
– a “mensagem”, somente de
caracteres ASCII
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
• quit
Camada de Aplicação
Capítulo 2: Roteiro
• 2.1 Princípios de • 2.6 Compartilhamento de
aplicações de rede arquivos P2P
Correio Eletrônico
Capítulo 2: Roteiro
• 2.1 Princípios de • 2.6 Compartilhamento de
aplicações de rede arquivos P2P
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
disseminação
• Peer-to-peer (P2P)
• Híbrida cliente-servidor/P2P
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
• Exemplo: Gnutella
Altamente escalável
Messias Bittencourt Figueiredo Versão 07-02 319
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
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
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
selecionadas
Largura de Sensibilidade
Aplicação Perdas Banda ao atraso
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
Protocolo da Protocolo de
Aplicação camada de apl transporte usado
Camada de Aplicação
DNS (cont.)
Serviços DNS Serviços DNS
Não é escalável!
Camada de Aplicação
www.amazon.com
Camada de Aplicação
Camada de Aplicação
provedor de acesso
Camada de Aplicação
Domínios
Registrados
por DPN
(Domínio
de Primeiro
Nível)
17/04/08
Camada de Aplicação
servidor local
dns.poly.edu
7 6
1 8
servidor oficial
dns.cs.umass.edu
solicitante
cis.poly.edu
gaia.cs.umass.edu
Camada de Aplicação
Camada de Aplicação
Registros DNS
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
Camada de Aplicação
Capítulo 2: Roteiro
• 2.1 Princípios de • 2.6 Compartilhamento de
aplicações de rede arquivos P2P
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
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
Camada de Aplicação
KaZaA: Consulta
• Cada arquivo possui um hash e um descritor
Truques do KaZaA
• Limitações na quantidade de uploads simultâneos
• Enfileiramento de requisições
• Download em paralelo
Camada de Aplicação
Capítulo 2: Roteiro
• 2.1 Princípios de • 2.6 Compartilhamento de
aplicações de rede arquivos P2P
Camada de Aplicação
estação ou estação ou
servidor servidor
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
Camada de Aplicação
• Um fluxo de entrada é
conectado a alguma fonte de
entrada para o processo, por
exemplo, teclado ou socket.
Camada de Aplicação
input
output input
3. servidor converte linha stream stream
doServidor), imprime-a
Messias Bittencourt Figueiredo Versão 07-02 355
Camada de Aplicação
aguarda chegada de
TCP cria socket,
Camada de Aplicação
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 {
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
Camada de Aplicação
Capítulo 2: Roteiro
• 2.1 Princípios de • 2.6 Compartilhamento de
aplicações de rede arquivos P2P
• 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
Camada de Aplicação
UDP
Camada de Aplicação
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 fraseModificada =
new String(pacoteRecebido.getData());
Camada de Aplicação
Servidor UDP
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
dadosEnviados = fraseEmMaiusculas.getBytes();
Cria datagrama p/
enviar ao cliente DatagramPacket pacoteEnviado =
Capítulo 2: Roteiro
• 2.1 Princípios de • 2.6 Compartilhamento de
aplicações de rede arquivos P2P
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(
de Saída
DataOutputStream outToClient =
new DataOutputStream(
Messias Bittencourt Figueiredo Versão 07-02 372
connectionSocket.getOutputStream());
Camada de Aplicação
outToClient.write(fileInBytes, 0, numOfBytes);
connectionSocket.close();
}
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
Camada de Aplicação
Roteiro do Capítulo 1
1.1 O Que é a Internet?
• quase hierárquica
Camada de Aplicação
Camada de Aplicação
ex. Embratel
http://www.embratel.net.br
Messias Bittencourt Figueiredo Versão 07-02 381
Camada de Aplicação
Conexões Internacionais
Camada de Aplicação
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
Camada de Aplicação
Roteiro do Capítulo 1
1.1 O Que é a Internet?
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
• 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
B
processamento
no nó enfileiramento
Messias Bittencourt Figueiredo Versão 07-02 388
Camada de Aplicação
100 km 100 km
Caravana pedágio pedágio
de dez carros
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.
Camada de Aplicação
Atraso por nó
Atraso de enfileiramento
• R=largura de banda do
enlace (bps)
Camada de Aplicação
3 probes 3 probes
3 probes
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)
8 * * *
Traceroute (www.traceroute.org)
16 * * *
Camada de Aplicação
Perda de pacotes
• fila (buffer) anterior a um canal possui capacidade finita
Roteiro do Capítulo 1
1.1 O Que é a Internet?
Camada de Aplicação
“Camadas” de Protocolos
As redes são
complexas!
camadas
Camada de Aplicação
Camada de Aplicação
• analogia: correio
Camada de Aplicação
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?
Camada de Aplicação
História da Internet
1961-1972: Estréia da comutação de pacotes
• 1969: entra em
operação o primeiro nó
da ARPAnet
Messias Bittencourt Figueiredo Versão 07-02 409
Fim