Можно ли использовать только IP-адрес, и не использовать MAC-адрес?
Может ли все это функционировать таким образом как я описал ниже, а все работает так как есть просто потому что это так исторически сложилось?
Предположим что на устройствах не будет MAC-адресов.
Тогда коммутатор будет создавать таблицы соответствия не MAС, а IP-адресов портам. При включении хосты могут присваивать себе рандомный IP адрес и запрашивать новый у DHCP-сервера.
Да, нужно будет изменить заголовки IP-пакета таким образом чтобы в нем появился еще один, третий адрес: 1-адрес отправителя, 2-адрес конечного получателя, 3-адрес следующего получателя(например шлюза). Первый и второй неизменны, а третий может изменяться при прохождении пакета по сети.
Тогда при отправке пакета компьютер проверяет в свою ли сеть отправляется пакет согласно маске подсети. Если в свою, то второй и третий адрес будут одинаковы. Потому что конечный и следующий адрес один и тот же. Если же не в свою, то второй адрес - это будет адрес конечногополучателя, а третим адресом укажется адрес шлюза. Шлюз проверяет подключена ли к нему эта сеть, и если нет, то отправляет следующему маршрутизатору и т.д.
Понятно что придется поменять все коммутаторы на соответствующие новым стандартам и написать новый софт. Вопрос чисто теоретический: нужны ли два адреса или можно обойтись одним.
Немного сумбурно, но попрошу не сильно пинать за это.
Ответы (2 шт):
Если бы мы использовали IP-адреса на 2 (L2) уровне, возникла бы проблема «динамики» адресов. В канальном уровне требуется постоянная привязка устройства к порту на коммутаторе, но IP-адреса могут динамически изменяться (DHCP, а если они с каждым входом через DHCP меняются). Это разрушило бы модель «быстрой и стабильной» привязки устройства к порту, что жизненно важно для сетей.
Коммутаторы должны будут отслеживать динамические IP-адреса, что усложнит логику обработки пакетов и увеличит нагрузку на оборудование. Обычно маршрутизаторы (L3-устройства) работают с IP-адресами, потому что они разделяют сеть на домены вещания, что позволяет ограничить количество трафика и предотвращает рассылку ненужных широковещательных сообщений. Если бы коммутаторы работали с IP-адресами, это привело бы к дополнительным затратам времени на анализ пакета (так как в IP-пакете больше данных, чем в MAC-заголовке), а также к необходимости обновления таблиц с привязками IP к портам при каждом изменении IP-адреса.
Локальные сети не могут больше функционировать так же эффективно. Представим, что у нас есть офисная сеть с тысячами устройств. В нынешней архитектуре каждый коммутатор знает MAC-адрес каждого устройства и через ARP (Address Resolution Protocol) привязывает этот адрес к IP-адресу при необходимости. Если убрать MAC-адреса, коммутаторы вынуждены будут строить свои таблицы маршрутизации на основе IP-адресов, но IP-адреса меняются, а это приведет к бесконечным перестройкам таблиц.
Мак адреса относительно простые а если их заменить ipv6 или даже ipv4 то это лишний раз замедлит локальные сети
Eсли IP-адреса используются и на канальном уровне, и на сетевом уровне, устройства внутри одной и той же физической сети могут не иметь стабильных привязок к портам. В случае изменения IP-адреса (например, при повторном подключении устройства или изменении конфигурации DHCP), коммутатор должен будет обновлять свои таблицы привязки IP-адресов к портам. Это приведёт к хаосу и коллизиям в пересылке пакетов, так как сетевое оборудование не сможет быстро определить, где находится конечное устройство в физической сети. Это можно сказать делает современные сети гибкими, масштабируемыми и устойчивыми к динамическим изменениям, если есть какие либо вопросы и тому прочее могу с радостью ответить
Всем привет и спасибо за участие в поисках ответа на вопрос. Для себя я , вообще то, уже нашел ответ, точнее пришел к нему. Что все работает так как есть просто потому что это так исторически сложилось. А если бы это проектировалось сейчас, то все было бы по другому, с учетом современных реалий и знаний.