Junos OS

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:14, 3 июня 2017.
Junos OS
Junos sw logo.jpg
Логотип Junos OS
Разработчик Juniper Networks, Inc.
Линейка ОС BSD UNIX
Состояние разработки Active
Исходный код Закрытый исходный код
Последний релиз 14.2R2 / 27 марта 2015
Ядро (тип) Монолитное ядро
Лицензия Проприетарное
Официальный веб-сайт juniper.net

Junos OS — операционная система, используемая в оборудовании компании Juniper Networks, Inc. Создана на основе 4-й ветки свободной ОС FreeBSD. Ядро JUNOS основано на операционной системе FreeBSD UNIX - ОС с открытым исходным кодом. Главный конкурент — операционная система IOS-XR компании Cisco Systems.

Общие сведения

Основной принцип работы JUNOS

Функциональность ОС Junos OS разобщена на несколько процессов программного обеспечения. Каждый процесс потребляет часть функциональности устройства. Каждый процесс выполняется в собственном защищенном пространстве памяти, гарантируя, что один процесс не может непосредственно вмешиваться в другой. Когда один процесс терпит сбой, вся система не рухнет. Эта модульность также гарантирует, что новые возможности могут быть добавлены с меньшей вероятностью потери функциональности.

Все платформы работают на одном и том же базовом исходном коде в рамках специфики своей платформы. Благодаря этому многие процессы и операции настроены и управляются единым образом, настройка задач и согласованность операций при этом проще.

Другой аспект модульности - разделение плоскостей управления(RE) и пересылки(PFE). Процессы, управляющие протоколами маршрутизации и коммутации отделены от процессов, отвечающих за пересылку фреймов, пакетов. Такая конструкция позволяет настраивать каждый процесс для максимальной производительности и надежности. Разделение плоскостей управления и пересылки - одна из ключевых причин, почему Junos OS может поддерживать множество различных платформ с единым базовым кодом. Плоскость управления работает на механизме маршрутизации (Routing Engine - RE). RE - мозг платформы, несет ответственность за выполнение обновлений протоколов и систему управления. RE отвечает за работу различных протоколов, а также управляет программными процессами, которые находятся внутри защищенной среды памяти. RE основан на архитектуре Х86 или PowerPC, в зависимости от конкретной платформы. RE поддерживает таблицы маршрутизации, таблицу мостов, первичную таблицу пересылки и соединяется с механизмом пересылки пакетов (Packet Forwarding Engine - PFE) через внутренний линк. Хотя все Junos устройства соответствуют этой конструкции, конкретные компоненты, которые составляют плоскость управления и пересылки варьируются в зависимости от платформы. Детальную специфическую информацию можно посмотреть в технических публикациях на http://www.juniper.net/techpubs/. PFE как правило работает на отдельных аппаратных средствах и несет ответственность за передачу транзитного трафика через устройство. На многих платформах PFE использует специализированную интегральную схему (application-specific integrated circuits - ASIC) для увеличения производительности.

Благодаря тому, что архитектура разделена, устройства под управлением Junos отличаются стабильностью и надежностью. PFE принимает таблицу пересылки (forwarding table - FT) от RE по внутреннему линку. Обновления FT имеют высокий приоритет для ядра Junos OS и осуществляются поэтапно. Так как RE выполняет интеллектуальную часть работы, PFE может просто выполнять инструкции - перенаправлять пакеты и фреймы с высокой степенью устойчивости и с детерминированной производительностью. Эта архитектурная конструкция также делает возможным включение функций высокой доступности (GRES, NSR, ISSUs).

Интеллект RE

RE управляет всеми процессами протокола в дополнение к другим программным процессам, которые управляют интерфейсами устройства, компонентами шасси, системой управления и доступом пользователей на устройство. Эти программные процессы работают на вершине ядра Junos, которое взаимодействует с PFE. ПО направляет весь трафик протоколов из сети к RE для необходимой обработки.

Управление Packet Forwarding Engine

RE управляет PFE путем предоставления актуальных Layer 2 и Layer 3 таблиц пересылки, а также путем управления программными процессами, которые находятся в микрокоде PFE. RE принимает статусные сообщения оборудования и среды из PFE и воздействует на них по мере необходимости.

Пересылка трафика

PFE - компонент центрального процессора плоскости пересылки. PFE систематически перенаправляет трафик, базируясь на локальной копии таблицы пересылки. Таблица пересылки PFE является синхронизированной копией информации, созданной на RE. Хранимая и используемая локальная копия таблицы пересылки позволяет PFE направлять трафик более эффективно и не консультироваться с RE каждый раз. Использование этой локальной копии также позволяет платформам, работающим под управлением Junos продолжать пересылку трафика во время нестабильности плоскости управления.

Реализация сервисов

