Redes de Computadores II
Aulas teóricas
Objectivos
• Formação sólida nas áreas de
“internetworking” (conceitos arquitecturas e
protocolos e de aplicações de rede.
• Utilização de “Berkeley Sockets” e de
Simuladores de Redes.
Programa
1. Internetworking
1.1. Conceitos, Arquitecturas e Protocolos.
1.2. Datagramas IP. Reencaminhamento de datagramas
1.3. Endereços IP. Redes e Subredes. VLSM.
1.4. Endereços Classless. Blocos CIDR
1.5. Endereços Públicos e Privados. NAT
1.6. Encapsulamento, Fragmentação e Reassemblagem.
1.7. IPv6
1.8. ICMP, TCP e UDP
Programa
2. Routing
2.1. Routing estático e dinâmico.
2.2. Routing Interno e Externo
2.3. Protocolos de Routing Interno (RIP,
IGRP, OSPF, EIGRP)
3. Filtragem de pacotes IP
3.1. Utilização
3.2. Exemplos Utilização de filtragem de
pacotes com o Cisco IOS
Programa
4. Conceitos de Segurança de Acesso a
Redes Informáticas
4.1. Vulnerabilidades. Tipos de ataques
4.2. Implementação de defesas
4.3. Firewwalls
4.4. VPNs
Programa
3. Aplicações de Redes
3.1 Interface “Berkeley Sockets”
3.2. Protocolos de nível de rede
3.3. RPC e Middleware.
Componente Prática:
1. Casos práticos de Internetworking e Routing.
2. Desenvolvimento de Aplicações de Rede com
“Sockets de Berkeley
Bibliografia
•
•
•
•
•
•
Engenharia de Redes Informáticas , Edmundo Monteiro,
F. Boavida, FCA
Data and Computer Communications, William Stallings,
Prentice Hall, 6ª ed.
Computer Networks and Internets, Douglas E. Comer,
Prentice Hall, 2ª ed.
IP Routing Fundamentals, Mark A. Sportack, Cisco
Press
Enhanced IP Services for Cisco Networks, Donald C.
Lee, Cisco Press
Apontamentos elaborados pelo docente da disciplina
Avaliação
1. Teste Final: 50%
2. Componente Prática: 50%
–
–
–
–
•
Trabalho1: 15%
Trabalho2: 35%
Teste 1: 20%
Teste 2: 30%
Minimo de 8 valores em cada Componente
Endereçamento tradicional (com Classes de
redes)
Clas.
Gama
End/Rede
Objectivo
A
0.1.0.0 a
126.0.0.0
16.777.216 Unicast.
B
128.0.0.0 a
191.255.0.0
65.536
Unicast
C
192.0.1.0 a
223.255.255.0
256
Unicast
D
224.0.0.0 a
N/A
239.255.255.255
Multicast
E
240.0.0.0 a
N/A
247.255.255.255
Experim.
Campos Subrede e Host
Rede Original
Rede
Host
Def. Subrede
Rede
Subrede
Masc. Subrede
Bits um
Exemplo
11111111 11111111 11111111
Host
zeros
00000000
Exemplo Subnetting
Rede: 192.168.1.0/27
Bits de host usados para subrede: 3
Bits de host após subnetting: 8-3=5
Rede:
11000000.10101000.00000001.00000000
Masc:
11111111.11111111.11111111.11100000
Mascara em decimal: 255.255.255.224
As 8 subredes do ex. anterior
Campo Octeto
Subrede (bin)
Octeto Subrede
(dec)
000
001
010
011
100
101
110
111
0
32
64
96
128
160
192
224
0000-0000
0010-0000
0100-0000
0110-0000
1000-0000
1010-0000
1100-0000
1110-0000
192.168.1.0/27
192.168.1.32/27
192.168.1.64/27
192.168.1.96/27
192.168.1.128/27
192.168.1.160/27
192.168.1.192/27
192.168.1.224/27
Desvantagens Subnetting
• Restritiva, obriga a prever o numero e o
tamanho, das subredes necessárias, para o
momento actual e para o futuro.
• As subredes têm todas o mesmo tamanho,
relativamente ao numero de hosts suportados
• Obrigam a que o tamanho de todas as subredes
seja baseado na maior delas, sendo assim
desperdiçados endereços nas subredes com
menor numero de hosts.
Regras para as subredes “top” e “botton”
• Existem alguns argumentos para que se evite o
uso das subredes com os seguintes padrões de
bits:
– Todos os bits zero (rede)
– Todos os bits um (broadcast)
• Alguns documentos iniciais apontavam para a
manutenção destas regras e por isso alguns
dispositivos mais antigos, não podem ser
configurados sobre subredes
Regras para as subredes “top” e “botton
• Para evitar problemas é importante que o
técnico esteja familiarizado com os dispositivos
de rede utilizados no seu ambiente, de forma a
poder determinar o endereçamento permitido.
• Os routers Cisco podem ser configurados para
usar a subrede inicial (bits zero).
• Uma vez que o endereço de broadcast da ultima
subrede (bits um) é o mesmo que o da rede
completa, não é recomendado a sua utilização
com protocolos de routing do tipo “classfull”, tais
como o RIP ou o IGRP
Variable Length Subnet Masks
• Com VLSM um espaço de endereçamento
pode ser subdividido em subredes de
tamanhos variáveis.
• Permite adaptar o tamanho da subrede ao
numero de hosts que ela deve suportar.
• Os protocolos RIP e IGRP são do tipo
“classfull” não suportando VLSM. Para
isso devem ser usados os protocolos
OSPF ou EIGRP.
Exemplo de VLSM
•
Uma empresa pretende subdividir o espaço
de endereçamento correspondente a uma
rede classe C de acordo com as seguintes
necessidades:
1. Duas subredes devem suportar pelo menos 60 hosts
2. Quatro subredes devem suportar pelo menos 10 hosts
3. Tantas subredes quantas possíveis para suportar 2 hosts
Exemplo de VLSM
1- Subdivisão do espaço de endereçamento por 4 subredes (/26)
192.168.1.0/26
192.168.1.64/26
192.168.1.128/26
192.168.1.192/26
2- Subdivisão da 1ª e ultima subrede em mais 4 subredes (/28)
N/A A
B
C
192.168.1.64/26
192.168.1.128/26
D
N/A N/A N/A
Exemplo de VLSM
• Subredes A, B, C, D
– A: 192.168.1.16/28
– B: 192.168.1.32/28
– C: 192.168.1.48/28
– D: 192.168.1.192/28
• As restantes subredes vão ser mais
subdivididas usando a mascara /30.
• Evita-se usar a primeira e a ultima das
subredes /30.
Exemplo de VLSM - Conclusão
• O processo VLSM gerou um total de 20
subredes utilizáveis.
• Não se utiliza o espaço representado
pelas subredes:
– 192.168.1.0/30
– 192.168.1.252/30
• Apenas foram desperdiçados um total de
8 endereços.
Endereçamento Classless
• Não usa as classes tradicionais A,B e C, nem a
noção de campo de subrede.
• O tamanho do Prefixo é determinado pela
mascara. É uma série continua de “1s”
começando no bit mais á esquerda.
Prefixo
Host
11111111 11111111 11111111
00000000
Endereçamento Classless
• Embora a mascara do prefixo seja
semelhante a uma mascara de sub rede,
não existe aqui campo de sub rede.
• O endereçamento classless permite
combinar múltiplos endereços classe C
num bloco contíguo de endereços
designado por “Supernet” ou CIDR
(Classless Interdomain Routing).
Endereçamento Classless
192.168.4.0/24
192.168.5.0/24
192.168.6.0/24
192.168.7.0/24
192.168.4.0/22
• A figura anterior descreve como quatro redes
classe C podem ser combinadas numa “super
rede”, que suporta 1024 endereços.
• /22 representa uma mascara de 22 “uns”
contíguos
Endereçamento Classless
• 192.168.4.0
192.168.0000-0100.0000-0000
• Mascara: /22
255.255.1111-1100.0000-0000
• Endereços de: 192.168.0000-0100.0000-0000
Até: 192.168.0000-0111.1111-1111
• Ou seja de:
192.168.4.0 até: 192.168.7.255
Técnicas VLSM com Endereçamento
Classless
• Usando “prefixos de rede de tamanho variável”
por analogia designados de VLSM pode-se
subdividir o espaço de uma “supernet” da forma
mais conveniente.
• Recorde-se que não existem agora subredes e
por isso não existe aqui nada semelhante á
primeira e ultima subredes vistas
anteriormente.
Exemplo de aplicação de uma mascara
/26 ao bloco 192.168.4.0/22
• Original (/22) : 192.168.0000-0100.0000-0000
• Mascara (/26): 255.255.1111-1111.1100-0000
• Resulta em: 192.168.0000-01xx.xxhh-hhhh
• Onde: x – novos bits do prefixo
h – bits de host
Lista dos novos prefixos obtidos no
exemplo anterior
Prefixos de rede
192.168.0100.00hh.hhhh
192.168.0100.01hh.hhhh
192.168.0100.10hh.hhhh
192.168.0100.11hh.hhhh
192.168.0101.00hh.hhhh
192.168.0101.01hh.hhhh
192.168.0101.10hh.hhhh
………………..
192.168.0111.11hh.hhhh
Notação decimal
192.168.4.0/26
192.168.4.64/26
192.168.4.128/26
192.168.4.192/26
192.168.5.0/26
192.168.5.64/26
192.168.5.128/26
………………
192.168.7.192/26
Agregação de Endereços
• Diminui o tamanho das tabelas de
encaminhamento dos routers
Encaminhamentos: Agregação de Endereços
202.100.1.0/24
172.16.1.0/24
Eu chego a
202.100.1.0/16
202.100.2.0/2
4
s2
s3
s2
s4
Router A
s3
s1
s1
Router B
202.100.3.0/24
192.168.1.0/2
4
202.100.255.0/24
Tabela de Encaminhamentos Router A
Origem
Destino
Int. Saída
172.16.1.0/24
202.100.1.0/24
s1
172.16.1.0/24
202.100.2.0/24
s1
………………
…………….
s1
192.168.1.0/24
202.100.1.0/24
s1
192.168.1.0/24
202.100.2.0/24
s1
………………..
………………
s1
Agregação de Encaminhamentos Router A
Origem
Destino
Int. Saída
172.16.1.0/24
202.100.1.0/16
s1
192.168.1.0/24
202.100.1.0/16
s1
Tradução de Endereços - NAT
• Com NAT (Network Address Translation) podese expandir o espaço de endereçamento IP
através da utilização de endereços privados.
• O RFC 1918 define os blocos de endereços IP
para uso em redes que não comunicam com a
Internet publica. Incluem:
– 10.0.0.0 até 10.255.255.255 (10.0.0.0/8)
– 172.16.0.0 até 172.31.255.255 (172.16.0.0/12)
– 192.168.0.0 até 192.168.255.255 (192.168.0.0/16)
Tradução de Endereços - NAT
2
192.168.1.1
Servidor
1
3
4
Rede Privada
(Interna)
Router A
End. Públicos
185.20.30.1
185.20.30.2
………..
Rede Publica
(Internet)
Tradução de Endereços – NAT
Legenda da fig. anterior
1
2
3
4
Pacote origem em 192.168.1.1
Pacote origem em 185.20.39.1 (Trad.)
Pacote para 185.20.30.1 (Publico)
Pacote para 192.168.1.1 (Privado)
ARP – Resolução de Endereços
Introdução
• Os endereços IP são endereços lógicos,
abstracções obtidas por software.
• Uma trama enviada sobre uma rede física deve
conter o endereço físico (MAC) do destino
• O hardware físico das redes não consegue
localizar um dispositivo a partir do seu endereço
IP
• Este endereço deve ser traduzido para o
endereço físico equivalente antes do pacote ser
enviado
ARP – Resolução de Endereços
• O mapeamento entre um endereço lógico
e o correspondente endereço físico é
designado por “Resolução de Endereço”.
• Um dispositivo usa a técnica de resolução
de endereço sempre que necessita de
enviar um pacote para outro dispositivo
sobre a mesma rede física.
• Nunca é resolvido o endereço de um
dispositivo conectado a uma rede remota
ARP – Address Resolution Protocol
• Define duas mensagens tipo: Pedido e
Resposta.
• Um pedido contém um endereço IP e
pede o correspondente endereço físico
• Uma resposta contém o endereço IP
enviado e o correspondente endereço
físico.
• Uma mensagem ARP é colocada numa
trama e enviada em “broadcast” para
todos os dispositivos da rede.
ARP – Address Resolution Protocol
• Cada um dos dispositivos recebe o pedido
e examina o endereço IP
• O dispositivo mencionado no pedido envia
a resposta directamente para o dispositivo
que originou a mensagem
• Todos os outros dispositivos descartam a
mensagem “pedido”.
• As mensagens ARP são quase sempre
usadas para ligar um endereço IP de 32
bits com um endereço Ethernet de 48 bits.
Envio de mensagens ARP
A mensagem ARP é encapsulada numa
trama Ethernet.
Mensagem ARP
Cabeçalho
Área de dados da trama
CRC
Identificação de mensagens ARP
• O “frame type” 0x806 especifica que a
trama contém uma mensagem ARP.
• O transmissor deve assignar o valor
correcto ao campo tipo antes de enviar a
trama.
End.
Destino
End.
Origem
Tipo
806
Mensagem ARP
Reencaminhamento de datagramas
IP
• Para suportar a heterogeneidade do hardware
de uma rede como a Internet foi definido um
formato de pacote independente do hardware
subjacente
• O formato geral de um datagrama IP está a
seguir representado
Header
Área de Dados
Datagramas IP
• O tamanho do datagrama é variável
dependendo da aplicação que envia os
dados.
• Na versão actual (versão 4) um
datagrama pode conter desde um octeto
de dados até 64K octetos, incluindo o
header
Endereços e Tabelas de
Encaminhamento
• Considere 4 redes interligadas por 3 routers
30.0.0.0
30.0.0.7
R1
40.0.0.0
40.0.0.8
40.0.0.7
R2
128.0.0.8
128.1.0.0
128.1.0.9
R3
192.4.10.0
192.4.10.9
Tabela de Encaminhamento no
Router R2 (Slide anterior)
Destino
Mascara
Next Hop
30.0.0.0
255.0.0.0
40.0.0.7
40.0.0.0
255.0.0.0
Directo
128.1.0.0
255.255.0.0
Directo
192.4.10.0
255.255.255.0
128.1.0.9
Tabela de Encaminhamento no
Router R2 (Slide anterior)
• Uma vez que numa tabela de encaminhamento
a cada destino corresponde uma rede, o nº. de
entradas na tabela é proporcional ao nº. de
redes interligadas.
• O endereço destino no header de um datagrama refere-se sempre ao ultimo destino. Quando
o router reencaminha um datagrama para outro
router, o endereço do “Next Hop” não aparece
no header.
Protocolo não orientado á conexão
• O IP está projectado para operar sobre todos os tipos
de hardware subjacente.
• É um protocolo não orientado á conexão. Para
descrever os serviços que oferece pode ser usado o
termo “best-effort”. Isso significa que os datagramas
IP podem ser perdidos, duplica-dos, atrasados,
entregues fora de ordem, ou com dados corrompidos.
• Estes problemas deverão ser tratados pelas camadas
protocolares superiores.
Formato do Cabeçalho IP
0
VERS
4
H. LEN
8
16
SERV. TYPE
IDENTIFICATION
TIME TO LIVE
TOTAL LENGTH
FLAGS
TYPE
31
FRAGMENT OFFSET
HEADER CHECKSUM
SOURCE IP ADDRESS
DESTINATION IP ADDRESS
IP OPTIONS (Pode ser omitido)
PADDING
Campos do Cabeçalho IP
• SERVICE TYPE: especifica se o encaminhamento deve privilegiar o atraso mínimo ou o
débito máximo.
• TOTAL LENGTH: Inteiro de16 bits, que especifica o numero total de octetos no datagrama.
• TIME TO LIVE: O campo é inicializado com um
valor entre 1 e 255. Cada router decrementa o
valor de 1. Assim que o valor atinge zero o
datagrama é descartado
Campos do Cabeçalho IP
• HEADER CHECKSUM: verifica se os bits do
cabeçalho foram alterados em transito.
• OPÇÕES: Podem não estar presentes. Se o
H.LEN for 5, o header termina depois do campo
DESTINATION IP ADDRESS.
• PADDING: Como o header é especificado em
múltiplos de 32 bits, são acrescentados bits
zero de forma a fazer um múltiplo de 32 bits .
• Os campos FRAG. OFFSET, IDENT. e FLAGS
serão vistos na Fragmentação de Datagramas
Encapsulamento
APLICAÇÃO
DADOS
TRANSPORTE
H.
TCP
REDE
LINK
FISICO
H. IP
H.
TRAMA
>>>>>>>
DADOS
PACOTE TCP
DATAGRAMA IP
T.
TRAMA
FLUXO DE BITS >>>>>>
Encapsulamento
• Um datagrama é encapsulado numa trama
para transmissão sobre um meio físico.
• O endereço destino na trama é o endereço do
“next hop” para onde deve ser enviado o
datagrama.
• Este endereço é obtido por tradução do
endereço IP do “next hop” para o endereço de
hardware equivalente.
Transmissão sobre redes interligadas
Datagrama
H1
Rede 1
Header 1
Datagrama
R1
Rede 2
Header 2
Header 3
R3
Rede 4
H2
Datagrama
Datagrama
R2
Rede 3
Datagrama
Datagrama
Datagrama
Header 4
Datagrama
Datagrama
Transmissão sobre redes interligadas
• Quando atravessa uma rede física um
datagrama é encapsulado numa trama
apropriada a essa rede
• Na camada de rede, o receptor extrai o
datagrama da área de dados da trama e
descarta o cabeçalho da trama.
• A quantidade máxima de dados que pode
conter uma trama é designada por MTU
(Maximum Transmission Unit)
Fragmentação
• Considere-se um router que interliga duas
redes com diferentes valores de MTU.
• Como a trama pode ter um máximo de 1500
octetos numa rede e de 1000 octetos na outra,
é necessário fragmentar o datagrama quando
ele é enviado de uma rede para a outra.
H1
MTU=1500
R
MTU=1000
H1
Fragmentação
• Quando um datagrama é maior que a MTU da
rede para onde vai ser enviado o router divide o
datagrama em pedaços chamados fragmentos.
• Cada fragmento é enviado independentemente
dos restantes.
• Um fragmento tem o mesmo formato do datagrama original, um bit no campo flags do
header indica se é um fragmento. O campo
fragment offset especifica a que parte do datagrama original pertence o fragmento.
Fragmentação
• Cada fragmento contém uma cópia do header
original com os campos identification, flags e
fragment offset alterados
header
header1
dados1
Área de dados original
header2
dados2
header3
Dados3
Reassemblagem
•
•
•
A criação de uma cópia do datagrama original
a partir dos fragmentos é designada por
reassemblagem.
A reassemblagem é da responsabilidade do
host destino final.
O IP não garante a entrega dos datagramas.
Podem ser perdidos fragmentos ou podem
chegar fora de ordem. Como reassemblar os
fragmentos?
Reassemblagem
• O emissor coloca um numero no campo
identification no header de cada datagrama.
• Na fragmentação os headers são copiados e
logo os fragmentos têm a mesma identificação.
• O receptor usa o numero de identificação e o
endereço IP origem de um fragmento para
determinar a que datagrama ele pertence.
• O fragment offset indica qual a ordem de um
fragmento num determinado datagrama.
Reassemblagem
Quando é recebido o primeiro fragmento de um datagrama é inicializado um timer. Se todos os fragmentos
forem recebidos antes de expirar o temporizador o
datagrama é reassemblado.
Se o temporizador expira antes da chegada de todos
os fragmentos, o receptor descarta os fragmentos que
recebeu.
Para evitar a fragmentação de fragmentos deve-se
evitar que o encaminhamento do datagrama use uma
sequencia de redes em que os mtus sejam sempre
decrescentes.
Header IPv6
Unicast Sends Packets to a
Specified Interface
Multicast Sends Packets to a Subnet, and
Defined Devices Listen for Multicast
Packets
Anycast Sends Packets to Specified
Interface List and Can Contain End Nodes
and Routers
Um Mecanismo de Reporte de Erros
• O IP define para o serviço de comunicações uma
técnica do menor esforço.
• No entanto são previstos mecanismos para evitar
erros e para reportar problemas.
• Por exemplo em caso de erro no “checksum” do
header é imediatamente descartado.
• O IP usa o “Internet Control Message Protocol”
(ICMP) para enviar mensagens de erro.
• O ICMP usa o IP para transportar as mensagens
Mensagens ICMP
Tipo
Nome
0
Echo Reply
3
Destino não atingível
4
5
“Source Quench”
Redirect
11
Tempo Excedido
12
Parameter Problem
………..
……………………..
17
Address Mask Request
18
Address Mask Reply
30
Traceroute
Transporte de Mensagens ICMP
Header
ICMP
Header
IP
Header da
Trama
Area de Dados ICMP
Area de Dados IP
Area de Dados da Trama
Pacote UDP
Tem um tamanho reduzido. É encapsulado
dentro de um datagrama IP
Porta Origem
Porta Destino
Tamanho Mensagem
Checksum
Dados
DA
SA
Tipo Head.
0800 IP
Header e Dados UDP
CRC
Pacote TCP
Maior e mais complexo que o UDP
Porta Origem
Porta Destino
Numero de Sequencia
Numero de Acknowledgment
U A P R S F
R C S S Y I
G K H T N N
Window
Checksum
Urgent Pointer
Options
Padding
Dados
DA
SA
Tipo Head.
0800 IP
Header e Dados UDP
CRC
Conexão Full-Duplex
A
SYN SeqA=10
Inicializ
SYN SeqB=30 ACKA=11
SeqA=11
ACKB=31
SeqA
Troca
de
Dados
SeqA
ACKA
FIN SeqA=220
Finaliza
ção
ACKA=221
FIN SeqB=52
ACKA=221
ACKB=53
B
Segmentos e nº.s de sequencia
Time-out de Retransmissão de Pacotes
Perdidos
Controlo de Fluxo
Controlo de Congestão de Rede
• Usa como medida da congestão da redeo nº
de pacotes perdidos
• Diminui a taxa de retransmissão de pacotes
• Retransmite de inicio um único pacote de
dados.
• Caso não haja perdas duplica a taxa de
transmissão até atingir metade do tamanho
de janela
Estabelecimento da conexão TCP
Passos para o estabelecimento:
SYN, SEQ=65
ACK=66, SYN, SEQ=102
Cliente
Servidor
ACK= 103
Transf. de Dados
Ataque através da Numeração de
Sequencia
• Spoofing do nº de sequencia
1 - Conexão TCP valida
Atacante
2 – Inicia conexão com origem =
171.71.1.6
Servidor
171.71.3.7
4- Completa conexão TCP
Rede
3 - Ataque DoS
171.71.1.6
Ataque através da Numeração de
Sequencia
• Os números de sequencia (32 bits) não são
escolhidos aleatoriamente.
• Muitas implementações TCP usam padrões
previsíveis para as numerações de sequencia.
• No arranque do host o nº de sequencia é 1. O
nº inicial é incrementado em 128.000 em cada
segundo. É assim possível prever repetições.
• De cada vez que uma conexão é iniciada o
contador é incrementado em 64.000
Ataque através da Numeração de
Sequencia
• Se os nºs de sequencia fossem escolhidos
aleatoriamente com a chegada de um pedido
de conexão, não havia garantias que eles
fossem diferentes de uma conexão prévia.
• Para determinar um padrão de sequencia, tudo
o que um atacante tem de fazer é estabelecer
uma conexão legitima para o servidor e seguir
os nºs de sequencia usados
Ataque do tipo TCP SYN
• Com a recepção do pacote SYN de establecim.
da conexão e o envio do respectivo SYN/ACK,
o servidor fica a aguardar um ACK.
• Enquanto não recebe o ACK é criada uma
entrada numa fila de conexões incompletas,
que é eliminada com a recepção do ACK.
• Se forem gerados vários pedidos de conexão e
nunca for enviado o ACK final, a fila fica cheia e
o servidor não aceita mais pedidos de conexão
legítimos (serviços de e-mail, FTP, WWW, …)
SPOOFING
• A melhor defesa contra “spoofing” consiste em
implementar filtros de pacotes nos pontos de
entrada e saída da rede.
• Na entrada o filtro deve negar o acesso a
pacotes que tem endereços da rede interna
• Na saída devem apenas permitir pacotes cuja
com origem num host interno da rede
•
Ataque do tipo TCP SYN
• Não é fácil determinar a origem do ataque
porque o endereço origem pode ser forjado.
• Dentro da estrutura de rede o ataque pode ser
limitado a uma determinada área se o router ou
firewall intersecta a conexão TCP, verifica a sua
validade e estabelece a conexão em lugar do
host que a iniciou (faz de proxy)
Ataque do tipo land.c
• É enviado um pacote TCP SYN com o endereço
origem igual ao endereço destino.
• É também usada a mesma porta como origem e
destino no servidor alvo.
• Isto pode causar o “crash” de alguns sistemas
operativos.
• As portas objecto do ataque devem ser portas em que
são disponibilizados serviços activos (telnet, por ex.).
• Uma vez que o ataque requer o spoofing do endereço
do alvo os sistemas protegidos por medidas
antispoofing estão a salvo
RIP – Routing Information Protocol
•
•
•
•
•
•
O Routing Information Protocol (RIP), é um dos mais antigos protocolos de routing.
O RIP assim como muitos outros protocolos semelhantes são baseados no mesmo
conjunto de algoritmos que usam vectores distancia para comparar caminhos e
identificar o melhor caminho para um endereço destino. Estes algoritmos emergiram
de pesquisas académicas publicadas em 1957.
A versão standard actual do RIP, por vezes designada por IP RIP, está formalmente
descrita em dois documentos: Request For Comments (RFC) 1058 e Internet
Standard (STD) 56.
Com o crescimento do numero e dimensão das redes IP, tornou-se necessária a
actualização do RIP. Consequentemente o IETF(Internet Engineering Task Force)
publicou em 1993 o RFC 1388, completado em 1994 pelo RFC 1723, que descreve
o RIP 2.
Estes RFCs descrevem uma extensão das funcionalidades do RIP, mas mantendo a
compatibilidade com a versão anterior.
O RIP 2 alterou o formato das mensagens RIP para transportarem mais informação,
permitindo um mecanismo simples de autenticação para garantir a segurança das
actualizações das tabelas de routing. Ainda mais importante, o RIP 2 suporta
mascaras de subrede, uma funcionalidade critica que não era suportada pelo RIP
RIP.
Neste capitulo serão tratadas as funcionalidades básicas do RIP, que incluem o
processo de update das tabelas de routing, as métricas de routing do RIP,
estabilidade de routing, timers de routing, …
Formato do pacote RIP
• Comando—Indica se o pacote é um pedido ou uma resposta. Um pedido
pede a um router para enviar toda ou parte da tabela de routing. Uma
resposta pode ser update normal de routing ou a resposta a um pedido.
Respostas contêm entradas das tabelas de routing. Podem ser usados
múltiplos pacotes RIP para enviar informação referente a grandes tabelas
de routing.
• Numero de Versão—Especifica a versão de RIP usada. Este campo pode
sinalizar versões potencialmente incompatíveis.
• Zero—Este campo não é actualmente usado pelo RFC 1058 RIP; foi
apenas adicionado para permitir compatibilidade com versões anteriores ao
“standard”. O seu nome vem do seu valor por defeito: zero.
Comando Versão Zeros
AFI
Zeros Endereço Zeros
Zeros Métrica
1-Octeto 1-Octeto2-Octetos 2-Octetos 2-Octetos 4-Octetos 4-Octetos 4-Octetos 4-Octetos
Formato do pacote RIP
• Address-Family Identifier (AFI)—Especifica a família
de endereços usada. RIP está desenhado para
transportar informação de routing de diferentes
protocolos. Cada entrada tem um identificador
address-family para indicar o tipo de endereços
especificados. O AFI para o IP é 2.
• Endereço—Especifica o endereço IP da linha.
• Métrica—Indica quantos internetwork hops (routers)
foram atravessados no caminho para o destino. Este
valor varia entre 1 e 15 para um encaminhamento
valido; 16 para um encaminhamento não atingível.
Formato do pacote RIP
• Nota—São permitidas num único pacote RIP até 25
ocorrências dos campos:
– AFI
– Endereço IP
– Métrica
• Isto significa que até 25 entradas de uma tabela de routing
podem ser enviadas num único pacote RIP.
• Se o campo AFI especifica uma mensagem autenticada
(RIP2), apenas podem ser especificadas 24 entradas da
tabela.
• Uma vez que entradas individuais de uma tabela não são
fragmentadas em múltiplos pacotes o RIP não necessita um
mecanismo de ordenação de datagramas que contenham
actualizações das tabelas dos routers vizinhos
Formato do pacote RIP2
• Comando— Indica se o pacote é um pedido ou uma resposta. Um pedido
pede a um router para enviar toda ou parte da tabela de routing. Uma
resposta pode ser update normal de routing ou a resposta a um pedido.
Respostas contêm entradas das tabelas de routing. Podem ser usados
múltiplos pacotes RIP para enviar informação referente a grandes tabelas
de routing.
• Numero de Versão— Especifica a versão de RIP usada. Para o RIP2 o
valor é 2.
• Não Usado— Colocado a zero.
Não
Route Endereço Mascara Next
Comando Versão
AFI
Métrica
Usado
Tag
IP
Subrede Hop
1-Octeto 1-Octeto
2-Octetos
4-Octetos
2-Octetos
2-Octetos 4-Octetos 4-Octetos 4-Octetos
Formato do pacote RIP2
• Address-family identifier (AFI)—Especifica a address family
usada de uma forma identica ao descrito no RFC 1058 para o
RIP, com uma excepção: Se o AFI para a primeira entrada na
mensagem é 0xFFFF, o resto da mensagem contém
informação de autenticação. Actualmente essa autenticação
consiste apenas numa “password”
• Address—Especifica o endereço IP da linha.
• Mascara de Subrede—Contém a mascara de subrede da
entrada. Se for zero a mascara não é especificada para essa
entrada.
• Next Hop—Especifica o endereço IP do “Next Hop” para onde
deverão ser encaminhados os pacotes dessa entrada
• Metric—Indica quantos internetwork hops (routers) foram
atravessados no caminho para o destino. Este valor varia entre
1 e 15 para um encaminhamento valido; 16 para um
encaminhamento não atingível.
IGRP – Internet Group Routing
Protocol
•
•
•
•
•
•
•
•
Proprietário (Cisco)
Vector-distancia
Usa classes de redes
Não está limitado a um diâmetro de rede de 15 hops. Permite um
máximo de 255 hops.
Usa uma métrica “compósita” para seleccionar os encaminhamentos
óptimos através de uma rede. As características incluídas na métrica
são: largura de banda, atraso, carga e fiabilidade, podendo o seu peso
relativo ser ajustado
Pode usar múltiplos caminhos para enviar tráfego para um destino,
com “balanceamento de carga”, mesmo se as métricas dos caminhos
forem diferentes
Suporta “sistemas autónomos”, identificados através do numero do
sistema autónomo.
As actualizações das tabelas de routing são enviadas menos
frequentemente do que no RIP, criando por isso menos tráfego de
“overhead”. Porque os valores dos temporizadores de actualização
das tabelas são mais elevados, o IGRP pode convergir mais
lentamente que o RIP
EIGRP – Enhanced IGRP
•
•
•
•
•
•
•
•
•
•
Proprietário (Cisco)
Protocolo híbrido. Tem características de um protocolo por vector-distancia,
mas apresenta características de um protocolo por estado do link.
Fácil de implementar, tal como os protocolos por vector-distancia.
Converge rapidamente e tem pouco “overhead”. Envia actualizações parciais,
em lugar da tabela de routing completa e apenas quando ocorrem alterações.
Envia as actualizações apenas aos vizinhos que têm necessidade delas.
Protocolo “classless”. Suporta VLSM, supernetting e agregação de redes.
É facilmente escalável para redes maiores e suporta múltiplos sistemas
autónomos.
Ao contrario das redes OSPF as redes EIGRP são flexíveis a alterações na
topologia e processos de reengenharia
Usa a mesma métrica “compósita” do IGRP, diferindo apenas por um factor de
256. Basta multiplicar a métrica IGRP por 256 para obter a métrica EIGRP
Como o IGRP pode usar múltiplos caminhos para enviar tráfego para um
destino, com “balanceamento de carga”, mesmo se as métricas desses
caminhos forem diferentes
Suporta autenticação de encaminhamentos. Ou seja um router EIGRP pode ser
configurado para aceitar actualizações de routing apenas de fontes
autenticadas.
OSPF
•
•
•
•
•
•
•
•
•
•
•
Protocolo por estado do link. Um router OSPF envia pequenas actualizações (“link-state
advertisements” ou LSAs), que incluem apenas informações sobre os seus próprios
links.
O LSAs propagam-se sobre uma zona da rede designada por “area”. Cada router da área
constrói uma base de dados a partir das LSAs que recebe. A partir da base de dados
cada router determina o caminho com menor custo para cada um dos destinos
conhecidos usando o algoritmo de Djikstra.
Protocolo “classless”. Suporta VLSM, supernetting e agregação de redes.
Converge rapidamente e tem pouco “overhead”. Requer no entanto mais recursos de
memória e de processamento que os outros protocolos de routing
A métrica é o custo. Por defeito o custo de um link é igual a 10 á oitava dividido pela
largura de banda do link.
Um sistema autónomo OSPF é constituído por áreas interligadas de uma forma
hierárquica. É necessária a existência de uma “área zero”, designada também por área
de “backbone”. O tráfego entre as outras áreas deve passar pela área de “backbone”
Todas as áreas OSPF devem por isso conectar-se com a área zero
O OSPF requer um melhor planeamento inicial e obriga a mais detalhes no seu
planeamento do que os outros protocolos.
Dependendo do seu desenho inicial e do grau de alterações pretendidas o OSPF pode
ser menos flexível a alterações na topologia ou a reengenharia da rede.
Suporta apenas balanceamento entre encaminhamentos de igual custo.
Suporta autenticação de encaminhamentos
Filtragem de Datagramas
No IOS cisco usam-se “acess lists” para filtrar
trafego numa interface do router
193.20.30.0
E0
S0
Router
E1
187.10.0.0
Filtro aplicado á entrada
do router
Filtro aplicado á saída do
router
Lógica de uma “Acess List”
• Access list 1
– Negar acesso ao trafego de 172.20.15.0
255.255.255.0
– Negar acesso ao trafego dos hosts
192.168.1.8 a 192.168.1.15
– Negar acesso ao host 182.20.30.5
– Permitir tudo o restante
Lógica de uma “Acess List”
• As regras de uma lista são processadas
por ordem sequencial.
• Quando um pacote satisfaz as condições
de uma regra o router implementa essa
regra e termina o processamento da lista
para esse pacote.
Tipos de “Acess List”
• Standard IP access lists
– Podem ser assignados numeros de 1 a 99
– Filtram os pacotes baseadas no seu
endereço fonte
• Extended IP access lists
– Podem ser assignados numeros de 100 a 199
– Filtram os pacotes baseadas no seus
endereços fonte e destino, protocolo, opções
de protocolo, nivel de precedencia e tipo de
serviço
Ex. Standard IP “access lists”
• Access-list 1 permit 172.16.1.1 0.0.0.0
• Access-list 1 permit 192.169.1.128 0.0.0.31
• Todas as listas de acesso terminam por um “deny
any” implicito.
• As mascaras 0.0.0.0 e 0.0.0.31 são designadas por
“wildcard mask” e indicam ao router quais os bits do
endereço que devem ser mantidos e quais os que
podem ser alterados. Os bits na posição dos “0s”
devem ser mantidos e os que estão na posição dos
“1s” podem ser alterados.
Extended IP “access lists”
• Podem usar os seguintes parametros:
– Endereço origem
– Endereço destino
– Protocolo (ICMP,TCP,UDP,EIGRP,OSPF,...)
– Opções de protocolo (Telnet, FTP, HTTP,
SMTP, Echo, SNMP, ...)
– Nivel de precedencia
– Tipo de serviço (TOS)
Ex. Extended IP “access lists”
• Access-list 102 deny tcp 192.168.25.0 0.0.0.31 172.16.1.0
0.0.0.255 eq telnet
• Access-list 102 permit ip any any
• Esta lista nega o acesso de todos os
pacotes “telnet” entre as redes
especificadas permitindo tudo o restante
Wildcard masks
• 192.169.1.128 = 192.169.1.10000000
•
0.0.0.31 = 0. 0. 0. 00011111
• A mascara indica que os endereços
possiveis são: 192.169.1.100xxxxx
• Os endereços podem por isso variar entre
:192.169.1.128 e 192.169.1.159
Aplicação de uma Lista de
acesso
• Toda a “access list” tem de ser aplicada a
uma interface de forma a indicar ao router
qual a utilização que lhe deve ser dada.
• Por ex. Para aplicar a “acces-list 1” á
interface e0 para filtrar o trafego de
entrada no router dever ser usado o
comando:
– Ip access-group 1 in
Download

Aulas teóricas - Departamento de Engenharia Informática