Aprendizagem TCP / IP "IP (Internet Protocol)"

O IP é o protocolo mais importante do conjunto de protocolos TCP / IP. Todos os dados TCP, UDP, ICMP e IGMP são transmitidos no formato de datagrama IP.

  • Não confiável significa que não pode garantir que o datagrama IP possa chegar ao destino com sucesso. IP fornece apenas o melhor serviço de transmissão. Se ocorrer um erro durante a transmissão, o IP descartará o pacote e enviará uma mensagem ICMP à fonte. Qualquer confiabilidade necessária deve ser fornecida pela camada superior.
  • O termo sem conexão significa que o IP não mantém nenhuma informação de estado sobre os datagramas subsequentes. O processamento de cada datagrama é independente um do outro. Isso também mostra que os datagramas IP podem ser recebidos fora de ordem.

Cabeçalho IP

Formato de datagrama IP e campos no cabeçalho

Aprendizagem TCP / IP "IP (Internet Protocol)"
O valor de 32 bits de 4 bytes é transmitido na seguinte ordem: primeiro, 0 ~ 7 bits, depois 8 ~ 15 bits, depois 16 ~ 23 bits e, finalmente, 24-31 bits. Essa ordem de transmissão é chamada de ordem de bytes big endian. Como todos os números inteiros binários no cabeçalho TCP / IP devem estar nessa ordem quando são transmitidos pela rede, isso também é chamado de ordem de bytes da rede.

  • Versão: 4
  • Comprimento do cabeçalho: ocupa 4 dígitos, o maior valor decimal que pode ser representado é 15. Observe que a unidade do número representado por este campo é um comprimento de palavra de 32 bits (um comprimento de palavra de 32 bits é 4 bytes). Portanto, quando o comprimento do cabeçalho IP é 1111 (ou seja, 15 em decimal), o comprimento do cabeçalho chega a 60 byte. Quando o comprimento do cabeçalho do pacote IP não é um múltiplo inteiro de 4 bytes, ele deve ser preenchido com o último campo de preenchimento. Portanto, a parte dos dados sempre começa em um múltiplo inteiro de 4 bytes, o que é mais conveniente ao implementar o protocolo IP. A desvantagem de limitar o comprimento do cabeçalho a 60 bytes é que às vezes pode não ser suficiente. Mas isso é feito na esperança de que os usuários minimizem a sobrecarga. O comprimento do cabeçalho mais comumente usado é de 20 bytes (ou seja, o comprimento do cabeçalho é 0101), e nenhuma opção é usada no momento.
  • Tipo de serviço (TOS): O campo inclui um subcampo de prioridade de 3 bits (agora ignorado), subcampo TOS de 4 bits e 1 bit não utilizado, mas deve ser definido como 0. TOS de 4 bits representam respectivamente: atraso mínimo , Capacidade máxima, confiabilidade máxima e custo mínimo. Apenas um dos 4 bits pode ser definido. Se todos os 4 bits forem 0, significa serviço normal. Em 1998, o IETF renomeou esse campo como Serviços Diferenciados (DS). Este campo só funciona ao usar serviços diferenciados.

Valor recomendado do campo de tipo de serviço:

