АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 11: Перспективные сетевые технологии ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВК Чл.-корр., профессор, д.ф.-м.н. Королёв.

Презентация:



Advertisements
Похожие презентации
Таблица умножения на 8. Разработан: Бычкуновой О.В. г.Красноярск год.
Advertisements

Лекция 1 Раздел 1 Windows Phone Темы раздела 3 Windows Phone Устройство на платформе Windows Phone 4.
Фрагмент карты градостроительного зонирования территории города Новосибирска Масштаб 1 : 6000 Приложение 7 к решению Совета депутатов города Новосибирска.
Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота Ю.К.
1 До зеленых человечков: исследовательское тестирование приложений для мобильных Роман Твердохлебов, Санкт-Петербург.
1. Определить последовательность проезда перекрестка

Фрагмент карты градостроительного зонирования территории города Новосибирска Масштаб 1 : 6000 Приложение 7 к решению Совета депутатов города Новосибирска.
Фрагмент карты градостроительного зонирования территории города Новосибирска Масштаб 1 : 4500 к решению Совета депутатов города Новосибирска от
1 Знаток математики Тренажер Таблица умножения 2 класс Школа 21 века ®м®м.
Отделение ПФР по Тамбовской области Проведение кампании по повышению пенсионной грамотности молодежи в Тамбовской области в 2011 году 8 февраля 2012 г.
1 Основы работы в интерфейсе Яндекс.Директ Практическое пособие Екатеринбург, 2011.
Анализ результатов краевых диагностических работ по русскому языку в 11-х классах в учебном году.
Разработка учебно-лабораторного стенда для проведения тестов на проникновение в типовую корпоративную локально- вычислительную сеть предприятия Научный.
Электронный мониторинг Национальной образовательной инициативы «Наша новая школа» Петряева Е.Ю., руководитель службы мониторинга.
Методы оценки времени отклика задач в двухъядерных системах реального времени СоискательГуцалов Н.В. Научный руководитель д.т.н., профессор Никифоров В.В.
Урок-обобщение (7 класс – алгебра) МОУ "СОШ 45 г. Чебоксары" Кабуркина М. Н.1.
Администрирование информационных систем Активное сетевое оборудование.
Работа учащегося 7Б класса Толгского Андрея. Каждое натуральное число, больше единицы, делится, по крайней мере, на два числа: на 1 и на само себя. Если.
Курсы повышения квалификации (общие показатели в %)
Транксрипт:

АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 11: Перспективные сетевые технологии ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВК Чл.-корр., профессор, д.ф.-м.н. Королёв Л.Н., Ассистент Волканов Д.Ю.

План лекции Проблемы современных сетей Программно-кофигурируемые сети Протокол OpenFlow Троичная ассоциативная память (TCAM) Сетевая операционная система Перспективы использования ПК

ПРОБЛЕМЫ СОВРЕМЕННЫХ СЕТЕЙ 3

Устаревшая архитектура Первые сети разрабатывались в х Закон Мура: мощность микрочипов удваивается каждый 18 месяцев Закон Гилдера: общая пропускная способность каналов передачи данных удваивается каждые 6 месяцев Изменился уровень развития науки и техники 4

Устаревшая архитектура Изменилась социальная роль и значимость компьютерных сетей в обществе [VoIP, потоковое видео, социальные сети] Меняется парадигма организации вычислений [на смену клиент-серверной архитектуре пришли облачные вычисления и центры обработки данных] Изменилась структура сети [число wireless пользователей превышает число wired пользователей] Изменились требования к сети 5

Распределение траффика по типам Изначальная архитектура сети не предполагала тех сценариев использования, которые актуальны на данный момент 6

World Wide Web 7

Меняется парадигма организации вычислений На смену клиент-сервисной архитектуре пришли Cloud Computing и концепция Software as a Service Fog Computing 8

Мобильная революция На каждого человека приходится по несколько мобильных устройств Появились сервисы, ориентированные на мобильные устройства 9

Повсеместная интеграция радиопередающих элементов Intel встроила модуль WIFI в свой новый процессор 10

Постоянно появляются новые wireless технологии Быстрее, дальше, дешевле! [3G – сегодняшний день] 11

Мощность wireless-устройств растёт Выпущена версия Ubuntu для замены рабочей станции Появляются 2х и 4х ядерные мобильные платформы 12

Для wireless устройств не хватает свободных частот Зона покрытия сети Мегафон 13

При увеличении числа пользователей пропускная способность разделяется Решение – увеличение количества передающих станций Слишком дорого! [Почему нельзя мультиплексировать передачу данных через разные каналы?!] 14

Сети мобильных устройств [Serval Project] Увеличивает зону покрытия Идея – связать мобильные устройства с базовыми станциями транзитивно Не может увеличить пропускную способность 15

Сложность администрирования Необходимость индивидуальной настройки каждого сетевого устройства Администратору приходится работать на уровне интерфейсов коммутационного оборудования Сложность программного и аппаратного обеспечения требует высокой квалификации администратора Возрастают требования к персоналу 16

Невозможность гибко управлять маршрутизацией внутри сети Администратор вынужден работать в терминах сетевых адресов и пакетов Протоколы динамической маршрутизации сложны и не всегда оптимальны Использование большого числа протоколов порождает множество неявных зависимостей 17

Существующая модель стека протоколов несовершенна 18

Существующая модель стека протоколов несовершенна 19

Протоколы множатся 20

нужны высококвалифицированные специалисты 21

Сети закрыты для инноваций Расширение области применения сети [оплата проезда с мобильного телефона] Повышение безопасности работы в сети [борьба с DDOS, поиск и устранение уязвимостей] Повышение эффективности работы сети [green switching] Расширение функциональности сети [Обеспечение необходимого качества сервиса] Сложность проведения экспериментов Существует множество идей по улучшению существующих сетей 22

Миллионы строк закрытого проприетарного кода RFC документов Миллиарды транзисторов Сети закрыты для инноваций Сложность внедрения новых идей Специализированное Программное Обеспечение Специализированное устройство передачи данных 23

ПРОГРАММНО- КОНФИГУРИРУЕМЫЕ СЕТИ [SOFTWARE-DEFINED NETWORKING] 24

Коммутация пакетов H1 H2 S1 Dest-MACPort R2 R1 LAN P1P1 25

Коммутация пакетов H1 H2 S1 Network Por t Next Hop Metrics R2 R1 LAN P1P1 Dest-MACPort 26

Коммутация меток H1 H2 S1 Network Por t Next Hop Metrics R2 R1 LAN P1P1 Dest-MACPort LabelAction Виртуальный канал 27

Меткой маршрутизации служит множество заголовков пакета различных уровней стека [бинарные данные или множество полей] Каждой метке соответствует набор действий [запрос, передача, сброс, изменение] Быстрый поиск соответствия с помощью быстрой ассоциативной памяти TCAM [объём: Мб, скорость: нс] Агрегация хранимых сигнатур потоков [поиск сигнатуры по шаблону] Программно-Конфигурируемые сети [коммутация потоков] 28

Примеры Обычная коммутация * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action * 00:1f:.. *******port6 Коммутация потока port3 Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action 00:20..00:1f..0800vlan port6 Коммутация внутри VLAN * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action ** vlan1 ***** 00:1f.. port6, port7 29

Примеры Маршрутизация * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action ***** ***port6 Firewall * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action ********22drop 30

Управление / Control Программно-Конфигурируемые сети [разделение передачи и управления] Передача / Forwarding Существует фиксированный набор простых инструкций обработки пакетов Концепция совместима с различными протоколами Работает с разноуровневым оборудованием 31

Передача / Forwarding Операционная система Приложени е Программно-Конфигурируемые сети [разделение передачи и управления] Существует фиксированный набор простых инструкций обработки пакетов Концепция совместима с различными протоколами Работает с разноуровневым оборудованием 32

Программно-Конфигурируемые сети Передача ОС App Передача ОС App Передача ОС App Сетевая ОС App [централизация управления] 33

Программно-Конфигурируемые сети Коммутатор Контроллер App [централизация управления] Протокол OpenFlow Сервисы ОС Удобный интерфейс для приложений 34

Программно-Конфигурируемые сети Коммутатор [виртуализация сети] Слой виртуализации Контроллер App Контроллер App 35

Сегмент ПКС H1 H2 S1 R2 R1 TCP или SSL P1P1 Контроллер 36 OpenFlow

Сегмент ПКС H1 H2 S1 R2 R1 Контроллер 37 TCP или SSL OpenFlow

Сегмент ПКС H1 H2 S1 R2 R1 Контроллер PatternActionPatternAction PatternAction 38 TCP или SSL OpenFlow

Протокол OpenFlow 39

Развитие OpenFlow протокола OpenFlow v1.0 (03/2010): Наиболее широко используемая версия, MAC, IPv4, единственная openflow таблица. OpenFlow v1.1 (02/2011): MPLS тэги, множество таблиц, счетчики. OpenFlow v1.2 (12/2011) OpenFlow v1.3 (04/2012) OpenFlow v1.4 (08/2012) 40

