- •Введение
- •1. Применение информационных сетей
- •1.1. Сеть предприятия
- •1.2. Домашняя сеть
- •1.3. Всемирная паутина
- •1.4. Общение
- •1.5. Интерактивные развлечении
- •2. Классификация информационных сетей
- •2.1. По размеру сети
- •2.2. По типу топологии сети
- •2.3. По типу функционального взаимодействии
- •2.4. По тину технологии передачи
- •2.5. По тину среды передачи
- •2.6. По скорости передачи
- •3. Эталонные модели сети
- •3.1. Протокол и стек протоколов
- •3.2. Эталонная модель osi
- •1. Физический уровень
- •2. Канальный уровень
- •3. Сетевой уровень
- •4. Транспортный уровень
- •5. Сеансовый уровень
- •6. Уровень представления
- •7. Прикладной уровень
- •3.3. Эталонная модель tcp/ip
- •3.4. Гибридная эталонная модель
- •4. Сетевые устройства
- •4.1. Сетевые карты
- •4.2. Пассивные сетевые устройства
- •4.3. Активные сетевые устройства
- •5. Линии и каналы связи
- •5.1. Кабельные линии связи
- •5.2. Беспроводные линии связи
- •6. Базовые сетевые технологии
- •6.1. Технология Ethernet
- •62. Технология Token Ring
- •7. Адресация в информационных сетях
- •7.1. Мас-адрес
- •7.2. Ip-адрес
- •Ip-адрес:
- •7.3. Система доменных имен
- •It.Bstu.Ru
- •7.4. Протокол dhcp
- •8. Объединение сетей
- •8.1. Объединение сетей с помощью мостов
- •8.2. Объединение сетей с помощью маршрутизаторов
- •9. Транспортные протоколы тср/iр
- •9.1. По pi ы
- •92. Протокол udp
- •9.3. Протокол tcp
- •10. Протоколы прикладного уровня тсрлр
- •10.1. Протокол ftp
- •10.2. Протокол http
- •11. Безопасность в информационных сетях
- •11.1. Классификации сетевых атак
- •11.2. Защита сетевого трафика
- •Заключение
8.2. Объединение сетей с помощью маршрутизаторов
Маршрутизатор обеспечивает объединение сетей на сетевом уровне эталонной модели OSI посредством передачи пакетов данных из одной сети в другую. Маршрутизаторы решают задачу выбора маршрута передачи пакета данных. Этот процесс называется маршрутизацией.
Маршрут выбирается из нескольких возможных на основании имеющейся у маршрутизаторов таблицы маршрутизации. Таблица маршрутизации (routing table) - это база данных, расположенная в памяти маршрутизатора. Записи этой базы данных называются маршрутами и состоят из адреса сети, адреса следующего маршрутизатора на пути в пункт назначения, а также разного рода метрик.
Таблица маршрутизации применяется следующим образом. Когда пакет прибывает, маршрутизатор, используя адрес назначения пакета, просматривает таблицу маршрутизации в поисках маршрута, по которому следует передать пакет. Если поиск не дал ни одного маршрута, пакет отбрасывается.
Таблица маршрутизации может заполняться вручную администратором сети или же автоматически за счет протокола маршрутизации (routing protocol). В первом случае речь идет о статической маршрутизации, а во втором - о динамической маршрутизации.
Важнейшее преимущество статической маршрутизации - это контроль. В отношении статических маршрутов администратор сети может определить точную, конфигурацию, которая не будет подвергаться изменениям. Недостатки такой маршрутизации становятся очевидными в крупной сети: во-первых, трудоемкость процесса ввода записей для каждого маршрутизатора, а во-вторых, при любой модификации сети нужно внести соответствующие изменения в каждый маршрутизатор сети.
Преимущества и недостатки динамической маршрутизации прямо противоположны характеристикам статической маршрутизации.
П рою кол ы марш руги за ц и и
Существуют два варианта классификации протоколов маршрутизации. Во-первых, они могут классифицироваться в зависимости от типа алгоритмов, на которых они основаны. Здесь есть две разновидности: протоколы, основанные на дистанционно-векторном алгоритме (Distance Vector Algorithm), и протоколы, основанные на алгоритме с учетом состояния канала (Link State Algorithm).
Второй вариант классификации связан с так называемыми автономными системами (Autonomous System, AS). Протокол маршрутизации, применяемый в пределах одной автономной системы, называется внутренним шлюзовым протоколом (Interior Gateway Protocol. IGP)., а протокол, предназначенный для соединения таких систем, называется внешним шлюзовым протоколом (Exterior Gateway Protocol, EGP).
Дистанционно-векторный алгоритм маршрутизации
В дистанционно-векторном алгоритме каждый маршрутизатор периодически отсылает своим соседним маршрутизаторам пакеты, содержащие вектор расстояний (дистанций) от данного маршрутизатора до всех известных ему сетей.
Когда маршрутизатор получает такой вектор от своего соседа, он наращивает компоненты вектора на величину расстояния от себя до данного соседа и записывает их в свою таблицу маршрутизации. Затем маршрутизатор обновляет значение полученного вектора, добавляя информацию об известных ему других сетях, и рассылает его своим соседям. В конце концов, каждый маршрутизатор будет владеть информацией обо всех имеющихся подсетях и о расстояниях до них.
Процесс обмена записей таблиц маршрутизации происходит в соответствии с показаниями таймеров - когда маршрутизатор получает вектор от своего соседа, он устанавливает таймер. Если таймер истекает до получения следующего вектора, то последние полученные маршруты удаляются из таблицы.
Алгоритм маршрутизации с учетом состояния капала
В алгоритм с учетом состояния канала святи каждый маршрутизатор отправляет всем маршрутизаторам сети информацию о непосредственно подсоединенных к нему подсетях, чтобы у них сформировалось идентичное представление о топологии сети. После этого в целях определения оптимальных маршрутов каждый маршрутизатор запускает алгоритм Дейкстры (Dijkstra algorithm), также известный как алгоритм нахождения кратчайшего пути. Результатом работы этого алгоритма будет дерево кратчайших путей. Затем каждый маршрутизатор строит таблицу маршрутизации из своего дерева кратчайших путей.
Таким образом, маршрутизаторам нет необходимости периодически обмениваться таблицами маршрутизации, как в дистанционно-векторном алгоритме. Вместо этого они периодически отсылают лишь сообщения об обновлении состояния канатов (к примеру, его включение или отключение).
Внешние шлюзовые протоколы
Особо крупные сети разделяют автономные системы. Маршрутизаторы, соединяющие автономные системы, называются маршрутизаторами границ автономных систем (Autonomous Systems Border Routers. ASBR). Обмен маршрутной информацией между автономными системами происходит посредством внешних шлюзовых протоколов.
Первым протоколом этого типа является протокол EGP (Exterior Gateway Protocol - внешний шлюзовой протокол). Спецификация протокола EGP содержится в документе RFC 9()4. На смену протоколу EGP пришел протокол BGP (Border Gateway Protocol - пограничный межсетевой протокол). В настоящее время наиболее используемым является протокол BGP версии 4, описанный в документе RFC 1772.
Протоколы EGP и BGP являются протоколами прикладного уровня стека протоколов TCP/IP и реализуются на базе протокола TCP [ 11.
Протокол RIP
RIP (Routing Information Protocol - протокол маршрутной информации) - внутренний шлюзовый протокол маршрутизации, основанный на дистанционно-векторном алгоритме. В работе маршрутизаторов, работающих по протоколу RIP, можно выделить несколько режимов работы:
□ Инициализация. В данном режиме происходит определение всех активных сетевых интерфейсов путем посылки на них запросов.
Получение запроса. В данном режиме высылается таблица маршрутизации отправителю запроса.
Получение ответа. В данном режиме выполняется коррекция таб-лицы маршрутизации.
Регулярные коррекции. В данном режиме каждые 30 секунд таблица маршрутизации посылается всем соседним маршрутизаторам.
Существует две версии протокола RIP: версия 1 (RIPvl). задокументированная в RFC 1058, и версия 2 (RIPv2) задокументированная в RFC 2453. Протокол RIPvl не поддерживает маски подсетей, поэтому маршрутизаторы считают, что идентификаторы сети зависят от класса сети (А,В и С). А в протоколе RIPv2 маски подсетей уже поддерживаются.
Обе версии протокола RIP основаны на транспортном протоколе UDP, при этом передача осуществляется через порт 520. Один RIP-пакет может содержать информацию не более чем о 25 маршрутах и его размер не превышает 512 байт.
На рис. 8.3 представлен формат RIP-пакета версии 1 [8]. Все зарезервированные поля приравниваются к пулю.
Рис. 8.3. Формат пакета протокола RIPvl
Поле «Команда» длиной 1 байт определяет, является ли пакет запросом (1) или ответом (2).
Поле «Версия» длиной 1 байт содержит информацию о версии протокола. Для RIPvl значение поля должно быть равно 1.
Поле «Идентификатор семейства адресов» длиной 2 байта определяет протокол, используемый для сетевой адресации. Значение 2 соответствует протоколу IPv4. Поле «Сетевой адрес» длиной 4 байта содержит IP-адрес определенной сети.
Поле «Метрика» длиной 4 байта определяет расстояние (в переходах) до указанной сети. (В запросах что поле не используется.)
На рис. 8.4 представлен формат RIP-пакета версии 2 [8]. В пакетах протокола RIPv2 содержатся новые поля, а старые используются по-иному.
Рис. 8.4. Формат пакета протокола RIPv2
Поле «Команда» длиной 1 байт определяет, является ли пакет запросом (1) или ответом (2).
Поле «Версия» длиной 1 байт содержит информацию о версии протокола. Для RIPv2 значение поля должно быть равно 2.
Поле «Идентификатор семейства адресов» (2 байта) определяет протокол, используемый для сетевой адресации. Значение 2 соответствует протоколу IPv4.
Поле «Признак маршрута» имеет длину 2 байта и может использоваться для того, чтобы указать, является ли последующая маршрутная информация внутренней записью маршрута (полученной в пределах данной области маршрутизации) или внешней записью маршрута (полученной посредством другого протокола вне этой области).
Поле «Сетевой адрес» длиной 4 байта содержит IP-адрес определенной сети. Поле «Маска подсети» длиной 4 байта определяет маску подсети, связанную с указанным IP-адресом.
Поле «Следующий маршрутизатор» длиной 4 байта содержит IP-адрес маршрутизатора к месту назначения. Значение 0.0.0.0 означает, что маршрутизатором к месту назначения является отправитель пакета.
Поле «Метрика» длиной 4 байта определяет расстояние (в переходах) до указанной сети. (В запросах это поле не используется.)
В протоколе RIPv2 при необходимости управления доступом можно использовать первый блок из 20 байт в качестве блока аутентификации, тогда в одном пакете может поместиться информация только о 24 маршрутах. Формат блока аутентификации протокола RIPv2 представлен на рис. 8.5.
Рис. 8.5. Блок аутентификации в пакете протокола RIPv2
70
Поле «Идентификатор семейства адресов» длиной 2 байта принимает значение FFFFie, которое указывает на то, что следующие 18 байт содержат данные аутентификации.
Поле «Тип аутентификации» имеет длину 2 байта и согласно названию определяет тип аутентификации. Па настоящий момент определен лишь один тип - 2.
Поле «Информации аутентификации» длиной 16 байт содержит пароль. Если пароль короче 16 байт, он дополняется справа символами с ASCII-кодом 0.
Протокол OSPF
OSPF (Open Shortest Path First - выбора первого кратчайшего пути) - это внутренний шлюзовый протокол маршрутизации, основанный на алгоритме с учетом состояния канала. Протокол OSPF используется в сложных и больших сетях, в отличие от протокола RIP. который применяется в небольших и несложных сетях. Протокол OSPF основывается на настраиваемых метриках, которые могут быть связаны с пропускной способностью или задержкой сети. По умолчанию метрика, предназначенная для определения маршрутов, базируется на пропускной способности сети. Описание протокола OSPF можно найти в документе RFC 2328.
Маршрутизация на основе протокола OSPF характеризуется следующими этапами:
Маршрутизаторы отправляют через все свои порты приветственные пакеты (Hello Packets) с целью определения своих соседей.
После получения таких пакетов друг от друга маршрутизаторы формируют базу данных смежности (adjacencies database), которая содержит информацию только о подключенных к ним сетях и соседних маршрутизаторах.
Каждый маршрутизатор посылает всем соседним маршрутизаторам объявление о состоянии канала (Link-State Advertisement, LSA), включая в него информацию о своих соседях и расстоянии до них.
Каждый маршрутизатор, получивший объявление от соседнего маршрутизатора, записывает передаваемую в нем информацию в базу данных смежности маршрутизатора и рассылает копию объявления всем другим соседним с ним маршрутизаторам. Таким образом, все маршрутизаторы строят идентичную базу данных смежности.
Когда база данных построена, каждый маршрутизатор использует алгоритм Дсйкстры для вычисления дерева кратчайших путей.
Каждый маршрутизатор строит таблицу маршрутизации исходя из своего дерева кратчайших путей.
Чтобы уменьшить количество записей в базе данных смежности, протокол OSPF использует обласги (areas), в которые входят смежные группы сетей. Спецификация протокола OSPF определяет необходимость магистральной области (backbone area) - области 0.0.0.0. Все остальные области напрямую соединяются с ней. Маршрутизаторы, обеспечивающие соединение областей, называются маршрутизаторами границ областей (Area Border Routers, ABR).
На рис. 8.6 изображена объединенная сеть, в которой выделено несколько областей. В этом примере область 0.0.0.1 состоит из трех сетей. Вместо того чтобы объявить каждую из них маршрутизатор 1 складывает все три сети в единую запись - 192.1.0.0/16. Маршрутизатору 2 необходима лишь запись, объединяющая все три сети. Подобным образом, область 0.0.0.2 состаатяют три сети, которые могут б ыть представлены как 192.2.0.0/16.
OG.uu.ib 0.0.0.0 Mai ivipxiutiu oAjiicib
Рис. 8.6. Области OSPF
Чтобы уменьшить число LSA-сообщений, передаваемых между соседними маршрутизаторами, в протоколе OSPF применяется принцип назначенного маршрутизатора (Designated Router, DR). На каждую область объединенной сети приходится по одному назначенному маршрутизатору, который выбирается исходя из его приоритета (по шкале от 0 до 255, где большие числа являются предпочтительными). Маршрутизатор со вторым по значимости приоритетом становится резервным назначенным маршрутизатором (Backup Designated Router. BDR). Эти два маршрутизатора устанавливают смежности со всеми остальными маршрутизаторами области, а те в свою очередь устанавливают лишь две смежности: с назначенным маршрутизатором и с резервным назначенным маршрутизатором. Обязанностью назначенною маршрутизатора является извещение всех маршрутизаторов области LSA-сообщениями. Назначением резервного назначенного маршрутизатора является обеспечение быстрого восстановления связи в случае, если назначенный маршрутизатор выйдет из строя.
Все маршрутизаторы, работающие по протоколу OSPF, отсылают LSA-сообщения на групповой адрес 224.0.0.6, который соответствует назначенному маршрутизатору и резервному назначенному маршрутизатору. Существует пять основных типов LSA-сообщений:
Объявление о состоянии каналов маршрутизатора (Router LSA). Это сообщение распространяется в пределах области и содержит информацию о соседях маршрутизатора. Сообщения этого типа отсылаются всем маршрутизаторам.
Объявление о состоянии каналов сети (Network LSA). Это сообщение распространяется в пределах области и содержит информацию обо всех маршрутизаторах, присутствующие в сети. Сообщения этого типа отсылаются только назначенным маршрутизаторам.
Общее объявление о состоянии каналов сети (Network Summary LSA). Это сообщение распространяется маршрутизатором границ областей и указывает доступные сети вне области. Сообщения этого типа отсылается только маршрутизаторам границ областей.
Общее объявление о состоянии каналов маршрутизатора границ автономных систем (ASBR Summary LSA). Это сообщение распространяется маршрутизаторами границ автономных систем и содержит информацию о маршрутизаторе границ автономных систем. Сообщения этого типа отсылается только маршрутизаторам границ областей.
Объявление о состоянии внешних каналов автономной системы. (AS External LSA). Это сообщение распространяется всеми маршрутизаторами в пределах автономной системы и описывает маршруты внешние для автономной системы. Сообщения этого типа отсылаются только маршрутизаторам границ автономных систем.
OSPF-пакет, в котором передаются LSA-сообщения, инкапсулируется непосредственно в поле данных IP-пакета. Значение поля «Протокол верхнего уровня» в заголовке IP-пакета для OSPF равно 89. На рис. 8.7 представлен формат заголовка OSPF-пакета.
|
0 |
I |
2 3 |
(1 1 :>!><.- |
8 9 HI II 12 13 II 15 |
16 1" Is 19 20 21 22 2» 21 2< 2(- 27 2s 2'» Ю Л | |
0 |
Версия |
Тип |
Д.И111.1 пакет |
32 |
Идентификатор маршрутизатора | ||
'.1 |
Идентификатор области | ||
И |
Контрольная сумма |
Тип аутентификации | |
i2s |
Аутентификация |
Рис. 8.7. Заголовок OSPF-пакета
Поле «Версия» длиной 1 байт содержит номер версии протокола OSPF. Наиболее используемой версией на данный момент является версия 2, которая поддерживает протокол IPv4. Также существует 3 версия протокола OSPF. которая поддерживает протокол IPv6.
Поле «Тин» длиной 1 байт определяет назначение OSPF-пакета. Данное поле принимает следующие значения:
Приветственный пакет (Hello Packet). Применяется для определения местоположения соседних маршрутизаторов.
Описание базы данных (Database Description). Применяется для передачи резюмирующей информации базы данных.
Запрос состояния канала (Link-State Request). Применяется для осуществления запросов на резюмирующую информацию базы данных.
Обновление состояния канала (Link-State Update). Применяется для распространения сообщений LSA в других сетях.
Подтверждение состояния канала (Link-State Acknowledgment). Применяет для подтверждения приема информации о состоянии канала.
Поле «Длина пакета» длиной 2 байта содержит длину данного OSPF-пакета. включая заголовок.
Поле «Идентификатор маршрутизатора» длиной 4 байта содержит идентификатор передающего маршрутизатора.
Поле «Идентификатор области» длиной 4 байта содержит идентификатор области, к которой принадлежит передающий маршрутизатор.
so
Поле «Контрольная сумма» длиной 2 байта содержит значение, которое представляет собой результат вычисления контрольной суммы содержимого OSPF-пакета.
Поле «Тин аутентификации» дтиной 2 байта определяет тип аутентификации, применяемый в пакете (0 - аутентификация не используется, 1 - аутентификация открытым текстом, 2 - аутентификация с использованием алгоритма шифрования MD5). Поле «Аутентификация» длиной 8 байт содержит пароль.
Что касается формата блока данных, следующего за заголовком OSPF-пакета, то он варьируется в зависимости от типа OSPF-пакета.
Сходимость маршрутов
Сходимость маршрутов - что процесс распространения новой маршрутной информации по объединенной сети. В идеале, сеть должна находиться в состоянии конвергенции (converged state), когда все маршрутизаторы располагают информацией обо всех доступных сетях и связанных с ними издержками.
Каждый из протоколов маршрутизации, описанных ранее, предполагает, что в случае если какая либо сетей станет недоступной, об этом должны узнать все маршрутизаторы. Сеть, использующая дистанционно-векторный алгоритм маршрутизации, сходится медленнее, чем сеть, использующая алгоритм на основе учета состояния канала.
Существует несколько методов, которые могут помочь в повышении скорости сходимости. К таким методам относятся разделение горизонта (split horizon) и негативный отклик (poison reverse).
Разделение горизонта
Основное правило разделения горизонта запрещает объявление маршрута тому интерфейсу, от которого этот маршрут был получен ранее. На рис. 8.8 рассмотрен пример разделения горизонта. Маршрутизатор 2 узнал о существовании сети 1 от маршрутизатора 1. После чего маршрутизатор 2 распространяет эту информацию в сеть 3. В соответствии с правилами разделения горизонта, маршрутизатор 2 не может объявлять маршрут к сети 1 маршрутизатору 1, от которого он о ней узнал.
Негативный отклик
Маршрутизаторы могут распространять маршруты через интерфейсы, которые явились их источниками. Но эти маршруты будут идентифицироваться как недостижимые. Идея этого метода проста. Рассмотрим пример на рис. 8.9. Если маршрутизатор 1 направляет пакеты маршрутизатору 3 через маршрутизатор 2, тогда маршрутизатор 3 объявит маршрутизатору 2, что маршрут через него к маршрутизатору 1 является недопустимым. Поскольку маршрутизатор 2 полагает, что у маршрутизатора 3 нет пути к маршрутизатору 1, он (маршрутизатору 2) никогда не станет пытаться посылать пакеты маршрутизатору 1 через маршрутизатору 3.