Posição do IP de origem e destino em um pacote IP

7

Em um cabeçalho de quadro Ethernet, o MAC de destino (DMAC) é colocado antes do MAC de origem por razões óbvias (as estações aceitam com base no DMAC). Mas por que a mesma coisa não é mantida para o IP de destino (DIP) e o IP de origem (SIP) no cabeçalho IP?

Por que o SIP está à frente do DIP em um cabeçalho de quadro IP, diferente de um quadro Ethernet em que o DMAC está à frente do SMAC?

John
fonte
4
Eu acho que os caras da ethernet imaginaram 'cut-through' desde o início. Com o IP, o 'corte' não é realmente possível, pois o 'checksum do cabeçalho' está antes de qualquer endereço IP, mas inclui endereços IP; portanto, você precisa ler o cabeçalho IP inteiro antes de poder determinar o valor no cabeçalho, o que realmente torna a ordem do cabeçalho neste contexto irrelevante. Mas ele ainda levanta a questão: por que o cabeçalho IP não foi projetado para ser amigável? E a resposta provavelmente é: não era remotamente interessante / importante na época e é discutível se for hoje.
ytti
2
@ytti: Que melhoria faria se o IP suportasse 'cut-through'? IP é raramente usado sem uma camada 2.
BatchyX
2
Para a Ethernet, acho que colocar o destino em primeiro lugar se deve ao fato de os hubs estarem na moda e tornar mais eficiente para os hosts determinar se um quadro é adequado para eles. As versões anteriores do IP e TCP tinham o endereço de destino primeiro. Não há uma explicação real por que ele foi trocado na v4. Não acredito que a eficiência ou a velocidade tenham sido um ponto de ênfase em IP.
Santino
@BatchyX enquanto o IP é usado com L2, se você precisar tomar uma decisão de roteamento L3, não poderá fazê-lo por causa do design do quadro, pessoalmente não estou muito convencido de que o corte seja útil mesmo em L2, mas Eu também não me sinto muito fortemente sobre isso. Talvez algumas pessoas tenham um bom caso de uso para interrupção de IP.
ytti
Alguma resposta o ajudou? Nesse caso, você deve aceitar a resposta para que a pergunta não apareça para sempre, procurando uma resposta. Como alternativa, você pode fornecer e aceitar sua própria resposta.
Ron Maupin

Respostas:

3

A idéia era saber o mais rápido possível se um quadro era multicast; a ordem dos bytes da rede foi estragada levemente no design, de modo que é o segundo, e não o primeiro.

Niels
fonte
3
O TokenRing enviava o MAC da esquerda para a direita, para que o bit multicast fosse visto como 1º bit, em vez de 8º bit.
ytti