В дополнение к пересылаемому трафику PFE также реализует некоторые дополнительные сервисы. Некоторые примеры дополнительных сервисов реализуются через встроенные политики PFE, которые обеспечивают ограничение трафика, фильтры Firewall, а также классы обслуживания (CoS). Другие сервисы доступны через специальные интерфейсные карты, которые можно добавлять к комплексу PFE.

Транзитный трафик

Транзитный трафик включает в себя весь трафик, который поступает на входящий порт, сопоставляется записям в таблице пересылки и пересылается из выходного порта в сеть в сторону места назначения. Для успешной пересылки транзитного трафика к месту назначения, в FT должны существовать соответствующие адресу назначения записи. Транзитный трафик проходит только через плоскость пересылки и никогда не отправляется в плоскость управления. В результате обработки транзитного трафика только плоскостью пересылки достигаются высокие показатели производительности.

Транзитный трафик может быть и unicast и multicast трафиком. Одноадресный (unicast) транзитный трафик входит в один входящий порт и направляется к месту назначения ровно из одного выходящего порта. Хотя многоадресный (multicast) транзитный трафик также входит через единственный входящий порт, он может быть тиражирован и направлен из нескольких портов, в зависимости от числа групповых адресатов и сетевой среды.

Исключительный трафик

В отличии от транзитного трафика, исключительный трафик не проходит через локальное устройство, но требует некоторой специальной обработки. Примеры исключительного трафика: пакеты, адресованные шасси, такие как обновления протоколов маршрутизации, Telnet-сессии, пинги, трассировки и ответы трафику, полученные от RE; IP пакеты с полем IP options (опции в заголовке IP пакета встречаются редко, но PFE не предусматривает обработку IP заголовков; пакеты с IP options должны направляться к RE для обработки); трафик, который требует генерации сообщений Internet Control Message Protocol (ICMP). ICMP сообщения отправляются к источнику пакета для отчета о различных ошибках и для ответа на запросы пинга. Примерами ошибок ICMP являются сообщения недоступности получателя, которые отправляются когда нет соответствующих записей в таблице пересылки для адресата пакета, а также сообщения истекшего времени жизни (time-to-live, TTL), которые отправляются, когда TTL пакета уменьшается до нуля. Трафик, требующий ответные ICMP сообщения об ошибке, как правило, обрабатываются PFE. Junos OS направляет весь исключительный трафик, предназначенный для RE через внутренний линк, который соединяет плоскости управления и пересылки. Ограничитель скорости (rate limit) Junos OS отбрасывает трафик, проходящий через внутренний линк для защиты RE от атак отказа в обслуживании (DoS). Во время затора Junos OS отдает предпочтение локальному и управляющему трафику, предназначенному RE. Встроенный ограничитель скорости не настраивается.

Управление и мониторинг шасси

RE обеспечивает работу интерфейса командной строки (CLI), так же как и J-Web GUI. Эти пользовательские интерфейсы работают на вершине ядра Junos и обеспечивают пользовательский доступ и управление устройством. [1] [2]

Режимы работы

В ОС Junos существует два основных режима: операционный режим и конфигурационный режим. Существует также третий режим в форме оболочки FreeBSD. Операционный режим используется для мониторинга и поиска неисправностей в программном обеспечении, сетевых связях и аппаратных средствах. Режим конфигурации предназначен для настройки устройства под управлением ОС Junos, включая интерфейсы, протоколы, пользовательский доступ и аппаратные средства системы.

Дополнительное ПО

В JUNOS существует возможность установки дополнительного ПО, которое распространяется в виде пакетов, подписанных соответствующим сертификатом Juniper Networks. Система управления пакетами Junos OS также унаследована от FreeBSD.

Особенности

Пользовательское окружение представляет собой полноценную рабочую среду с набором классических (для FreeBSD) утилит. Однако внесение изменений в конфигурацию допускается только при помощи специальной утилиты — «cli». Этой же утилитой осуществляется управление всеми ASIC.

cli

Командный интерфейс JUNOS позволяет как выполнять команды, так и вводить конфигурацию. Изменения в конфигурации не применяются до выполнения команды commit (предусмотрена возможность автоматического отката конфигурации на предыдущую, если она не была подтверждена в течение заданного времени). Поддерживается история версий (до 50 версий), к которым может производиться откат. Как и большинство других интерфейсов командной строки маршрутизаторов, поддерживает автодополнение по уникальной комбинации первых символов команды (например, sh int fe-1/1/1 ex будет расшифрованно как show interface fe-1/1/1 extensive). Автодополнение происходит не при интерпретации команды, а при нажатии пробела. Поддерживается контекстная справка (вызов — знак вопроса).

Конфигурация представляет собой директивы конфигурирования той или иной подсистемы. Директивы могут содержать вложенные элементы, описывающие настройку отдельных компонент. Например, конфигурация интерфейса ethernet может иметь вложенные настройки для отдельных подсетей, которые, в свою очередь, могут иметь вложенные настройки для различных протоколов (например, ip4 и ip6).

