Сравнение протоколов динамической маршрутизации IS-IS и OSPF
Шардаков К. С., Корбаков А. И., Красновидов А. В. Петербургский государственный университет путей сообщения Императора Александра I
Санкт-Петербург, Россия [email protected], [email protected], [email protected]
Аннотация. В данной статье рассмотрены два протокола динамической маршрутизации: IS-IS (Intermediate-System-to-Intermediate-System) и OSPF (Open Shortest Path First). Выявлены сходства и различия между ними. Описана используемая протоколами терминология, различия в дизайне сети. Смоделирована инфокоммуникационная сеть для измерения объёма генерируемого служебного трафика протоколов.
Ключевые слова: OSPF, IS-IS, сеть, топология, динамическая маршрутизация, архитектура сети, трафик, алгоритм Дейк-стры.
ВВЕДЕНИЕ
В настоящее время широко используются различные протоколы динамической маршрутизации: BGP (Border Gateway Protocol), OSPF, IS-IS и другие. Все они делятся на две большие группы: протоколы внешней маршрутизации EGP (Exterior Gateway Protocol) и внутренней маршрутизации IGP (Interior Gateway Protocol).
Основная задача протоколов динамической маршрутизации - автоматический поиск лучшего маршрута на основании некоторых атрибутов для передачи трафика по сети [1]. Например, протоколы динамической маршрутизации помогают эффективно использовать резервные каналы связи, избегая петель маршрутизации.
В статье рассматриваются несколько IGP, такие как OSPF и IS-IS, представлена их сравнительная характеристика, предложены рекомендации по выбору протокола. Оба протокола основаны на технологии отслеживания состояния канала и используют алгоритм Дейкстры для поиска кратчайшего пути.
OSPF (Open Shortest Path First) - иерархический протокол, был разработан организацией IETF (Internet Engineering Task Force, инженерный совет Интернета). Разработка протокола OSPF началась в 1987 г., сегодня используются две версии:
• OSPFv2: OSPF для сетей IPv4 (RFC 1247 и RFC 2328) [2];
• OSPFv3: OSPF для сетей IPv6 (RFC 2740) [2].
IS-IS (Intermediate-System-to-Intermediate-System) - иерархический протокол, был разработан в 1978 г. ISO в качестве протокола маршрутизации для собственного Connectionless Network Protocol (CLNP), являвшегося частью стека протоколов, призванного заменить TCP/IP. Протокол IS-IS описывается в ISO 10589. Имеет двухуровневую иерархическую архитектуру.
Сравниваемые протоколы используют различную терминологию (табл. 1).
Таблица l
Соответствие терминов в протоколах
OSPF IS-IS
Host End System (ES)
Router Intermediate System (IS)
Link Circuit
Packet Protocol Data Unit (PDU)
Designated router (DR) Designated IS (DIS)
Backup DR (BDR) Нет аналога, не используется
Link-State Advertisement Link-State PDU (LSP)
Hello packet Hello PDU
Area Sub domain (area)
Non-backbone area Level-1 area
Backbone area Level-2 Sub domain (backbone)
Area Border Router (ABR) L1L2 router
Autonomous System Boundary Router (ASBR) Любая IS
ИССЛЕДОВАНИЕ СХОДСТВ И РАЗЛИЧИЙ
Несмотря на то, что OSPF и IS-IS - это различные протоколы, они имеют некоторые общие черты, например:
• являются IGP, распространяют маршрутную информацию между маршрутизаторами только внутри одной AS (Autonomous system);
• использован алгоритм Дейкстры для поиска кратчайшего пути на основе состояния каналов связи;
• поддержка Bidirectional Forwarding Detection (BFD) и возможность обеспечивать обнаружение потери связи с соседом за 50 мс в зависимости от аппаратной реализации оборудования. Время сходимости протоколов исследовалось в работах [3, 4];
• поддержка CIDR (Classless Inter-Domain-Routing) - бесклассовая маршрутизация;
• поддержка VLSM (Variable Subnet Length Masking) -маски подсетей переменной длины;
• поддержка QoS (Quality of Service) - качество обслуживания;
• поддержка аутентификации.
Дизайн домена
В первую очередь, стоит рассмотреть возможности дизайна домена при создании сети. Правильно построенный домен является одним из ключевых моментов при выборе архитектуры сети, поскольку позволяет решить сразу несколько возможных проблем в будущем:
• предусмотреть возможности масштабирования;
• снизить нагрузку на аппаратные ресурсы роутеров;
• уменьшить время восстановления сети при аварии;
• увеличить отказоустойчивость сети в целом.
Протоколы OSPF и IS-IS идеологически по-разному относятся к вопросу дизайна домена.
OSPF - протокол иерархический. Это значит, что весь домен маршрутизации протокола OSPF можно разделить на отдельные области (area). Разделение на области не должно быть произвольным. Если топология действительно разбивается на области, в обязательном порядке должна присутствовать область с номером 0 (так называемая нулевая область), а все другие области подключаются к нулевой с помощью маршрутизаторов ABR (Area Border Router). Любое взаимодействие между периферийными областями будет обеспечиваться через нулевую область [5]. То есть протокол OSPF собирает топологию «звезда» с нулевой зоной в её центре. Такое построение логики сети обеспечивает защиту от петель маршрутизации на сетевом уровне. В нулевую область обычно выделяют ядро сети, в остальные области попадает периферия. При этом граница между областями проходит внутри маршрутизатора, т. е. фактически области принадлежит не маршрутизатор целиком, а его отдельный интерфейс, и области разграничиваются внутри роутера. На рис. 1 представлена классическая структура домена протокола OSPF.
Протокол IS-IS также является иерархическим протоколом с возможностью разделения топологии на области. Но принципы этого разделения совершенно другие:
• маршрутизаторы IS-IS-домена целиком и полностью принадлежат какой-то одной зоне, т. е. граница между областями проходит по каналу связи между маршрутизаторами, а не внутри маршрутизатора;
• нет специального номера зоны (как нулевая зона в протоколе OSPF). То есть области, на которые разбита топология, могут иметь произвольные номера и объединяться между собой произвольным образом.
В основе иерархичности протокола лежат уровни взаимодействия маршрутизаторов друг с другом. Пара IS-IS-маршрутизаторов, подключенных друг к другу, могут сформировать два уровня взаимодействий: Level 1 и Level 2 (L1 и L2). При этом соседство уровня 1 (L1) формируется только между маршрутизаторами одной области, а соседство уровня 2 (L2) может быть сформировано между маршрутизаторами как одной, так и разных областей [6]. Также существуют маршрутизаторы уровня L1/L2 для взаимодействия между маршрутизаторами различных уровней, обычно они находятся на границе области [7]. Пример формирования дизайна топологии протокола IS-IS приведен на рис. 2. В данном случае маршрутизаторы в зоне 49.0001 будут владеть полным объемом маршрутной информации в сети, а маршрутизаторы в зоне 49.0002 и зоне 49.0003 не будут знать ничего друг о друге, все обязанности по маршрутизации между ними возьмет на себя зона 49.0001. Данная схема очень похожа на топологию протокола OSPF, и зона 49.0001 является аналогом нулевой области, таким образом обычно обосабливается ядро сети и разграничивается взаимодействие зон между собой.
Транспорт
Протокол OSPF изначально был ориентирован на IP-сети, поэтому свои пакеты он инкапсулирует в пакеты протокола IP. Протокол IS-IS инкапсулирует служебные пакеты непосредственно во фреймы канального уровня, тем самым поддерживая сразу несколько протоколов сетевого уровня (например, IP, IPX и AppleTalk) [8]. Вдобавок это предоставляет дополнительную защиту от атак на сетевом уровне, направленных на этот протокол, что, несомненно, является большим плюсом в его пользу.
Служебный трафик, моделирование топологии и тестирование
Ещё одним критерием для сравнения является объём служебного трафика, генерируемый протоколами, поскольку это влияет на общую пропускную способность канала связи. В рамках статьи собран тестовый стенд с топологией из четырёх роутеров, изображённой на рис. 3. В качестве среды использовался программный продукт GNS3 (графический симулятор сети, который позволяет моделировать сложные сети [9]). В качестве маршрутизаторов использо-
Рис. 1. Дизайн домена OSPF
Рис. 2. Дизайн домена IS-IS
Рис. 3. Тестовая топология
ваны образы платформ Cisco 2691. На каждом канале связи между маршрутизаторами установлено отношение соседства по протоколу OSPF в нулевой области, а также отношение соседства по протоколу IS-IS уровня L2 со стандартными таймерами для эмуляции одного домена с распространением всей маршрутной информации между всеми маршрутизаторами, что означает присутствие всех маршрутных данных на каждом из физических каналов связи.
Цель эксперимента - измерить объём служебного трафика в стабильной сети, для этого используется утилита WireShark - программа-анализатор трафика для компьютерных сетей Ethernet и некоторых других [10].
Сам захват трафика всегда производится на канале связи между маршрутизаторами R1 и R2.
Тест 1. На указанной топологии захватывается трафик. Результат его анализа показан на рис. 4. Как видно из рис. 4, протокол IS-IS шлёт 74,2 % всех пакетов на этом канале связи, но их объем занимает 96,1 % всего переданного трафика, на долю протокола OSPF приходится только 1,6 %.
Анализируя статистику размеров пакетов, приведённую на рис. 5, можно заметить, что присутствуют 583 пакета объёмом 1514 байт. Согласно рис. 4, это пакеты IS-IS Hello. Обратив внимание на содержимое пакета, мы увидим, что большую часть его объема составляет поле Padding, предназначенное для обнаружения проблем с MTU в канале связи до установления соседства.
Тест 2. На всех интерфейсах маршрутизаторов, где запущен процесс протокола IS-IS, прописывается команда 'no isis hello padding'. Она предлагает не заполнять поле Padding в IS-IS Hello PDU при уже установившемся отношении соседства. Результат показан на рис. 6. Протокол IS-IS шлёт 74 % всех пакетов, но теперь их суммарный объём составляет 60,6 %, доля пакетов OSPF составляет только 16,4 %. Соотношение изменилось в 10 раз. Объём трафика протокола IS-IS без учета накладных расходов на транспорт - 897 579 байт в первом тесте и 56 838 байт во втором тесте - уменьшился в 15,8 раза. Поле padding в IS-IS PDU значительно влияет на объём служебного трафика протокола IS-IS.
Protocol J Frame
Percent Packets
100.0
J Ethern et
J Logical-Link Control
J ISO 10539 ISIS InTRA D omain Route! ng Inf ormatl on Exchan g e P rotoco I ISO 10589 ISIS Link State Protocol Data Unit ISO 10589 ISIS Complete Sequence Numbers Protocol Data Unit
100.0 742
74 2
ISIS HELLO
13 14.6 58.3
Packets Percent Bytes
1000 100.0
1000 15
742 96,3
742 96,1
13 0Л
145__2.4
533
J Intern et P rotoc о I Versi on 4 Open Shortest Path First Data
25.4 25.4 0.4
254 254 4
92,9
0.5 1.6 0.0
Bytes
934377
14000
899805
397579
926
22630
Brts/s
5887
88
5669 5655 5
142
868037 5469
5080
15240
252
32 96 1
Рис. 4. Результаты анализа трафика
Topic / Item
Count Average Mir val Max val Rate [ms] Percent
J Packet Lengths 1000 934 38 69 1514 0.0008 100%
0-19 0 - - - 0.0000 0.00%
20-39 0 - - - 0.0000 0.00%
40-79 11 7131 69 77 0.0000 1Л0%
80-159 260 94.78 94 138 0.0002 26.00%
160-319 146 180.00 180 180 0.0001 14.60%
320-639 0 - - - 0.0000 0.00%
640-1279 0 - - - 0.0000 0.00%
1280-2559 583 1514.00 1514 1514 0.0005 58.30%
2560-5119 0 - - - 0.0000 0.00%
5120 and greater 0 - - - 0.0000 0.00%
Рис. 5. Статистика размеров пакетов
I Protocol Percent Packets
J Frame 100.0
J Ethernet 100.0
J Logical-Link Control 74JD
J ISO 10509 ISIS InTRA Domain Routeing Inform... 74JD
ISO 10589 ISIS Link State Protocol Data Unit 1.1
ISO 10589 ISIS Com pi ete Seq u en ce Numb... 14.7
ISIS HELLO 58.2
J Internet Protocol Version 4 25.6
Open Shortest Path First __25.6
Packets Percent Bytes
■
1001
1001
741
741
11
147
583
256
256
100.0
143 63,0
60,6
0.8 24 J 29,2 55 16,4
Bytes Bits/s
93807 588
14014 87
59061 370
56833 356
724 4
22785 142
27401 171
5120 32
15360 96
Data
0.4
0J
252
Рис. 6. Результаты анализа трафика без поля Padding
Тест 3. Сеть увеличивается в два раза и состоит теперь из 8 маршрутизаторов, строящих топологию, как указано на рис. 7. По-прежнему на каждом канале связи установлено отношение соседства по протоколам OSPF и IS-IS. Настройки интерфейсов совпадают с настройками во втором тесте.
Результат изображен на рис. 8. Процентное соотношение количества переданных пакетов прежнее. Процентное соотношение объёма переданного трафика изменилось: доля ISIS выросла с 60,6 % до 68,7 %, доля OSPF же, наоборот, уменьшилась с 16,4 % до 12,9 %. Передано 252 пакета протокола OSPF общей сложностью 15 120 байт, иными словами, объём трафика не изменился по сравнению с предыдущим тестом. На долю протокола IS-IS теперь вместо 56 838 байт приходится 80 342 байт, фигурирует прирост служебных данных на 41 %.
Результаты теста говорят о независимости объёма служебного трафика протокола OSPF от количества связей и маршрутизаторов в стабильной сети в рамках одного отношения соседства, это обусловлено тем, что при стабильной сети протокол OSPF производит только обмен Hello-пакетами.
Количество данных протокола IS-IS, наоборот, увеличивается. Исходя из статистики, видно, что по сравнению со вторым тестом суммарный объем пакетов IS-IS CSNP (Complete Sequence Number PDU) вырос в 2 раза при их прежнем количестве. С помощью этих PDU IS-IS-маршрутизаторы синхронизируют известную им информацию о топологии, PDU содержат список всех LSP (Link-State PDU). Из этого следует, что объём пакета IS-IS CSNP напрямую зависит от количества роутеров в сети и от её связности, что подразумевает прямую зависимость объёма служебного трафика IS-IS
Рис. 7. Расширенная тестовая топология
Protocol Percent Packets Packets Percent Bytes Bytes Bits/s
J Frame M 100.0 1000 M 100.0 116986 742
J Eth ern et 100.0 1000 12.0 14000 88
J Logical-Link Control 74 A 744 70 j6 82574 523
J ISO 10589 ISIS InTRA Domain Routeing Information Exchange Protocol M 74 A 744 68.7 80342 509
ISO 10589 ISIS Link State Protocol Data Unit 21 21 13 1529 9
ISO 10589 ISIS Complete Sequence Mum bens Protocol Data Unit ■ 14 A 144 39.0 45648 289
ISIS HELLO 575 579 233 27213 172
J Internet Protocol Versi on 4 252 252 43 5040 31
Open Shortest Path First 252 252 ■ 12,9 15120 95
iData OA 4 0,2 252 1
Рис. 8. Результаты анализа трафика для топологии из 8 роутеров
Таблица 2
Результаты тестов
№ теста Время захвата, с Кол-во пакетов, шт. Кол-во связей, шт. Кол-во роутеров, шт. Протокол Объём трафика, байт Занятая п/с, бит/с
1 1240 1000 4 4 OSPF 13240 3633
IS-IS B97379 96
2 1233 1001 4 4 OSPF 13360 336
IS-IS 36B3B 96
3 1260 1000 10 В OSPF 13120 309
IS-IS B0342 93
от объёма пакета IS-IS CSNP. Также здесь применимо правило транзитивности, объём служебного трафика напрямую зависит от количества роутеров в сети и от её связности.
В табл. 2 представлены обобщённые результаты тестов. Протокол OSPF показывает явную стабильность вне зависимости от количества роутеров и связей между ними. Объём служебного трафика протокола IS-IS меняется в зависимости от присутствия поля Padding в пакетах протокола, имеет прямую зависимость от количества роутеров и связей между ними. Даже после оптимизации (отключения поля Padding в Hello PDU для установленного соседства) этот протокол генерирует больший объём служебного трафика.
Выводы
1. Сравниваемые протоколы в некоторой мере схожи: являются IGP, используют один и тот же алгоритм расчета кратчайшего пути, в совокупности с протоколом BFD показывают практически одинаковое время сходимости.
2. Сравниваемые протоколы различаются подходом к дизайну. Протокол OSPF строит топологию типа «звезда» с нулевой областью в центре и не разрешает всем остальным областям взаимодействовать между собой в обход нулевой области, что, в свою очередь, является отличным защитным механизмом от петель маршрутизации. В настоящее время такой подход практикуется в большинстве сетей различных размеров. Архитектура дизайна домена протокола IS-IS иная. Области внутри AS могут быть связаны в каком угодно порядке, что затрудняет понимание топологии человеком при сети крупных размеров и создает дополнительные возможности для появления петель, также увеличивается вероятность человеческой ошибки при конфигурировании. С другой стороны, протокол IS-IS имеет гибкую двухуровневую архитектуру и позволяет из роутеров второго уровня создать
аналог нулевой области протокола OSPF при правильном дизайне домена, но это вызывает дополнительные трудозатраты.
3. Сравниваемые протоколы используют транспорт для своих пакетов на разных уровнях по модели OSI. Пакеты протокола OSPF используют сетевой уровень и инкапсулируют свои данные в пакеты протокола IP. Протокол ISIS передает служебные данные на канальном уровне, это освобождает протокол от возможных атак на сетевом уровне, что говорит в пользу этого протокола.
4. Сравниваемые протоколы генерируют различный объём служебного трафика. При стандартных настройках протокол OSPF генерирует в разы меньше служебных данных на стабильной сети, чем протокол IS-IS. Из табл. 2 видно, что увеличение объёма служебного трафика протокола IS-IS прямо пропорционально количеству узлов в сети и связей между ними. Малый объём служебного трафика протокола OSPF позволяет разворачивать маршрутизацию в крупных сетях с проблемой «бутылочного горлышка» (проблемой медленного обмена информацией из-за низкой пропускной способности одного из каналов связи в сети) без большой потери пропускной способности. Если данной проблемы нет, применение протокола IS-IS не повредит сети. При современных скоростях передачи данных генерируемый протоколом объём служебной информации ничтожно мал и не влияет на работоспособность канала.
Литература
1. Олифер В. Г. Компьютерные сети. Принципы, технологии, протоколы: учеб. для вузов / В. Г. Олифер, Н. А. Олифер. 4-е изд. СПб.: Питер, 2010. 944 с.
2. База данных RFC-документов. URL: http://www.rfc-editor.org (дата обращения 15.03.2017).
3. Макаренко С. И. Время сходимости протоколов маршрутизации при отказах в сети / С. И. Макаренко // Системы управления, связи и безопасности, 2015, № 2. С. 45-98.
4. Tsegaye Y. OSPF Convergence Times. Master of Science Thesis in the Programme Networks and Distributed Systems / Y. Tsegaye, T. Geberehana. Göteborg (Sweden): Chalmers Univ. Technol., 2012. 77 с. URL: http://publications.lib.chalm-ers.se/records/fulltext/184363/184363.pdf (дата обращения 17.03.2017).
5. Odom W., Hogg S. CCNA Routing and Switching IC-ND2 200-105 Official Cert Guide / W. Odom, S. Hogg. India-
napolis: Cisco Press, 2016. 2557 с.
6. Официальный сайт компании Cisco Systems. URL: http:// cisco.com (дата обращения 19.03.2017).
7. Martey A. IS-IS Network Design Solutions / A. Martey. Indianapolis: Cisco Press, 2002. 405 с.
8. Таненбаум Э. Компьютерные сети / Э. Таненбаум, Д. Уэзеролл. 5-е изд. СПб.: Питер, 2012. 960 с.
9. Документация к GNS3. URL: http://docs.gns3.com (дата обращения 23.03.2017).
10. Документация к Wireshark. URL: https://www.wireshark. org/docs (дата обращения 23.03.2017).
Comparison of IS-IS and OSPF Dynamic Routing Protocols
Shardakov K. S., Korbakov A. I., Krasnovidov A. V Emperor Alexander I Petersburg State Transport University St. Petersburg, Russia [email protected], [email protected], [email protected]
Abstract. This article discusses two dynamic routing protocols -IS-IS (Intermediate-System-to-Intermediate-System) and OSPF (Open Shortest Path First). Similarities and differences between them are revealed. Describes the terminology used by the protocols, the differences in network design. An infocommunication network is being modeled to measure the amount of generated protocol overhead.
Keywords: OSPF, IS-IS, network, topology, dynamic routing, network architecture, traffic, Dijkstra's algorithm.
References
1. Olifer V. G., Olifer N. A. Computer Networks. Principles, Technologies, Protocols: Textbook for high schools [Komp'juternye seti. Principy, tehnologii, protokoly: Uchebnik dlja vuzov]. 4th ed. St. Petersburg, Piter, 2010, 944 p.
2. RFC-editor (2017). Available at: http://www.rfc-editor.org (accessed 15 March 2017).
3. Makarenko S. I. The Convergence Time of Routing Protocols in Case of Network Failures [Vremja shodimosti protokolov
marshrutizacii pri otkazah v seti] Sistemy upravlenija, svjazi i bezopasnosti, 2015, no. 2, pp. 45-98.
4. Tsegaye Y., Geberehana T. OSPF Convergence Times. Master of Science Thesis in the Programme Networks and Distributed Systems. Göteborg (Sweden), Chalmers Univ. Technol., 2012, 77 p. Available at: http://publications.lib.chalmers.se/re-cords/fulltext/184363/184363.pdf (accessed 17 March 2017).
5. Odom W., Hogg S. CCNA Routing and Switching IC-ND2 200-105 Official Cert Guide. Indianapolis, Cisco Press, 2016, 2557 p.
6. Cisco Systems (2017). Available at: http://cisco.com (accessed 19 March 2017).
7. Martey A. IS-IS Network Design Solutions. Indianapolis, Cisco Press, 2002, 405 p.
8. Tanenbaum A., Wetherall D. Computer Networks. 5th ed. St. Petersburg, Piter, 2012, 960 p.
9. GNS3 documentation (2017). Available at: http://docs. gns3.com (accessed 23 March 2017).
10. Wireshark documentation (2017). Available at: https:// www.wireshark.org/docs (accessed 23 March 2017).