Aprendizagem TCP / IP "IP (Internet Protocol)"

  • Comprimento total: refere-se ao comprimento de todo o datagrama IP, em bytes. O campo de comprimento total é de 16 bits, então o comprimento máximo do datagrama é 2 ^ 16-1 = 65535 bytes. Cada camada de enlace de dados abaixo da camada IP tem seu próprio formato de quadro, que inclui o comprimento máximo do campo de dados no formato de quadro, que é chamado de Unidade Máxima de Transferência (MTU). Quando um datagrama é encapsulado em um quadro da camada de enlace, o comprimento total do datagrama (ou seja, o cabeçalho mais a parte de dados) não deve exceder o valor MTU da camada de enlace abaixo. O campo de comprimento total é um conteúdo necessário no cabeçalho IP, porque alguns links de dados (como Ethernet) precisam preencher alguns dados para atingir o comprimento mínimo. Embora o comprimento mínimo do frame da Ethernet seja 46 bytes, os dados IP podem ser menores. Se não houver um campo de comprimento total, a camada IP não sabe quanto dos 46 bytes é o conteúdo do datagrama IP.
  • Identificação (identificação): ocupa 16 dígitos. O software IP mantém um contador na memória, cada vez que um datagrama é gerado, o contador é incrementado em 1, e este valor é atribuído ao campo de identificação. Mas essa "identificação" não é um número sequencial, pois o IP é um serviço sem conexão, e não há problema de recepção sequencial de datagramas. Quando um datagrama deve ser fragmentado porque seu comprimento excede o MTU da rede, o valor deste campo de identificação é copiado para o campo de identificação de todos os datagramas. O valor do mesmo campo de identificação permite que cada datagrama após a fragmentação seja finalmente remontado no datagrama original corretamente.
  • Bandeira (bandeira): ocupa 3 bits, mas apenas 2 bits são significativos.

    • O bit mais baixo no campo do sinalizador é marcado como MF (More Fragment). MF = 1 significa que existem datagramas "fragmentados" por trás. MF = 0 significa que este é o último de vários fragmentos de datagrama.
    • Um bit no meio do campo de flag é marcado como DF (Don't Fragment), que significa "não pode ser fragmentado". A fragmentação é permitida apenas quando DF = 0.
  • Deslocamento do filme: 13 bits. O deslocamento da fatia indica a posição relativa de uma fatia no grupo original após o grupo mais longo ser fatiado. Ou seja, em relação ao início do campo de dados do usuário, onde começa a peça. O deslocamento do chip usa 8 bytes como unidade de deslocamento. Isso significa que, exceto para o último fragmento, o comprimento de cada fragmento deve ser um múltiplo inteiro de 8 bytes (64 bits).
  • Time to live (TTL): ocupa 8 bits.A abreviação em inglês comumente usada para o campo time to live é TTL (Time To Live), que indica o tempo de vida do datagrama na rede. Este campo é definido pela fonte do datagrama. Seu objetivo é evitar que datagramas não entregues circulem pela Internet indefinidamente, consumindo recursos da rede em vão. O design original usa segundos como unidade de TTL. Cada vez que passa por um roteador, o TTL é subtraído do período de tempo em que o datagrama é consumido pelo roteador. Se o tempo consumido pelo datagrama no roteador for menor que 1 segundo, o valor TTL será reduzido em 1. Quando o valor TTL é 0, o datagrama é descartado. Posteriormente, a função do campo TTL foi alterada para "limite de salto" (mas o nome permanece inalterado). O roteador reduz o valor TTL em 1 antes de encaminhar o datagrama. Se o valor TTL for reduzido a zero, o datagrama será descartado e não mais encaminhado. Portanto, a unidade de TTL não é mais segundos, mas saltos. O significado de TTL é especificar no máximo quantos roteadores um datagrama pode passar na rede. Obviamente, o valor máximo do roteador que um datagrama passa na rede é 255. Se o valor inicial de TTL for definido como 1, significa que o datagrama só pode ser transmitido na rede local.
  • Protocolo: Ocupa 8 bits, o campo do protocolo indica qual o protocolo utilizado para os dados transportados neste datagrama, para que a camada IP do host de destino saiba qual o procedimento de processamento que deve ser entregue na parte dos dados.
  • Primeira soma de verificação: 16 casas. Este campo verifica apenas o cabeçalho do datagrama, mas não inclui a parte dos dados. Isso ocorre porque toda vez que um datagrama passa por um roteador, o roteador deve recalcular a soma de verificação do cabeçalho (alguns campos, como tempo de vida, sinalizadores, deslocamento de fatia, etc., podem mudar). Não verificar a parte dos dados pode reduzir a carga de trabalho do cálculo. ICMP, IGMP, UDP e TCP contêm cabeçalhos de cobertura simultânea e códigos de checksum de dados em seus respectivos cabeçalhos.

  Para calcular o checksum IP de um datagrama, primeiro defina o campo checksum como 0. Em seguida, execute a soma de complemento binário para cada 16 bits no cabeçalho (o cabeçalho inteiro é considerado uma sequência de palavras de 16 bits) e o resultado é armazenado no campo de soma de verificação. Quando um datagrama IP é recebido, o complemento binário de cada 16 bits no cabeçalho também é adicionado. Uma vez que o receptor inclui a soma de verificação no cabeçalho do remetente no processo de cálculo, se não houver erro no cabeçalho durante a transmissão, o resultado do cálculo do receptor deve ser um. Se o resultado não for todo 1s (ou seja, a soma de verificação está errada), o IP descarta o datagrama recebido. Mas nenhuma mensagem de erro é gerada e a camada superior encontra o datagrama perdido e o retransmite.

  • Endereço de origem: 32 bits.
  • Endereço de destino: 32 bits.
  • Opcional: o campo de opção é usado para dar suporte à solução de problemas, medição e medidas de segurança, e o conteúdo é muito rico. O comprimento deste campo é variável, variando de 1 byte a 40 bytes, dependendo do item selecionado. Alguns itens de opção precisam apenas de 1 byte e inclui apenas 1 byte de código de opção. Mas existem algumas opções que requerem vários bytes. Essas opções são emendadas uma a uma, sem um separador no meio. Finalmente, um campo de preenchimento com todos os 0s é usado para preencher um múltiplo inteiro de 4 bytes. Adicionar a parte variável do cabeçalho é aumentar a função do datagrama IP, mas também torna o comprimento do cabeçalho da variável do datagrama IP. Isso aumenta a sobrecarga de cada roteador para processar datagramas. Na verdade, essas opções raramente são usadas. A nova versão do IP IPv6 torna o comprimento do cabeçalho do datagrama IP fixo. Essas opções são definidas da seguinte maneira (essas opções raramente são usadas e nem todos os hosts e roteadores suportam essas opções.):
    • Restrições de segurança e manuseio (para uso militar)
    • Registre o caminho (deixe cada roteador anotar seu endereço IP)
    • Carimbo de data / hora (deixe que cada roteador anote o endereço IP e a hora local de cada roteador pelo qual o datagrama IP passa)
    • Loose Source Route (especifique uma série de endereços IP que devem ser transmitidos para datagramas)
    • Rota de origem estrita (rota de origem estrita) (semelhante à rota de origem solta, mas é necessário passar apenas por esses endereços especificados, não por outros endereços)

Roteamento IP

O IP pode receber e enviar datagramas (ou seja, datagramas gerados localmente) de TCP, UDP, ICMP e IGMP ou receber e enviar datagramas (datagramas a serem encaminhados) de uma interface de rede. A camada IP possui uma tabela de roteamento na memória. Ao receber um datagrama e enviá-lo, ele pesquisa a tabela uma vez. Quando o datagrama vem de uma determinada interface de rede, o IP primeiro verifica se o endereço IP de destino é um dos endereços IP locais ou endereço de transmissão IP.

  • Se for esse o caso, o datagrama é enviado ao módulo de protocolo especificado pelo campo de protocolo do cabeçalho IP para processamento.
  • Se o destino do datagrama não for esses endereços, então:
    • Se a camada IP for definida como uma função de roteador, o datagrama será encaminhado;
    • Queda de pacotes (não definida como uma função de roteador).
Informações contidas em cada item da tabela de roteamento:
  • Endereço IP de destino. Pode ser um endereço de host completo ou um endereço de rede, que é especificado pelo campo de sinalização na entrada. O endereço do host tem um número de host diferente de zero para especificar um host específico e o número do host no endereço de rede é 0 para especificar todos os hosts na rede (como Ethernet, Token Ring).
  • O endereço IP do roteador de próximo salto ou o endereço IP de uma rede conectada diretamente. O roteador de próxima parada refere-se a um roteador em uma rede conectada diretamente por meio do qual os datagramas podem ser encaminhados. O roteador de próxima parada não é o destino final, mas pode encaminhar o datagrama entregue a ele para o destino final.
  • Placa. Um dos sinalizadores indica se o endereço IP de destino é um endereço de rede ou um endereço de host, e o outro sinalizador indica se o roteador de próxima parada é um roteador de próxima parada real ou uma interface conectada diretamente.
  • Especifique uma interface de rede para transmissão de datagramas.
O roteamento de IP completa principalmente as seguintes funções:

 1) Pesquise a tabela de roteamento para encontrar uma entrada que possa corresponder exatamente ao endereço IP de destino (o número da rede e o número do host devem corresponder). Se encontrada, a mensagem é enviada para o próximo roteador ou interface de rede diretamente conectada especificada pela entrada (dependendo do valor do campo do sinalizador).
 2) Pesquise a tabela de roteamento para encontrar uma entrada que possa corresponder ao número da rede de destino. Se encontrada, a mensagem é enviada para o próximo roteador ou interface de rede diretamente conectada especificada pela entrada (dependendo do valor do campo do sinalizador). Todos os hosts na rede de destino podem ser tratados por meio dessa entrada.
 3) Pesquise a tabela de roteamento para encontrar a entrada marcada como "padrão". Se encontrada, a mensagem é enviada ao próximo roteador designado pela entrada.
 Se nenhuma das etapas acima for bem-sucedida, o datagrama não poderá ser transmitido. Se o datagrama que não pode ser transmitido vier da máquina local, geralmente retornará um erro de "host inacessível" ou "rede inacessível" para o aplicativo que gerou o datagrama.


