Зачем нужен IP-адрес, если есть MAC-адрес?

Рейтинг: 13Ответов: 3Опубликовано: 03.09.2014

Зачем нужен IP-адрес, если есть мак адрес? Т.е. убрать 3 уровень модели OSI (машрутизацию) и сделать все по коммутаций. Либо наоборот убрать 2 уровень и оставить только 3.

Ответы

▲ 19Принят

Коммуникацию можно устраивать и по ethernet, дело в том, что большинство программ работают с протоколом tcp/ip, так как это универсальнее. Если же вы хотите устроить коммутацию на весь интернет, то вас ждет разочарование - представьте, сколько шума будет в подобной сети, ведь без маршрутизации все пакеты, кем-либо посланные, придут ко всем участникам сети (даже если сделать что-то типа свитчей, (которые будут определять, на каком порту какой mac), то это потребует, во-первых, просто безумнейших таблиц маков по портам, а во-вторых, сеть - не иерархическая структура, т.е. нет никаких гарантий, что исходящий пакет придет только на один порт. В общем, читайте об устройстве протокола ethernet.

Убрать же 2-й уровень просто не получится, т.к. в таком случае придется анонсировать каждый адрес отдельно (скажем, мы говорим - теперь ipv6 это fe80:: и далее вычисляем из mac адреса). Т.е. мы в таком случае вынуждены вместо анонса сети анонсировать отдельный адрес, это раз, мы можем в общем-то сделать ipv6 так: ourn:etad:dres:fe80::pcma:cadd:ress, но это потребует смены всей инфраструктуры, кроме того, не избавит нас от протокола ethernet, а просто скроет его. Правда, локально, в вашем сегменте, вы конечно, сможете выдавать адреса ipv6 по dhcp, основываясь на mac address, никто вам не помешает :)

А еще бывают сети, в которых mac-адреса нет, а ip есть :) Называются point-to-point (например, по модему когда соединяемся - нет протокола ethernet).

▲ 1

Раньше единого стандарта не было на оборудование, в частности на адресацию на физическом уровне. Нужно было ввести общий стандарт для взаимодействия между сетями, который был бы понятен всем устройствам. Так и появился IP. Многие называют его протоколом Интернета, однако правильно межсетевой протокол.

▲ 0

Рекомендую ознакомиться с этой лекцией. В неё рассматривается организация сетей именно с точки зрения решаемых задач. Как бы воссоздаётся процесс разработки сетевых протоколов. Очень интересно, на мой взгляд.

https://tech.yandex.ru/education/kit/3/talks/526/

https://tech.yandex.ru/education/kit/3/talks/527/