ќбсудим вашу задачу в Telegram - чате?

—ерверные решен舓еори€

SDN сети

ѕриближа€ будущее

ћерион Ќетворкс

¬ программно-конфигурируемой сети (SDN) происходит разделение плоскости передачи и управлени€ данными, позвол€ющее осуществить программное управление плоскостью передачи, которое может быть физически или логически отделено от аппаратных коммутаторов и маршрутизаторов. ѕодобный подход дает большое количество плюсов:

  • ¬озможность видеть топологию всей сети;
  • ¬озможность конфигурации всей сети в целом, а не отдельных единиц оборудовани€;
  • ¬озможность производить независимое обновление оборудовани€ в сети;
  • ¬озможность контролировать всей сети из высокоуровневого приложени€.

SDN сети

SDN сети

“о есть, основное отличие программно-конфигурируемых сетей - делегаци€ задачи вычислени€ маршрутов контроллеру (плоскость управлени€) и оставить функцию передачи пакетов (плоскость передачи данных) на отдельных устройствах (коммутаторы OpenFlow) , что снизит нагрузку на маршрутизатор и увеличит его производительность.

ƒл€ оценки функциональности SDN-сети с элементами NFV можно использовать два основных подхода, со своими достоинствами и недостатками:

ћетод ƒостоинства Ќедостатки
Ёмул€ци€ ¬ысока€ точность, возможность использовани€ насто€щего ѕќ ¬озможна€ несовместимость конфигурации с реальным оборудованием
ѕостроение сети на реальном оборудовании ¬ысока€ точность результатов ¬ысока€ стоимость

— началом развити€ в сфере SDN-сетей по€вилось два эмул€тора SDN-сетей, которые в добавок поддерживают симул€цию (возможность тестировани€ сети, часть оборудовани€ в которой реальна и часть - эмулирована).

–ассмотрим эмул€торы подробнее.


Mininet

Ёмул€тор, наход€щийс€ в свободном доступе, больша€ часть которого написана на €зыке Python. –аботает с УлегковеснойФ виртуализацией, то есть вс€ эмулируема€ сеть реальна, в том числе и конечные виртуальные машины. ≈сть возможность подключени€ любых виртуальных коммутаторов и контроллеров.

ƒостоинства Ќедостатки
ќткрытый код, бесплатность, быстродействие, поддержка всех контроллеров SDN и протоколов OpenFlow вплоть до 1.3, большое количество обучающих видео ¬ысока€ сложность, необходимо знание Python и Linux, отсутствие полноценного графического интерфейса

Estinet

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

ƒостоинства Ќедостатки
Ќагл€дность, простота настройки и установки, возможность эмул€ции LTE и Wi-Fi сетей «акрытость, малое количество обучающих статей и видео, низка€ производительность работы, более высока€ сложность настройки при использовании не встроенного контроллера

Ќиже приведена часть программного кода на €зыке Python дл€ построени€ сети в эмул€торе Mininet:

# »нициализаци€ топологии

Topo.__init__( self, **opts )

# ƒобавление узлов, первые - коммутаторы

S1 = self.addSwitch( 's0' )
S2 = self.addSwitch( 's1' )
S3 = self.addSwitch( 's2' )
S4 = self.addSwitch( 's3' )
S5 = self.addSwitch( 's4' )
S6 = self.addSwitch( 's5' )
S7 = self.addSwitch( 's6' )
S8 = self.addSwitch( 's7' )
S9 = self.addSwitch( 's8' )
S10= self.addSwitch( 's9' )
S11= self.addSwitch( 's10') 

# ƒалее - рабочие станции(виртуальные машины)

H1= self.addHost( 'h0' )
H2 = self.addHost( 'h1' )
H3 = self.addHost( 'h2' )
H4 = self.addHost( 'h3' )
H6 = self.addHost( 'h5' )
H7 = self.addHost( 'h6' )
H8 = self.addHost( 'h7' )
H9 = self.addHost( 'h8' )
H10 = self.addHost( 'h9' )
H11 = self.addHost( 'h10' )

# ƒобавление каналов св€зи между коммутатором и рабочей станцией

self.addLink( S1 , H1 )
self.addLink( S2 , H2 )
self.addLink( S3 , H3 )
self.addLink( S4 , H4 )
self.addLink( S7 , H7 )
self.addLink( S8 , H8)
self.addLink( S9 , H9)
self.addLink( S10 , H10)
self.addLink( S11 , H11)

# ƒобавление каналов св€зи между коммутаторами

self.addLink( S1 , S2, bw=1, delay='0.806374975652ms')
self.addLink( S1 , S3, bw=1, delay='0.605826192092ms')
self.addLink( S2 , S11, bw=1000, delay='1.362717203ms')
self.addLink( S3 , S10, bw=1000, delay='0.557936322ms')
self.addLink( S4 , S5, bw=1000, delay='1.288738ms')
self.addLink( S4 , S7, bw=1000, delay='1.1116865ms')
self.addLink( S5 , S6, bw=1000, delay='0.590828707ms')
self.addLink( S5 , S7, bw=1000, delay='0.9982281ms')
self.addLink( S6 , S10, bw=1000, delay='1.203263ms')
self.addLink( S7 , S8, bw=1000, delay='0.2233403ms')
self.addLink( S8 , S9, bw=1000, delay='1.71322726ms')
self.addLink( S8 , S11, bw=1000, delay='0.2409477ms')
self.addLink( S9 , S10, bw=1000, delay='1.343440256ms')
self.addLink( S10 , S11, bw=1000, delay='0.544934977ms')

—равнение контроллеров дл€ построени€ сети

¬ данный момент, существует большое количество платных и бесплатных(открытых) контроллеров. ¬се нижеперечисленные можно скачать и установить на домашнюю систему или виртуальную машину. –ассмотрим самые попул€рные открытые контроллеры и их плюсы и минусы:

  • NOX - один из первых контроллеров, написан на €зыке C++;
  • POX - контроллер, похожий на NOX и написанный на €зыке Python;
  • OpenDayLight- контроллер, поддерживаемый многими корпораци€ми, написан на €зыке Java и посто€нно развивающийс€;
  • RunOS- российска€ разработка от ÷ентра ѕрикладного »сследовани€  омпьютерных —етей (÷ѕ» —), имеет графический интерфейс, подробную документацию и за€влена сама€ высока€ производительность.

¬ таблице ниже рассмотрим плюсы и минусы каждого из контроллеров:

Ќазвание контроллера ƒостоинства Ќедостатки
NOX —корость работы Ќизкое количество документации, необходимость знани€ C++
POX ѕроще обучитьс€, много документации Ќизка€ скорость работы, необходимость знани€ Python, сложна€ реализаци€ совместимости с NFV
OpenDayLight Ќаличие графического интерфейса, поддержка VTN-сетей(NFV), наличие коммерческих продуктов на базе данного контроллера(Cisco XNC) —ложность в использовании, сложна€ установка
RunOS ¬ысока€ производительность, –оссийска€ разработка, ќткрытый код, Ќаличие графического интерфейса –анн€€ верси€, возможные проблемы в эксплуатации по причине сырости продукта.

ѕолезна ли ¬ам эта стать€?

–аз в неделю мы отправл€ем дайджест с самыми интересными стать€ми.

P.S. ≈сли укажите свою дату рождени€, то мы об€зательно ¬ас поздравим и подарим небольшой подарок :)

Ќажима€ на кнопку "ѕодписатьс€", вы даете согласие на обработку своих персональных данных