9b02a3c3

Что делает программа routed ?


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

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

Вы возможно слышали о некоторых распространенных протоколах динамической маршрутизации. Самые широко используемые протоколы -- RIP (Routing Information Protocol) (Протокол информации о маршрутизации) и OSPF (Open Shortest Path First Protocol) (Протокол кратчайшего открытого пути). Протокол RIP используется в основном в небольших сетях, таких как сеть небольшой или средней организации. Более современный протокол OSPF обладает бОльшими возможностями для управления большими сетями в которых существует много маршрутов между отправителем и адресатом. Самые распространенные реализации этих протоколов -- программы `routed' -- RIP и `gated' -- RIP, OSPF и другие. Программа `routed' обычно включается в дистрибутивы Линукса и включена в пакет `NetKit', упомянутый выше.

Пример использования динамической маршрутизации может выглядеть примерно так:

192.168.1.0 / 192.168.2.0 / 255.255.255.0 255.255.255.0 - - | | | /-----\ /-----\ | | | |ppp0 // ppp0| | | eth0 |---| A |------//---------| B |---| eth0 | | | // | | | | \-----/ \-----/ | | \ ppp1 ppp1 / | - \ / - \ / \ / \ / \ / \ / \ / \ / \ / ppp0\ /ppp1 /-----\ | | | C | | | \-----/ |eth0 | |---------| 192.168.3.0 / 255.255.255.0


У Вас есть три маршрутизатора -- A, B и C. Каждый из них обслуживает по одному ethernet-сегменту с IP-сетью класса C (маска 255.255.255.0). Кроме того, каждый из них имеет PPP-соединения с двумя другими. Сеть имеет форму треугольника.

Таблица маршрутизации на маршрутизаторе A задается следующими командами:

root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0 root# route add -net 192.168.2.0 netmask 255.255.255.0 ppp0 root# route add -net 192.168.3.0 netmask 255.255.255.0 ppp1

Все будет нормально, пока не произойдет сбой на соединении между маршрутизаторами A и B. В случае сбоя машины из сегмента A не смогут установить соединения с машинами из сегмента В, так как маршрутизатор A будет пытаться передать пакеты через интерфейс ppp0. В то же время он смогут связываться с машинами из сегмента C, а машины из сегмента C смогут связываться с машинами из сегмента В.

Но раз сегмент A "видит" сегмент B, а тот, в свою очередь "видит" сегмент C, то почему бы маршрутизатору A не передавать пакеты для машин из сегмента B через маршрутизатор C ? Именно это и помогает осуществить динамическая маршрутизация. Если на каждом из маршрутизаторов будет запущена демон динамической маршрутизации, то их таблицы маршрутизации будут автоматически изменены, чтобы подстроиться под изменения, произошедшие в структуре сети при сбое одного из соединений. Для настройки динамической маршрутизации в нашем примере будет достаточно выполнить на каждом из маршрутизаторов по две команды. Например, на маршрутизаторе A:

root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0 root# /usr/sbin/routed

Демон `routed' при запуске автоматически найдет все активные сетевые интерфейсы и начнет передавать и принимать специальные пакеты, с помощью которых он будет постоянно иметь представление о текущей структуре сети, и настраивать в соответствии с ней таблицу маршрутизации.

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

Резюмируя вышесказанное:

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


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


  • Протокол RIP предназначен для небольших и средних сетей.



  • Содержание раздела