Оконечные узлы конфигурации (не содержащие вложенных элементов) заканчиваются точкой с запятой, содержащие вложенные элементы задают их с помощью фигурных скобок (точка с запятой в этом случае не ставится). Конфигурирование может осуществляться либо вводом готового текстового блока, либо использованием сокращённых директив с помощью команды set.

Например, команда set interface fe-1/0/0 unit 0 family inet address 10.1.1.1/24 будет эквивалентна файлу конфигурации:

interfaces {
    fe-1/0/0 {
        unit 0 {
           family inet {
                address 10.1.1.1/24;
       

Cтруктура интерфейса командной строки Junos OS

Работа с командной строкой в Junos OS разделяется на 2 режима(Существует также третий режим в форме оболочки FreeBSD[3]):

Operational Mode

Operational Mode приглашается командой командной строки ">". Когда мы заходим на маршрутизатор и запускаем CLI, мы находимся на верхнем уровне рабочего режима CLI. В этом режиме мы вводим команды для

  1. Управления средой CLI;
  2. Мониторинга и устранения неполадок подключения к сети;
  3. Инициирования режима конфигурации.

Часто используемые команды в этом режиме включают ping, show, traceroute, configure и т. д.

Configuration Mode

Configuration Mode приглашается командой командной строки "#". Это режим, в котором происходит настройка устройства. В этот режим можно попасть, если набрать команду "Configure" или "Edit" в Operational Mode. Мы используем режим конфигурации для настройки программного обеспечения JUNOS, создавая иерархию инструкций конфигурации. Мы вводим режим конфигурации, используя команду «configure», как показано ниже:

user@host> configure

entering configuration mode

[edit]

user@host#

Выдавая команды по одному с помощью CLI, можно настроить маршрутизатор JUNOS или поочередно, мы можем настроить, создав текстовый (ASCII) файл, содержащий иерархию операторов. Не забудьте активировать конфигурацию, используя команду «commit» на маршрутизаторе.

Как показано в приведенном выше примере, общая подсказка конфигурации - user @ host #. Конечно, мы можем изменить подсказку tby, используя соответствующую команду.

Иерархическая структура интерфейса командной строки Junos OS

Мы используем вышеуказанные команды режима конфигурации для создания иерархии операторов, а затем настраиваем программное обеспечение JUNOS. Термин «иерархия операторов» используется для определения последовательности команд, используемых для настройки конкретной функции (или функций) маршрутизатора. Ниже приведен пример иерархии операторов:

user@host> configure

entering configuration mode

[edit] ----Top level

user@host#edit protocols ospf

[edit protocols ospf] ----protocols ospf hierarchy level

user@host#

Команды «set» используются для настройки конкретных операторов листа.

Пример:

user @ host # set hello-interval 14

[4]

Серии оборудования Juniper Networks, работающие под управлением Junos OS

  • маршрутизаторы — M, MX, T
  • сервисные шлюзы — SRX
  • сервисные маршрутизаторы — J
  • коммутаторы — EX
  • коммутаторы для ЦОД - QFX

Распространение

Junos OS распространяется в трёх редакциях, которые отличаются лицензией:

  • JUNOS Canada and U.S. — более известная как «Domestic version». Ранее не предназначалась для экспорта в другие страны кроме США и Канады, но в настоящее время, в рамках контракта на поддержку, эту редакцию можно получить по дополнительному запросу в службу поддержки. Единственным условием использования является соглашение о том, что полученная копия не будет использована на территории стран из определенного списка, публикуемого государственным департаментом США.
  • JUNOS Worldwide — поставляется вместе с оборудованием Juniper Networks, Inc.; лицензия данной редакции позволяет использовать JUNOS в любой стране, но имеет существенные ограничения на применение криптографических алгоритмов (например, отсутствует поддержка SSH (Secure Shell)).
  • JUNOS-FIPS — редакция, соответствующая федеральным стандартам обработки информации США.

См. также

Источники

  1. JunOS на русском // Блог Автор: Max Ivanov URL: http://juniper-rus.blogspot.ru/2012/10/1-junos.html (Дата обращения: 02.06.2017)
  2. JUNOS — 1 часть Основы операционной системы JUNOS // Pyatilistnik Inc. URL: http://pyatilistnik.org/junos-1-chast-osnovyi-operatsionnoy-sistemyi-junos/ (Дата обращения: 02.06.2017)
  3. JUNOS — 2 часть общие вопросы //Pyatilistnik Inc. URL: http://pyatilistnik.org/junos-2-chast-obshhie-voprosyi/ (дата обращения: 02.06.2017)
  4. Junos® Networking Software // TutorialsWeb.com [2003-2016] URL:http://www.tutorialsweb.com/networking/routers/junos-networking-software.htm (дата обращения: 02.06.2017)