This is a research and development project, which is aims to implement an Application of Software Defined Network Technology in Campus Area Level Multimedia Service Guarantee, the controller is developed by team Ginkgo based on Floodlight.
OpenFlow is a open standard managed by Open Networking Foundation. It specifies a protocol by which a remote controller can modify the behavior of networking devices through a well-defined “forwarding instruction set”. Floodlight is designed to work with the growing number of switches, routers, virtual switches, and access points that support the OpenFlow standard.
Recommended to use maven to manage the project. Clone this project to local and open with a Java IDE and let your IDE to help you to finish the rest of dirty works.There are serverl steps:
- Run the maven install if it is your first time open this project with you IDE. This is for install dependency in you local maven repository.
- After the maven install SUCESS, you can start and run the Main.java
Or more straightforwardly, go the file fold see here in your local and run our SDN controller using command:
java -jar floodlight_ginkgo.jar -cf floodlightdefault.properties
Note: in order to run the java, you need jre or jdk in your system environment; -cf means config file using the floodlightdefault.properties in the same fold; You may generate this .jar file using maven package command.
-
Module Dependencies
- MulticastManager
- ILinkDiscoveryService
- IFloodlightProviderService
- IRestApiService
- QosResourceMonitor
-
Service Implementation
- IFetchMulticastGroupService
-
Module & Service Dependencies
- StaticCacheManager
- IRoutingService
- IFloodlightProviderService
- IRestApiService
- QosResourceMonitor
- IDeviceService
- IOFSwitchService
-
Service Implementation
- IStaticCacheService
We believe that the openflow especially the Floodlight controller may not be so popular in the future, but if you want to contribute to this project or have any difficulties while developing similar floodlight project, we are welcome to the questions via issues, E-mail, just because it is also a hard time for us with poor information support during the development.
We also list some functional features we do not complete:
- QoS routing monitor module
- Using algorithm to upgrade the precision and refine the Floodlight's cost of system resources.
- Figure out the way of measure the pack loss in the virtual enironment mininet.
- Change the Source-based tree to Shared tree.
- Web page controller controls the user groups
- Security policy module
- Implement multiple network segements and connect to the internet in the experimental topology
- Implement the controller to real campus network environment
Thanks for all the team members' contribution in last one year, sincerely hope that this could be a precious experience for you! https://github.com/medic0803/Ginkgo-RnD-Project-Floodlight/graphs/contributors