Bahasa Indonesia

Alat pengembang · generator UUID

Dari Apollo NCS hingga RFC 9562: Sejarah Singkat UUID

· Latar belakang

uuid kriptografi browser-apis

Garis waktu dari Apollo Network Computing System melalui DCE, GUID dan RFC 4122 hingga RFC 9562
Ilustrasi vektor ToolAcre asli

Tata letak 8-4-4-4-12 yang aneh dan ukuran 128-bit diwarisi dari komputasi terdistribusi tahun 1980-an. Posting ini menelusuri UUID dari Sistem Komputasi Jaringan Apollo melalui DCE, GUID Microsoft dan dua standar IETF.

Mengapa 128 bits dan mengapa tanda hubung tersebut? — pertanyaan yang ditanyakan setiap pendatang baru dan jawaban sejarah

Format 8-4-4-4-12 dengan tanda hubung dan ukuran 128-bit dari UUID adalah pilihan desain yang langsung dipertanyakan oleh para sejarawan. Mengapa tidak 96 bits untuk matematika yang lebih mudah? Mengapa tata letak segmen spesifik itu? Mengapa base-16 dengan tanda hubung bukan base-64 atau pengkodean yang lebih sederhana? Jawabannya terletak pada Sistem Komputasi Jaringan Apollo pada awal tahun 1980an, sebuah platform komputasi terdistribusi yang menghadapi masalah nyata: sistem dalam jaringan perlu mengalokasikan pengidentifikasi unik tanpa otoritas pusat, dan pengidentifikasi tersebut harus unik secara global dengan kemungkinan yang sangat besar. Apollo NCS memecahkan masalah ini dengan menggabungkan stempel waktu, alamat jaringan, dan urutan jam menjadi pengidentifikasi 128-bit yang dapat dihasilkan secara independen oleh mesin mana pun.

Apollo Network Computing System - pengidentifikasi unik asal tahun 1980-an yang dibangun dari waktu dan alamat jaringan

Standar saat ini mencatat silsilah dari Apollo NCS melalui OSF Lingkungan Komputasi Terdistribusi dan platform Microsoft yang lebih baru. Sejarah tersebut menjelaskan mengapa sistem modern berbagi keluarga 128-bit yang dapat dikenali sambil mempertahankan penanda varian untuk tata letak lama. Ini tidak memberikan jaminan keunikan mutlak: setiap versi memiliki aturan pembuatan dan mode kegagalannya sendiri. Pencapaian yang bertahan lama adalah interoperabilitas tanpa layanan registrasi pusat. Browser, database, dan sistem operasi dapat menukar bentuk heksadesimal kanonik yang sama, memeriksa bidang varian dan versinya, dan memutuskan apakah resep produksi sesuai dengan kebutuhan sistem penerima.

OSF DCE dan bidang varian — bagaimana Lingkungan Komputasi Terdistribusi memformalkan tata letak dan menambahkan bit varian

Tata letaknya mengakomodasi beberapa strategi generasi melalui bidang versi dan varian yang tertanam sejak awal desain. Generasi berbasis waktu, generasi acak, dan generasi berbasis nama semuanya dapat hidup berdampingan dalam ruang pengidentifikasi yang sama. Aplikasi modern memiliki persyaratan yang berbeda dari NCS tahun 1980-an—database yang menginginkan kunci yang dapat diurutkan, sistem cloud yang menginginkan privasi, sistem terdistribusi yang menginginkan ketahanan terhadap benturan—namun struktur 128-bit yang sama masih mengakomodasi persyaratan tersebut. Versi 6 dan 7 yang ditambahkan di RFC 9562 di 2024 membuktikan bahwa desainer asli memberikan ruang untuk evolusi masa depan tanpa merusak kompatibilitas ke belakang.

GUID Microsoft — COM, registri dan gaya kurung kurawal dan huruf besar yang masih ada hingga saat ini

Sistem Komputasi Jaringan Apollo adalah platform komputasi terdistribusi yang dijalankan di stasiun kerja Apollo Computer pada tahun 1980-an. Ini bergantung pada pengidentifikasi unik global untuk panggilan prosedur jarak jauh, replikasi data, dan layanan penamaan. Node dalam jaringan tidak memiliki cara untuk mengoordinasikan penetapan ID karena Anda tidak dapat menghubungi server pusat jika jaringan mungkin dipartisi atau terputus. Jadi desainer Apollo membuat format 128-bit yang menggabungkan stempel waktu 60 bits, pengidentifikasi node yang biasanya berasal dari alamat MAC kartu jaringan 48 bits, dan urutan jam 14 bits untuk menangani perubahan jam. Pendekatan ini memungkinkan node menghasilkan pengidentifikasi secara independen dengan menggabungkan waktu, urutan jam, dan bidang node; perilakunya masih bergantung pada jam dan pemilihan node.

