Организационно уникальный идентификатор ( OUI ) — это 24-битное число, которое однозначно идентифицирует поставщика , производителя или другую организацию.
OUI приобретаются у регистрационного органа Института электротехники и электроники (IEEE) правопреемником (термин IEEE для поставщика, производителя или другой организации). Только назначение из реестра MA-L назначает новый OUI. Они используются для уникальной идентификации конкретной части оборудования с помощью производных идентификаторов, таких как MAC -адреса , [1] [2] идентификаторы протоколов протокола доступа к подсети , всемирные имена для устройств Fibre Channel или блоки поставщиков в EDID . [1]
В MAC-адресах OUI объединяется с 24-битным числом (назначенным правообладателем OUI ) для формирования адреса. Первые три октета адреса — это OUI.
Следующие термины определены (явно или неявно) в стандарте IEEE 802-2001 для использования применительно к различным представлениям и форматам OUI и идентификаторов, которые могут быть созданы с их использованием. [3]
«Представление последовательности значений октетов , в котором значения отдельных октетов отображаются в порядке слева направо, причем каждое значение октета представлено как двузначное шестнадцатеричное число, а полученные пары шестнадцатеричных цифр разделены дефисами . Порядок шестнадцатеричных цифр в каждой паре и сопоставление между шестнадцатеричными цифрами и битами значения октета выводятся путем интерпретации битов значения октета как двоичного числа с использованием обычных математических правил для значимости цифр ». [3] (См. шестнадцатеричное ).
«Формат кадра данных MAC, в котором октеты любых MAC-адресов, переданных в поле данных пользователя MAC, имеют тот же порядок бит, что и в шестнадцатеричном представлении». [3] (См. кадр данных MAC, MAC-адреса )
Из контекста стандарта IEEE 802-2001 следует, что это еще один термин для «шестнадцатеричного представления» – т. е. «путем интерпретации битов значения октета как двоичного числа с использованием обычных математических правил для значимости цифр». [3]
«Представление последовательности значений октетов, в котором значения отдельных октетов отображаются в порядке слева направо, причем каждое значение октета представлено как двузначное шестнадцатеричное число, а полученные пары шестнадцатеричных цифр разделены двоеточиями . Порядок шестнадцатеричных цифр в каждой паре и соответствие между шестнадцатеричными цифрами и битами значения октета выводятся путем изменения порядка битов в значении октета на обратный и интерпретации полученной последовательности битов как двоичного числа с использованием обычных математических правил для значимости цифр». [3]
Представление с обратным порядком бит соответствует соглашению о передаче наименее значимого бита каждого байта первым при последовательной передаче данных .
«Формат кадра данных MAC, в котором октеты MAC-адресов, передаваемые в поле данных пользователя MAC, имеют тот же порядок бит, что и в представлении с обратным порядком бит». [3]
Порядок, в котором октет или последовательность октетов передается по среде передачи — этот порядок обычно соответствует представлению с обратным битом.
Пример:
OUI, состоящий из шестнадцатеричных цифр ACDE48 16, будет представлен следующим образом:
На следующем рисунке показано положение этих битов в порядке значимости:
| НУ || Октет 0 | Октет 1 | Октет 2 || грызть | грызть | грызть || __||__ | __||__ | __||__ || | | | | | | | | || 0 || 1 | 2 || 3 | 4 || 5 ||биты||биты|биты||биты||биты||биты||7654||3210|7654||3210|7654||3210|||||| ||||||||| ||||||||| |||||| АС | ДЕ | 4 8 ||1010 1100|1101 1110|0100 1000| | | || | | | | || | младший значащий бит OUI | | || младший байт OUI | | |младший бит первого октета OUI = бит I/G или M | | следующий за наименее значимым бит первого октета OUI = бит U/L или X | старший байт OUI самая значимая часть OUI
Примечания:
Пользователи Ethernet привыкли видеть каноническую форму , например, в выводе команды ifconfig . Каноническая форма — это предполагаемый стандарт.
Однако, поскольку IEEE 802.3 (Ethernet) и IEEE 802.4 ( Token Bus ) отправляют байты (октеты) по проводу слева направо, причем первым идет наименее значимый бит в каждом байте, в то время как IEEE 802.5 ( Token Ring ) и IEEE 802.6 ( FDDI ) отправляют байты по проводу, начиная со наиболее значимым битом, может возникнуть путаница, когда OUI в последнем сценарии представлен битами, перевернутыми относительно канонического представления. Так, например, OUI, каноническая форма которого ACDE48
может быть записана так, как 357B12
будто перевод выполнен неправильно или непоследовательно. Последняя форма ( бит-перевернутое или неканоническое представление) может также упоминаться в литературе как «формат MSB», «формат IBM» или «формат Token Ring» по этой причине. RFC2469 объясняет проблему более подробно.
OUI обычно обсуждается и представляется как набор октетов в шестнадцатеричной системе счисления, разделенных дефисами (например, FF-FF-FF), или как набор октетов, разделенных двоеточиями в битовой обратной системе счисления (например, FF:FF:FF). [4]
Два младших бита второго полубайта первого октета шестнадцатеричного представления (т. е. два младших бита первого октета) OUI зарезервированы как биты флагов для некоторых протоколов (например, бит «M» и бит «X»), флаги для указания того, является ли адрес частью индивидуального (одноадресного) или группового (многоадресного) адресного блока (например, бит Individual/Group [I/G] или бит Unicast/Multicast [U/M]), флаги для указания того, является ли адрес универсально или локально администрируемым (например, бит Universal/Local [U/L]) и т. д., и не должны содержать значений 1, 2, 3, 5, 6, 7, 9, a, b, d, e или f, если только эти значения не отражают истинное значение этих битов флагов — если организация, которой принадлежит OUI, устанавливает один из этих битов при создании идентификатора, то значение второго полубайта первого октета соответственно изменяются представления OUI (например, если шестнадцатеричное значение второго полубайта первого октета равно «C» и установлен младший бит, то значение становится «D»).
Примечания:
CDI-32 исторически рекомендовался как контекстно-зависимый идентификатор, который формировался путем объединения 24-битного OUI с 8-битным идентификатором расширения, который назначался организацией, купившей OUI. Результирующий идентификатор обычно представлялся в виде набора октетов, разделенных тире (шестнадцатеричная запись) или двоеточиями (битовая запись с обратным порядком следования), как в FF-FF-FF-FF или FF:FF:FF:FF, как строка из 4 байтов, как в {FF,FF,FF,FF}, или как число с основанием 16, как в FFFFFFFF 16. [5 ]
CDI-40 исторически рекомендовался как контекстно-зависимый идентификатор, который формировался путем объединения 24-битного OUI с 16-битным расширением или путем объединения 36-битного OUI-36 с 4-битным расширением. [5] В любом случае расширение назначалось организацией, купившей OUI. Результирующий идентификатор обычно представлялся в виде набора октетов, разделенных тире (шестнадцатеричная запись) или двоеточиями (битовая обратная запись), как в FF-FF-FF-FF-FF или FF:FF:FF:FF:FF, как строка из 5 байт, как в {FF,FF,FF,FF,FF}, или как число с основанием 16, как в FFFFFFFFFF 16 .
Примечание: также существовали последовательности CDI-40 на основе IAB , которые формировались путем объединения 36-битного базового значения IAB, назначенного IEEE, с 4-битным идентификатором расширения, назначенным организацией, например, если базовое значение IAB, назначенное IEEE, равно 0x0050C257A, а 4-битный идентификатор расширения равен 0xF, то значения CDI-40, сгенерированные путем объединения этих двух чисел, будут находиться в диапазоне от 0x0050C257AF00 до 0x0050C257AFFF.
IEEE теперь считает метку MAC-48 устаревшим термином, который ранее использовался для обозначения определенного типа идентификатора EUI-48, используемого для адресации аппаратных интерфейсов (например, контроллеров сетевых интерфейсов и другого сетевого оборудования) в существующих сетевых приложениях на базе IEEE 802, и не должен использоваться в будущем. [5] Вместо этого термин EUI-48 должен использоваться производителями и другими специалистами в этой области для этой цели — т. е. идентификатор MAC-48 идентичен идентификатору EUI-48 и является устаревшим обозначением для него, хотя некоторое различие все еще проводится при инкапсуляции идентификаторов MAC-48 и EUI-48 в идентификаторы EUI-64 (но теперь механизм инкапсуляции также устарел). [5]
EUI-48 — это идентификатор, который формируется путем объединения 24-битного OUI с 24-битным идентификатором расширения, который назначается организацией, купившей OUI. Результирующий идентификатор обычно представляется в виде набора октетов, разделенных тире (шестнадцатеричная запись) или двоеточиями (обратная запись), как в FF-FF-FF-FF-FF-FF или FF:FF:FF:FF:FF:FF, как строка из 6 байт, как в {FF,FF,FF,FF,FF,FF}, или как число с основанием 16, как в FFFFFFFFFFFF 16. [5 ]
EUI-60 — это идентификатор, который формируется путем объединения 24-битного OUI с 36-битным идентификатором расширения, который назначается организацией, купившей OUI. Результирующий идентификатор обычно представлен строкой из 15 полубайтов в виде числа с основанием 16, например, FFFFFFFFFFFFFFF 16 или в виде FF-FF-FF:FFFFFFFFFF как значение EUI-64. [5]
Примечание: Этот идентификатор ранее использовался как идентификатор всемирного имени (WWN) в некоторых системах хранения данных. Его использование теперь считается устаревшим IEEE, и идентификатор EUI-64 должен использоваться в будущем для этой и всех других целей, для которых ранее использовался EUI-60. Некоторые из систем хранения данных, в которых использовался вариант на основе OUI, — это Fibre Channel и Serial Attached SCSI (SAS). [5]
EUI-64 — это идентификатор, который формируется путем объединения 24-битного OUI с 40-битным идентификатором расширения, который назначается организацией, купившей OUI. Результирующий идентификатор обычно представляется в виде набора октетов, разделенных тире (шестнадцатеричная запись) или двоеточиями (битовая запись с обратным порядком следования), как в FF-FF-FF-FF-FF-FF-FF-FF-FF или FF:FF:FF:FF:FF:FF:FF:FF:FF, как строка из 8 байт, как в {FF,FF,FF,FF,FF,FF,FF,FF,FF}, или как число с основанием 16, как в FFFFFFFFFFFFFFFFFF 16 . [5]
Примечание: Согласно рекомендациям IEEE, первые четыре цифры идентификатора, назначенного организацией (т. е. первые четыре цифры идентификатора расширения) части EUI-64 «не должны быть FFFE 16 или FFFF 16 » (т. е. идентификаторы EUI-64 в форме ccccccFFFEeeeeee и ccccccFFFFeeeeee не допускаются) — это необходимо для поддержки инкапсуляции значений EUI-48 (FFFE 16 ) и MAC-48 (FFFF 16 ) в значения EUI-64 (хотя сейчас инкапсуляция устарела).
IPv6 использует 64-битный Modified Extended Unique Identifier ( Modified EUI-64 ) в нижней половине некоторых адресов IPv6. Modified EUI-64 — это EUI-64 с инвертированным битом U/L. [6]
Существуют и другие идентификаторы, которые можно сформировать с помощью OUI, но перечисленные выше используются наиболее часто.
Сопоставление EUI-48 с EUI-64 устарело. Сопоставление описано здесь по историческим причинам.
Другие идентификаторы, такие как значения MAC-48 и EUI-48, могут содержаться в большем идентификаторе или «контейнере», таком как EUI-64, путем создания большего идентификатора посредством процесса объединения меньшего идентификатора с указанными значениями, размещенными в указанных битовых позициях внутри большего идентификатора — этот процесс известен как «инкапсуляция» и предоставляется с целью облегчения перехода от MAC-48 и EUI-48 к EUI-64 и предоставления механизма для преобразования идентификаторов MAC-48 и EUI-48 в EUI-64 таким образом, чтобы избежать дублирования или конфликта значений. [5]
Инкапсуляция MAC-48 в EUI-64 Пример:
Предполагая, что организация зарегистрировала OUI AC-DE-48 и что организация создала значение MAC-48 AC-DE-48-23-45-67 путем конкатенации идентификатора расширения 23-45-67, этот идентификатор MAC-48 имеет следующий двоичный порядок передачи:
| OUI | идентификатор расширения | поле | 1-й | 2-й | 3-й | 4- й | 5- й | 6-й | октет | CA | ED | 8 4 | 3 2 | 5 4 | 7 6 | шестнадцатеричный 0011 0101 0111 1011 0001 0010 1100 0100 1010 0010 1110 0110 бит | | | | | | | | | | | | lsb msb lsb msb lsb msb lsb msb lsb msb
Тот же идентификатор MAC-48 после инкапсуляции в EUI-64 имеет следующий порядок передачи:
| OUI | Метка MAC | Идентификатор расширения | Поле | 1-й | 2-й | 3-й | 4-й | 5-й | 6 - й | 7-й | 8-й | Порядок | CA | ED | 8 4 | FF | FF | 3 2 | 5 4 | 7 6 | Hex 00110101 01111011 00010010 11111111 11111111 11000100 10100100 11100110 бит | | | | | | | | | | | | | | | lsb msb lsb msb lsb msb lsb msb lsb msb lsb msb lsb msb lsb msb
Тот же идентификатор MAC-48 после инкапсуляции в EUI-64 имеет следующий порядок значимости:
| OUI | MAC-метка | идентификатор расширения | поле | AC | DE | 48 | FF | FF | 23 | 45 | 67 | hex 10101100 11011110 01001000 11111111 11111111 00100011 01000101 01100111 бит | | | | | старший значащий байт младший значащий байт | старший значащий бит младший значащий бит
Пример инкапсуляции EUI-48 в EUI-64:
Предполагая, что организация зарегистрировала OUI AC-DE-48 и что организация создала значение EUI-48 AC-DE-48-23-45-67 путем объединения идентификатора расширения 23-45-67, этот идентификатор EUI-48 имеет следующий формат в порядке значимости:
| company_id | идентификатор расширения | поле | AC | DE | 48 | 23 | 45 | 67 | hex 10101100 11011110 01001000 00100011 01000101 01100111 бит | | | | | старший значащий байт младший значащий байт | старший значащий бит младший значащий бит
Тот же идентификатор EUI-48 после инкапсуляции в EUI-64 имеет следующий формат в порядке значимости:
| company_id | метка EUI | идентификатор расширения | поле | AC | DE | 48 | FF | FE | 23 | 45 | 67 | hex 10101100 11011110 01001000 11111111 11111110 00100011 01000101 01100111 биты | | | | | старший значащий байт младший значащий байт | старший значащий бит младший значащий бит
Инкапсуляция MAC-48 или EUI-48 в модифицированном примере EUI-64:
При инкапсуляции в модифицированном EUI-64 MAC-48 рассматривается как EUI-48, а бит U/L инвертируется. [6] Предполагая, что организация зарегистрировала OUI AC-DE-48 и что организация создала значение MAC-48 или EUI-48 AC-DE-48-23-45-67 путем конкатенации идентификатора расширения 23-45-67, этот идентификатор MAC-48 или EUI-48 имеет следующий формат в порядке значимости:
| company_id | идентификатор расширения | поле | AC | DE | 48 | 23 | 45 | 67 | hex 10101100 11011110 01001000 00100011 01000101 01100111 бит | | | | | старший значащий байт младший значащий байт | старший значащий бит младший значащий бит
Тот же идентификатор MAC-48 или EUI-48 после инкапсуляции в модифицированный EUI-64 имеет следующий формат в порядке значимости:
| company_id | метка EUI | идентификатор расширения | поле | AE | DE | 48 | FF | FE | 23 | 45 | 67 | hex 10101110 11011110 01001000 11111111 11111110 00100011 01000101 01100111 биты | | | | | старший значащий байт младший значащий байт | старший значащий бит младший значащий бит
Форматы Name_Identifier Центра сетевых адресов (NAA) определяют первый полубайт (4 бита) для определения формата идентификатора:
Эта инкапсуляция используется в Fibre Channel [7] и SAS, а также поддерживается в iSCSI в RFC 3980. Это дополнение требует либо сокращенного поля идентификатора поставщика, либо некоторые биты OUI предполагаются равными 0, например, при использовании сопоставленного формата EUI-64.
Индивидуальный адресный блок (IAB) — это неактивная деятельность реестра, которая была заменена продуктом реестра MA-S с 1 января 2014 года. IAB использует MA-L (и OUI), принадлежащий IEEE Registration Authority, объединенный с 12 дополнительными битами, предоставленными IEEE (всего 36 бит), оставляя только 12 бит владельцу IAB для назначения своим (до 4096) индивидуальным устройствам. IAB идеально подходит для организаций, которым требуется не более 4096 уникальных 48-битных номеров (EUI-48). В отличие от OUI, который позволяет получателю назначать значения в различных числовых пространствах (например, EUI-48, EUI-64 и различных контекстно-зависимых числовых пространствах идентификаторов), индивидуальный адресный блок может использоваться только для назначения идентификаторов EUI-48. Все другие потенциальные использования на основе OUI, из которого выделяются IAB, зарезервированы и остаются собственностью IEEE Registration Authority. Следует также отметить, что в период с 2007 по сентябрь 2012 года для назначений IAB использовалось значение OUI 00:50:C2. После сентября 2012 года использовалось значение 40:D8:55. Владельцы уже назначенного IAB могут продолжать использовать назначение. [8] [5]
OUI-36 — устаревшее имя регистрационной активности, которое с 1 января 2014 года было заменено на имя продукта реестра MA-S. Это регистрационное действие включает в себя как 36-битный уникальный номер, используемый в некоторых стандартах, так и назначение блока идентификаторов EUI-48 и EUI-64 (в то время как владелец IAB не может назначить EUI-64) органом регистрации IEEE. Владелец уже назначенного продукта реестра OUI-36 может продолжать использовать назначение.
Пример EUI-48, созданного в IAB: идентификатор EUI-48 формируется путем объединения 36-битного базового значения IAB, назначенного IEEE, с 12-битным идентификатором расширения, назначенным организацией. Например, если назначенное IEEE значение IAB base-16 равно 0x0050C257A, а 12-битный идентификатор расширения равен 0xFFF, то значение EUI-48, сгенерированное путем объединения этих двух чисел, равно 0x0050C257AFFF.