Jump to: navigation, search

Difference between revisions of "DCFabric-neutron-plugin"

(Contents)
Line 24: Line 24:
 
=== Advantage ===
 
=== Advantage ===
 
Compared with other existing SDNControllers, DCFabric has the following two different characters:
 
Compared with other existing SDNControllers, DCFabric has the following two different characters:
 +
 +
[[File:SFabric.png|2000px|thumbnail|center]]
 +
  
  
Line 31: Line 34:
  
 
=== Prerequsites ===
 
=== Prerequsites ===
 +
 +
OpenStack Juno is requried(Juno is tested)
 +
 
=== Configuration ===
 
=== Configuration ===
 +
 +
* STEP 1    Get the tool script
 +
There is the shell script "gnflush-controller.sh" and ml2 script "mechanism_gnflush.py" under "tools/openstack-tools" directory is used for configuring OpenStack Network node and Compute Node. Copy there two scripts to "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/" directory.
 +
* STEP 2    Stop neutron service
 +
    systemctl stop neutron-server 
 +
    systemctl stop neutron-openvswitch-agent 
 +
    systemctl disable neutron-openvswitch-agent 
 +
* STEP 3    Configure ml2 plugin
 +
 +
edit the file
 +
    vi /usr/lib/python2.7/site-packages/neutron-2014.2.3-py2.7.egg-info/entry_points.txt
 +
 +
add one line
 +
    gnflush = neutron.plugins.ml2.drivers.mechanism_gnflush:GNFlushMechanismDriver
 +
* STEP 4  Configure ml2
 +
 +
租户网络类型:管理员可以根据需要选择“gre”或者“vlan”。
 +
控制器IP地址:数据中心SDN控制器所在服务器的IP地址。
 +
控制器Rest服务端口:Rest服务监听端口需要查看SDN控制器配置文件中“[rest_port]”配置,默认为“8081”
 +
在Openstack控制中心服务器上执行如下命令修改ml2配置,以租户网络类型为“gre”为例:
 +
crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers gnflush
 +
在“/etc/neutron/plugins/ml2/ml2_conf.ini”文件最后面添加“ml2_gnflush”的选项:
 +
[ml2_gnflush]
 +
password = admin
 +
username = admin
 +
url = http://<控制器IP>:<控制Rest服务端口>/gn/neutron
 +
 +
 +
* STEP 5

Revision as of 10:06, 18 July 2016

DCFabric Neutron Plugin

Overview

Based on the efficient multi-threaded performance of C, DCFabric shows very high efficiency in network topology discovering,message/event handling, and OpenFlow table entries installing. And based on theanalysis of flow characteristics of cloud computing data centers, we innovative proposed SFabric technology based on intelligent flow installation in advanceand flow aggregation in switch level. SFabric can efficiently solve the main roadblocksin adopting SDN in a large data center network: size limit in flow tables, flowentry match efficiency, and bottleneck of efficiency in SDN controllers.

In general, DCFabirc can support larger Layer 2 networking (> 500switches), high efficient Layer 2 switching (more than 10 thousands hosts communicating simultaneously), fast initialization (500 switching node, startthe convergence time<30 seconds), HTML5-based powerful Web UI interface fornetwork topology and traffic exhibition, and Northbound Restful API interfacesupporting for efficient APP development.

Architecture

DCFabirc Architecture.png


In general, DCFabirc can support larger Layer 2 networking (> 500switches), high efficient Layer 2 switching (more than 10 thousands hosts communicating simultaneously), fast initialization (500 switching node, startthe convergence time<30 seconds), HTML5-based powerful Web UI interface fornetwork topology and traffic exhibition, and Northbound Restful API interfacesupporting for efficient APP development. DCFabric can be divided into five layers from top to bottom (see above Figure): the first layer is the Web application layer supported by DCFabric, the second layer is the northbound interface layer, the third layer is the system app layer thatcontains a novel SFabric module, the fourth layer is the basic service layer that guarantees the good running of the upper applications, the fifth layer is the southbound interface layer based on several protocols like OpenFlow.

