сети ЭВМ / 16-Маршрутизация в IP сетях
Общими словами маршрутизацию можно описать как процесс передачи пакетов между соединенными сетями. В TCP/IP-сетях маршрутизация является частью протокола IP (Internet Protocol) и используется в сочетании с другими службами сетевых протоколов для обеспечения передачи данных между узлами, расположенными в разных сегментах более крупной TCP/IP-сети.
IP — это своего рода «почтовая система» протокола TCP/IP, выполняющая сортировку и доставку IP-данных. Каждый входящий или исходящий пакет называется IP-датаграммой. Датаграмма IP содержит два IP-адреса: адрес источника (отправляющего узла) и адрес назначения (принимающего узла). В отличие от аппаратных адресов, IP-адреса в датаграмме в процессе передачи ее по TCP/IP-сети остаются постоянными.
Маршрутизация является основной функцией IP. Обмен IP-датаграммами и их обработка на каждом узле выполняются протоколом IP, работающим на межсетевом уровне.
Над этим уровнем транспортные службы узла-источника передают данные уровню IP в виде TCP-сегментов или UDP-сообщений. Уровень IP помещает в IP-датаграммы информацию об адресах отправителя и получателя, которая используется для маршрутизации данных в сети. Затем уровень IP передает датаграммы уровню сетевого интерфейса. На этом уровне канальные службы преобразовывают IP-датаграммы в кадры для передачи по физическим носителям сети. На узле-получателе эти действия выполняются в обратном порядке.
Каждая IP-датаграмма содержит IP-адреса источника и назначения. Службы уровня IP (межсетевого уровня) на каждом узле анализируют адрес назначения каждой датаграммы, ищут этот адрес в локальной таблице маршрутизации и выбирают действие по ее дальнейшему перенаправлению. IP-маршрутизаторы подключаются к двум или нескольким сегментам IP-сети, между которыми требуется обеспечить перенаправление пакетов. В следующих разделах более подробно рассказывается об IP-маршрутизаторах и об использовании таблиц маршрутизации.
Сегменты TCP/IP-сети соединяются между собой с помощью IP-маршрутизаторов — устройств для передачи IP-датаграмм из одного сегмента сети в другой. Этот процесс, проиллюстрированный на следующем рисунке, называют IP-маршрутизацией.
IP-маршрутизаторы являются основным средством объединения нескольких физически раздельных сегментов IP-сети. Все IP-маршрутизаторы обладают двумя существенными общими характеристиками.
IP-маршрутизаторы являются узлами с несколькими сетевыми интерфейсами.
Узел с несколькими сетевыми интерфейсами — это узел сети, использующий два или более сетевых интерфейсов для подключения к физически раздельным сегментам сети.
IP-маршрутизаторы обеспечивают перенаправление пакетов для других узлов TCP/IP.
IP-маршрутизаторы отличаются от других узлов с несколькими сетевыми интерфейсами одной важной особенностью: IP-маршрутизатор должен уметь перенаправлять между сетями данные, передаваемые по протоколу IP другими узлами IP-сети.
IP-маршрутизатор можно реализовать, используя множество различных аппаратных и программных продуктов. Часто применяются специализированные аппаратные устройства, использующие специальное программное обеспечение. Можно также использовать и программные решения, такие как служба маршрутизации и удаленного доступа.
Сведения об IP-маршрутизации с использованием службы маршрутизации и удаленного доступа см. в разделе Маршрутизация.
Независимо от типа задействованных IP-маршрутизаторов, система IP-маршрутизации основана на использовании таблиц маршрутизации для связи между сегментами сети.
Узлы TCP/IP используют таблицу маршрутизации, содержащую сведения о других IP-сетях и IP-узлах. Сети и узлы идентифицируются с помощью IP-адресов и масок подсети. Таблицы маршрутизации важны потому, что они предоставляют каждому локальному узлу необходимую информацию о том, как связаться с удаленными сетями и узлами.
Для любого компьютера IP-сети можно создать и поддерживать таблицу маршрутизации, содержащую сведения обо всех остальных компьютерах и сетях, с которыми он поддерживает связь. Обычно такой подход не используется, а вместо него применяется основной шлюз (IP-маршрутизатор).
Когда компьютер готовится к отправке IP-датаграммы, он помещает свой IP-адрес (адрес источника) и IP-адрес получателя (адрес назначения) в IP-заголовок. Затем компьютер анализирует IP-адрес получателя, ищет его в локальной таблице IP-маршрутизации и на основе результатов этого поиска выполняет соответствующее действие. На этом этапе выполняется одно из трех возможных действий:
Датаграмма передается уровню протоколов локального узла, расположенному над межсетевым уровнем (уровнем IP).
Датаграмма перенаправляется через один из сетевых интерфейсов данного компьютера.
Протокол IP просматривает таблицу маршрутизации в поисках маршрута, позволяющего наиболее близко подойти к IP-адресу назначения. Поиск маршрутов (от наиболее точного к наименее точному) выполняется в следующем порядке:
маршрут до самого IP-адреса назначения (маршрут к узлу);
маршрут до сети, имеющей тот же идентификатор сети, что и IP-адрес назначения (маршрут к сети);
Если подходящий маршрут найден не был, датаграмма отбрасывается.
5.4. Протоколы маршрутизации в IP-сетях
5.4.1. Внутренние и внешние протоколы маршрутизации Internet
Большинство протоколов маршрутизации, применяемых в современных сетях с коммутацией пакетов, ведут свое происхождение от сети Internet и ее предшественницы — сети ARPANET. Для того чтобы понять их назначение и особенности, полезно сначала познакомиться со структурой сети Internet, которая наложила отпечаток на терминологию и типы протоколов.
Internet изначально строилась как сеть, объединяющая большое количество существующих систем. С самого начала в ее структуре выделяли магистральную сеть (core backbone network), а сети, присоединенные к магистрали, рассматривались как автономные системы (autonomous systems, AS). Магистральная сеть и каждая из автономных систем имели свое собственное административное управление и собственные протоколы маршрутизации. Необходимо подчеркнуть, что автономная система и домен имен Internet — это разные понятия, которые служат разным целям. Автономная система объединяет сети, в которых под общим административным руководством одной организации осуществляется маршрутизация, а домен объединяет компьютеры (возможно, принадлежащие разным сетям), в которых под общим административным руководством одной организации осуществляется назначение уникальных символьных имен. Естественно, области действия автономной системы и домена имен могут в частном случае совпадать, если одна организация выполняет обе указанные функции.
Общая схема архитектуры сети Internet показана на рис. 5.25. Далее маршрутизаторы мы будем называть шлюзами, чтобы оставаться в русле традиционной терминологии Internet.
Шлюзы, которые используются для образования сетей и подсетей внутри автономной системы, называются внутренними шлюзами (interior gateways), а шлюзы, с помощью которых автономные системы присоединяются к магистрали сети, называются внешними шлюзами (exterior gateways). Магистраль сети также является автономной системой. Все автономные системы имеют уникальный 16-разрядный номер, который выделяется организацией, учредившей новую автономную систему, InterNIC.
Соответственно протоколы маршрутизации внутри автономных систем называются протоколами внутренних шлюзов (interior gateway protocol, IGP), а протоколы, определяющие обмен маршрутной информацией между внешними шлюзами и шлюзами магистральной сети — протоколами внешних шлюзов (exterior gateway protocol, EGP). Внутри магистральной сети также допустим любой собственный внутренний протокол IGP.
Смысл разделения всей сети Internet на автономные системы — в ее многоуровневом модульном представлении, что необходимо для любой крупной системы, способной к расширению в больших масштабах. Изменение протоколов маршрутизации внутри какой-либо автономной системы никак не должно влиять на работу остальных автономных систем. Кроме того, деление Internet на автономные системы должно способствовать агрегированию информации в магистральных и внешних шлюзах. Внутренние шлюзы могут использовать для внутренней маршрутизации достаточно подробные графы связей между собой, чтобы выбрать наиболее рациональный маршрут. Однако если информация такой степени детализации будет храниться во всех маршрутизаторах сети, то топологические базы данных так разрастутся, что потребуют наличия памяти гигантских размеров, а время принятия решений о маршрутизации станет неприемлемо большим.
Поэтому детальная топологическая информация остается внутри автономной системы, а автономную систему как единое целое для остальной части Internet представляют внешние шлюзы, которые сообщают о внутреннем составе автономной системы минимально необходимые сведения — количество IP-сетей, их адреса и внутреннее расстояние до этих сетей от данного внешнего шлюза.
Техника бесклассовой маршрутизации CIDR может значительно сократить объемы маршрутной информации, передаваемой между автономными системами. Так, если все сети внутри некоторой автономной системы начинаются с общего префикса, например 194.27.0.0/16, то внешний шлюз этой автономной системы должен делать объявления только об этом адресе, не сообщая отдельно о существовании внутри данной автономной системы, например, сети 194.27.32.0/19 или 194.27.40.0/21, так как эти адреса агрегируются в адрес 194.27.0.0/16.
Приведенная на рис. 5.25 структура Internet с единственной магистралью достаточно долго соответствовала действительности, поэтому специально для нее был разработан протокол обмена маршрутной информации между автономными системами, названный EGP. Однако по мере развития сетей поставщиков услуг структура Internet стала гораздо более сложной, с произвольным характером связей между автономными системами. Поэтому протокол EGP уступил место протоколу BGP, который позволяет распознать наличие петель между автономными системами и исключить их из межсистемных маршрутов. Протоколы EGP и BGP используются только во внешних шлюзах автономных систем, которые чаще всего организуются поставщиками услуг Internet. В маршрутизаторах корпоративных сетей работают внутренние протоколы маршрутизации, такие как RIP и OSPF.