Вы находитесь на странице: 1из 7

TCP/IP - Aula 7

TCP/IP – Roteamento IP (Direto)


Índice
1. Roteamento IP
2. Roteamento direto
3. Exemplo monitoramento
Host Host Host
Host B C D
A Subrede
2

Roteador Roteador Roteador Subrede


Subrede Subrede1 Subrede2 Subrede3 3
1

1. Roteamento IP

a) Conceitos:

Roteamento é o mecanismo através do qual duas máquinas em comunicação


“acham” e usam um caminho ótimo (o melhor) através de uma rede. O processo
ennvolve:

• Determinar que caminhos estão disponíveis;


• Selecionar o melhor caminho para uma finalidade particular;
• Usar o caminho para chegar aos outros sistemas;
• Ajustar o formato dos dados (datagramas) às tecnologias de enlace disponíveis
• O roteamento é baseado no endereçamento IP, particularmente na identificação
de rede de um endereço IP.
• Toda a tarefa de roteamento é executada pela camada internet

b) Conceitos envolvendo roteamento:


• Roteamento direto : transmissão na mesma subrede IP da máquina origem
• Roteamento indireto : transmissão através de um roteador, pois a máquina
destino não encontra-se na mesma subrede IP da origem. Os dados são
transmitidos de roteador em roteador até alcançar a máquina destino
• Roteamento usando tabelas: o algoritimo de roteamento IP emprega uma
tabela de roteamento que armazena informações sobre possíveis destinos.
Sempre que o software de roteamento IP de um host ou roteador precisa
transmitir um datagrama, consulta a tabela de roteamento para decidir por
onde enviar o datagrama.

TCPIP Em 04/09/2007 Página 7- 1


Mauro Mendes
TCP/IP - Aula 7
TCP/IP – Roteamento IP (Direto)
c) Exemplo de uma tabela de roteamento

Máquina 1
Rede destino Máscara (M) Gateway/Roteador ( Interface
(D) R)
10.0.0.0 255.0.0.0 10.0.0.2 (Direta) E0
20.0.0.0 255.0.0.0 10.0.0.1 E0
0.0.0.0 0.0.0.0 10.0.0.1 E0

Roteador 1
Rede destino Máscara (M) Gateway/Roteador ( Interface
(D) R)
10.0.0.0 255.0.0.0 10.0.0.1 (Direta) E0
20.0.0.0 255.0.0.0 1.0.0.2 S0
0.0.0.0 0.0.0.0 1.0.0.2 S0

d) Algoritimo de roteamento:
Dado um datagrama a ser enviado e uma tabela de roteamento,

 Extrair o endereço IP do destino (IP-dest) do datagrama;


 Para cada entrada (i) da tabela de roteamento (Di, Mi, Ri)
o Calcular o endereço IP da rede destino (IPR-dest) fazendo IPR-dest= IP-dest
AND Mi;
o Se IPR-dest=Di, encaminhe o datagrama para o Roteador Ri;
 Se não encontrar nenhuma alternativa e existir uma rota default (default gateway),
encaminhe pela rota default, caso contrário declarar erro de roteamento
 Quando o roteamento é direto, preenchemos o pacote colocando nos dados da camada
de enlace os endereços de origem e destino da transmissão. Nos dados da camada de
rede (endereços ips) colocamos os dados da origem e destino da transmissão;
 Quando o roteamento é indireto, preenchemos os dados de enlace com origem da
transmissão e no destino colocamos o endereço do roteador. Os dados da camada de
rede (endereços ips) são preenchidos com os dados da origem e destino da
transmissão;

e) Resolução de endereços físicos

Um dos problemas a resolver numa transmissão de um pacote IP é o mapeamento do


endereço do endereço de rede para o endereço físico (de enlace). Há algumas opções que
podem ser implementadas como :
• Servidores de endereços ;
• Correspondência entre endereços físicos e IP : Em algumas redes, nas quais o endereço de
enlace não é maior que o endereço de rede, é possível fazer uma relação entre endereço IP
e endereço físico (Exemplo : Redes Token Ring que tem endereçamento de apenas 1 byte).
Redes Ethernet com endereço de 48 bits isto não é possível ;
• ARP (Address Resolution Protocol) : É feito um broadcast para descoberta dos endereços
físicos

TCPIP Em 04/09/2007 Página 7- 2


Mauro Mendes
TCP/IP - Aula 7
TCP/IP – Roteamento IP (Direto)

2. Roteamento direto :

Host A Host B
End. IP=10.200.3.42/16 End.IP=10.200.0.1
Placa de rede Rede 10.200.0.0 Máscara=255.255.0.0
E0-20-03-70-0C-F3 Placa de rede
Gateway Padrão 00-02-55-89-0A-54
10.200.1.1 Gateway=10.200.1.1

Tabela de roteamento Host A


Rede destino (D) Máscara de subrede (M) Gateway (R) Interface
10.200.0.0 255.255.0.0 10.200.3.42 10.200.3.42
0.0.0.0 0.0.0.0 10.200.1.1 10.200.3.42

É o encaminhamento do datagrama IP dentro de uma mesma subrede - mesmo


endereço IP

Vejamos como é feita a transmissão de um pacote do Host A para o Host B, tendo como
exemplo o comando ping 10.200.0.1 emitido pelo Host A em uma rede Ethernet

a. Para transmitir o pacote de A para B é necessário preencher os dados do pacote a ser


