Eu sei que o comprimento do cabeçalho IP é de no mínimo 20 bytes e no máximo 60 bytes. Mas por que? Por que o comprimento do cabeçalho IP é limitado a 60 bytes? Existe alguém aqui que possa me explicar? Obrigado.
Eu sei que o comprimento do cabeçalho IP é de no mínimo 20 bytes e no máximo 60 bytes. Mas por que? Por que o comprimento do cabeçalho IP é limitado a 60 bytes? Existe alguém aqui que possa me explicar? Obrigado.
Respostas:
O protocolo Internet (IP) é definido na RFC 791 . O RFC especifica o formato do cabeçalho IP. No cabeçalho, há o campo IHL ( Internet Header Length ), que tem 4 bits de comprimento e especifica o comprimento do cabeçalho em palavras de 32 bits . O campo IHL pode conter valores de 0 (binário 0000) a 15 (binário 1111).
Portanto, o tamanho mais longo do cabeçalho da Internet (cabeçalho IP) pode ser de 15 * 32 bits = 480 bits = 60 bytes . É por isso que o cabeçalho tem um tamanho máximo de 60 bytes.
O tamanho mais curto do cabeçalho é 20 bytes, onde o campo IHL possui o valor 5 (0101). Isso ocorre porque todos os campos obrigatórios no cabeçalho precisam de 20 bytes de espaço. Portanto, enquanto em teoria você poderia definir o DIH para um valor <5, esse sempre seria um valor incorreto e, portanto, um cabeçalho de pacote inválido.
De acordo com o RFC 791, onde está definido, consulte a página 12, onde ele discute datagramas:
Comprimento total é o comprimento do datagrama, medido em octetos, incluindo dados e cabeçalho da Internet. Este campo permite que o comprimento de um datagrama seja de até 65.535 octetos. Esses datagramas longos são impraticáveis para a maioria dos hosts e redes. Todos os hosts devem estar preparados para aceitar datagramas de até 576 octetos (se eles chegam inteiros ou em fragmentos). Recomenda-se que os hosts enviem datagramas apenas maiores que 576 octetos se tiverem certeza de que o destino está preparado para aceitar os datagramas maiores.
O número 576 é selecionado para permitir que um bloco de dados de tamanho razoável seja transmitido além das informações de cabeçalho necessárias. Por exemplo, esse tamanho permite que um bloco de dados de 512 octetos mais 64 octetos de cabeçalho se encaixe em um datagrama. O cabeçalho máximo da Internet é de 60 octetos, e um cabeçalho típico da Internet é de 20 octetos, permitindo uma margem para cabeçalhos de protocolos de nível superior. "
Basicamente, o comprimento foi definido entre 20 e 60 para permitir diferentes usos de protocolo e ajustar-se ao tamanho de datagrama recomendado.