MAC -адрес (сокращение от Medium Access Control Address или Media Access Control Address ) — это уникальный идентификатор , назначаемый сетевому контроллеру интерфейса (NIC) для использования в качестве сетевого адреса при обмене данными в сегменте сети . Такое использование распространено в большинстве сетевых технологий IEEE 802 , включая Ethernet , Wi-Fi и Bluetooth . В сетевой модели взаимодействия открытых систем (OSI) MAC-адреса используются на подуровне протокола управления доступом к среде канального уровня . Как правило, MAC-адреса распознаются как шесть групп из двух шестнадцатеричных цифр, разделенных дефисами, двоеточиями или без разделителя.
MAC-адреса в основном назначаются производителями устройств и поэтому часто называются « выжженным адресом » или « аппаратным адресом Ethernet» , «аппаратным адресом» или «физическим адресом» . Каждый адрес может храниться в аппаратном обеспечении интерфейса, например, в его постоянной памяти , или с помощью встроенного механизма. Однако многие сетевые интерфейсы поддерживают изменение своих MAC-адресов. Адрес обычно включает в себя организационно уникальный идентификатор производителя (OUI). MAC-адреса формируются в соответствии с принципами двух пространств нумерации, основанных на расширенных уникальных идентификаторах (EUI), управляемых Институтом инженеров по электротехнике и электронике (IEEE): EUI-48 — который заменяет устаревший термин MAC-48 — и EUI-64 .
Сетевые узлы с несколькими сетевыми интерфейсами, такие как маршрутизаторы и многоуровневые коммутаторы , должны иметь уникальный MAC-адрес для каждого сетевого интерфейса в одной сети. Однако два сетевых интерфейса, подключенных к двум разным сетям, могут совместно использовать один и тот же MAC-адрес.
MAC-адрес IEEE 802 изначально происходит из схемы адресации Ethernet Xerox Network Systems . [1] Это 48-битное адресное пространство потенциально содержит 2 48 (более 281 триллиона) возможных MAC-адресов. IEEE управляет распределением MAC-адресов, изначально известных как MAC-48, а теперь именуемых идентификаторами EUI-48. IEEE имеет целевой срок службы 100 лет (до 2080 года) для приложений, использующих пространство EUI-48, и ограничивает приложения соответствующим образом. IEEE поощряет принятие более распространенного EUI-64 для не-Ethernet приложений. [2]
Различия между идентификаторами EUI-48 и MAC-48 заключаются только в названии и применении. MAC-48 использовался для адресации аппаратных интерфейсов в существующих сетевых приложениях на основе 802; EUI-48 теперь используется для сетей на основе 802, а также используется для идентификации других устройств и программного обеспечения, например Bluetooth . [3] [4] IEEE теперь считает MAC-48 устаревшим термином. [5] EUI-48 теперь используется во всех случаях. Кроме того, система нумерации EUI-64 изначально охватывала как идентификаторы MAC-48, так и идентификаторы EUI-48 с помощью простого механизма перевода. [3] [a] С тех пор эти переводы устарели. [3]
Индивидуальный адресный блок (IAB) — это неактивный реестр, который был заменен MA-S ( MAC address block, small ), ранее называвшимся OUI-36 , и не имеет совпадений в адресах с продуктом реестра IAB [6] по состоянию на 1 января 2014 года. IAB использует OUI из реестра MA-L ( MAC address block, large ), ранее называвшегося реестром OUI . Термин OUI все еще используется, [6] но Регистрационный орган IEEE не администрирует их. OUI объединяется с 12 дополнительными битами, предоставленными IEEE (всего 36 бит), оставляя только 12 бит для организации, владеющей IAB, для назначения своим (до 4096) индивидуальным устройствам. IAB идеально подходит для организаций, которым требуется не более 4096 уникальных 48-битных номеров (EUI-48). В отличие от OUI, который позволяет получателю назначать значения в различных числовых пространствах (например, EUI-48, EUI-64 и различных контекстно-зависимых числовых пространствах идентификаторов, таких как SNAP или EDID ), индивидуальный адресный блок может использоваться только для назначения идентификаторов EUI-48. Все другие потенциальные использования на основе OUI, из которого выделяются IAB, зарезервированы и остаются собственностью регистрационного органа IEEE. В период с 2007 по сентябрь 2012 года для назначений IAB использовалось значение OUI 00:50:C2. После сентября 2012 года использовалось значение 40:D8:55. Владельцы уже назначенного IAB могут продолжать использовать назначение. [7]
Реестр MA-S включает для каждого регистратора как 36-битный уникальный номер, используемый в некоторых стандартах, так и блок идентификаторов EUI-48 и EUI-64 (при этом регистратор IAB не может назначить EUI-64). MA-S не включает назначение OUI.
Кроме того, MA-M ( блок MAC-адресов, средний ) предоставляет как 2 20 идентификаторов EUI-48, так и 2 36 идентификаторов EUI-64, первые 28 бит назначаются IEEE. Первые 24 бита назначенного блока MA-M являются OUI, назначенными IEEE, которые не будут переназначены, поэтому MA-M не включает назначение OUI.
Адреса могут быть либо универсально администрируемыми адресами (UAA), либо локально администрируемыми адресами (LAA). Универсально администрируемый адрес назначается устройству его производителем уникальным образом. Первые три октета (в порядке передачи) идентифицируют организацию, выдавшую идентификатор, и называются организационно уникальным идентификатором (OUI). [3] Оставшаяся часть адреса (три октета для EUI-48 или пять для EUI-64) назначается этой организацией практически любым удобным для нее способом с учетом ограничения уникальности. Локально администрируемый адрес назначается устройству программным обеспечением или сетевым администратором, переопределяя прошитый адрес для физических устройств.
Локально администрируемые адреса отличаются от универсально администрируемых адресов установкой (назначением значения 1) второго наименее значимого бита первого октета адреса. Этот бит также называется битом U/L , сокращением от Universal/Local , который определяет, как администрируется адрес. [8] [ самостоятельно опубликованный источник? ] [9] : 20 Если бит равен 0, адрес администрируется универсально, поэтому этот бит равен 0 во всех UAA. Если он равен 1, адрес администрируется локально. В примере адреса 06-00-00-00-00-00 первый октет равен 06 (шестнадцатеричный), двоичная форма которого равна 000001 1 0, где второй наименее значимый бит равен 1. Следовательно, это локально администрируемый адрес. [10] Несмотря на то, что многие гипервизоры управляют динамическими MAC-адресами в пределах собственного OUI, часто бывает полезно создать целый уникальный MAC-адрес в пределах диапазона LAA. [11]
В виртуализации гипервизоры, такие как QEMU и Xen, имеют свои собственные OUI. Каждая новая виртуальная машина запускается с MAC-адресом, установленным путем назначения последних трех байтов уникальными в локальной сети. Хотя это локальное администрирование MAC-адресов, это не LAA в смысле IEEE.
Историческим примером такой гибридной ситуации является протокол DECnet , где универсальный MAC-адрес (OUI AA-00-04, Digital Equipment Corporation) администрируется локально. Программное обеспечение DECnet назначает последние три байта для полного MAC-адреса как AA-00-04-00-XX-YY , где XX-YY отражает сетевой адрес DECnet xx.yy хоста. Это устраняет необходимость в протоколе разрешения адресов для DECnet , поскольку MAC-адрес для любого хоста DECnet может быть определен по его адресу DECnet.
Наименее значимый бит первого октета адреса называется битом I/G или Individual/Group . [8] [ самостоятельно опубликованный источник? ] [9] : 20 Когда этот бит равен 0 (нулю), кадр должен достичь только одного принимающего сетевого интерфейса . [12] Этот тип передачи называется одноадресной . Одноадресный кадр передается всем узлам в домене коллизий . В современной проводной настройке (т. е. с коммутаторами , а не простыми концентраторами ) домен коллизий обычно представляет собой длину кабеля Ethernet между двумя сетевыми интерфейсами. В беспроводной настройке домен коллизий — это все приемники, которые могут обнаружить данный беспроводной сигнал. Если коммутатор не знает, какой порт ведет к данному MAC-адресу, коммутатор перешлет одноадресный кадр на все свои порты (кроме исходного порта), действие, известное как одноадресная рассылка . [13] [ самостоятельно опубликованный источник? ] Только узел с соответствующим аппаратным MAC-адресом (обычно) примет кадр; Сетевые интерфейсы с несовпадающими MAC-адресами игнорируют кадр, если только они не находятся в смешанном режиме .
Если младший бит первого октета установлен на 1 (т.е. вторая шестнадцатеричная цифра нечетная), кадр все равно будет отправлен только один раз; однако контроллеры сетевых интерфейсов будут принимать или игнорировать его на основе критериев, отличных от соответствия их индивидуальных MAC-адресов: например, на основе настраиваемого списка принятых многоадресных MAC-адресов. Это называется многоадресной адресацией.
IEEE встроил несколько специальных типов адресов, позволяющих одновременно адресовать более одной сетевой карте :
Все это примеры групповых адресов , в отличие от индивидуальных адресов ; младший бит первого октета MAC-адреса отличает индивидуальные адреса от групповых адресов. Этот бит устанавливается в 0 в индивидуальных адресах и в 1 в групповых адресах. Групповые адреса, как и индивидуальные адреса, могут администрироваться универсально или локально.
Биты U/L и I/G обрабатываются независимо, и существуют примеры всех четырех возможностей. [10] Многоадресная рассылка IPv6 использует локально администрируемые многоадресные MAC-адреса в диапазоне 3 3 -33-XX-XX-XX-XX (с обоими установленными битами). [14] : §2.3.1
Учитывая расположение битов U/L и I/G, их можно различить по одной цифре в общепринятой записи MAC-адреса, как показано в следующей таблице:
Стандарт IEEE 802c [15] дополнительно делит локально администрируемый блок MAC-адресов на четыре квадранта. Это дополнительное разбиение называется структурированным локальным адресным планом (SLAP), и его использование необязательно.
Следующие сетевые технологии используют формат идентификатора EUI-48:
Каждое устройство, подключаемое к сети IEEE 802 (например, Ethernet и Wi-Fi), имеет адрес EUI-48. Обычные сетевые потребительские устройства, такие как ПК, смартфоны и планшетные компьютеры, используют адреса EUI-48.
Идентификаторы EUI-64 используются в:
В широковещательных сетях, таких как Ethernet, MAC-адрес, как ожидается, будет однозначно идентифицировать каждый узел в этом сегменте и позволит маркировать кадры для определенных хостов. Таким образом, он формирует основу большинства сетей канального уровня (уровень OSI 2 ), на которые опираются протоколы верхнего уровня для создания сложных, функционирующих сетей.
Многие сетевые интерфейсы поддерживают изменение своего MAC-адреса. В большинстве Unix -подобных систем командная утилита ifconfig может использоваться для удаления и добавления псевдонимов адресов ссылок. Например, активная директива ifconfig может использоваться в NetBSD для указания того, какой из прикрепленных адресов активировать. [18] Следовательно, различные скрипты и утилиты конфигурации позволяют рандомизировать MAC-адрес во время загрузки или перед установлением сетевого соединения.
Изменение MAC-адресов необходимо при виртуализации сети . При MAC-спуфинге это практикуется при использовании уязвимостей безопасности компьютерной системы. Некоторые современные операционные системы, такие как Apple iOS и Android, особенно в мобильных устройствах, разработаны для рандомизации назначения MAC-адреса сетевому интерфейсу при сканировании беспроводных точек доступа, чтобы предотвратить системы слежения. [19] [20]
В сетях Интернет-протокола (IP) MAC-адрес интерфейса, соответствующего IP-адресу , может быть запрошен с помощью протокола разрешения адресов (ARP) для IPv4 и протокола обнаружения соседей (NDP) для IPv6, связывающих адреса уровня 3 модели OSI с адресами уровня 2.
По словам Эдварда Сноудена , у Агентства национальной безопасности США есть система, которая отслеживает перемещения мобильных устройств в городе, отслеживая MAC-адреса. [21] Чтобы предотвратить эту практику, Apple начала использовать случайные MAC-адреса в устройствах iOS при сканировании сетей. [19] Другие производители быстро последовали их примеру. Рандомизация MAC-адресов во время сканирования была добавлена в Android, начиная с версии 6.0, [20] Windows 10, [22] и Linux kernel 3.18. [23] Фактические реализации техники рандомизации MAC-адресов сильно различаются на разных устройствах. [24] Более того, различные недостатки и изъяны в этих реализациях могут позволить злоумышленнику отслеживать устройство, даже если его MAC-адрес изменен, например, другие элементы его зондирующих запросов, [25] [26] или их время. [27] [24] Исследователи подтвердили, что если случайные MAC-адреса не используются, можно связать реальную личность с определенным беспроводным MAC-адресом. [28]
Рандомизированные MAC-адреса можно идентифицировать с помощью бита «локального администрирования», описанного выше. [29]
Используя беспроводные точки доступа в режиме скрытого SSID ( сетевая маскировка ), мобильное беспроводное устройство может не только раскрывать свой собственный MAC-адрес во время перемещения, но даже MAC-адреса, связанные с SSID, к которым устройство уже подключено, если они настроены на отправку их как части пакетов запросов зонда. Альтернативные режимы для предотвращения этого включают настройку точек доступа либо в режиме широковещательной рассылки маяка, либо в режиме ответа зонда с SSID. В этих режимах запросы зонда могут быть ненужными или отправляться в широковещательном режиме без раскрытия личности ранее известных сетей. [30]
Стандартный формат ( IEEE 802 ) для печати адресов EUI-48 в удобной для человека форме — это шесть групп по две шестнадцатеричные цифры, разделенных дефисами ( - ) в порядке передачи (например, 01-23-45-67-89-AB ). Эта форма также обычно используется для EUI-64 (например, 01-23-45-67-89-AB-CD-EF ). [3] Другие соглашения включают шесть групп по две шестнадцатеричные цифры, разделенные двоеточиями (:) (например, 01:23:45:67:89:AB ), и три группы по четыре шестнадцатеричные цифры, разделенные точками (.) (например, 0123.4567.89AB ); снова в порядке передачи. [31]
Стандартная нотация, также называемая каноническим форматом, для MAC-адресов записывается в порядке передачи, при этом наименее значимый бит каждого байта передается первым, и используется , например, в выходных данных команд ifconfig
, ip address
, и .ipconfig
Однако, поскольку IEEE 802.3 (Ethernet) и IEEE 802.4 (Token Bus) отправляют байты (октеты) по проводу слева направо, причем первым идет наименее значимый бит в каждом байте, в то время как IEEE 802.5 (Token Ring) и IEEE 802.6 (FDDI) отправляют байты по проводу, начиная со наиболее значимым битом, может возникнуть путаница, когда адрес в последнем сценарии представлен битами, обратными каноническому представлению. Например, адрес в канонической форме 12-34-56-78-9A-BC будет передаваться по проводу как биты 01001000 00101100 01101010 00011110 01011001 00111101
в стандартном порядке передачи (сначала наименее значимый бит). Но для сетей Token Ring он будет передаваться как биты 00010010 00110100 01010110 01111000 10011010 10111100
в порядке наиболее значимых битов. Последнее может быть неправильно отображено как 48-2C-6A-1E-59-3D . Это называется порядком битов в обратном порядке , неканонической формой , форматом MSB , форматом IBM или форматом Token Ring . [32]
Универсальное администрирование MAC-адресов локальной сети началось с того, что корпорация Xerox начала администрировать идентификаторы блоков (Block ID) для адресов Ethernet.
Для улучшения конфиденциальности конечных пользователей различные поставщики операционных систем (Apple iOS 14, Android 10 и Windows 10) позволяют использовать локально администрируемый MAC-адрес (LAA), также называемый случайным MAC-адресом для работы WIFI. Когда беспроводная конечная точка связана со случайным MAC-адресом, MAC-адрес конечной точки со временем меняется.
Вы можете ввести MAC-адрес в следующих форматах для представления адресов MAC-48 в удобной для восприятия форме: шесть групп по две шестнадцатеричные цифры, разделенные дефисами (-) в порядке передачи, [...] шесть групп по две разделенные двоеточиями (:), [...] три группы по четыре шестнадцатеричные цифры, разделенные точками (.)...