This page gives the steps of learning Software Defined Networking.
Hint: The following repository collects a series of relevant resources of SDN. We recommend you to read it first: awesome-sdn
This repository has submodules so that you should clone it as follows:
git submodule update --init --recursive
To update submodules:
git submodule update --remote --merge
Step | Prerequisite knowledge | Time | Difficulty |
---|---|---|---|
0.Coursera: Network History | No | 1 month | middle |
1.TCP/IP protocol stack | No | 2 month | middle |
2.SDN Course 2013/2014 | 1 | 1 month | middle |
3.《重构网络:SDN架构与实现》 | No | 1 month | middle |
4.开设博客,Github | No | 1 week | easy |
5.Linux操作系统,Ubuntu | No | a period of time | middle |
6.mininet: Learning by Doing | 5 | a period of time | easy |
0.Coursera Network History:
This link is useful for those who do not have any basic knowledge of computer networks.
1. TCP/IP
2.SDN Course:
3.《重构网络》:
4.Linux/mininet:
Installation:
Learning guide:
Controller:
(1)OpenDayLight:
(2)Ryu:
Data plane devices:
(1)Open vSwitch:
(2)P4:
- P4 Tutorials
- P4 Environment Installer
- The Road to P4
- P4 Consortium Website
- Open SDN Engineer Skill Map: P4
- Github: p4lang
5.Introduction papers:
- 《The road to SDN - an intellectual history of programmable networks》
- 《OpenFlow: Enabling Innovation in Campus Networks》
- 《Software-Defined Networking: A Comprehensive Survey》
Hint:They can be acquired from:
- School library homepage => Journal => IEEE or ACM Search
- Google academic search
6.Experiment platform: