Articles

보편적으로 독특한 식별자

모두에 대한 개 1 및 2,”버전”에 정의된 표준,그리고 각 버전이 더 적절할 수 있습에서 다른 사람 보다는 특정 사용 사례를 보여주고 있습니다. 버전은 문자열 표현에서M로 표시됩니다.

Version-1 바둑이 생성되서 시간과 노드 ID(일반적으로 맥주소);버전-2Uuid 에서 생성되는 식별자(일반적으로 그룹이나 사용자 ID),시간 및 노드 ID;버전 3 과 5 개를 생산하는 결정적 Uuid 에 의해 생성 해싱하는 네임스페이스의 식별자와 이름; 그리고 version-4Uuid 는 무작위 또는 의사 난수를 사용하여 생성됩니다.

Nil UUIDEdit

특별한 경우 인”nil”UUID 는 UUID00000000-0000-0000-0000-000000000000;즉,모든 비트가 0 으로 설정됩니다.

버전 1 조(시간 및 MAC 주소 등)편집

버전 1 연결하는 48 비트 MAC 주소의”노드에”(즉,컴퓨터 생성 UUID),60-비트 타임스탬프,수 100nanosecond 간격으로 자정 이후 15 일 1582Coordinated Universal Time(UTC),는 날짜에 그레고리력이었을 최초로 채택되었습니다. RFC4122 국는 시간이 가치 롤상의 주위에 3400AD:3 에 따라 사용된 알고리즘,어떤 의미는 60-비트 타임 스탬프가 서명된 양입니다. 그러나 그 어떤 소프트웨어,같은 libuuid 라이브러리,취급의 타임 스탬프가 서명되지 않은 것으로하고,전복 시간에 5236AD. Itu-T Rec 에서 정의한 롤오버 시간입니다. X.667 은 3603 광고입니다.:v

13 또는 14 비트”uniquifying”시계 시퀀스를 확장하는 타임 스탬프를 처리하기 위해서는 경우 프로세서 시계를 진행되지 않습니다,충분히 빠르게 또는 어디 있는 여러 프로세서와 UUID 발전기당 노드입니다. 때 Uuid 생성보다 더 빠르게 시스템 클럭을 사전 수 있고,낮은 비트의 타임 스탬프 필드를 생성할 수 있를 증가시켜 그것의 모든 시간 UUID 이 생성되는 시뮬레이션하기 위해,고해상도 타임 스탬프. 각 버전 1UUID 에 해당하는 단일 지점에서 공간(노드)및 시간(간격으로 시계열),기회의 두 가지가 제대로 생성된 버전-1Uuid 실수로 동일한 실질적으로 전무합니다. 시간 및 클럭 시퀀스 총 74 비트 때문에,274(1.8×1022,또는 18sextillion)버전-1Uuid 는 노드 ID 당 초당 163 억의 최대 평균 속도로 노드 ID 당 생성 될 수 있습니다.

에 대비하여 다른 UUID 버전 버전 1 및 2Uuid MAC 주소에 따라서 네트워크 카드존을 위해 자신의 독창성에 대한 부분에는 식별자 발급된 중앙 등록 기관,즉 조직적으로 독특한 식별자(OUI)부의 MAC 주소로 발급하는 IEEE 하는 제조업체의 네트워킹 장비입니다. 고유성의 버전-1 고전-2 표에 기반한 네트워크-카 MAC 주소도에 따라 달라집트 카드 제조업체는 제대로 할당하는 독특한 MAC 주소를 자신의 카드는 다음과 같은 다른 제조 공정은 오류가 있습니다.

노드 ID 에 대한 노드의 네트워크 카드 MAC 주소 사용은 version-1UUID 를 생성 한 컴퓨터로 다시 추적 할 수 있음을 의미합니다. 문서는 때때로 워드 프로세싱 소프트웨어에 의해 그들에 포함 된 Uuid 를 통해 생성되거나 편집 된 컴퓨터로 추적 할 수 있습니다. 이 개인 정보 보호 구멍은 멜리사 바이러스 작성자를 찾을 때 사용되었습니다.

RFC4122 허용하지 않는 MAC 주소 버전에서-1(2)UUID 에 의해 대체되는 임의의 48 비트 노드 ID,하나 때문에 노드가 없는 MAC 주소,또는 그것 때문에 바람직하지 않을 노출됩니다. 이 경우 rfc 는 노드 ID 의 첫 번째 옥텟의 최소 중요 비트를 1 로 설정해야합니다. 이에 해당하는 멀티캐스트에서는 MAC 주소,그리고 그것을 설정하는 역할을 차별화하 Uuid:노드 ID 를 임의로 생성에서 바둑에 따라 MAC 주소 네트워크에서는 카드는 일반적으로 유니캐스트 MAC 주소가 있습니다.

Version2(날짜간 및 MAC 주소,DCE 보안 버전)편집

RFC4122 보유전 2″DCE 보안”바둑은,그러나 그것을 제공하지 않습 있습니다. 이러한 이유로 많은 UUID 구현은 버전 2 를 생략합니다. 그러나 버전-2Uuid 의 사양은 DCE1.1 인증 및 보안 서비스 사양에 의해 제공됩니다.

버전-2Uuid 와 유사한 버전 1 는 것을 제외하고,적어도 중요한 8 비트 시계의 순서로 대체하는”지역 도메인”번호,그리고 최소한 중요한 32 비트 타임스탬프를 교체해 정수 식별자의 의미 내에서 지역 도메인입니다. 에 POSIX 시스템,현지 도메인 숫자 0 과 1 사용자 id(Uid)와 그룹 id(GIDs)각각 다른 지역의 도메인의 숫자는 사이트로 정의됩니다. 비 POSIX 시스템에서는 모든 로컬 도메인 번호가 사이트 정의됩니다.

UUID 에 40 비트 도메인/식별자를 포함하는 기능은 절충안과 함께 제공됩니다. 한편,40 비트는 노드 ID 당 약 1 조 개의 도메인/식별자 값을 허용한다. 다른 한편으로,시계와 값을 잘하 28 가장 중요한 비트에 비해 60 비트 버전에서 1 시계 버전에서 2UUID 것”tick”한 번씩만 429.49 초보다 조금 더 7 분 거리에 반대하는 모든 100 개의 나노초 대한 버전 1. 와 시계와의 순서만이 6 비트에 비해는 14 비트 버전에서는 1 만 64 독특한 Uuid 당 노드에/domain/식별자를 생성할 수 있습별로 7 분 거리에 시계,틱에 비해 16,384 계 시퀀스에 대한 값 버전 1. 따라서 버전 2 는 7 초마다 약 1 을 초과하는 속도로 노드/도메인/식별자 당 Uuid 가 필요한 경우에 적합하지 않을 수 있습니다.

버전 3 과 5(네임스페이스 이름기반)편집

버전 3 과 버전-5Uuid 에 의해 생성 해싱하는 네임스페이스의 식별자와 이름입니다. 버전 3 은 md5 를 해싱 알고리즘으로 사용하고 버전 5 는 SHA-1 을 사용합니다.

네임 스페이스 식별자 자체가 UUID 입니다. 사양을 제공합 Uuid 을 대표하는 네임스페이스를 위한 Url,완전한 도메인 이름,개체 식별자 및 X.500 고유 이름이다;그러나 어떤 원하는 UUID 으로 사용할 수 있는 네임스페이스 지정자.

버전을 확인하-3UUID 에 해당하는 특정 네임스페이스 이름,UUID 네임스페이스의 문자열로 변환되의 바이트로 연결 이름을 입력한 다음,해 MD5 산출,128 비트입니다. 그런 다음 6 비트 또는 7 비트가 고정 값,4 비트 버전(예: 버전 3 의 경우 00112)및 2 비트 또는 3 비트 UUID”변형”(예:rfc4122Uuid 를 나타내는 102 또는 레거시 Microsoft GUID 를 나타내는 1102). 따라서 6 비트 또는 7 비트가 미리 결정되기 때문에 121 비트 또는 122 비트 만이 UUID 의 고유성에 기여합니다.

Version-5Uuid 는 비슷하지만 MD5 대신 SHA-1 이 사용됩니다. SHA-1 은 160 비트 다이제스트를 생성하기 때문에 버전 및 변형 비트가 대체되기 전에 다이제스트는 128 비트로 잘립니다.

Version-3 및 version-5Uuid 에는 동일한 네임 스페이스와 이름이 동일한 UUID 에 매핑되는 속성이 있습니다. 그러나 무차별 대입 검색을 제외하고 그 중 하나가 지정 되더라도 UUID 에서 네임 스페이스 나 이름을 결정할 수 없습니다. RFC4122 는 버전 3(MD5)보다 버전 5(SHA-1)를 권장하며 두 버전의 Uuid 를 보안 자격 증명으로 사용하지 않도록 경고합니다.

버전 4(임의)편집

버전 4UUID 가 무작위로 생성됩니다. 에서와 같이 다른 표 4 비트를 나타내는 데 사용되는 버전 4,2 또는 3 비트를 나타내는 변(102 또는 1102 에 대한 개 각각 1 과 2). 따라서,최 1(즉,가장 Uuid)무작위 버전-4UUID 이 6 소정의 변형 및 버전에 비트를 떠나,122 에 대한 비트 임의로 생성된 부분은,총 2122,또는 5.3×1036(5.3undecillion)가능한 버전-변형 4-1Uuid. 가 절반으로 많은 가능한 버전-변형 4-2Uuid(legacy Guid)이 있기 때문에 하나 적은 임의의 비트,사용할 수 있는 3 비트는 소비에 대한 변형이 있습니다.