Arquitetura Tcp/IP Roteamento IP Abril/2017 Prof. Mauro Mendes Tcp/Ip Purpose: This chapter introduces access lists and then emphasizez IP access lists. Timing: This chapter takes about 2 hours to cover. Contents: The major sections of this chapter are: An overview of access lists and why to use them Access list functions and operation TCP/IP access lists Standard IP access lists Controlling vty access with access class entries Extended IP access lists Laboratory exercise Transition: The following section contains the chapter objectives Tcp/Ip
Roteamento RC RA RB RC Tcp/Ip .1 3.0.0.0 2.0.0.0 .2 .1 .2 1.0.0.0 172.16.0.0 .1 .2 192.168.0.0 RA RB .1 500K S0 4.0.0.0 5.0.0.0 .1 .2 .2 .1 S1 S1 .2 4M 4M RC .2 .1 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 envolve: 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 - Toda a tarefa de roteamento é executada pela camada de Rede (Internet no Tcp/IP) Tcp/Ip
Roteamento 2M 2M RC .1 3.0.0.0 2.0.0.0 .2 .1 .2 1.0.0.0 172.16.0.0 .1 .2 192.168.0.0 RA RB .1 500K S0 4.0.0.0 5.0.0.0 .1 .2 .2 .1 S1 S1 .2 4M 4M RC .2 .1 O processo de roteamento utiliza um algoritmo de roteamento que usa como entradas o endereço IP de destino do pacote e a tabela de roteamento, que informa os melhores caminhos para a rede de destino. A saída do algoritmo de roteamento é o melhor caminho No roteamento IP (da Internet), para cada pacote é executado o algoritmo de roteamento para escolha do melhor caminho, essa modalidade é conhecida como datagrama. Já no circuito virtual usado em outros protocolos, como o X25, o caminho dos pacotes é escolhido na abertura da conexão e a partir daí todos os pacotes seguem o mesmo caminho. Tcp/Ip
Roteamento direto e indireto p1 Rede 10.4.0.0 p1 p1 p2 Rede 10.3.0.0 p3 R1 Z p1 R4 B R2 Roteamento Direto: Aplica-se para 2 equipamentos na mesma rede (A e B no exemplo) Não precisa do default gateway (roteador padrão) Apenas um pacote é necessário para entrega direta Roteamento InDireto: Aplica-se para 2 equipamentos em redes diferentes (A e Z no exemplo) Precisa do default gateway (roteador padrão) para encaminhar O roteamento é indireto porque não é direto, precisa de intermediários (roteadores) para entrega do pacote ao destino final São gerados vários pacotes até a entrega final (indireta) Os pacotes variam os endereços de enlace que refletem a comunicação entre nós adjacentes. Os endereços de rede (IP) permanecem inalterados pois são fim a fim p1 p1 p2 p3 Tcp/Ip
Como o Tcp/Ip sabe se deve aplicar o roteamento direto ou indireto? De 10.0.0.1 para 172.16.0.2? Aplica-se roteamento indireto De 10.0.0.1 para 10.0.0.2 ? Aplica-se roteamento direto De 10.1.0.1 para 10.2.0.1 – Roteamento direto ou indireto? Tcp/Ip
De 10.1.0.1 para 10.2.0.1? Roteamento direto ou indireto? Depende da máscara de rede utilizada Se a máscara for 255.0.0.0 aplica-se roteamento direto Se a máscara for 255.255.0.0 aplica-se roteamento indireto Tcp/Ip
Formato do Datagrama IP 32 bits Ver são Tam Cab Priori dade Linhas de 4 bytes TamTotal deslocamento Identificação flgs time to live proto- colo Check erro Cabeçalho IP Veja que a máscara de subrede não está no cabeçalho IP endereço IP de origem endereço IP de destino Opções (se houver) Dados (tamanho variável, segmento TCP ou UDP, ou mensagem Icmp) Dados Tcp/Ip
Roteamento IP Algoritmo de Roteamento Melhor caminho Como mostra o slide anterior o cabeçalho IP do pacote não tem a informação da máscara Também como visto anteriormente o roteamento é baseado no algoritmo de roteamento e suas entradas são a tabela de roteamento e o endereço Ip de destino É na tabela de roteamento que a máscara aparece e influencia o roteamento Pacote (172.16.0.2) Algoritmo de Roteamento Melhor caminho Tabela de roteamento Destino Mascara Gateway 10.0.0.0 255.0.0.0 Direta 172.16.0.0 255.0.0.0 1.0.0.2 Tcp/Ip
ALGORITMO DE ROTEAMENTO Dada a tabela de roteamento e um datagrama a ser encaminhado (roteado) - Extrair o endereço IP destino (IP-dest) do datagrama - Para cada entrada i da tabela de roteamento (Di, Mi, Ri): - Calcular o endereço IP da rede destino (IPR-dest) fazendo IPR- dest = IP-dest AND Mi - Se IPR-dest = Di, encaminhe o datagrama para o roteador Ri; Se não encontrar nenhuma alternativa para encaminhamento do datagrama, declare "Erro de Roteamento". Tcp/Ip
Exemplo Execução Algoritmo De Roteamento Ping 10.0.0.3 Pacote: 10.0.0.2 para 10.0.0.3 (Roteamento direto) .3 .1 .2 Rede 10.0.0.0 Tabela Roteamento no host 10.0.0.2 Destino(D) Mascara(M) Gateway(G) Iprdest=ipdest(AND)mascara(i) 10.0.0.0 255.0.0.0 Direta Iprdest=10.0.0.3(AND)255.0.0.0=10.0.0.0 0.0.0.0 0.0.0.0 10.0.0.1 - Extrair o endereço IP destino (IP-dest) do datagrama (Ipdest=10.0.0.3) - Para cada entrada i da tabela de roteamento (Di, Mi, Ri): - Calcular o endereço IP da rede destino (IPR-dest) fazendo IPR- dest = IP-dest AND Mi (Resultado=10.0.0.0) - Se IPR-dest = Di, encaminhe o datagrama para o roteador Ri (Como deu igual, o pacote vai ser entregue direto, o gateway é a própria interface do equipamento ligada à rede) Tcp/Ip
Exemplo Execução Algoritmo De Roteamento Ping 172.16.0.2 Pacote: 10.0.0.2 para 172.16.0.2 (Roteamento indireto) .1 .2 .1 10.0.0.0 172.16.0.2 Tabela Roteamento no host 10.0.0.2 Destino Mascara Gateway Iprdest=ipdest(AND)mascara(i) 10.0.0.0 255.0.0.0 Direta Iprdest=172.16.0.2(AND)255.0.0.0=172.0.0.0 0.0.0.0 0.0.0.0 10.0.0.1 Iprdest=172.16.0.2 (AND)0.0.0.0=0.0.0.0 - Extrair o endereço IP destino (IP-dest) do datagrama (Ipdest=172.16.0.2) - Para cada entrada i da tabela de roteamento (Di, Mi, Ri): - Calcular o endereço IP da rede destino (IPR-dest) fazendo IPR- dest = IP-dest AND Mi (Resultado=172.0.0.0) - Se IPR-dest = Di, encaminhe o datagrama para o roteador Ri (Como deu diferente, o algoritmo passa para a próxima entrada da tabela, nesta o resultado fica igual a entrada D(2), logo ele despachará o pacote pelo gateway 10.0.0.1, que é o roteador padrão (default gateway) da rede Tcp/Ip
ENTRADAS NA TABELA DE ROTEAMENTO Códigos de carga das tabelas IP rede destino (D) Máscara de rede (M) IP do roteador (R) Interface de saída Distância administrativa Métrica C (Conectada) 172.16.1.0 255.255.255.0 Diretamente conectada E0 1 10.1.1.0 S2 R (Rip) 10.2.2.0 2.0.0.2 120 S 172.16.50.0 172.16.40.2 S0 Exemplo de display da tabela no roteador através do comando show ip route C 172.16.1.0 is directly connected, Ethernet0 R 10.2.2.0 [120/1] via 10.1.1.2, 00:00:07, Serial2 C 10.1.1.0 is directly connected, Serial2 R 192.168.1.0/24 [120/2] via 10.1.1.2, 00:00:07, Serial2 Cada entrada especifica uma rede destino, a máscara de rede usada e o próximo roteador a ser usado para se chegar à rede destino; Para redes diretamente conectadas, o endereço IP do roteador destino é o endereço da interface de conexão à rede; Algumas entradas podem especificar (ocasionalmente) o endereço IP de uma máquina destino; É comum a existência de uma rota "default” para a rede destino, cujo roteador indicado deve receber o datagrama cujo endereço destino não pertença a nenhuma das redes destino registradas na tabela. É representada por destino=0.0.0.0, máscara=0.0.0.0. Tcp/Ip
5. EXEMPLO DE TABELA DE ROTEAMENTO Tcp/Ip
6. INICIALIZAÇÃO E MANUTENÇÃO DE TABELAS DE ROTEAMENTO As tabelas de roteamento são inicializadas a partir de arquivos de configuração; Em redes de pequeno porte, a manutenção das mesmas (inclusão, alteração e exclusão de rotas) pode ser feita manualmente pelo administrador da rede; nesse caso diz-se que o roteamento é feito de forma estática; Em redes de porte maior, manter tabelas de roteamento manualmente torna-se um trabalho bastante complexo e extremamente sujeito a erros; para resolver o problema recorre-se ao uso de mecanismos que permitem a manutenção automática das tabelas de roteamento; nesse caso diz-se que o roteamento é feito de forma dinâmica; Exemplo de uma rota estática Exemplo considerando a rede 10.0.0.0 para o Roteador A Ip route 10.0.0.0 255.0.0.0 172.16.2.2 No exemplo acima para atingir uma rede destino X, indicamos o próximo salto através da indicação da interface do roteador mais próximo. Tcp/Ip
Exemplo de Rota Default (Padrão) O roteamento dinâmico é viabilizado através do uso de protocolos de roteamento dinâmico que se responsabilizam por propagar e manter as tabelas de roteamento entre um conjunto de roteadores. Tcp/Ip
Enlace Origem Enlace Destino ROTEAMENTO DIRETO ARP (Address Resolution Protocol-Protocolo de Resolução de Endereços) Para fazer a transmissão do pacote de A para B, os endereços de origem de enlace e rede são obtidos da própria configuração da máquina Rede 10.0.0.0 Para montar o endereço de destino da camada de rede, essa informação pode ser obtida da aplicação (ping no exemplo) em execução. P1 P1 A B Mas e o endereço de enlace de destino, como obtê- lo? Ping 10.0.0.2 Enlace Rede Enlace Origem Enlace Destino IP Origem IP destino 01-01-01-01-01-01,????????????? 10.0.0.1 10.0.0.2 HOST A Ip 10.0.0.1/255.0.0.0 Mac 01-01-01-01-01-01 HOST B Ip 10.0.0.2/255.0.0.0 Mac 01-01-01-01-01-02 Tcp/Ip
ARP Rede 10.0.0.0 Host A Ip 10.0.0.1/255.0.0.0 Mac 01-01-01-01-01-01 P1 P1 A Host B Ip 10.0.0.2/255.0.0.0 Mac 01-01-01-01-01-02 B Ping 10.0.0.2 Enlace Rede Enlace Origem Enlace Destino Protocolo IP Origem IP destino 01-01-01-01-01-01,FF-FF-FF-FF-FF-FF 08-06 10.0.0.1 10.0.0.2 ARP-Pergunta 01-01-01-01-01-02,01-01-01-01-01-01 08-06 10.0.0.2 10.0.0.1 ARP-Reply 01-01-01-01-01-01,01-01-01-01-01-02 08-00 10.0.0.1 10.0.0.2 Pacote ARP-Pergunta (Request): Mensagem de Broadcast para todos as máquinas da Rede perguntando pelo endereço MAC (enlace) de um determinado endereço IP Para evitar novos broadcasts a informação descoberta é guardada no Cache do ARP Tcp/Ip
Get index.htm (Método Http) Transmissão usando Roteamento direto (mesma Rede) Com Switches Tabela de Portas Switch 0=01-01-01-01-01-01 1=01-01-01-03-04-05 2=01-01-01-01-01-02 3=01-01-01-03-04-07 Rede 10.0.0.0 Host A Ip 10.0.0.1/255.0.0.0 Mac 01-01-01-01-01-01 P1 P1 A B Host B Ip 10.0.0.2/255.0.0.0 Mac 01-01-01-01-01-02 http://10.0.0.2/index.htm Montando o pacote (P1) para transmissão 01-01-01-01-01-01,01-01-01-01-01-02 Enlace 10.0.0.1,10.0.0.2 Internet 1032,80 (Portas) Seq=100 Transporte Get index.htm (Método Http) Aplicação Tcp/Ip
Enlace Origem Enlace Destino ARP (Address Resolution Protocol-Protocolo de Resolução de Endereços) Para fazer a transmissão do pacote de A para B, os endereços de origem de enlace e rede são obtidos da própria configuração da máquina Rede 10.0.0.0 Para montar o endereço de destino da camada de rede, essa informação pode ser obtida da aplicação (ping no exemplo) em execução. P1 P1 Mas e o endereço de enlace de destino, como obtê- lo? A B Ping 10.0.0.2 Enlace Rede Enlace Origem Enlace Destino IP Origem IP destino 01-01-01-01-01-01, ?????????? 10.0.0.1 10.0.0.2 Host A Ip 10.0.0.1/255.0.0.0 Mac 01-01-01-01-01-01 Host B Ip 10.0.0.2/255.0.0.0 Mac 01-01-01-01-01-02 Tcp/Ip
ARP (Address Resolution Protocol) Protocolo de resolução de endereço Host A Ip 10.0.0.1/255.0.0.0 Mac 01-01-01-01-01-01 Rede 10.0.0.0 P1 P1 A Host B Ip 10.0.0.2/255.0.0.0 Mac 01-01-01-01-01-02 B Arp Ping 10.0.0.2 Enlace Rede Enlace Origem Enlace Destino Type (*) IP Origem IP destino Cod.Op.Arp 01-01-01-01-01-01,FF-FF-FF-FF-FF-FF 08-06 10.0.0.1 10.0.0.2 01 ARP-Request 01-01-01-01-01-02,01-01-01-01-01-01 08-06 10.0.0.2 10.0.0.1 02 ARP-Reply 01-01-01-01-01-01,01-01-01-01-01-02 08-00 10.0.0.1 10.0.0.2 ----- Pacote Ping ARP-Pergunta (Request): Mensagem de Broadcast para todos as máquinas da Rede perguntando pelo endereço MAC (enlace) de um determinado endereço IP IP Para evitar novos broadcasts a informação descoberta é guardada no Cache do ARP Tcp/Ip
??? Roteamento direto : Ping do PC0 para o PC2 Montando os dados do Ping Pacote Camada de Enlace Camada Arp/IP Mac Origem Mac Dest Tipo Ip origem Ip destino Cod.Ope. Arp Pergunta ARP Resposta ARP Ping 343d ??? 08-00 172.16.0.2 172.16.0.3 Xxxxxxxxxxx Tcp/Ip
??? Roteamento direto : Ping do PC0 para o PC2 Resolvendo a interrogação – Requisição ARP para descobirir o MAC do PC2 Pacote Camada de Enlace Camada Arp/IP Mac Origem Mac Dest Tipo Ip origem Ip destino Cod.Ope. Arp Pergunta ARP 343D FF-FF-FF- FF-FF-FF 08-06 172.16.0.2 172.16.0.3 01 Resposta ARP Ping 343d ??? 08-00 Xxxxxxxxxxx Tcp/Ip
??? Roteamento direto : Ping do PC0 para o PC2 Resposta da requisição ARP Pacote Camada de Enlace Camada Arp/IP Mac Origem Mac Dest Tipo Ip origem Ip destino Cod.Ope. Arp Pergunta ARP 343D FF-FF-FF-FF- FF-FF 08-06 172.16.0.2 172.16.0.3 01 Resposta ARP 865D 172.16.02 02 Ping 343d ??? 08-00 Xxxxxxxxxxx Tcp/Ip
Roteamento direto : Ping do PC0 para o PC2 Com a resposta ARP, resolve-se a interrogação, monta-se o pacote do ping e solta na rede Importante: o cache do arp do PC1 será atualizado (IP e MAC) para evitar novo broadcast quando necessário transmitir para o PC2 Pacote Camada de Enlace Camada Arp/IP Mac Origem Mac Dest Tipo Ip origem Ip destino Cod.Ope. Arp Pergunta ARP 343D FF-FF-FF-FF- FF-FF 08-06 172.16.0.2 172.16.0.3 01 Resposta ARP 865D 172.16.02 02 Ping 343d ???=865D 08-00 Xxxxxxxxxxx Tcp/Ip
??? Roteamento indireto : Ping do PC0 para o Server0 Montando os dados do Ping Pacote Camada de Enlace Camada Arp/IP Mac Origem Mac Dest Tipo Ip origem Ip destino Cod.Ope. Arp Pergunta ARP Resposta ARP Ping 343d ??? 08-00 172.16.0.2 192.168.1.2 Xxxxxxxxxxx Tcp/Ip
??? ? Roteamento indireto : Ping do PC0 para o Server0 Resolvendo a interrogação – Requisição ARP para descobirir o MAC do PC2 Pacote Camada de Enlace Camada Arp/IP Mac Origem Mac Dest Tipo Ip origem Ip destino Cod.Ope. Arp Pergunta ARP 343D FF-FF-FF- FF-FF-FF 08-06 172.16.0.2 ? 01 Resposta ARP Ping 343d ??? 08-00 192.168.1.2 Xxxxxxxxxxx Tcp/Ip
??? Roteamento indireto : Ping do PC0 para o Server0 Resolvendo a interrogação – Requisição ARP para descobirir o MAC do PC2 Pacote Camada de Enlace Camada Arp/IP Mac Origem Mac Dest Tipo Ip origem Ip destino Cod.Ope. Arp Pergunta ARP 343D FF-FF-FF- FF-FF-FF 08-06 172.16.0.2 172.16.0.1 01 Resposta ARP Ping 343d ??? 08-00 192.168.1.2 Xxxxxxxxxxx Tcp/Ip
Roteamento indireto : Ping do PC0 para o Server0 Com a resposta ARP, resolve-se a interrogação, monta-se o pacote do ping e solta na rede Importante: o cache do arp do PC1 será atualizado (IP e MAC) para evitar novo broadcast quando necessário transmitir para o Server0 usando o gateway RA Pacote Camada de Enlace Camada Arp/IP Mac Origem Mac Dest Tipo Ip origem Ip destino Cod.Ope. Arp Pergunta ARP 343D FF-FF-FF-FF- FF-FF 08-06 172.16.0.2 172.16.0.1 01 Resposta ARP c401 172.16.02 02 Ping 343d ???=C401 08-00 192.168.1.2 Xxxxxxxxxxx Tcp/Ip
Endereços de Enlace x Endereços de Rede P1 P3 P2 P4 P4 P1 R1 R4 A Z A=>Z:http://10.0.0.2/index.htm 01-01-01-03-04-05,01-01-01-03-04-07 01-01-01-01-01-01,01-01-01-01-01-02 10.0.0.1,10.2.0.2 10.0.0.1,10.2.0.2 1032,80 (Portas) Seq=100 1032,80 (Portas) Seq=100 Get index.htm (Método Http) Get index.htm (Método Http) Host A Ip 10.0.0.1/255.0.0.0 Mac 01-01-01-01-01-01 Roteador 10.00.2 Roteador 1 (R1) Ip 10.1.0.2/255.0.0.0 Mac 01-01-01-01-01-02 Roteador R4 Ip 10.2.0.1/255.0.0.0 Mac 01-01-01-03-04-05 Host Z Ip 10.2.0.2/255.0.0.0 Mac 01-01-01-03-04-07 Roteador 10.2.0.2 Endereços de enlace mudam a cada transmissão refletindo os endereços dos nós adjacentes (vizinhos) Endereços de Rede não mudam durante todo o percurso, são fim a fim, refletem os endereços da origem e destino da comunicação Tcp/Ip
Rede 10.0.0.0 Rede 172.16.0.0 P1 P3 P2 P4 P4 P1 R1 R4 A Z Ping 172.16.0.2 4 1 2 3 Host A Ip=10.0.0.1 Mask 255.0.0.0 Roteador Ip=10.0.0.2 Host Z Ip=172.16.0.1 Mask 255.255.0.0 Roteador =172.16.0.2 Tabela de Rotas Destino Máscara Gateway 10.0.0.0 255.0.0.0 10.0.0.1 0.0.0.0 0.0.0.0 10.0.0.2 Tabela de Rotas Destino Máscara Gateway 172.16.0.0 255.255.0.0 172.16.0.1 0.0.0.0 0.0.0.0 172.16.0.2 Tabela de Rotas R1 CC Destino Máscara Gateway Interface ----------------------------------------------- Configuração do R1 EO (Ethernet 0) Ip=10.0.0.2/255.0.0.0 Interface Serial 0 Ip 1.0.0.1/255.0.0.0 Interface Serial 1 Ip 2.0.0.1/255.0.0.0 Interface Serial 2 Ip 3.0.0.1/255.0.0.0 C 10.0.0.0 255.0.0.0 10.0.0.2 E0 C 1.0.0.0 255.0.0.0 1.0.0.2 S0 C 2.0.0.0 255.0.0.0 2.0.0.2 S1 C 3.0.0.0 255.0.0.0 3.0.0.2 S2 6 R 172.16.0.0 255.0.0.0 1.0.0.2 S0 5 Tcp/Ip
Tabela de Rotas no Roteador Rede 10.5.0.0 Rede 10.4.0.0 Rede 10.3.0.0 R4 2.0.0.0 1.0.0.0 Rede 10.1.0.0 R1 Rede 10.2.0.0 E0 R2 E1 Tabela de Rotas R2 CC Destino Máscara Gateway Interface ----------------------------------------------- Configuração do R2 EO (Ethernet 0) Ip=10.1.0.1/255.0.0.0 E1 (Ethernet 1) Ip=10.2.0.1/255.0.0.0 Interface Serial 0 Ip 1.0.0.1/255.0.0.0 Interface Serial 1 Ip 2.0.0.1/255.0.0.0 C 10.1.0.0 255.0.0.0 10.1.0.1 E0 C 10.2.0.0 255.0.0.0 10.2.0.1 E1 C 1.0.0.0 255.0.0.0 1.0.0.1 S0 C 2.0.0.0 255.0.0.0 2.0.0.1 S1 Rotas Estáticas (Administrador) S 10.3.0.0 255.0.0.0 1.0.0.2 S0 S 10.4.0.0 255.0.0.0 2.0.0.2 S1 Rotas Dinâmicas (Protocolos de Roteamento) O 10.5.0.0 255.0.0.0 10.1.0.2 S0 Tcp/Ip