Mengapa urutan byte jaringan didefinisikan sebagai big-endian? [Tutup]

88

Seperti yang tertulis dalam tajuk, pertanyaan saya adalah, mengapa TCP / IP menggunakan pengkodean big endian saat mengirimkan data dan bukan skema little-endian alternatif?

Neji
sumber
36
meskipun faktanya telah ditutup, halaman ini cukup membantu
Goaler444
1
Dari panduan produk ini , di bawah tautan Big Endian : Jaringan umumnya menggunakan pesanan big-endian, dan oleh karena itu disebut urutan jaringan saat mengirimkan informasi melalui jaringan dalam format umum. Jaringan telepon, secara historis dan sekarang, menggunakan pesanan big-endian; melakukan hal itu memungkinkan perutean saat nomor telepon sedang disusun. [...] Agaknya jaringan komputer awal bergantung pada jaringan telepon saat itu, dan sisanya adalah sejarah ...
atravers

Jawaban:

77

RFC1700 menyatakan itu pasti begitu . (dan menetapkan urutan byte jaringan sebagai big-endian).

Ketentuan dalam dokumentasi Protokol Internet adalah menyatakan angka dalam desimal dan menggambarkan data dalam urutan "big-endian" [COHEN]. Artinya, bidang dijelaskan dari kiri ke kanan, dengan oktet paling signifikan di sebelah kiri dan oktet paling signifikan di sebelah kanan.

Referensi yang mereka buat adalah

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

Abstrak dapat ditemukan di IEN-137 atau di halaman IEEE ini .


Ringkasan:

Cara mana yang dipilih tidak membuat banyak perbedaan. Lebih penting untuk menyetujui pesanan daripada yang disepakati pesanan.

Ini menyimpulkan bahwa skema big-endian dan little-endian bisa saja dimungkinkan. Tidak ada skema yang lebih baik / lebih buruk , dan keduanya dapat digunakan untuk menggantikan yang lain selama konsisten di seluruh sistem / protokol.

Anirudh Ramanathan
sumber
RFC 3232 tampaknya mengatakan "RFC1700 sudah usang" tanpa memberikan penggantinya
MM
11
@Anirudh, "Jawaban" ini menghindari pertanyaan. Pertanyaannya adalah meminta alasan yang mendasari mengapa bigendian dipilih bukan alternatif ( s ). Re " Cara mana yang dipilih tidak membuat terlalu banyak perbedaan " ,, ini salah karena pada kenyataannya itu penting karena fakta sederhana bahwa kinerja itu penting (dan standar seperti itu tertanam di lapisan paling bawah komunikasi jaringan).
Pacerier
2
@Pacerier Tidak akan ada perbedaan dalam hal kinerja, yang dibicarakan oleh makalah terkait secara rinci.
Anirudh Ramanathan