Aprendizagem de TCP / IP "ping"

Ping do programa de ping

O programa de ping que envia a solicitação de eco é o cliente e o host com ping é o servidor.

Solicitação de eco ICMP e mensagem de resposta de eco:

Aprendizagem de TCP / IP "ping"
Para outros tipos de mensagens de consulta ICMP, o servidor deve responder aos campos de identificador e número de série. Além disso, os dados da opção enviados pelo cliente devem ser ecoados, supondo que o cliente esteja interessado nesta informação.
O número de série começa em 0 e aumenta em 1 sempre que uma nova solicitação de eco é enviada. O programa ping imprime o número de seqüência de cada pacote retornado, permitindo-nos ver se há alguma perda de pacote, fora de seqüência ou duplicação.


O formato geral das opções de roteamento de registro no cabeçalho IP:

Aprendizagem de TCP / IP "ping"

 -code é um byte que indica o tipo de opção de IP. Na opção RR, o valor é "7".

 -len é o comprimento total de bytes da opção RR, neste caso é 39 (embora você possa definir um comprimento menor do que o comprimento máximo para a opção RR, o programa de ping sempre fornece um campo de opção de 39 bytes e pode gravar até 9 IP Endereço. Devido ao espaço limitado deixado para opções no cabeçalho IP, geralmente é definido com o comprimento máximo).

 -ptr é chamado de campo de ponteiro. É um ponteiro baseado em 1 que aponta para o local onde o próximo endereço IP está armazenado. Seu valor mínimo é 4, que aponta para o local onde o primeiro endereço IP está armazenado. Como cada endereço IP é armazenado na lista, o valor de ptr é 8, 1, 2, 1, 6 e o ​​máximo é 3 6. Quando 9 endereços IP são registrados, o valor de ptr é 40, indicando que a lista está cheia.


O formato geral da opção de carimbo de data / hora no cabeçalho IP:

Aprendizagem de TCP / IP "ping"

 -O código para a opção de carimbo de data / hora é 0x44. Os outros dois campos len e ptr são iguais à opção de rota de registro: o comprimento total da opção (geralmente 36 ou 40) e o ponteiro para o próximo espaço disponível (5, 9, 1, 3, etc.).

 -OF (4 bits) significa campo de estouro, FL (4 bits) significa campo de bandeira.

A operação da opção timestamp é realizada de acordo com o campo flag:
  • 0: registra apenas o carimbo de data / hora
  • 1: Cada roteador registra seu endereço IP e carimbo de data / hora. Só há espaço para armazenar 4 pares de endereços e carimbos de data / hora na lista de opções
  • 3: O remetente inicializa a lista de opções, armazenando 4 endereços IP e 4 valores de carimbo de data / hora com valor 0. Somente quando o próximo endereço IP na lista corresponde ao endereço do roteador atual, seu carimbo de data / hora é registrado

O valor do carimbo de data / hora geralmente é o número de milissegundos desde a meia-noite UTC, que é semelhante às solicitações e respostas de carimbo de data / hora ICMP. Se o roteador não usar esse formato, ele pode inserir qualquer formato de representação de hora que usar, mas o bit alto no carimbo de data / hora deve ser ativado para indicar um valor não padrão.


O programa ping é uma ferramenta básica para testar a conectividade de dois sistemas TCP / IP. Ele usa apenas solicitação de eco ICMP e mensagem de resposta de eco, sem passar pela camada de transporte (TCP / UDP). O servidor ping geralmente implementa a função ICMP no kernel.


Acho que você gosta

Origin blog.51cto.com/14033577/2534457
Recomendado
Clasificación