Ответ
IP-адрес (Internet Protocol) — это логический адрес сетевого уровня (L3 OSI), назначаемый устройству для идентификации в сети и маршрутизации трафика между разными сетями. Он может быть динамическим.
MAC-адрес (Media Access Control) — это физический адрес канального уровня (L2 OSI), уникальный идентификатор, «прошитый» в сетевом адаптере. Он используется для коммуникации внутри одной локальной сети (LAN).
Ключевые отличия:
| Критерий | IP-адрес | MAC-адрес |
|---|---|---|
| Уровень OSI | Сетевой (L3) | Канальный (L2) |
| Назначение | Глобальная маршрутизация между сетями | Локальная идентификация в пределах сети |
| Изменяемость | Динамически назначается и меняется | Постоянный (физический) |
| Пример | 192.168.1.1 (IPv4) |
00:1A:2B:3C:4D:5E |
Практический пример: При отправке пакета на удаленный сервер:
- Ваш компьютер использует IP-адрес сервера для определения маршрута через интернет.
- В пределах каждого сегмента локальной сети (например, в вашей домашней сети или сети провайдера) для передачи кадра следующему устройству (роутеру, коммутатору) используется его MAC-адрес.
Пример проверки формата MAC-адреса на Python:
import re
def is_valid_mac(mac: str) -> bool:
pattern = r'^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$'
return bool(re.match(pattern, mac))
print(is_valid_mac('00:1A:2B:3C:4D:5E')) # True
print(is_valid_mac('00-1A-2B-3C-4D-5E')) # True
print(is_valid_mac('00:1A:2B:3C:4D')) # False