Отображение физических адресов на IP-адреса: протоколы ARP и RARP




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

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

Для определения локального адреса по IP-адресу используется протокол разрешения адреса Address Resolution Protocol, ARP. Протокол ARP работает различным образом в зависимости от того, какой протокол канального уровня работает в данной сети - протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети, или же протокол глобальной сети (X.25, frame relay), как правило не поддерживающий широковещательный доступ. Существует также протокол, решающий обратную задачу - нахождение IP-адреса по известному локальному адресу. Он называется реверсивный ARP - RARP (Reverse Address Resolution Protocol) и используется при старте бездисковых станций, не знающих в начальный момент своего IP-адреса, но знающих адрес своего сетевого адаптера.

В локальных сетях протокол ARP использует широковещательные кадры протокола канального уровня для поиска в сети узла с заданным IP-адресом.

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

Тип сети Тип протокола
Длина локального адреса Длина сетевого адреса Операция
Локальный адрес отправителя (байты 0 - 3)  
Локальный адрес отправителя (байты 4 - 5) IP-адрес отправителя (байты 0-1)
IP-адрес отправителя (байты 2-3) Искомый локальный адрес (байты 0 - 1)
Искомый локальный адрес (байты 2-5)  
Искомый IP-адрес (байты 0 - 3)  
     

Узел, отправляющий ARP-запрос, заполняет в пакете все поля, кроме поля искомого локального адреса (для RARP-запроса не указывается искомый IP-адрес). Значение этого поля заполняется узлом, опознавшим свой IP-адрес.

Маршрутизация — это процесс пересылки пакетов данных между сетями или подсетями. Возможные пути передачи пакетов называются маршрутами.

Процесс маршрутизации использует таблицы, протоколы и алгоритмы маршрутизации, чтобы определить наиболее эффективный путь для пересылки IP-пакета из одной сети в другую. Маршрутизация в компьютерных сетях типично выполняется специальными программно-аппаратными средствами — маршрутизаторами (Router) или шлюзом. Маршрутизатор может быть выполнен в виде отдельного сетевого устройства. В простых конфигурациях может быть реализован на базе компьютера с несколькими сетевыми интерфейсами, на котором установлено специальное программное обеспечение. В этом случае говорят о программном маршрутизаторе. Маршрутизаторы значительно увеличивают масштабируемость сетей, ограничивая широковещательные домены и домены коллизий.

В зависимости от способа заполнения таблицы маршрутизации, различают два вида маршрутизации:

1. Статическая маршрутизация. Все маршруты прописываются и изменяются администратором системы вручную. Это самый простой способ организации маршрутизации. Однако он подходит только для небольших сетей, изменения в структуре которых происходят достаточно редко. Кроме того, данный способ маршрутизации не годится в случае, когда важно обеспечить высокую надежность межсетевого взаимодействия. Если один из маршрутов окажется по каким-либо причинам недоступен, администратору необходимо будет вручную изменить таблицу маршрутизации на всех маршрутизаторах в сети. До этого момента межсетевое взаимодействие на отдельных участках сети будет невозможно.

2. Динамическая маршрутизация. Построение таблицы маршрутизации осуществляется посредством специальных протоколов маршрутизации. Участие администратора в этом процессе минимально и сводится к изначальной конфигурации маршрутизаторов. Два наиболее распространенных протокола IP-маршрутизации, используемых в интрасетях, — протоколы RIP (Routing Information Protocol) и OSPF (Open Shortest Path First). Посредством указанных протоколов маршрутизаторы способны информировать друг друга об изменениях в структуре сети. В случае недоступности одного из маршрутов, маршрутизаторы автоматически перестроят свои таблицы маршрутизации и, при возможности, выберут другой маршрут доставки сообщений.

Таблица маршрутизации — таблица, состоящая из сетевых маршрутов и предназначенная для определения наилучшего пути передачи сетевого пакета. Каждая запись в таблице маршрутизации состоит, как правило, из таких полей:

- destination - адрес сети или узла назначения, либо указание, что маршрут является маршрутом по умолчанию

- gateway - шлюз, обозначающий адрес маршрутизатора в сети, на который необходимо отправить пакет, следующий до указанного адреса назначения

- netmask, genmask - маску сети назначения

- интерфейс (в зависимости от системы это может быть порядковый номер, GUID или символьное имя устройства)

- метрику — числовой показатель, задающий предпочтительность маршрута. Чем меньше число, тем более предпочтителен маршрут (интуитивно представляется как расстояние).

Пример таблицы маршрутизации (ОС Linux):

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

При отправке сетевого пакета, операционная система смотрит, по какому именно маршруту он должен быть отправлен, основываясь на таблице маршрутизации. Как правило, выбирается наиболее конкретный (то есть, с наиболее длинной сетевой маской) маршрут из тех, которые соответствуют адресу отправителя. Если ни один из маршрутов не подходит, пакет уничтожается, а его отправителю возвращается ICMP-сообщение No route to host.

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

Изменение записей в таблице маршрутизации может выполняться администратором системы вручную или специальным программным обеспечением.

В таблице может быть один, а в некоторых операционных системах и несколько шлюзов по умолчанию. Такой шлюз используется для сетей для которых нет более конкретных маршрутов в таблице маршрутизации.

 

"Управляемые коммутаторы 2-го и 3-го уровней, VLAN и маршрутизаторы"

Общей проблемой локальной сетей является служебный широковещательный

трафик, например ARP, при помощи которого компьютеры сети постоянно обновляют

информацию об IP- и MAC-адресах соседних компьютеров. По мере увеличения

компьютеров в сети растет и служебный трафик, который с определенного уровня на-