TheWeb applications supported by DCFabric mainly include Web GUI, Neutron interface, traffic engineering, firewall, load balance, DDos protection and so on. Accordingly, DCFabric is able to provide a series of supports for data centers with network management, virtualization, security and traffic control,etc.

RestfulAPI is the northbound interface provided by DCFabric for application developers. It separates the network applications from network details, making all kinds of facilities, events (i.e. link interruptions) and specific operations transparent to the application programs. Consequently, data centers can improve users’ experience and realize intelligence and safety by variousflexible network applications.

The system app of DCFabric is going to centrally handle the logical processing and generate specific flow entries according to upper applications, lower basic services (topology discovery, host tracking, traffic monitoring and message handling, etc.) and its internal execution strategies. After that, DCFabric installs those flow entries into switches via OpenFlow or OVSDB. Thus, each switch only needs to execute corresponding actions in accordance with flow entries when processing the packets.

Moreover,considering the limited working capability of a single Controller, in order tocope with increasing network scale and guarantee its stability, the deploymentof cluster Controllers is supported. Therefore, if one Controller is down, the relatedSDN switches will connect with another Controller as soon as possible. Furthermore,multiple Controllers can work as a logical entity due to their good cooperation,which makes the data plane transparent to application programs. Therefore, the deploymentof cluster Controllers make great contributions to the high throughput, lowdelay, good flexibility and strong stability of data centers.

Advantage

Compared with other existing SDNControllers, DCFabric has the following two different characters:

SFabric.png


1.The SFabric Module: Different from other SDN technologies that compute routes on the host level, DCFabric can compute routes on the switch level with the help of SFabric module. Since the number of switches in a network is much less than that of hosts, SFabric can greatly reduce the flow entries and the working load of DCFabric, bringing the benefit of accelerating the speed of DCFabric.Because DCFabric has better efficiency on dealing with gateway, route, networkaddress translation (NAT), multi-tenant management and etc., it can achieve effective control and management on cloud computing data centers whose scale is still rising.

2.Support for Extension of System APPs: DCFabric also supports the redevelopment of system app, which allows other developers improving parts of the functions of DCFabric on their specific demands.Therefore, DCFabric has better compatibility and applications.

Prerequsites

OpenStack Juno is requried(Juno is tested)

Configuration

  • STEP 1 Get the tool script

There is the shell script "gnflush-controller.sh" and ml2 script "mechanism_gnflush.py" under "tools/openstack-tools" directory is used for configuring OpenStack Network node and Compute Node. Copy there two scripts to "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/" directory.

  • STEP 2 Stop neutron service
   systemctl stop neutron-server  
   systemctl stop neutron-openvswitch-agent  
   systemctl disable neutron-openvswitch-agent  
  • STEP 3 Configure ml2 plugin

edit the file

   vi /usr/lib/python2.7/site-packages/neutron-2014.2.3-py2.7.egg-info/entry_points.txt

add one line

   gnflush = neutron.plugins.ml2.drivers.mechanism_gnflush:GNFlushMechanismDriver
  • STEP 4 Configure ml2

: 租户网络类型:管理员可以根据需要选择“gre”或者“vlan”。 控制器IP地址:数据中心SDN控制器所在服务器的IP地址。 控制器Rest服务端口:Rest服务监听端口需要查看SDN控制器配置文件中“[rest_port]”配置,默认为“8081” 在Openstack控制中心服务器上执行如下命令修改ml2配置,以租户网络类型为“gre”为例: crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers gnflush 在“/etc/neutron/plugins/ml2/ml2_conf.ini”文件最后面添加“ml2_gnflush”的选项: [ml2_gnflush] password = admin username = admin url = http://<控制器IP>:<控制Rest服务端口>/gn/neutron


  • STEP 5