Por que a ordem dos bytes da rede é definida como big endian? [fechadas]


88

Conforme escrito no título, minha pergunta é: por que o TCP / IP usa a codificação big endian ao transmitir dados e não o esquema alternativo little-endian?


36
apesar do fato de ter sido fechada, esta página foi muito útil
Goaler444

1
A partir deste guia do produto , no link Big Endian : As redes geralmente usam ordem big-endian e, portanto, é chamada de ordem de rede ao enviar informações por uma rede em um formato comum. A rede telefônica, histórica e atualmente, usa uma ordem big-endian; fazer isso permite o roteamento enquanto um número de telefone está sendo composto. [...] Presumivelmente, as primeiras redes de computadores dependiam das redes de telefonia da época, e o resto é história ...
atravers

Respostas:


77

RFC1700 afirmou que deve ser assim . (e definiu a ordem de bytes da rede como big-endian).

A convenção na documentação dos protocolos da Internet é expressar números em decimais e representar dados na ordem "big-endian" [COHEN]. Ou seja, os campos são descritos da esquerda para a direita, com o octeto mais significativo à esquerda e o octeto menos significativo à direita.

A referência que eles fazem é a

On Holy Wars and a Plea for Peace 
Cohen, D. 
Computer

O resumo pode ser encontrado no IEN-137 ou nesta página do IEEE .


Resumo:

O caminho escolhido não faz muita diferença. É mais importante concordar com um pedido do que com o pedido acordado.

Ele conclui que os esquemas big-endian e little-endian poderiam ter sido possíveis. Não há esquema melhor / pior e qualquer um pode ser usado no lugar do outro, desde que seja consistente em todo o sistema / protocolo.


RFC 3232 parece dizer "RFC1700 está obsoleto" sem dar qualquer substituição
MM

11
@Anirudh, essa "resposta" está evitando a pergunta. A questão é perguntar a razão subjacente pela qual bigendian é escolhido em vez da ( s ) alternativa ( s ). Re " O caminho escolhido não faz muita diferença ", isso é falso porque, na realidade, é importante devido ao simples fato de que o desempenho é importante (e esse padrão está arraigado nas camadas mais baixas das comunicações de rede).
Pacerier,

2
@Pacerier Não haveria diferença em termos de desempenho, que é o que o artigo vinculado fala em detalhes.
Anirudh Ramanathan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.