2016-01-18 2 views
0

Зачем нам нужна информация об исходном ip-адресе и исходном mac-адресе в пакете, когда одного из них достаточно для идентификации источника? Требуются ли они для всех протоколов?Почему и MAC, и IP-адрес пакета?

Редактировать: Извините, я забыл упомянуть «в пакете». Я хотел знать во время передачи пакета из источника в пункт назначения. Спасибо.

ответ

0

MAC-адреса являются адресами уровня 2, IP-адреса являются адресами уровня 3, а порты - это адреса уровня 4.

MAC-адреса не находятся в заголовках пакетов, они находятся в заголовках фреймов. Только адреса уровня 3 находятся в заголовках пакетов. Порты находятся в заголовках сегментов.

MAC-адреса значимы только в локальной сети. Они находятся в заголовках фреймов, а фреймы разделяются на границы уровня 3 (маршрутизаторы). Затем маршрутизаторы используют заголовки уровня 3 с адресом уровня 3 для пересылки пакета на следующий интерфейс, где маршрутизатор будет создавать новый кадр уровня 2 с новыми адресами уровня 2 для новой ссылки уровня 2.

0

В сети достаточно указать только IP-адрес. Но в разных сетях маршрутизатору необходимо разрешить IP-адрес на основе MAC-адреса. IP-адрес может меняться, но MAC-адрес является постоянным. Машина может подключаться к другой машине через физический адрес, то есть MAC.

Для большинства протоколов TCP/IP вам нужны оба.

+0

IP не требуется MAC-адрес. IP может работать во многих протоколах уровня 2, некоторые из которых не используют MAC-адреса. В сети Ethernet (LAN) вам, безусловно, нужны MAC-адреса, поскольку это так, как кадр ethernet доставляется в пункт назначения. Кроме того, MAC-адреса не будут отображаться в другой сети. –

+0

Да, вы правы. Но для языка непрофессионалов трудно понять концепцию, основанную на слое. Поэтому я дал обобщенный ответ, который представляет собой набор протоколов TCP/IP. – wonder

+0

Проблема в том, что то, что вы написали, неверно и вводит в заблуждение. Любой, кто занимается сетевым программированием, должен полностью понять, как работают слои, а языку непрофессионала действительно не место на сайте программистов. –

0

Вам нужен IP-адрес источника, поскольку ответ придет к этому. Это будет оставаться неизменным в пакете через его перемещение. Это тоже не обязательно. (Как в случае IP-адреса Spoofing.)

Исходный MAC-адрес будет необходим для следующего перехода (маршрутизатора), а не далее. Если следующий скачок увидит вас в первый раз, он обновит свою таблицу маршрутизации, используя ваш IP-адрес и MAC-адрес.

Если следующий прыжок не может решить IP-адрес назначения или не может найти путь, он решит отказаться от пакета и уведомит вас об этом. Но если он найдет путь и отправит пакет, он заменит свой собственный MAC-адрес в поле MAC-адреса источника. Но исходный IP-адрес в этом случае остается неизменным. (Он также изменится в случае прокси.)

Смежные вопросы