s de Computadores s de Computadores s de Computadores 2 1
Roteamento como visto cada gateway / host roteia mensagens não há coordenação com outras máquinas Funciona bem para sistemas estáveis e sem erros / falhas >>> esta não é a realidade Problemas: falhas de comunicação falhas em processadores máquinas desconectadas temporariamente congestionamento - gateways intermediários não conseguem processar tráfego Deve-se permitir que erros e circunstâncias anormais sejam comunicadas s de Computadores 3 ICMP - Internet Control Message Protocol permite que gateways mandem mensagens de erro ou controle a outros gateways ou hosts proporciona comunicação entre o SW IP em uma máquina e o SW IP de outra máquina somente relata situações de erro ao fonte (pois só o endereço do fonte está disponível no pacote). O fonte (originador do pacote) deve tomar atitudes para corrigir o problema erros de responsabilidade do originador: OK erros de responsabilidade de nodos intermediários: nada a fazer s de Computadores 4 2
ICMP usado pelo IP para reportar situações de erro ICMP usa o IP para mandar suas mensagens ICMP não reporta erros de mensagens ICMP Campo tipo =1 indica ICMP s de Computadores 5 Tratamento por módulos de software ICMP de Enlace IPv4 ou v6 Enlace s de Computadores 6 3
Formato da mensagem s de Computadores 7 Type code meaning 0 0 echo reply 3 0 network unreachable 3 1 host unreachable 3 2 port unreachable 4 0 source queench 5 0 redirece 8 0 echo request 9/10 0 router discovery advertisement 11 0 time exeeded 12 0 parameter problem 13/14 0 time stamp request 17/18 0 network request/reply s de Computadores 8 4
Algumas funções do ICMP teste de alcançabilidade (ping) relato de destinatário não alcancável congestionamento controle de fluxo manda pacote source queech para origem do pacote baixar taxa de transmissão pedido de troca de rotas detecção de rotas circulares ou longas detecção de MTU s de Computadores 9 Teste de alcançabilidade ICMP echo request e echo reply verifica: sw IP na máquina local gateways intermediários máquina remota e seus softwares de IP e ICMP comando PING de Enlace IPv4 ou v6 Enlace ICMP de Enlace IPv4 ou v6 Enlace s de Computadores 10 5
ICMP IPv4 ou v6 ICMP IPv4 ou v6 de Enlace reply Enlace request de Enlace Enlace s de Computadores 11 Relato de destinatário não alcançável quando um gateway não consegue entregar o datagrama relato de causa: 0, network unreachable ; 1, host unreachable; 2, port unreachable s de Computadores 12 6
Congestionamento IP é não orientado a conexão não se pode reservar recursos por conexão >> gateways podem receber mais mensagens do que conseguem tratar uso de mensagens source queench para controle de fluxo gateway congestionado manda mensagens para que o originador mande mensagens a uma taxa menor mensagens enviadas enquanto o congestionamento estiver acontecendo para o originador a ausência de mensagens source queench significa possibilidade de aumentar novamente a taxa de transmissão - esta retomada é gradual s de Computadores 13 Congestionamento Host Gateway Descarte MSG Source Queech s de Computadores 14 7
Formato da mensagem source queench Header do pacote descartado s de Computadores 15 Pedido de troca de rotas em tabelas de hosts gateways sabem rotas quando gateway detecta que o host usa rota ineficiente, o gateway manda uma mensagem ICMP-redirect para que o host passe a usar outra rota um host pode inicializar sabendo somente um gateway da rede local hosts iniciam com informação mínima sobre roteamento, e aprendem novas rotas dos gateways H1 G1 G2 H2 H1: só conhece G1 ao iniciar H1 manda mensagem para H2 usando G1 G1 detecta rota não ótima e informa H1 sobre G2 via Redirect H1 adiciona G2 em sua tabela de rotas s de Computadores 16 8
s de Computadores 17 Detecção de rotas circulares ou longas cada vez que um pacote IP passa por um nodo intermediário, o contador TTT (Time To Live) é decrementado quando este for zero e o pacote não estiver no destino, o pacote é descartado e o originador é notificado s de Computadores 18 9
Detecção MTU da rota pacote IP enviado com bit don t fragment setado ao chegar em roteador cujo próximo enlace tem MTU menor que o pacote roteador descarta pacote envia mensagem ICMP de aviso ao fonte s de Computadores 19 Implementação do PING fldotti@kriti 41 % ping -s hios PING hios.inf.pucrs.br: 56 data bytes 64 bytes from hios.inf.pucrs.br (200.17.93.34): icmp_seq=0. time=1. ms 64 bytes from hios.inf.pucrs.br (200.17.93.34): icmp_seq=1. time=0. ms 64 bytes from hios.inf.pucrs.br (200.17.93.34): icmp_seq=2. time=0. ms 64 bytes from hios.inf.pucrs.br (200.17.93.34): icmp_seq=3. time=0. ms ^C ----hios.inf.pucrs.br PING Statistics---- 4 packets transmitted, 4 packets received, 0% packet loss round-trip (ms) min/avg/max = 0/0/1 manda um echo request a cada segundo, comnúmero de sequencia, marca o instante de envio recebe os echo reply e calcula o tempo de retorno s de Computadores 20 10
Implementação do Traceroute fldotti@hios 43 % traceroute -I jacui.inf.ufrgs.br traceroute to jacui.inf.ufrgs.br (143.54.11.130), 30 hops max, 40 byte packets 1 200.17.93.254 (200.17.93.254) 0.856 ms 0.637 ms 0.564 ms 2 200.132.14.1 (200.132.14.1) 0.902 ms 0.862 ms 0.797 ms 3 200.17.89.33 (200.17.89.33) 4.588 ms 3.920 ms 4.168 ms 4 pucrs-s2-betelgeuse.tche.br (200.19.240.9) 6.979 ms 4.535 ms 5.168 ms 5 rnp-a155-castor.tche.br (200.19.246.2) 5.469 ms 4.985 ms 11.304 ms 6 ufrgs-f4-2-grs.pop-rs.rnp.br (200.132.0.16) 5.021 ms 6.039 ms 4.877 ms 7 routii.inf.ufrgs.br (143.54.4.3) 8.095 ms 5.691 ms 6.290 ms 8 jacui.inf.ufrgs.br (143.54.11.130) 6.564 ms 6.430 ms 4.616 ms s de Computadores 21 Implementação do Traceroute fldotti@hios 42 % traceroute jacui.inf.ufrgs.br traceroute to jacui.inf.ufrgs.br (143.54.11.130), 30 hops max, 40 byte packets 1 200.17.93.254 (200.17.93.254) 0.899 ms 0.668 ms 2.674 ms 2 200.132.14.1 (200.132.14.1) 1.076 ms 0.823 ms 0.800 ms 3 200.17.89.33 (200.17.89.33) 3.880 ms 8.151 ms 3.246 ms 4 pucrs-s2-betelgeuse.tche.br (200.19.240.9) 18.635 ms 10.509 ms 5.840 ms 5 rnp-a155-castor.tche.br (200.19.246.2) 27.393 ms 23.485 ms 10.769 ms 6 ufrgs-f4-2-grs.pop-rs.rnp.br (200.132.0.16) 357.182 ms 12.197 ms 15.627 ms 7 routii.inf.ufrgs.br (143.54.4.3) 11.177 ms!x * 18.086 ms!x s de Computadores 22 11
Implementação do Traceroute manda mensagem UDP para porta não usada no host destino, com ttl=1 roteador decrementa ttl (=0), retorna uma mensagem ICMP time exceeded traceroute manda mensagem com ttl=2... Ttl++ até que mensagem chege ao destino o destino manda uma mensagem ICMP service unavailable s de Computadores 23 Implementação do Traceroute -I manda mensagem ICMP echo request para o destino, com ttl=1 roteador decrementa ttl (=0), retorna uma mensagem ICMP time exceeded traceroute manda mensagem com ttl=2... ttl++ até que mensagem chege ao destino o destino manda uma mensagem ICMP echo reply s de Computadores 24 12
Implementação do Traceroute usualmente testa cada roteador 3 x mensagem perdida ou roteador que não responde é sinalizado por * s de Computadores 25 13