чинает перегружать линии связи и тем самым серьезно мешать обмену данными меж-

ду компьютерами. Решением этой проблемы является разбиение большой сети на под-

сети таким образом, чтобы в каждой подсети оказались компьютеры интенсивно об-

щающиеся данными между собой напрямую, т.е. для которых служебные пакеты ARP

и WINS являются действительно необходимыми. Остальные подсети от данного слу-

жебного трафика, являющегося для них паразитным, будут отсечены. Таким образом

при удачном разбиении большой сети, например, на 4 подсети, в каждой из них объем

служебного трафика уменьшится почти в 4 раза.

Существует несколько аппаратных решений для организации подсетей.

Рассмотрим некоторые из них.

Первое решение, представленное на рисунке, заключается в использовании про-

стых коммутаторов (свитчей) для каждой из подсетей и соединении коммутаторов

между собой при помощи маршрутизатора. Важно понимать, что в том случае, если


подсети расположены достаточно далеко друг от друга, то это решение является зача-

стую и единственно возможным. При этом в сетях малых предприятий с небольшим

трафиком в качестве маршрутизатора можно использовать компьютер с Unix-подоб-

ной операционной системой, а в сетях с большим трафиком лучше использовать аппа-

ратный маршрутизатор — специализированный микрокомпьютер со специализиро-

ванной операционной системой, которые спроектированы для эффективного решения

подобной узко-специализированной задачи. Важно также понимать, что в данном слу-

чае маршрутизатор нужен скорее не для отсечения служебного трафика, сколько для

соединения подсетей между собой.

Поскольку данное решение является простым и достаточно распространенным,

то существует соблазн использовать его и для расщепления сети на подсети. В самом

деле, если компьютеры располагаются в соседних помещениях и исторически сло-

жилось так, что они подключены к одному коммутатору, то при увеличении количе-

ства компьютеров и интенсивности сетевого трафика кажется логичным заменить

один большой коммутатор на несколько маленьких и поставить рядом маршрутизатор.

Однако, такое решение будет не самым лучшим, хотя бы потому, что потребует

нескольких устройств, соединенных между собой большим количеством проводов, да

и для отсечения паразитного трафика может потребоваться дополнительная настройка

межсетевого экрана.

Поскольку данный случай является типичным, то для него созданы специализи-

рованные аппаратные решения — управляемые коммутаторы (свитчи) 2-го и 3-го

уровней, которые помимо рассмотренной помогают решать и другие задачи при помо-

щи аппаратно реализованной в них технологии VLAN — виртуальных локальных се-

тей.

Неуправляемый свитч 2-го уровня или просто свитч — это устройство, которое

может извлекать из сетевых пакетов MAC-адреса получателей и в соответствии с этим

направлять пакет не на все порты, а только на один, к которому и подключен получа-

тель данного пакета. Этим свитч и отличается от разветвителя или хаба, называемого

иногда свитчем 1-го уровня, который просто копирует пришедший пакет на все свои

порты. Управляемый свитч 2-го уровня позволяет создавать VLAN, т.е. в простейшем

случае назначать свои порты различным подсетям, которые будут изолированы друг

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

Свитч 3-го уровня имеет доступ к IP-адресам получателей и, следовательно мо-

жет осуществлять маршрутизацию пакетов. Свитч 4-го уровня — доступ к протоко-

лам и портам и поэтому способен осуществлять не только маршрутизацию, но и

фильтрацию пакетов.

Изучение всех возможностей свитчей 2-го и 3-го уровня выходит за рамки на-

стоящего курса. В данной работе мы остановимся только на простейших случаях ис-

пользовании VLAN.

VLAN — это более сложная вещь, чем просто разделение портов одного управ-

ляемого свитча на несколько независимых подсетей. VLAN позволяет решить и обрат-

ную задачу — объединить несколько уделенных компьютеров, подключенных напря-

мую к разным управляемым свитчам в одну виртуальную сеть и выделить для этой

сети какие-либо сетевые ресурсы недоступные другим виртуальным сетям, т.к. вирту-

альная сеть, также как и хост, может иметь свой собственный IP-адрес.

Рассмотрим второй способ разбиения большой сети на подсети с использовани-

ем управляемого свитча 2-го уровня и маршрутизатора.


Как видно на рисунке, в свитче задействовано 5 портов: по 2 порта на VLAN и

один порт на роутер. Если роутер (маршрутизатор) не подключать, то хосты в каждой

VLAN будут изолированы друг от друга. Для организации связи между ними с отсече-

нием служебного широковещательного трафика и используется маршрутизатор.

Причем достаточно одного порта и одной линии связи, а не двух портов — по одному

от каждой из VLAN — как может показаться на первый взгляд. Это достигается за

счет того, что порт управляемого свитча переводится в trunk-режим, при котором в за-

головок пакета добавляется информация о VLAN-источнике и VLAN-назначении.

Причем порт маршрутизатора также нуждается в дополнительной настройке для обра-

ботки такого trunk-трафика.

Если использовать свитч 3-го уровня, то маршрутизатор не нужен, поскольку

 

данный свитч сам может осуществлять маршрутизацию, имея доступ к IP-адресам

приемников и получателей пакетов.

 

И, наконец, если требуется обеспечить несколько альтернативных маршрутов

между подсетями, каждая из которых на рисунке представлена одним хостом, выпол-

няющем функции программного файерволла, можно использовать несколько маршру-

тизаторов, которые следует «закольцевать». Сами маршрутизаторы необходимо пере-

вести в режим RIP, при котором они будут обмениваться служебной информацией и

выбирать из нескольких альтернативных оптимальный маршрут при передаче пакета

из одной подсети в другую.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: