Галкин В.А., Григорьев Ю.А. - Телекоммуникации и сети (1053870), страница 90
Текст из файла (страница 90)
Чтобы узнать маску подсети, используемую в локальной сети, машина может послать сообщение запроса маски адреса маршрутизатору и получить ответ маски адреса. Машина, формирующая запрос, может либо послатьсообщеьше напрямую, если она знает адрес маршрутизатора, либо послать широковещательное сообщение, если не знает его.
Рис. 5.39 иллюстрирует формат сообщений маски адреса. Поле «Тип» в сообщении маски адреса указьгоает, является ли сообщение запросом (17) или ответом (18). Ответ содержитмаску адреса подсети в поле «Маска адреса». Как правило, поля «Идентификатор» и «Последовательный номер» позволяют машине связать ответ с запросом.3795. Сетевые протоколы08Тип (17 или 18)1631Код(О)ИдентификаторКонтрольная суммаПоследовательный номерМаска адресаРис. 5.39. Формат сообщений «Запрос маски адреса» и«Ответ на запрос маски адреса»Недостатком протокола ICMP является сохраняющаяся возможность несанкционированной посылки ложного ICMP Redirect сообщения о смене маршрута от имени маршрутизатора.Протоколы маршрутизацииАлгоритмы маршрутизации играют важную роль в IP-сетях.
Главным параметром при маршрутизации пакета является IP-адрес его места назначения.Проблема оптимальной маршрутизации в современной сети Internet, насчитывающей уже давно более 10 млн узлов, весьма сложна. Протокол DP делит всемашины на маршрутизаторы (Router) и обычные компьютеры (Host), последние, как правило, не рассьшают свои маршрутные таблицы. Предполагается,что маршрутизатор владеет исчерпьгоающей информацией о правильных маршрутах, обьшный же компьютер имеет минимальную маршрутную информацию (например, адрес маршрутизатора локальной сети) и все необходимые длярешершя этой проблемы данные получает из маршрутизатора.Автономная система (AS) может содержать множество маршрутизаторов,но взаимодействие с другими AS она осуществляет только через один маршрутизатор, называемый пограничным (Border Gateway, именно они дали название протоколам BGP).
Пограничный маршрутизатор необходим, когда автономная система имеет более одного внешнего трафика, в противном случаеего функции выполняет порт внешнего подключения (Gateway). Если адресатдостижим более чем одним путем, маршрутизатор должен сделать выбор маршрута на основании оценки маршрутов кандидатов. Обьшно каждому сегменту, составляющему маршрут, присваивается некоторая оценка, например, транзитный маршрутизатор. Каждый протокол маршрутизации использует своюсистему оценки маршрутов.
Оценка сегмента маршрута назьгоается метрикой.Маршрутизатор может использовать два протокола маршрутизации одновременно: один - для внешних связей, другой - для внутренних. Все протоколыобмена маршрутной информацией стека TCP/IP относятся к классу адаптивных протоколов, которые, в свою очередь, разделены на две группы, каждая изкоторых связана с одним из следующих типов алгоритмов:• дистанционно-векторный алгоритм (DVA - Distance Vector Algorithms),• алгоритм состояния связей (LSA - Link State Algorithms).3805.5.
Протоколы III уровня стека TCP/IPВ алгоритмах дистанционно-векторного типа каждый маршрутизаторпериодически и широковещательно рассьшает по сети вектор расстояний отсебя до всех известных ему сетей. Под расстоянием обьино понимают числопромежуточных маршрутизаторов через которые пакет должен пройти прежде, чем попадет в соответствующую сеть. Может использоваться и другаяметрика, учитьюающая не только число транзитных пунктов, но и время прохождения пакетов по связи между соседними маршрутизаторами. Получиввектор от соседнего маршрутизатора, каждый маршрутизатор добавляет к немуинформацию об известных ему других сетях, о которых он узнал непосредственно (если они подключены к его портам) или из аналогичных объявленийдругих маршрутизаторов, а затем снова рассьшает новое значение вектора посети. В результате каждый маршрутизатор узнает информацию об имеющихсяв интерсети сетях и о расстоянии до них через соседние маршрутизаторы.Дистанционно-векторные алгоритмы хорошо работают только в небольшихсетях.
В больших сетях они засоряют линии связи интенсивным широковещательным трафиком, к тому же изменения конфигурации отрабатьгоаются поэтому алгоритму не всегда корректно, так как маршрутизаторы не имеют точного представлеьшя о топологии связей в сети, а располагают только обобщенной информацией - вектором дистанций, к тому же полученной через посредников. Работа маршрутизатора в соответствии с дистанционно-векторнымпротоколом напоминает работу моста, так как точной топологической картинысети такой маршрутизатор не имеет.Наиболее распространенным протоколом, основанным на дистанционно-векторном алгоритме, является протокол RIP (Routing Information Protocol, RFC1058, -1721-27), разработанный фирмойХегох.Алгоритмы состояния связей обеспечивают каждый маршрутизатор информацией, достаточной для построения точного графа связей сети.
Все маршрутизаторы работают на основании одинаковых графов, что делает процессмаршрутизации более устойчивым к изменениям конфигурации. Широковещательная рассылка используется здесь только при изменениях состояния связей, ^гго происходит в надежных сетях не так часто. Для того чтобы понять, вкаком состоянии находятся линии связи, подключе1шые к его портам, маршрутизатор периодически обменивается короткими пакетами со своими ближайшими соседями. Этот трафик также широковещательный, но он циркулируеттолько между соседями и поэтому не так засоряет сеть.Протокол маршрутизации RIPRIP -- внутренний протокол маршрутизации ЮР (Interior Gateway Protocol,RFC-1074, -1371) определяет маршруты внутри автономной системы.
Этотпротокол маршрутизации предназначен для сравнительно небольших и относительно однородных сетей. В протоколе RIP сообщения инкапсулируются в UDPдейтаграммы, при этом работает порт 520. В качестве метрики маршрутизации RIP использует число шагов (хопов) до цели. Если между отправителем и3815.
Сетевые протоколыприемником расположено три маршрутизатора, считается, что между нимичетьфе шага. Такой вид метрики не учитывает различий в пропускной способности или загруженности отдельных сегментов сети. Таблица маршрутизацииRIP содержит по одной записи на каждую обслуживаемую машину.
Записьобычно содержит следуюпще поля:• сеть (ГР-адрес сети);• расстояние до этой сети;• IP-адрес следующего маршрутизатора по пути к месту назначения;• таймеры маршрута.Вектором расстояний будем назьшать набор пар («Сеть», «Расстояние доэтой сети»), извлеченный из маршрутной таблицы, а каждую пару этого набора- элементом вектора расстояний.Существует две версии протокола RIP. REP-l - описан в документе RFC1058. RIP-2 (RFC-1721-24,1993 г.) - новая версия RIP, которая в дополнение кшироковещательному режиму поддерживает групповую рассьшку (multicast);позволяет работать с масками подсетей.Формат сообщения протокола RIP показан на рис.
5.40.Поле «Команда» (Command) определяет тип сообщения: 1 - запрос (request)на получение частичной или полной маршрутной информации; 2 - ответ(response), содержащий информацию о расстояниях из маршрутной таблицыотправителя; 3 - включение режима трассировки (устарело); 4 - вьпслючениережима трассировки (устарело); 5,6 - зарезервированы для внутренних целей.Поле «Версия» (Version) для RJDP-l равно 1 (для R1P-2 - 2).Поле «Набор протоколов сети» (Address Family Identifier) определяет наборпротоколов, которые используются в соответствующей сети (для Internet этополе имеет значение 2).Поле «Расстояние до сети» (Metric) содержит целое число шагов (от 1 до15) до данной сети.
Если расстояние равно 16, то считается, что сеть недостижима.08Комацца (1-6)16Версия31Маршрутный домен *Набор протоколов сети (2)Метка марцфута •IP-адрес сетиМаска подсети '*'1Р-адфес следующего маршрутизатора '*'h\ёiРасстояние до сетиРис. 5.40. Формат сообщения протокола RIP:• - поля, относяпщеся ко второй версии протокола RIP(в сообщениях протокола первой версии эти поля должны бьпъ обнулены)3825.5. Протоколы III уровня стека TCP/IPПоле «Марыфутный домен» (Routing Domain) служит идентификатором RIPсистемы, к которой принадлежит данное сообщение; часто это номер автономной системы, который используется, когда к одному физическому каналу подключены маршрутизаторы из нескольких автономных систем, в каждойавтономной системе поддерживается своя таблица маршрутов.
Поскольку RIPсообщения рассьшаются всем маршрутизаторам, подключенным к сети, требуется различать сообщения, относящиеся к «своей» и «чужой» автономнымсистемам.Поле «Метка маршрута» (Route Tag) вьшолняет роль метки для внешнихмаршрутов при работе с протоколами внешней маршрутизащш.Поле «Маска подсети» (Subnet Mask) - маска сети, адрес которой содержится в поле IP-адрес.