Технология OpenFlow Разделение уровней управления и передачи данных Управление данными с помощью контроллера 41

OpenFlow коммутатор (v1.0) Таблица потоков – определяет, как коммутатор будет обрабатывать каждый поток Защищенный канал – соединяет коммутатор с удаленным контроллером OpenFlow protocol – стандарт для взаимодействия коммутатора с контроллером 42

Secure Channel Отправка сообщение в соответствии с OpenFlow протоколом Позволяет контроллеру конфигурировать, управлять и контролировать состояние коммутатора TLS сессия устанавливается по инициативе коммутатора, аутентификация осуществляется посредством сертификатов 43

OpenFlow коммутатор (OpenFlow Switch spec. v1.1) Продвижение пакета только вперёд Переход: модификация пакета, обновление набора действий, обновление метаданных 44

Запись в OpenFlow таблице Просматриваемые поля: входной порт, заголовок пакета, метаданные Инструкции: Изменение пакета Продвижением пакета по конвейеру Добавление новых действий в Набор действий (Action Set) Счётчики: количество байтов и пакетов, время соединения 45

Обработка пакетов в OpenFlow-коммутаторе 46

OpenFlow протокол Поддерживает три типа сообщений: Сообщения контроллер-коммутатор –Конфигурирование коммутатора –Управление и контроль состояния –Управление таблицами (flow tables) Симметричные сообщения –Отправка в обоих направлениях –Обнаружение проблем соединения контроллера с коммутатором Асинхронные сообщения –Отправка от коммутатора к контроллеру –Объявляют об изменении состояния сети, состояния коммутаторов. 47

Троичная ассоциативная память (TCAM) 48

Устройство OpenFlow коммутатора Таблица потоков (Flow Table) MAC src MAC dst IP Src IP Dst TCP sport TCP dport Действие OpenFlow клиент ** ***port 1 port 4port 3 port 2 port 1 Таблица потоков содержит шаблоны заголовков и ассоциированные действия Заголовки имеют фиксированную длину Количество записей в таблице – единицы тысяч Пакеты анализируются и обрабатываются с канальной скоростью 49

Троичная ассоциативная память (TCAM) Множество нумерованных слотов Три возможных значения каждого бита: 0, 1 и ? Ширина TCAM (длина слота) – настраиваемый параметр На вход подается битовая строка TCAM выдает номер первого слота с успешным сопоставлением Фиксированное время каждого такта работы TCAM 50

Можно ли использовать TCAM для поиска произвольных шаблонов? Шаблоны относительно сложного вида Поиск шаблонов в телах пакетов Обработка трафика на гигабитном канале Область применения: DPI для средств IDS Примеры шаблонов в сигнатурах IDS SNORT 51

Постановка задачи поиска образцов в пакете Дано k образцов {P1,P2,…,Pk} и входная строка длины n Требуется для каждого образца определить, входит ли он в строку Виды образцов: Простые – байтовая строка длины m Детерминированные (единственное значение каждого байта) Недетерминированные (возможны wildcard и case insensitive) Составные Связанные P = P1*P2, где * - произвольная строка ограниченной длины Отрицание !P Gigabit Rate Packet Pattern-Matching Using TCAM 52

Поиск простых детерминированных образцов Дано k простых детерминированных образцов длины меньше или равной w (ширине TCAM) В такой ситуации, все образцы можно сразу разместить в слотах TCAM Короткие образцы дополнить справа символами ? Порядок размещения образцов важен! Скорость обработки трафика полностью определяется скоростью работы TCAM! 53

Методы поиска образцов (шаблонов) Программные Алгоритмы Кнута-Морриса-Пратта и Бойера-Мура Рассчитаны на поиск одного образца Сложность O(n+m) Сложность для k образцов O(k*(n+m)) Алгоритмы Ахо-Карасик и Комменц-Вальтера Одновременный поиск множества образцов Сложность O(n) и не зависит от числа образцов Экспоненциальный рост потребляемой памяти Аппаратно-ускоренные ПЛИСы Сложность O(n) Высокие затраты памяти (квадратичные от длины образца) Плохо масштабируются для множества образцов 54

Зависимость потребления памяти TCAM и оперативной памяти от ширины w TCAM Набор образцов взят из базы сигнатур ClamAV образцов Длины: от 6 до 2189 байт Средняя длина: 55 байт 55

Размер списка частичных совпадений для синтетического трафика 56

Зависимость времени обработки пакетов от соотношения скоростей работы RAM и TCAM Коэффициент скоростей сканирования – отношение общего времени обработки пакета ко времени обработки на TCAM Коэффициент скоростей работы памяти – отношение затрат времени на одно обращение к оперативной памяти к длительности такта TCAM Образцы взяты из базы сигнатур IDS SNORT 57

