Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/santhisenan/SDN_DDoS_Simulation
An attempt to detect and prevent DDoS attacks using reinforcement learning. The simulation was done using Mininet.
https://github.com/santhisenan/SDN_DDoS_Simulation
ddos-detection ddos-simulation ddpg-agent mininet openvswitch reinforcement-learning ryu sdn tensorflow
Last synced: 6 days ago
JSON representation
An attempt to detect and prevent DDoS attacks using reinforcement learning. The simulation was done using Mininet.
- Host: GitHub
- URL: https://github.com/santhisenan/SDN_DDoS_Simulation
- Owner: santhisenan
- License: mit
- Created: 2019-03-01T13:13:40.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-11-02T23:53:17.000Z (about 2 years ago)
- Last Synced: 2024-08-02T15:06:08.864Z (3 months ago)
- Topics: ddos-detection, ddos-simulation, ddpg-agent, mininet, openvswitch, reinforcement-learning, ryu, sdn, tensorflow
- Language: Python
- Homepage:
- Size: 535 KB
- Stars: 105
- Watchers: 5
- Forks: 26
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DDoS Simulation in a Software Defined Network
This project aims to provide a basic framework for DDoS mitigation using Deep reinforcement learning. The network is implemented using Mininet (based on Software defined networking).The design of the solution is inspired by the work "Deep Reinforcement Learning based Smart Mitigation of DDoS Flooding in Software-Defined Networks" by Yandong Liu and others [here](https://ieeexplore.ieee.org/abstract/document/8514971).
## Getting Started
Clone the repository
```
git clone https://github.com/santhisenan/SDN_DDoS_Simulation.git
```
## Prerequisites
Install dependencies* Install Mininet
* Install OpenVSwitch
* Install Ryu
* Install Tensorflow
* Install Keras* Clone ryu repository and copy ryu/ryu folder to SDN_DDoS_Simulation root
## Testing
Modify simple_tree_top.py according to test purpose
```
cd SDN_DDoS_Simulation
python simple_tree_top.py
```
Open a new Terminal tab
```
PYTHONPATH=. ryu/ryu/bin/ryu-manager main.py
```
## Running
```
cd SDN_DDoS_Simulation
python tree_topology.py
```
Open a new Terminal tab
```
PYTHONPATH=. ryu/ryu/bin/ryu-manager main.py
```## Built With
* [Ryu Controller](https://osrg.github.io/ryu/) - Controller Framework for SDN
* [Mininet](https://maven.apache.org/) - SDN simulator
* [OpenVSwitch](http://mininet.org/) - Custom switch for SDN
* [Tensorflow](https://www.tensorflow.org/) - Deep Learning Framework
* [Keras](https://keras.io/) - Deep Learning Framework## Authors
* Santhisenan Ajith
* Vishnu Kaimal
* Mohammed Musthafa K
* Ankith Madusudanan## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details