Alat pembangun · UUID penjana
Daripada Apollo NCS kepada RFC 9562: Sejarah Singkat UUID
· Latar belakang
uuid kriptografi pelayar-apis
Reka letak 8-4-4-4-12 dan saiz 128-bit yang ganjil diwarisi daripada pengkomputeran teragih tahun 1980-an. Catatan ini mengesan UUID daripada Sistem Pengkomputeran Rangkaian Apollo melalui DCE, GUID dan dua piawaian IETF Microsoft.
Mengapa 128 bits dan mengapa tanda sempang tersebut? — soalan yang ditanya oleh setiap pendatang baru dan jawapan sejarah
8-4-4-4-12 format sempang dan 128-bit saiz UUID adalah pilihan reka bentuk yang segera dikaji oleh ahli sejarah. Mengapa tidak 96 bits untuk matematik yang lebih mudah? Mengapa susun atur segmen khusus itu? Mengapa asas-16 dengan tanda sempang dan bukannya asas-64 atau pengekodan yang lebih mudah? Jawapannya terletak pada Sistem Pengkomputeran Rangkaian Apollo pada awal 1980-an, platform pengkomputeran teragih yang menghadapi masalah tulen: sistem dalam rangkaian diperlukan untuk memperuntukkan pengecam unik tanpa pihak berkuasa pusat, dan pengecam tersebut mestilah unik secara global dengan kebarangkalian yang besar. Apollo NCS menyelesaikan masalah ini dengan menggabungkan cap masa, alamat rangkaian dan jujukan jam ke dalam pengecam 128-bit yang boleh dijana secara bebas oleh mana-mana mesin.
Sistem Pengkomputeran Rangkaian Apollo — asal 1980-an bagi pengecam unik yang dibina dari masa dan alamat rangkaian
Piawaian semasa merekodkan keturunan daripada Apollo NCS melalui OSF Persekitaran Pengkomputeran Teragih dan kemudiannya platform Microsoft. Sejarah itu menerangkan sebab sistem moden berkongsi keluarga 128-bit yang boleh dikenali sambil mengekalkan penanda varian untuk reka letak yang lebih lama. Ia tidak mewujudkan jaminan keunikan mutlak: setiap versi mempunyai peraturan penjanaan dan mod kegagalannya sendiri. Pencapaian yang tahan lama ialah kesalingoperasian tanpa perkhidmatan pendaftaran pusat. Pelayar, pangkalan data dan sistem pengendalian boleh menukar bentuk perenambelasan kanonik yang sama, memeriksa medan varian dan versinya, dan memutuskan sama ada resipi yang menghasilkan sesuai dengan keperluan sistem penerima.
OSF DCE dan medan varian — cara Persekitaran Pengkomputeran Teragih memformalkan reka letak dan menambah bit varian
Reka letak ini menampung strategi penjanaan berbilang melalui medan versi dan varian yang dibenamkan dari permulaan reka bentuk. Penjanaan berasaskan masa, penjanaan rawak dan penjanaan berasaskan nama semuanya boleh wujud bersama dalam ruang pengecam yang sama. Aplikasi moden mempunyai keperluan yang berbeza daripada NCS tahun 1980-an—pangkalan data yang mahukan kunci boleh diisih, sistem awan yang mahukan privasi, sistem teragih yang mahukan rintangan perlanggaran—namun struktur 128-bit yang sama masih menampungnya. Versi 6 dan 7 yang ditambahkan dalam RFC 9562 dalam 2024 membuktikan bahawa pereka asal meninggalkan ruang untuk evolusi masa depan tanpa memecahkan keserasian ke belakang.
GUID Microsoft — COM, pendaftaran dan gaya pendakap dan huruf besar yang berterusan hari ini
Sistem Pengkomputeran Rangkaian Apollo ialah platform pengkomputeran teragih yang dijalankan pada stesen kerja Apollo Computer pada tahun 1980-an. Ia bergantung pada pengecam unik global untuk panggilan prosedur jauh, replikasi data dan perkhidmatan penamaan. Nod dalam rangkaian tidak mempunyai cara untuk menyelaraskan penetapan ID kerana anda tidak dapat menghubungi pelayan pusat jika rangkaian mungkin dipisahkan atau diputuskan sambungan. Jadi pereka Apollo mencipta format 128-bit yang menggabungkan cap masa 60 bits, pengecam nod biasanya diperoleh daripada alamat MAC kad rangkaian 48 bits dan urutan jam 14 bits untuk mengendalikan perubahan clock_4__. Pendekatan ini membenarkan nod menjana pengecam secara bebas dengan menggabungkan masa, jujukan jam dan medan nod; kelakuannya masih bergantung pada jam dan pemilihan nod.
RFC 4122 (2005) - yang IETF standard yang menentukan versi 1 kepada 5 dan URN ruang nama, sejajar dengan ITU-T X.667
Apabila OSF kemudiannya menyeragamkan ini untuk Persekitaran Pengkomputeran Teragih mereka di sekeliling 1992, mereka mengekalkan reka letak yang sama dan menambah medan varian untuk membezakan berbeza UUID jenis. Reka bentuk telah terbukti dalam sistem pengeluaran. IETF diseragamkan RFC 4122 dalam 2005, hampir dua puluh tahun selepas Apollo NCS dan kira-kira tiga belas tahun selepas itu DCE penyeragaman. RFC 4122 versi yang dikodkan 1 melalui 5: versi 1 untuk penjanaan berasaskan masa, versi 3 untuk berasaskan nama dengan MD5, versi 4 untuk rawak, dan versi 5 untuk berasaskan nama dengan SHA-1. Piawaian ini stabil dan diterima pakai secara meluas kerana ia sudah ada di mana-mana dalam Microsoft Windows, DNS infrastruktur dan sistem teragih. Pada masa RFC 4122 telah diterbitkan, tersebut UUID sudah begitu tertanam dalam infrastruktur sehingga penyeragaman hampir bersifat akademik.
RFC 9562 (2024) — semakan yang lapuk RFC 4122, menambah versi 6, 7 dan 8, dan menulis nasihat moden tentang rawak
Dalam 2024, yang IETF diterbitkan RFC 9562, yang usang RFC 4122 dan menambah versi 6, 7 dan 8. Versi 6 menyusun semula medan masa versi 1 untuk lokaliti pokok B yang lebih baik dan kebolehurutan. Versi 7 menggunakan cap waktu Unix moden dan biasa dan bukannya 1582kiraan berasaskan, meningkatkan kebolehurutan dan memenuhi keperluan pangkalan data moden. Versi 8 menyimpan ruang untuk pelaksanaan tersuai dan eksperimen UUID reka bentuk. Versi baharu menangani masalah yang timbul selama empat puluh tahun UUID penggunaan: prestasi pangkalan data yang lemah bagi kunci rawak, kebocoran privasi versi 1, dan keinginan untuk pengecam boleh diisih dalam sistem awan. Namun intinya 128-struktur bit, medan varian dan versi serta susun atur keseluruhan kekal utuh.
Perkara ini tidak meliputi — butiran pelaksanaan setiap versi, yang mempunyai siaran mereka sendiri
Penggunaan UUID oleh Microsoft sebagai Pengecam Unik Global GUID dalam Model Objek Komponen membenamkannya secara mendalam dalam sistem Windows bermula pada tahun 1990-an. GUID muncul dalam pendaftaran, dalam COM antara muka dan dalam infrastruktur ActiveDirectory. Microsoft menambah variasi kecil: mereka menyimpan GUID dalam susunan bait kecil-endian untuk beberapa komponen, berlepas daripada standard pesanan bait-rangkaian. Kebiasaan itu berterusan dalam sesetengah API Windows: jika anda mengeksport GUID daripada Windows dan mengimportnya ke sistem Unix, isu pesanan bait boleh menyebabkan ketidakpadanan yang jelas. Tetapi format itu sendiri adalah sama, dan kekeliruan adalah nota kaki dalam standard, bukan perbezaan asas. Gaya pendakap dan huruf besar {3FA85F64-5717-4562-B3FC-2C963F66AFA6} datang daripada konvensyen Windows; sistem lain lebih suka huruf kecil dan sempang tanpa pendakap.
Bawa pulang: reka bentuk empat puluh tahun yang masih berfungsi — penjana ToolAcre menghasilkan UUID rawak (versi 4) yang RFC 9562 masih mentakrifkan untuk kes di mana pesanan tidak diperlukan
Garis masa yang berfungsi menunjukkan jangka hayat dan kestabilan reka bentuk: Apollo NCS 1980-an mencipta konsep; 1992 OSF's DCE menyeragamkan reka letak; 2000-an Microsoft membenamkannya dalam Windows; 2005 IETF menerbitkan RFC 4122; 2024 IETF menerbitkan RFC 9562 dengan versi moden. Itu adalah salah satu usaha penyeragaman yang paling lama dalam pengkomputeran, bukan kerana pertikaian tetapi kerana reka bentuk asal sangat teguh dan boleh disesuaikan. Ia telah menampung gelombang perubahan seni bina—daripada sistem NFS yang diedarkan kepada pangkalan data awan, daripada Windows COM kepada peranti mudah alih, dari mesin 64-bit 1980-an kepada sistem moden—tanpa reka bentuk semula asas. Kesan praktikalnya ialah UUID ada di mana-mana dan stabil; apabila anda menjana UUID dengan penjana ToolAcre, anda menjana pengecam yang formatnya telah ditubuhkan pada tahun 1980-an, diseragamkan di peringkat antarabangsa dalam 2005 dan dikekalkan dalam 2024 dengan perkaitan yang berkekalan.