{"id":13573537,"url":"https://github.com/santhisenan/SDN_DDoS_Simulation","last_synced_at":"2025-04-04T12:31:11.465Z","repository":{"id":86383838,"uuid":"173304315","full_name":"santhisenan/SDN_DDoS_Simulation","owner":"santhisenan","description":"An attempt to detect and prevent DDoS attacks using reinforcement learning. The simulation was done using Mininet.","archived":false,"fork":false,"pushed_at":"2022-11-02T23:53:17.000Z","size":548,"stargazers_count":108,"open_issues_count":6,"forks_count":27,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-05T08:37:02.971Z","etag":null,"topics":["ddos-detection","ddos-simulation","ddpg-agent","mininet","openvswitch","reinforcement-learning","ryu","sdn","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/santhisenan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-03-01T13:13:40.000Z","updated_at":"2024-10-08T14:39:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"e1ff20b4-478a-460c-b7f7-ba8a1e520b38","html_url":"https://github.com/santhisenan/SDN_DDoS_Simulation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/santhisenan%2FSDN_DDoS_Simulation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/santhisenan%2FSDN_DDoS_Simulation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/santhisenan%2FSDN_DDoS_Simulation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/santhisenan%2FSDN_DDoS_Simulation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/santhisenan","download_url":"https://codeload.github.com/santhisenan/SDN_DDoS_Simulation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247179605,"owners_count":20897073,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ddos-detection","ddos-simulation","ddpg-agent","mininet","openvswitch","reinforcement-learning","ryu","sdn","tensorflow"],"created_at":"2024-08-01T15:00:37.342Z","updated_at":"2025-04-04T12:31:06.456Z","avatar_url":"https://github.com/santhisenan.png","language":"Python","funding_links":[],"categories":["Cybersecurity"],"sub_categories":[],"readme":"# DDoS Simulation in a Software Defined Network\nThis 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).\n\nThe 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).\n\n## Getting Started\nClone the repository \n```\ngit clone https://github.com/santhisenan/SDN_DDoS_Simulation.git\n```\n## Prerequisites\nInstall dependencies\n\n* Install Mininet\n* Install OpenVSwitch\n* Install Ryu \n* Install Tensorflow\n* Install Keras\n\n* Clone ryu repository and copy  ryu/ryu folder to SDN_DDoS_Simulation root\n\n## Testing\nModify simple_tree_top.py according to test purpose\n```\ncd SDN_DDoS_Simulation\npython simple_tree_top.py\n```\nOpen a new Terminal tab\n```\nPYTHONPATH=. ryu/ryu/bin/ryu-manager main.py\n```\n## Running\n```\ncd SDN_DDoS_Simulation\npython tree_topology.py\n```\nOpen a new Terminal tab\n```\nPYTHONPATH=. ryu/ryu/bin/ryu-manager main.py\n```\n\n## Built With\n\n* [Ryu Controller](https://osrg.github.io/ryu/) - Controller Framework for SDN\n* [Mininet](https://maven.apache.org/) - SDN simulator\n* [OpenVSwitch](http://mininet.org/) - Custom switch for SDN\n* [Tensorflow](https://www.tensorflow.org/) - Deep Learning Framework\n* [Keras](https://keras.io/) - Deep Learning Framework\n\n\n## Authors\n\n* Santhisenan Ajith\n* Vishnu Kaimal\n* Mohammed Musthafa K\n* Ankith Madusudanan\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanthisenan%2FSDN_DDoS_Simulation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsanthisenan%2FSDN_DDoS_Simulation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanthisenan%2FSDN_DDoS_Simulation/lists"}