Сетевая операционная система 58

Особенности сетевой ОС API сетевой ОС предоставляет возможность создавать приложения на основе централизованной модели программирования API сетевой ОС позволяет создавать приложения в терминах высокоуровневых абстракций, а не низкоуровневых параметров конфигурации. [имя хоста вместо MAC-адреса] 59

Управление сетью 60

Существующие сетевые ОС NOX (Nicira Networks) Beacon (Stanford) Trema (NEC) Maestro (Rice University) SNAC (группа разработчиков) – на основе Beacon Helios (NEC) – закрытый проект BigSwitch (BigSwitch) – закрытый проект, на основе Beacon. FloodLight (открытая группа разработчиков) – на основе Beaсon. 61

Сетевая ОС NOX Разработчики – Nicira Networks OpenSource проект (лицензия GPLv2) Linux Ядро системы реализовано на C++ (около строк) Написание приложений возможно на C++ & Python Поддержка многопоточности 62

NOX (2) Компоненты сети с сетевой ОС NOX 63

NOX (3) Событийное управление Приложения являются генераторами событий –Приложения уровня ядра системы –Встроенные приложения: Discovery Topology Authenticator Routing –Пользовательские приложения 64

GUI NOX 65

Beacon (1) Разработчик - Stanford Beacon – множество пакетов работающих вместе. Возможность запускать/останавливать/обновлять/устанавлив ать во время работы контроллера, не прерывая выполнения других независимых пакетов. OpenSource проект Java Windows, Mac, Linux, Android Поддержка многопоточности 66

Beacon (2) Многопоточный конвейер по обработке пакетов 67

Trema (1) Trema – это платформа для разработки OpenFlow контроллеров на языках C/Ruby Разработчик-основатель – NEC. OpenSource проект (лицензия GPLv2) Включает в себя интегрированную среду тестирования и отладки приложений. Включает в себя встроенный эмулятор сети. Модульная архитектура. Поддержка многопоточности. 68

Trema (2) 69

Сравнение производительности контроллеров 70

Платформа управления 71 Распределенная система, функционирующая на одном или нескольких серверах в сети Функции: Сбор информации от коммутаторов. Распространение управляющих команд. Координация согласованности состояний серверов платформы управления. Программный интерфейс для создания сетевых приложений управления.

Платформа управления сетью Onix 72 Распределенная управляющая платформа, работающая на кластере физических серверов, на каждом из которых может быть запущено несколько экземпляров Onix Более общий API для управления распределенными состояниями сети по сравнению с другими контроллерами Обеспечивает гибкие (распределенные) примитивы Масштабируемость Надежность строк кода на C++

Основные компоненты SDN- сети под управлением Onix 73 Физическая инфраструктура Инфраструктура подключения Платформа Onix Логика управления сетью

ПЕРСПЕКТИВЫ ИСПОЛЬЗОВАНИЯ ПРОГРАММНО- КОНФИГУРИРУЕМЫХ СЕТЕЙ 74

Перспективы использования Универсализация сетевого оборудования Удаление функций управления из коммутационного оборудования Комбинирование оборудования и программного обеспечения разных производителей Обновление программного обеспечения [удешевление оборудования] 75

Перспективы использования Централизованное управление оборудованием сегмента Управление сегментом сети по аналогии с управление домашним маршрутизатором Автоматическая настройка оборудования Гранулярный контроль траффика [упрощение администрирования] 76

Перспективы использования Упрощение приложений с помощью стандартного интерфейса контроллера Расширяемая функциональность сети Динамическое взаимодействие пользовательских приложений и сети передачи данных Изоляция функциональности [концепция приложений] 77

Перспективы использования Упрощение разработки новых протоколов из-за централизации сети Простота установки и конфигурирования необходимых программ Проведение экспериментов на реальной инфраструктуре сети Простота сбора статистики [исследование сети] 78

Примеры перспективных направлений для исследований Разработка алгебры пространства потоков [разрешение противоречий между правилами] Доработка контроллера [масштабируемость, надёжность, безопасность] Создание средств администрирования [язык описания сети, его транслятор] Расширение области применения [беспроводные сети, центры обработки данных] 79

Текущее состояние разработок На начало декабря 2011 года реализовано уже 5 различных OpenFlow контроллеров В мае 2011 были представлены OpenFlow коммутаторы от 14 различных производителей Разработаны средства моделирования программно-конфигурируемых сетей Реализована виртуализация сети 80

Спасибо за внимание!