Протоколы маршрутизации
Алгоритмы маршрутизации играют важную роль в IP-сетях. Главным параметром при маршрутизации пакета является IP-адрес его места назначения. Проблема оптимальной маршрутизации в современной сети Internet, насчитывающей уже давно более 10 млн узлов, весьма сложна. Протокол IP делит все машины на маршрутизаторы (Router) и обычные компьютеры (Host), последние, как правило, не рассылают свои маршрутные таблицы. Предполагается, что маршрутизатор владеет исчерпывающей информацией о правильных маршрутах, обычный же компьютер имеет минимальную маршрутную информацию (например, адрес маршрутизатора локальной сети) и все необходимые для решения этой проблемы данные получает из маршрутизатора.
Автономная система (AS) может содержать множество маршрутизаторов, но взаимодействие с другими AS она осуществляет только через один маршрутизатор, называемый пограничным (Border Gateway, именно они дали название протоколам BGP). Пограничный маршрутизатор необходим, когда автономная система имеет более одного внешнего трафика, в противном случае его функции выполняет порт внешнего подключения (Gateway). Если адресат достижим более чем одним путем, маршрутизатор должен сделать выбор маршрута на основании оценки маршрутов кандидатов. Обычно каждому сегменту, составляющему маршрут, присваивается некоторая оценка, например, транзитный маршрутизатор. Каждый протокол маршрутизации использует свою систему оценки маршрутов. Оценка сегмента маршрута называется метрикой.
Маршрутизатор может использовать два протокола маршрутизации одновременно: один - для внешних связей, другой *- для внутренних. Все протоколы обмена маршрутной информацией стека TCP/IP относятся к классу адаптивных протоколов, которые, в свою очередь, разделены на две группы, каждая из которых связана с одним из следующих типов алгоритмов:
-
дистанционно-векторный алгоритм (DVA - Distance Vector Algorithms),
-
алгоритм состояния связей (LSA - Link State Algorithms).
В алгоритмах дистанционно-векторного типа каждый маршрутизатор периодически и широковещательно рассылает по сети вектор расстояний от себя до всех известных ему сетей. Под расстоянием обычно понимают число промежуточных маршрутизаторов через которые пакет должен пройти прежде, чем попадет в соответствующую сеть. Может использоваться и другая метрика, учитывающая не только число транзитных пунктов, но и время прохождения пакетов по связи между соседними маршрутизаторами. Получив вектор от соседнего маршрутизатора, каждый маршрутизатор добавляет к нему информацию об известных ему других сетях, о которых он узнал непосредственно (если они подключены к его портам) или из аналогичных объявлений других маршрутизаторов, а затем снова рассылает новое значение вектора по сети. В результате каждый маршрутизатор узнает информацию об имеющихся в интерсети сетях и о расстоянии до них через соседние маршрутизаторы.
Дистанционно-векторные алгоритмы хорошо работают только в небольших сетях. В больших сетях они засоряют линии связи интенсивным широковещательным трафиком, к тому же изменения конфигурации отрабатываются по этому алгоритму не всегда корректно, так как маршрутизаторы не имеют точного представления о топологии связей в сети, а располагают только обобщенной информацией - вектором дистанций, к тому же полученной через посредников. Работа маршрутизатора в соответствии с дистанционно-векторным протоколом напоминает работу моста, так как точной топологической картины сети такой маршрутизатор не имеет.
Наиболее распространенным протоколом, основанным на дистанционно-векторном алгоритме, является протокол REP (Routing Information Protocol, RFC- 1058, -1721-27), разработанный фирмой Xerox.
Алгоритмы состояния связей обеспечивают каждый маршрутизатор информацией, достаточной для построения точного графа связей сети. Все маршрутизаторы работают на основании одинаковых графов, что делает процесс маршрутизации более устойчивым к изменениям конфигурации. Широковещательная рассылка используется здесь только при изменениях состояния связей, что происходит в надежных сетях не так часто. Для того чтобы понять, в каком состоянии находятся линии связи, подключенные к его портам, маршрутизатор периодически обменивается короткими пакетами со своими ближайшими соседями. Этот трафик также широковещательный, но он циркулирует только между соседями и поэтому не так засоряет сеть.