RFC 4122 (2005) — standar IETF yang mendefinisikan versi 1 hingga 5 dan namespace URN, selaras dengan ITU-T X.667

Ketika OSF kemudian menstandarkan ini untuk Lingkungan Komputasi Terdistribusi di sekitar 1992, mereka mempertahankan tata letak yang sama dan menambahkan bidang varian untuk membedakan jenis UUID yang berbeda. Desainnya sudah terbukti dalam sistem produksi. IETF menstandardisasi RFC 4122 di 2005, hampir dua puluh tahun setelah Apollo NCS dan sekitar tiga belas tahun setelah standardisasi DCE. RFC 4122 versi terkodifikasi 1 hingga 5: versi 1 untuk pembuatan berbasis waktu, versi 3 untuk berbasis nama dengan MD5, versi 4 untuk acak, dan versi 5 untuk nama berdasarkan dengan SHA-1. Standar ini stabil dan diadopsi secara luas karena sudah ada di mana-mana di Microsoft Windows, infrastruktur DNS, dan sistem terdistribusi. Pada saat RFC 4122 diterbitkan, UUID sudah tertanam dalam infrastruktur sehingga standarisasinya hampir bersifat akademis.

RFC 9562 (2024) — revisi yang menghapus RFC 4122, menambahkan versi 6, 7 dan 8, dan menuliskan saran modern tentang keacakan

Di 2024, IETF menerbitkan RFC 9562, yang menggantikan RFC 4122 dan menambahkan versi 6, 7, dan 8. Versi 6 menyusun ulang bidang waktu versi 1 untuk lokalitas dan kemampuan penyortiran B-tree yang lebih baik. Versi 7 menggunakan stempel waktu Unix yang modern dan familiar, bukan penghitungan berbasis 1582, sehingga meningkatkan kemampuan penyortiran dan menyesuaikan dengan kebutuhan database modern. Versi 8 menyediakan ruang untuk penerapan khusus dan desain UUID eksperimental. Versi baru ini mengatasi masalah yang muncul selama empat puluh tahun penerapan UUID: kinerja basis data yang buruk dari kunci acak, kebocoran privasi versi 1, dan keinginan untuk pengidentifikasi yang dapat diurutkan dalam sistem cloud. Namun struktur inti 128-bit, bidang varian dan versi, serta tata letak keseluruhan tetap utuh.

Apa yang tidak tercakup di sini — detail implementasi setiap versi, yang memiliki postingannya sendiri

Penerapan UUID oleh Microsoft sebagai GUID Pengidentifikasi Unik Global dalam Model Objek Komponen menyematkannya secara mendalam pada sistem Windows mulai tahun 1990an. GUID muncul di registri, di antarmuka COM, dan di infrastruktur ActiveDirectory. Microsoft menambahkan sedikit variasi: mereka menyimpan GUID dalam urutan byte little-endian untuk beberapa komponen, menyimpang dari standar urutan byte jaringan. Kekhasan tersebut tetap ada di beberapa API Windows: jika Anda mengekspor GUID dari Windows dan mengimpornya ke sistem Unix, masalah urutan byte dapat menyebabkan ketidakcocokan yang nyata. Namun formatnya sendiri sama, dan kebingungannya adalah catatan kaki dalam standarnya, bukan perbedaan mendasar. Gaya kurung kurawal dan huruf besar {3FA85F64-5717-4562-B3FC-2C963F66AFA6} berasal dari konvensi Windows; sistem lain lebih memilih huruf kecil dan tanda hubung tanpa kurung kurawal.

Kesimpulan: desain empat puluh tahun yang masih berfungsi — generator ToolAcre menghasilkan UUID acak (versi 4) yang RFC 9562 masih didefinisikan untuk kasus di mana pemesanan tidak diperlukan

Garis waktu yang dibuat menunjukkan umur panjang dan stabilitas desain: Apollo NCS tahun 1980-an menciptakan konsep tersebut; 1992 OSF DCE menstandarkan tata letak; Microsoft tahun 2000-an menyematkannya di Windows; 2005 IETF menerbitkan RFC 4122; 2024 IETF menerbitkan RFC 9562 dengan versi modern. Ini adalah salah satu upaya standardisasi terlama dalam komputasi, bukan karena perselisihan namun karena desain aslinya sangat kuat dan mudah beradaptasi. Sistem ini telah mengakomodasi gelombang perubahan arsitektur—mulai dari sistem NFS terdistribusi hingga database cloud, dari Windows COM hingga perangkat seluler, dari mesin 64-bit tahun 1980-an hingga sistem modern—tanpa desain ulang yang mendasar. Dampak praktisnya adalah UUID ada dimana-mana dan stabil; saat Anda membuat UUID dengan generator ToolAcre, Anda membuat pengidentifikasi yang formatnya ditetapkan pada tahun 1980-an, distandarisasi secara internasional di 2005 dan dipertahankan di 2024 dengan relevansi jangka panjang.