в компьютерной сети,IP-адресиMAC-адресэто два самых основных понятия。IP-адрес Используется для идентификации хостов в Интернете.логический адрес,иMAC-адрес Используется для идентификации сетевой картыфизический адрес。Хотя оба адреса используются для идентификации устройства,нодаониизэффекти Сценарии использование разное.
IP-адреснаходится всетевой уровень(OSIТретий слой модели)использовал,Это динамически выделяемый адрес со структурированными свойствами.,Могут быть достигнуты связь и маршрутизация между сетями.
MAC-адреснаходится вканальный уровень(OSIВторой слой модели)использовал,Это фиксированный и плоский адрес.,Могут быть реализованы адресация и передача данных внутри локальной сети.
поэтому,в сетевом общении,Очень важно использовать два разных типа адресов: IP-адрес и MAC-адрес.
IP(Internet Protocol
)даИнтернет-протоколаббревиатура,Это протокол, определяющий, как сетевые устройства взаимодействуют в Интернете. IP-протокол, определение логического адреса,Прямо сейчасIP-адрес,Используется для уникальной идентификации сетевого устройства в Интернете.
В настоящее время существуют две версии протокола IP.,соответственнодаIPv4иIPv6。
IPv4(Internet Protocol version 4
)да В настоящее время наиболее распространениспользовалIPВерсия протокола,он использует32 битдвоичное число, обозначающееIP-адрес,Обычно отображается в десятичной форме с точками.,Например, 192.168.1.1.
одинIPv4Адрес состоит из двух частей:Номер сетииномер хоста。
Сетевые номера разной длины могут быть разделены на разные уровни сетей, например, класс A, класс B, класс C и т. д. Чтобы удобно представлять номера сетей различной длины, в IPv4 введена концепция маски подсети, которая представляет собой 32-битное двоичное число, в котором бит, соответствующий номеру сети, равен 1, а бит, соответствующий номеру хоста, равен 0. Например, 255.255.255.0 — это маска подсети, указывающая, что первые 24 цифры — это номер сети, а последние 8 цифр — номер хоста.
IPv6(Internet Protocol version 6
)дачтобы решитьIPv4решить проблему истощенияидизайнизновое поколениеIPВерсия протокола,он использует128 битдвоичное число, обозначающееIP-адрес,Обычно отображается в дробной шестнадцатеричной форме.,Например, 2001:db8::1.
одинIPv6Адрес состоит из двух частей:префиксиидентификатор интерфейса。
IPv6 не имеет номера сети или номера хоста фиксированной длины. Вместо этого он использует длину префикса (длину префикса), чтобы указать, сколько бит занимает префикс. Например, 2001:db8::1/64 означает, что первые 64 бита — это префикс, а последние 64 бита — идентификатор интерфейса.
MAC(Media Access Control
)даконтроль доступа к медиааббревиатура,этодаусловиеканальный уровень Протокол доступа к физическим средам (таким как кабели, оптоволокно и т. д.) для передачи данных. Определение протокола MAC физический адрес,Прямо сейчасMAC-адрес,Используется для уникальной идентификации сетевой карты или другого сетевого устройства в локальной сети. Существует много типов протоколов MAC.,Одним из наиболее распространенных является протокол Ethernet.
Использование протокола Ethernet48 битдвоичное число, обозначающееMAC-адрес,Обычно отображается в дробной шестнадцатеричной форме.,Например, 00-16-EA-AE-3C-40. MAC-адрес Ethernet состоит из двух частей: OUI и NICI.
поэтому,MAC-адрес Ethernet однозначно идентифицирует сетевую карту или другое сетевое устройство.,и не может быть изменено.
IPПротокол работает всетевой уровень(OSIТретий слой модели),Он отвечает за инкапсуляцию данных в пакеты.,И выполнять маршрутизацию и переадресацию на основе целевого IP-адреса. Когда один хост хочет отправить данные на другой хост,Ему необходимо знать IP-адрес целевого хоста -адрес.,и записывает его в заголовок пакета. Далее согласно таблице маршрутизации (routing таблице), выберите соответствующий следующий переход (следующий hop), то есть следующий маршрутизатор или другое сетевое устройство, которое пересылает пакет данных и отправляет его.
Когда пакет достигает следующего перехода,Следующий переход снова выберет соответствующий следующий переход на основе своей собственной таблицы маршрутизации.,и переслать пакет данных. Этот процесс будет повторяться много раз,Пока пакет данных не достигнет локальной сети, где расположен целевой хост. в этом процессе,Каждому маршрутизатору или другому сетевому устройству необходимо знать только IP-адрес следующего перехода — адрес.,Нет необходимости знать конкретное местоположение или метод физического подключения целевого хоста или других промежуточных узлов.
MACПротокол работает вканальный уровень(OSIВторой слой модели),Он отвечает за инкапсуляцию данных в кадры (frame),И адресуется и передается согласно целевому MAC-адресу. Когда один хост хочет отправить данные на другой хост,Ему необходимо знать MAC целевого хоста -адрес.,и записывает его в заголовок кадра. Затем в соответствии с характеристиками физической среды (например, кабели, оптические волокна и т. д.),Отправьте рамку.
Когда кадр поступает в локальную сеть, где находится целевой хост,Все устройства в локальной сети получат кадр.,И определить, основан ли он сам на целевом MAC-адресе в заголовке кадра. если это я,затем получите рамку,и декапсулировать его в пакет данных,Оставьте это на сетевом уровне. если не я,Кадр отбрасывается. в этом процессе,Каждому устройству необходимо знать только MAC-адрес устройства, напрямую подключенного к нему.,Нет необходимости знать логическое расположение или сетевые соединения целевого хоста или других промежуточных узлов.
Итак, как же один хост получает MAC-адрес другого хоста?
Для этого необходимо использоватьARP(Address Resolution Protocol
)протокол,Это протокол получения MAC-адреса на основе IP-адреса. Принцип работы и процесс протокола ARP заключаются в следующем:
Когда один хост хочет отправить данные на другой хост,Если целевой хост находится в той же локальной сети, что и вы,Затем вы можете напрямую использовать протокол ARP для получения MAC-адреса целевого хоста.,И инкапсулируйте его в рамку и отправьте. но,Если целевой хост не находится в той же локальной сети, что и вы,Затем его необходимо перенаправить маршрутизатору. В это время,Вам необходимо знать MAC-адрес роутера,Вместо MAC-адреса целевого хоста. Ниже мы используем пример, иллюстрирующий рабочий процесс в этом случае.
Предположим следующую топологию:
в:
Теперь предположим, что хост A хочет отправить пакет данных на сервер S. Полный процесс выглядит следующим образом:
1) Хост A обнаруживает, что целевой IP-адрес не находится в том же сегменте сети, что и он сам, и маршрутизатор должен перенаправить его.
2)Проверьте таблицу маршрутизации Получить IP-адрес и исходящий интерфейс R1 (с которого отправляется сетевая карта),Проверьте таблицу ARPНет соответствующей записи
3) Инициировать запрос ARP. IP-адрес назначения — R1, MAC-адрес назначения — широковещательный MAC (FF:FF:FF:FF:FF:FF), а IP-адрес источника и MAC-адрес источника — это IP и MAC хоста A. сетевая карта.
4) R1 получает запрос ARP, добавляет IP и MAC хоста A в свою собственную таблицу кэша ARP и отвечает на запрос ARP хоста A своим собственным IP и MAC.
5) Хост A получает ответ ARP, добавляет IP-адрес и MAC-адрес R1 в свою собственную таблицу кэша ARP, использует свой собственный IP-адрес и MAC в качестве источника, IP-адрес сервера S и MAC-адрес R1 в качестве пункта назначения, инкапсулирует кадр данных и пересылает его на R1 (в этот момент IP-адрес источника кадра данных — хост A, IP-адрес назначения — сервер S, MAC-адрес источника — хост A, а MAC-адрес назначения — R1)
6) R1 получает кадр данных, проверяет таблицу маршрутизации на основе IP-адреса назначения и обнаруживает, что R2 необходимо переслать. Он проверяет таблицу ARP, но соответствующей записи нет. Используйте свой собственный IP-адрес и MAC в качестве источника, IP-адрес назначения — R2, а MAC-адрес назначения широковещательно передается для отправки запроса ARP и отбрасывает кадр данных с хоста A.
7) R2 получает запрос ARP, добавляет IP и MAC маршрутизатора R1 в свою собственную таблицу кэша ARP и отвечает на запрос ARP хоста R2 своим собственным IP и MAC.
8) R1 получает ответ ARP и добавляет IP-адрес и MAC-адрес R2 в свою собственную таблицу кэша ARP.
9) Хост A обнаруживает тайм-аут и повторно отправляет кадр данных.
10) R1 получает кадр данных,Проверьте таблицу маршрутизации,Должен быть перенаправлен R2,Проверьте таблицу ARP,Получите MAC-адрес для R2. Измените исходный MAC-адрес кадра данных на себя.,Измените MAC-адрес назначения на R2.,И пересылаем кадр данных на R2 (в это время исходным IP-адресом кадра данных является хост A).,IP-адрес назначения – сервер S.,Исходный MAC-адрес — R1.,MAC назначения — R2)
11) R2 получает кадр данных, проверяет таблицу маршрутизации на основе IP-адреса назначения и обнаруживает, что целевой хост находится в том же сегменте сети, что и он сам. Он проверяет таблицу ARP, но соответствующей записи нет. Он использует свой собственный IP-адрес и MAC-адрес в качестве источника, IP-адрес назначения — это сервер S, а MAC-адрес назначения широковещательно передается для отправки запроса ARP и отклонения кадра данных от R1.
12) Сервер S получает запрос ARP, добавляет IP-адрес и MAC-адрес R2 в свою собственную таблицу кэша ARP и отвечает на запрос ARP хоста R2, используя свой собственный IP-адрес и MAC-адрес.
13) R2 получает ответ ARP и добавляет IP и MAC сервера S в свою собственную таблицу кэша ARP.
14) Хост A обнаруживает тайм-аут и повторно отправляет кадр данных.
15) R1 получает кадр данных,Проверьте таблицу маршрутизации,Должен быть перенаправлен R2,Проверьте таблицу ARP,Получите MAC-адрес для R2. Измените исходный MAC-адрес кадра данных на себя.,Измените MAC-адрес назначения на R2.,и переслать кадр данных на R2
16) R2 получает кадр данных,Проверьте таблицу маршрутизации,Должно быть перенаправлено сервером S,Проверьте таблицу ARP,Получите MAC-адрес сервера S. Измените исходный MAC-адрес кадра данных на себя.,Измените MAC-адрес назначения на сервер S.,И пересылаем кадр данных на сервер S (в это время исходным IP-адресом кадра данных является хост A).,IP-адрес назначения – сервер S.,Исходный MAC-адрес — R2.,
Хотя IP-адрес и MAC-адрес используются для идентификации устройств в сети, их природа и роль сильно различаются. Вот основные различия между ними:
Кроме того, есть и другие отличия:
IP-адрес и MAC-адрес — очень важные понятия в компьютерных сетях. Хотя у них разные роли и сферы применения.,нодаони之间存在着密切изассоциация。в сетевом общении,И IP-адрес, и MAC-адрес играют жизненно важную роль. поэтому,Изучение и понимание IP-адреса и MAC-адреса очень важно для понимания и решения проблем сетевой связи. в то же время,Понимание IP-адреса и MAC-адреса также помогает нам лучше защитить сетевую безопасность.