Network Virtualization
Мы продолжаем обсуждение истории программно-определяемых сетей. Сегодня мы поговорим о виртуализации сети. Сначала мы расскажем о том, что такое виртуализация сети и для чего она полезна, и проследим ее историю до 1990-х годов, а также изучим некоторые разработки в области виртуализации сети. За последние десять лет в виде поддержки сетевых экспериментов, а также различных концепций, таких как разделение поставщиков услуг от поставщиков инфраструктуры, которые мы видели в некоторых более ранних сетевых архитектурах.
Мы также будем смотреть вперед и говорить о том, как виртуализация сети связана с SDN.
Мы находимся в третьем из трех уроков, где мы обсуждаем эволюцию вспомогательных технологий, только что закончили обсуждение истории программируемости сети, а также рассказали об истории управления центральной сетью. На этом уроке мы расскажем об истории виртуализации сети.
Что такое сетевая виртуализация?
Виртуализация сети представляет собой представление одной или нескольких логических топологий сети поверх той же базовой физической инфраструктуры.
Существует множество различных примеров виртуализации сети, некоторые из них разработаны даже раньше 90-х годов, такие как виртуальные локальные сети.
На этом уроке рассмотрим различные технологии и сетевые испытания, которые используют и развивают виртуализацию сети с тех пор и привели к некоторым из более зрелых технологий виртуальной сети, которые используются сегодня.
Каковы преимущества виртуализации сети? Важное среди них - совместное использование ресурсов (sharing)
С помощью виртуализации сети можно создавать примеры нескольких логических маршрутизаторов поверх одного физического узла или одной платформы и в более общем плане можно создавать несколько виртуальных сетей поверх той же физической сетевой инфраструктуры.
Совместное использование требует возможности обеспечить изоляцию ресурсов процессора, памяти, пропускной способности, таблиц пересылки и так далее.
Пользователи виртуальной сети могут получить представление о своей собственной логической сети и логической топологии сети, отдельно от других логических сетей, которые могут работать на той же базовой физической инфраструктуре. А возможность видеть независимую логическую сеть также позволяет запускать настраиваемое программное обеспечение маршрутизации и пересылки самостоятельно, на этом конкретном фрагменте виртуальной сети.
Рассмотрим фиксированную физическая инфраструктуру - маршрутизаторы, каналы и т.д. и несколько операторов, которые хотят использовать эту фиксированную физическую инфраструктуру. Обозначим их красным и синим цветом соответственно. Каждому оператору может потребоваться доступ к различным базовым физическим сетевым ресурсам. Каждый оператор может также захотеть создать различные произвольные виртуальные топологии поверх этой базовой физической инфраструктуры.
Идея заключается в том, что каждая из этих сторон, которые хотят использовать инфраструктуру, имеет возможность создавать собственное представление или собственную виртуальную топологию, собственную логическую топологию, расположенную поверх этой физической инфраструктуры и каждый из них сможет работать самостоятельно, не вмешиваясь в дела друг в друга.
В оставшейся части этого урока мы рассмотрим три разных примера виртуальных сетей.
Одним из них является архитектура Tempest, Switchlets, которая восходит к концу 90-х годов. И некоторые из идей, которые появились из Switchlets , - это разделение структуры управления от самих базовых коммутаторов, a также возможность или возможность виртуализации базового оборудования коммутатора для обеспечения внешнего вида нескольких виртуальных коммутаторов.
Вторая технология виртуальной сети, которую мы рассмотрим, это то, что называется виртуальной сетевой инфраструктурой или VINI, которая восходит к 2006 году, и мотивация здесь заключалась в том, чтобы предоставить виртуальную сетевую инфраструктуру, чтобы экспериментаторы могли проводить эксперименты со своими логическими сетей, совместно используемых в той же базовой физической топологии.
Затем мы рассмотрим сетевую архитектуру под названием Cabo, которая использовала некоторое видение новых технологий виртуальной сети, чтобы понять, что виртуальные сети могут позволить поставщикам услуг работать независимо от поставщиков, которые делают базовую физическую сеть инфраструктуры.
Cначала посмотрим на Switchlets, которые вышли из чего-то, называемого архитектурой Tempest. В этой конкретной архитектуре у нас есть один базовый коммутатор с его ресурсами. И тогда у нас есть открытый интерфейс управления коммутатором, который предоставляет из себя ПО которое сидит выше. Этот интерфейс управления похож на OpenFlow, речь о котором будет идти позже.
Идея заключалась в том, чтобы позволить нескольким архитектурам управления работать в одной сети ATM. Открытый интерфейс управления отделил контроллер коммутатора и фабрику с помощью открытого протокола сигнализации, а разделитель разделил ресурсы коммутатора, чтобы позволить нескольким контроллерам иметь свой логический коммутатор.
Действительно, это немного похоже на FlowVisor, о котором поговорим позже, когда будем говорить о современных архитектурах SDN, в частности об OpenFlow.
Делитель, разграничение пространства портов , пропускная способность и буферизация, все это позволяет различным контроллерам управлять одним коммутатором.
В дополнение к сходству этой архитектуры с некоторыми более современными архитектурами SDN, также интересно отметить этот пункт в заключении документа, в котором представлена архитектура switchlet. В нем говорится, что, поскольку любой, кто может получить виртуальную сеть, будет сетевым оператором, мы надеемся увидеть увеличение креативности, которое способствует решению проблем управления сетью.
Это интересно, потому что предсказывает, что произойдет дальше, а именно осознание того, что виртуальные сетевые инфраструктуры могут позволить исследователям сети преодолеть разрыв между мелкомасштабными экспериментами и симуляцией и реальными живыми развертываниями, и это было мотивацией для VINI или виртуальной сетевой инфраструктурой.
Идея была в том, что, с одной стороны, мы проводили контролируемые, повторяемые лабораторные эксперименты, которые потенциально были не столь реалистичными. С другой стороны, у нас были живые развертывания, которые были очень реалистичными, могли масштабироваться, запускать реальный трафик, но не обязательно повторяться. Идея здесь заключалась в том, что мы могли бы использовать виртуализацию сети для преодоления разрыва между повторяемостью и реализмом. Таким образом, VINI запускает реальное программное обеспечение маршрутизации и предоставляет реальные, реалистичные сетевые условия для приложений, работающих на нем. Он дает экспериментатору контроль над различными сетевыми событиями, такими как сбои. Он может нести трафик от имени реальных пользователей. Он также может быть разделен между многими различными экспериментаторами.
VINI также использовал разделение плоскости данных и управления для достижения некоторых из своих целей виртуализации сети.
Его плоскость управления представляет собой программный маршрутизатор XORP, который использует различные протоколы маршрутизации, с целью позволить экспериментаторам запускать реальные протоколы маршрутизации поверх топологий виртуальной сети.
Плоскость данных VINI обеспечивает появление этих топологий виртуальной сети экспериментаторам. Плоскость данных VINI реализована с помощью программного маршрутизатора Click, а интерфейсы, виртуальные интерфейсы были реализованы с использованием технологии под названием Tunneling, которая также используется во многих других виртуальных сетевых технологиях, для создания виртуальных связей.
В VINI экспериментаторы могут также поставить фильтры перед этими туннелями, чтобы создать иллюзию или внешний вид сбоя связи. Эти фильтры, по сути, просто блокируют пакеты в отдельных туннелях.
Учитывая технологии создания виртуальных сетей, исследователи затем начали изучать, как эта технология может быть использована для содействия внедрению новых услуг и ускорения темпов внедрения инноваций.
Одна из этих архитектур называлась Cabo (Concurrent architectures are better than one). Эта архитектура дала представление о том, что поставщики инфраструктуры или те стороны, которые обслуживают маршрутизаторы, каналы, центры обработки данных и другую физическую инфраструктуру, могут работать независимо или отдельно от поставщиков услуг, предлагающих конечные услуги поверх этого инфраструктуры.
Примеры такого разделения между инфраструктурой и поставщиками услуг в некотором смысле уже существуют.
Двумя такими примерами являются матрица пакетов, которая позволяет нескольким поставщикам услуг Интернета совместно использовать одни и те же физические маршрутизаторы в точках обмена. FON, коммерческий интернет-провайдер, имеет интересный экономический рефакторинг, где пользователи в своих домах, которые покупают стримы от различных интернет-провайдеров, фактически являются инфраструктурными провайдерами, а FON является просто брокером этой интернет-услуги и эффективно выступает в качестве поставщика услуг.
Итак, давайте просто подытожим то, что мы узнали в этом уроке.
Мы узнали о виртуализации сети, в частности о том, что это такое. Виртуализация сети отделяет логическую сеть, которую видят пользователи или поставщики услуг, от физической инфраструктуры и потенциально позволяет нескольким сторонам использовать одну и ту же физическую инфраструктуру для различных целей.
Виртуализация сети имеет богатую историю, относящуюся к виртуальным коммутаторам или коммутаторам в 90-х годах. Сетевые тестовые центры, такие как VINI, и эти архитектуры, которые предполагают использование виртуализации сети для предоставления различных типов услуг. Наследие виртуализации сети для SDN на самом деле довольно богато.
Идея разделения поставщиков услуг от поставщиков инфраструктуры — это то , что мы видим сегодня в коммерческих сетях, определяемых программным обеспечением.
Идея использования нескольких контроллеров для управления одним коммутатором и выставления нескольких логических коммутаторов поверх одного коммутатора на самом деле имеет корни в архитектуре коммутаторов.
И идея о том, что одна физическая инфраструктура может, на самом деле, раскрыть несколько логических топологий сети, также имеет свои корни во многих исследованиях виртуализации сети.
Таким образом, подытоживая, мы только что завершили три сокращения, которые изучают технологии для программно-определяемых сетей.
Далее мы поговорим о различных типах стандартизации плоскости управления , которые происходили параллельно с эволюцией этих вспомогательных технологий.