Інструменти розробника · UUID генератор
Від Аполлона NCS до RFC 9562: Коротка історія UUID
· Підземелля
Опубліковано ToolAcre · Редакція журналу
Увійти криптографія веб-сайт

Непарний 8-4-4-4-12 макет і макет 128- розмір грошових коштів у спадок від 1980-х розподілених обчислень. Цей пост простежує UUID з Мережі Аполлона через DCEУкраїнська GUID і два IETF стандарти.
Чому 128 bits і чому ті хіфени? — питання, які кожен з них просить і історія відповіді
Про нас 8-4-4-4-12 фенований формат і 128-розміщений розмір UUID – вибір дизайну, які історики відразу ж ставляться. Чому 96 bits для полегшення математики? Чому саме конкретне розташування сегмента? Чому база-16 з гіфенами замість бази64 або простий кодування? Відповіді лежать в системі Computing Аполлону початку 1980-х років, розподілена обчислювальна платформа, яка зіткнулася з справжньою проблемою: системи в мережі, необхідні для виділення унікальних ідентифікаторів без центрального органу, і ті ідентифікатори повинні бути глобально унікальними з переважною ймовірністю. Альтанка NCS вирішивши цю проблему, поєднуючи часовий запас, мережеву адресу і послідовність годинника в 128-bit ідентифікатор, який може бути створений самостійно будь-яким пристроєм.
Аполлон Мережева комп’ютерна система — 1980-ті роки походження унікальних ідентифікаторів, побудованих з часу та мережевої адреси
Поточний стандарт записує лінійку від Apollo NCS через OSF Розгортання навколишнього середовища та інших платформ Microsoft. Історія пояснює, чому сучасні системи поділяють 128-місна сім'я при збереженні варіантів маркерів для старших макетів. Ми не встановлюємо абсолютну унікальність: кожна версія має власні правила та режими генерації. Довгого досягнення є взаємопроникністю без центральної реєстраційної служби. За допомогою веб-переглядача, бази даних та операційної системи можна обмінювати однаковою канонічною формою, оглянути її варіант та поля версії, і визначити, чи підходить рецепт виробництва для потреб системи отримання.
OSF DCE і поле варіанту — як розподілена комутація, формалізована макетом і додана варіант біт
Планування містить декілька стратегій генерації за допомогою варіантних і варіантів полів, які були вбудовані з початку проектування. генерація часу, випадкове покоління та ім'я покоління може всі співіснуючі в тому ж місці ідентифікатора. Сучасні програми мають різні вимоги до 1980-х NCS— бази даних, які хочуть сортувати ключі, хмарні системи, які хочуть конфіденційності, розподілені системи, які хочуть стійкість до зіткнень. 128-розміщена структура все ще містить їх. Версія 6 і 7 додано в RFC 9562 в 2024 Доведено, що оригінальні дизайнери залишають кімнату для подальшої еволюції без розриву зворотної сумісності.
Майкрософт GUID — COM, реєстр і брекет-і-ляльковий стиль, який зберігається сьогодні
Аполлонська мережева обчислювальна система була розподіленою обчислювальною платформою, яка була на Аполлоні комп'ютерних станцій у 1980-х роках. Відстеження глобально унікальних ідентифікаторів для викликів віддалених процедур, перевищення даних та надання послуг з автоматизації даних. Вузли в мережі не мали можливості координувати передачу даних, оскільки ви не можете зв'язатися з центральним сервером, якщо мережа може бути перегороджена або відключена. Аполлон дизайнери створили 128-розрядний формат, що поєднує час 60 bits, ідентифікатор вузла зазвичай виводиться з мережевої картки MAC Контакти 48 bits, і послідовність годинника 14 bits для обробки годинникових змін. Цей підхід дозволяє створювати ідентифікатори самостійно, поєднуючи час, послідовність годинника і поле вершини; його поведінка все ще залежать від годинників і вибору вузла.
RFC 4122 (2005) — й IETF стандарт, які визначені версії 1 до 5 і URN простір імен, вирівняний з ITU-Т Х.667
Коли OSF пізніше стандартизовано це для їх розподіленого розуміння навколишнього середовища навколо 1992, вони зберігають однакову верстку і додали варіант поле, щоб відрізняти різні UUID види. Дизайн вже доведено в виробничі системи. Про нас IETF стандартизований RFC 4122 в 2005, майже двадцять років після Аполлона NCS і про тринадцять років після DCE стандартизація. RFC 4122 кодифіковані варіанти 1 через 5: версія 1 на основі часу, версія 3 на основі імен MD5, версія 4 для випадкових, і версії 5 на основі імен SHA-1. Стандарт був стійким і широко прийнятим, оскільки він вже був ubiquitous в Microsoft Windows, DNS інфраструктурні та розподілені системи. Час RFC 4122 був опублікований, UUID був вже так вбудований в інфраструктуру, що стандартизация була майже академічною.
RFC 9562 (2024) — ревізія, яка застаріла RFC 4122, додані версії 6, 7 і 8, і написав сучасні поради щодо випадковості
У 2024й IETF Видання RFC 9562, які обзолети RFC 4122 і додає версії 6, 7 і 8. Версія 6 повторює часові поля версії 1 для кращої локалізації та сорту B-tree. Редагування 7 Використовуйте Unix Timestamp сучасний і знайомий замість 1582- виходячи з кількості, поліпшення сортуваності та арматури сучасних вимог бази даних. Редагування 8 запаси простору для індивідуальних реалізації та експериментальних UUID конструкції. Нові варіанти вирішення проблем, які виникли протягом багатьох років UUID розгортання: погана продуктивність бази випадкових ключів, витік конфіденційності версії 1, і бажання сортувати ідентифікатори у хмарних системах. Яце ядро 128-розміщена структура, варіанти і варіанти полів і загальна планування залишаються непристойними.
Що це не обкладинка — деталі реалізації кожної версії, які мають власні повідомлення
Затвердження Microsoft UUIDs як GUIDs Globally Unique IDentifiers у моделі компонента, вбудованих їх глибоко в системах Windows, починаючи з 1990-х років. GUID з'явився в реєстрі, в COM інтерфейси та в інфраструктурі ActiveDirectory. Microsoft додала незначну варіацію: вони зберігають GUID в малокінцевому порядку байт для деяких компонентів, які вилітають з мережевого стандарту. Якщо ви експортуєте GUID від Windows і імпортувати його в систему Unix, проблеми з замовленнями можуть викликати видимі помилки. Але сам формат є тим самим, і плутанини є приміткою в стандарті, не фундаментальною відмінністю. Стиль брекети-і-накладки {3FA85F64-5717-4562-B3FC-2C963F66AFA6} поставляється з конвенцій Windows; інші системи воліють нижню кришку і фени без брекетів.
Поруч: дизайн сорока, який ще працює — ToolAcre генератор виробляє випадковий (версія) 4) Уїди, які RFC 9562 все ще визначає для випадків, коли замовлення не потрібно
Працював часовий ряд показує довговічність і стійкість дизайну: 1980-ті Аполлон NCS винаходи концепції; 1992 OSFР DCE стандартизувати макет; 2000-і Microsoft вбудовує її в Windows; 2005 IETF публікації RFC 4122; 2024 IETF публікації RFC 9562 з сучасними версіями. Це одна з найдовших стандартизації зусиль для обчислення, а не через суперечки, але тому що оригінальний дизайн був настільки надійним і адаптивним. У ній розміщені хвилі архітектурних змін — від поширення NFS системи до хмарних баз даних, з Windows COM до мобільних пристроїв, з 1980-х 64-розрядні машини для сучасних систем - без фундаментальних редизайнів. Практичний вплив полягає в тому, що UUIDs є ubiquitous і стабільний; коли ви створюєте UUID з ToolAcre генератор, ви генеруєте ідентифікатор, формат якого був створений у 1980-х роках, стандартизований міжнародний 2005 і підтримується 2024 з останню актуальністю.