You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Frederik Maaßen
f06bfd8a3d
|
2 years ago | |
---|---|---|
mininet_topology_test | 2 years ago | |
short_cut_implementation | 2 years ago | |
thesis | 2 years ago | |
.gitignore | 2 years ago | |
Readme.md | 2 years ago |
Readme.md
Mini Net Setup Notes
process
- download mininet vm image
- install virtual box
- import image
- change keyboard layout to german
- create host-only network adapter for ssh into vm
- setup according to https://github.com/mininet/openflow-tutorial/wiki/VirtualBox-specific-Instructions
- grabbed ip for adapter and added it to /etc/network/interfaces file
- install Xming Server (windows)/Xquartz Mac
- default xauth cookies wouldn't work, so created own xauth files (https://unix.stackexchange.com/questions/412065/ssh-connection-x11-connection-rejected-because-of-wrong-authentication)
- refreshing the ssh session causes root user to loose xauth cookie, created script to automatically add current display and xauth cookie to root user cookies (mininet requires user to be root)
example mininet topology
- use LinuxRouter class with IP forwarding to simulate routers
- created minimalistic network (simplenetwork.py) with only 2 routers, 2 switches and 2 hosts
- switches are unnecessary as we only connect 1 host per router, but might become relevant in the future when adding multiple hosts
- added simple_extendednetwork.py containing 3 hosts and 3 routers
errors
- x11 wrong authentication when opening xterm in mininet console (https://stackoverflow.com/questions/67319171/x11-connection-rejected-because-of-wrong-authentication-in-mininet)
IP Routing and FRR
General setup
- created example from Short-Cut Paper
- added static ip routing for hosts and routers
- fast rerouting requires routing by inport, using ip policies and ip rules in linux kernel
- ip policies allow requests from specific ethernet interfaces to use a specific routing table
- routing tables would then include specific frr routes, e.g. if a packet going to R4 would be received on the port connected to R2 on R1
IP Route configuration
- created python dictionaries that have entries for each router and for each routing table
- routing tables consist of the default table for all requests from connected host and router itself and a table for each additional network interface, reacting on incoming packets for fast rerouting
- "from" keyword in ip rules could be used to differentiate between returning packets and "normally" routed packets
Testing suite
- implemented simple testing suite that is able to create tests by definition
failure scenarios
- 2 types of failure scheduling: intermediate and concurrent
- intermediate: a certain test operation is performed (like pings), a failure is induced, and the same test is performed again
- concurrent: a timer is started and the test is run, timer should act while the test is running and performs the failure on runtime
failure types
- interface shutdown: an interface is deactivated by calling "ifconfig {interface} down" to simulate a broken link
General information
networks to look out for
- mesh ()
- ring/double ring (clock- and counterclockwise)
openflow learning
installation
- start controller on port 6633, change port in protocol configuration of wireshark from 6653 to 6633
wireshark filter for displaying openflow packets
openflow_v1 and not (openflow_1_0.type == 2 or openflow_1_0.type == 3)
Technologies
Mininet
A tool for creating virtual networks. Is able to emulate hosts, switches, routers, hubs etc. It uses Openflow to realise many of these emulations.
Openflow
A tool used to create virtual switches etc. Can be connected to a controller (e.g. created with POX) to write custom flow handling.
POX
A python library to create a controller for handling flow of switches etc.
Questions
Current state
- implementing local FRR in test routers -> policy routing (performance?)
- implementing short cut
- using "ifconfig {if} down" for failing link simulation
Resources
- Performance measuring and failure scenarios (https://www.researchgate.net/publication/271472089_Simulation_in_an_SDN_network_scenario_using_the_POX_Controller)
- General information on IP Routing and IP FRR https://support.huawei.com/enterprise/en/doc/EDOC1100086956#EN-US_TOPIC_0291822208
- Inport aware routing https://ieeexplore.ieee.org/abstract/document/6848098?casa_token=YvHY-ya08KYAAAAA:GUDm0MRR4AUzu3XSktfJOSIJFxzFgBjafakNHM62BeQJp9aM_O9kXrkaPfvSbyTbo-Mzyvyf
- policy routing rules https://blog.scottlowe.org/2013/05/29/a-quick-introduction-to-linux-policy-routing/
Tasks
- end of february -> write "Basics" section
Tools
- Mininet visualizer: http://demo.spear.narmox.com/app/?apiurl=demo#!/mininet