transmitido com os endereços de origem e destino do nível de enlace (endereços de placa de
rede) e endereços do nível de rede (endereços IP), conforme quadro abaixo. Os endereços
origem de Mac e IP são obtidos da configuração do próprio host. Já o IP de destino é obtido do
comando ping. Mas o endereço MAC de destino o Host A não conhece.

End.Origem Enlace End.Destino Enlace End.Origem Rede End.Destino Rede Dados


E0-20-03-70-0C-F3 ? 10.200.3.42 10.200.0.1

b. Para descobrir o endereço da placa de rede do HOST B, o HOST A envia um


frame de requisição de endereço ARP (Address resolution Protocol).
• A requisição ARP é um pacote de broadcast para todas os Hosts da subrede.
• Todas as estações da rede escutam o meio, mas somente B vai responder a mensagem
para A, informando o seu endereço de placa de rede, que no caso é 00-02-55-89-0A-54.
Veja a seguir a requisição ARP coletada pelo Ethereal.

• Pergunta : Por que usar o ARP , se podemos fazer um broadcast para envio do
pacote ?

TCPIP Em 04/09/2007 Página 7- 3


Mauro Mendes
TCP/IP - Aula 7
TCP/IP – Roteamento IP (Direto)
c. Com todas as informações para enviar o ping o Host A , monta o pacote do ping
com a informação que faltava, que era o endereço de placa de rede de B.

End.Origem Enlace End.Destino End.Origem End.Destino Dados


Enlace Rede Rede
E0-20-03-70-0C- 00-02-55-89-0A- 10.200.3.42 10.200.0.1
F3 54

Pacote coletado pelo Ethereal

d. O Host A então transmite a mensagem para B, veja pacote abaixo coletado pelo Ethereal

e. O Host A armazena no cache do ARP o endereço de B. Nas transmissões futuras para B,


ele já tem o endereço de enlace de B (placa de rede), evitando o passo do ítem b.

f. Antes de responder a requisição ARP, o destino atualiza seu cache com os endereços da
origem

g. Informações do quadro arp


Tipo hardware (Ethernet=1), tipo operação (1-pergunta ARP, 2-resposta ARP), tamanho dos
endereços físicos e de rede, endereços físicos e de rede da origem, endereços físicos e de
rede do destino.

h. Se dermos o comando arp -a, que mostra o cache do ARP, veremos que lá existe uma
entrada relacionando o endereço IP com o endereço físico. Veja o exemplo abaixo.
Host B (200.239.100.3) at E0-20-03-70-0C-F3
Host X (200.239.100.4) at 00-02-55-89-0A-54

TCPIP Em 04/09/2007 Página 7- 4


Mauro Mendes
TCP/IP - Aula 7
TCP/IP – Roteamento IP (Direto)

3. Exemplo monitoramento requisição ARP

a) Network Monitor do Windows X


a1. Pergunta ARP
******************************************************************
Frame Time Src MAC Addr Dst MAC Addr Protocol Description
Src Other Addr Dst Other Addr Type Other Addr
155 1.149 CENADGER04 *BROADCAST ARP_RARP ARP: Request, Target
IP: 10.200.0.60

+ FRAME: Base frame properties


+ ETHERNET: ETYPE = 0x0806 : Protocol = ARP: Address Resolution Protocol
+ ARP_RARP: ARP: Request, Target IP: 10.200.0.60

00000: FF FF FF FF FF FF 00 50 DA 1F 08 5E 08 06 00 01 .......P...^....
00010: 08 00 06 04 00 01 00 50 DA 1F 08 5E 0A C8 00 64 .......P...^...d
00020: 00 00 00 00 00 00 0A C8 00 3C .........<

a2. Resposta ARP


******************************************************************
*
Frame Time Src MAC Addr Dst MAC Addr Protocol Description
Src Other Addr Dst Other Addr Type Other Addr
156 1.149 CENADGER01 CENADGER04 ARP_RARP ARP: Reply, Target IP:
10.200.0.100 Target Hdwr Addr: 0050DA1F085

+ FRAME: Base frame properties


+ ETHERNET: ETYPE = 0x0806 : Protocol = ARP: Address Resolution Protocol
+ ARP_RARP: ARP: Reply, Target IP: 10.200.0.100 Target Hdwr Addr:
0050DA1F085E

00000: 00 50 DA 1F 08 5E 00 60 97 17 6A 1D 08 06 00 01 .P...^.`..j.....
00010: 08 00 06 04 00 02 00 60 97 17 6A 1D 0A C8 00 3C .......`..j....<
00020: 00 50 DA 1F 08 5E 0A C8 00 64 00 64 00 64 00 64 .P...^...d.d.d.d
00030: 00 64 00 64 00 64 00 64 00 64 00 64 .d.d.d.d.d.d

******************************************************************
************

TCPIP Em 04/09/2007 Página 7- 5


Mauro Mendes
TCP/IP - Aula 7
TCP/IP – Roteamento IP (Direto)

3b. Sniffer NAI


3b1. Pergunta ARP

3b2. Resposta ARP

TCPIP Em 04/09/2007 Página 7- 6


Mauro Mendes
TCP/IP - Aula 7
TCP/IP – Roteamento IP (Direto)

ICMP request

Endereço de enlace do destino=?


Endereço de enlace da origem=?
0800-Protocolo IP

ICMP
Tipo=08
Code=00
Checksum=d15b
Identificador=02-00
Sequence number=7a-00

ICMP reply

TCPIP Em 04/09/2007 Página 7- 7


Mauro Mendes