Endereçamento de sub-rede

Endereçamento de sub-rede


Máscara de sub-rede

Máscara de sub-rede


Endereço IP para circunstâncias especiais

Aprendizagem TCP / IP "IP (Internet Protocol)"
Os dois primeiros itens, o número da rede é 0, se o host usa o protocolo BOOTP para determinar o endereço IP da máquina, ele só pode aparecer como o endereço de origem no processo de inicialização.


comando ifconfig

ifconfig


comando netstat

netstat


O futuro do IP

Existem três problemas principais com o IP, que são o resultado do rápido crescimento da Internet nos últimos anos.
 1). Mais da metade dos endereços de Classe B foram alocados. De acordo com as estimativas, eles foram esgotados por volta de 1995.
 2) Da perspectiva do crescimento da Internet a longo prazo, os endereços IP de 32 bits geralmente não são suficientes.
 3) A estrutura de roteamento atual não tem estrutura hierárquica e pertence a uma estrutura plana.Cada rede precisa de uma entrada na tabela de roteamento. Conforme o número de redes cresce, um site com várias redes deve alocar vários endereços de Classe C em vez de um endereço de Classe B, de modo que a escala da tabela de roteamento continuará a crescer.

Para a nova versão do IP, o IP da próxima geração, geralmente chamado de IPng, existem quatro sugestões principais.

 1). SIP, protocolo de Internet simples. Ele propõe uma proposta de modificação mínima para o IP atual, usando um endereço de 64 bits e um formato de cabeçalho diferente (os primeiros 4 bits do cabeçalho ainda contêm o número da versão do protocolo, e seu valor não é mais 4).
 2). PIP. Esta proposta também usa endereços maiores, de comprimento variável e hierárquicos, e o formato do cabeçalho também é diferente.
 3) O TUBA, que significa "TCP e UDP com endereço maior", é baseado no CLNP (Connectionless Network Protocol) da OSI, um protocolo OSI semelhante ao IP. Ele fornece um espaço de endereço muito maior: comprimento variável, até 20 bytes.
 4). TP / IX. Embora o SIP use um endereço de 64 bits, ele também altera os formatos de TCP e UDP: ambos os protocolos são números de porta de 32 bits, números de série de 64 bits, números de confirmação de 64 bits e janelas TCP de 32 bits. .


Acho que você gosta

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