Enhancing SDN Networks with GRAMI Software: A Study by Shlomi Nissim and Anat Bremler-Bar
GRAMI software enhancement on SDN networks was explored in a study conducted by Shlomi Nissim and Anat Bremler-Bar at the Interdisciplinary Center Herzliya in January 2017. The research focused on GRAMI overview, OpenVSwitch integration, RTP implementation, SDN network setups, and evaluation, highlighting the importance of RTT monitoring in OpenFlow and the phases of GRAnularRTT Monitoring Infrastructure. The main goal was to implement GRAMI on a real network environment for improved performance and efficiency.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
GRAMI Software Enhancement on SDN Networks Shlomi Nissim, Anat Bremler-Bar Interdisciplinary Center Herzliya January 2017
Outline Background - GRAMI Overview OpenVSwitch Integration RTP Implementation GRAMI Evaluation creating SDN networks setups Summary
Background RTT Round Trip Time Time to send a packet and receive a response The RTT is not constant Applications: Bottlenecks and anomalies detection, traffic engineering ?1 ?2 Existing Tools, such as Ping and Traceroute, are limited in traditional networks Only between L3 entities Cannot measure any selected route Routing changes ?3 ?4 ?5 ?6 ?7 2
RTT Monitoring in OpenFlow RTT monitoring for two types of paths: All links in the network (L2) ?????? ????:????2 Any selected round trip path (RTP) ????????? ???:????2 ?4 ?6 ?4 ?2 ?????????? ???:????2 ?3 ?4 ?2 ?1 OpenFlow Controller 1 ?1 ?2 2 OpenFlow No support for RTT measurements + Full control over network routing + Duplication, Tagging 3 1 4 ?3 ?4 2 3 2 ?5 ?6 ?7 2
GRAMI -Overview GRAnularRTT Monitoring Infrastructure GRAMI works in two phases: Controller application Offline: Controller application finds a location set for k monitoring points (MPs) and builds an overlay network ????1 ?2????1 ????1 = ?2 ?1 ?1 ?1 ?1 ?1 ?2 ?2 Online: Active probing fromthe MPs The RTT of a single link\RTP is calculated in the MPs by subtracting the RTT of different paths ?2 ?3 ?3 ?4 ?4 ?5 ?5 ?6 ?6 ?7 ?7 5
Original Paper Limitations GRAMI did not implemented on Virtual Machine Ubuntu 14.04 Mininet OpenVSwitch Tested on a *MININET* with one CPU ?1 ?2 RTP was not implemented ?3 ?4 ?6 ?7 ?5 2 6
Main Goal: Implement GRAMI on a Real Network CPqD => OpenVSwitch Mininet => Separate VMs / Servers Implement GRAMI on OpenVSwitch with lower overhead Verifying GRAMI software by real ?2 ?1 SDN Network setups RTP algorithm implementation ?4 ?3 ?5 ?6 ?7 7
Goals: Make GRAMI Support OpenVSwitch The main goal is to integrate GRAMI with OpenVSwitch. Implement GRAMI on existing SDN will be more simple. GRAMI code would be updated in GitHub. SDN users could use this work for study and research. 8
Goals: Run GRAMI on Various SDN Networks Test GRAMI on various network setups Identify real network load Compare GRAMI against another network diagnostic tools Validate GRAMI Reliability 9
Goals: Adding RTP implementation RTP measurement Round Trip Path measurement GRAMI RTP calculation algorithm was describe in the previous work Implementing preconfigured RTP between any two virtual switches 10
Probe Packet Structure Measurement Point ?2 ?1 Type: ReturnAndTag Type: ReturnNoTag Type: Distribute Type: ReturnAndTag VLAN Header: 1 VLAN Header: 2 VLAN Header: 2 VLAN Header: 1 [00:00:00] Measurement Round Started [00:00:02] Packet (1,NULL) Received [00:00:05] Packet (1,2) Received MP S1 Link RTT: 2 Seconds S1 S2 Link RTT: 3 Seconds
OpenVSwitch Integration -Challenges OpenVSwitch did not support QinQ. We need to find other packet field to tag GRAMI data. OpenVSwitch does not OpenFlow 1.5 implement partial field setting. Work with P4 switch require changing the switches software and uneasy to use.
OpenVSwitch Integration We started to work on QinQ support in OpenVSwitch. In February 2017 the OVS patch released. Adjust GRAMI source code for OpenVSwitch support. Using in sourceMac instead of ethType to indicate the GRAMI packet type.
RTP implementation RTT of an RTP: ????2 ?2= ????1 ?2 ?2 ?1 ????1 GRAMI did not support preconfigured RTP calculation ?2 The RTP GRAMI algorithm was implemented on the ?1 existing code. ?1 ?2 1 3 ?3 ?4 2 ?5 ?6 ?7 14
Creating test setup considerations What is a real SDN setup? How can we create this setup with our hardware? How to compare GRAMI against other network diagnostic tool?
Upgrade the test setup software Upgraded to 16.04 for more driver support Now supports OVS and RYU latest versions Upgraded to 2.7.9 Added QINQ support Added more support for OpenFlow features RYU
Using Traceroute Traceroute is popular tool for RTT calculation in IP network. Traceroute computes the RTT from the MP to the IP endpoints. For testing, we manually reconfigure the virtual switches to work as IP endpoints.
Evaluation: OpenVSwitch within Mininet First, to check if GRAMI works with OpenVSwitch, we use Mininet. GRAMI ran on the same network topology from the article. GRAMI ran on the upgraded setup. RTT & RTP calculation results were reliable.
Evaluation: Separate VMs Setup Our goal was to create real SDN setup. We set SDN on personal computer by running 6 VMs on it. The controller, virtual switches and the MP were installed on some separate VMs. The RTT and RTP was calculated successfully.
Evaluation: GRAMI vs Traceroute without load GRAMI ran in the last SDN setup to monitor links RTT Each virtual switch was installed on VM and was connected to other VM. For the result validating, traceroute ran on the same setup. GRAMI overhead was less than traceroute overhead. GRAMI vs Traceroute - without any load 12.0 ms 11.0 ms 10.0 ms 9.0 ms 8.0 ms 7.0 ms 6.0 ms Link 1-3 Link 3-4 Link 2-3 Link 1-2 GRAMI Traceroute
Evaluation: Simulating the Network Load To check if GRAMI identify network load, we tried to simulate it by: 1. Add a network traffic by file transfer -> RTT unchanged 2. Configure a interface bandwidth limit -> RTT Increased Significantly VM1 10.0.0.1 VM2 10.0.0.2 eth0 Link RTT = 10ms eth0 1Mbps Limit 1Mbps Limit No traffic File transfer Link RTT = 500ms
Evaluation: GRAMI vs Traceroute with Load There was two tests to check how GRAMI handle network load: 1. One link with load against the other links 2. One link with load changes over time GRAMI successfully identify the changes. GRAMI vs Traceroute - over time GRAMI vs Traceroute - with network load 500.0 ms 250.0 ms 50.0 ms 5.0 ms 10.0 ms 97 93 89 85 81 77 73 69 65 61 57 53 49 45 41 37 33 29 25 21 17 13 9 5 1 Link 3-4 Link 2-3 Link 1-2 GRAMI Traceroute GRAMI Traceroute
Evaluation: Deepness Lab Servers Setup Finally, To check GRAMI on physical links, we used Deepness lab servers: Except from physically connecting the servers, we managed the tests remotely. The main difficult was that the servers number were not enough.
Evaluation: Deepness Lab Servers -Results GRAMI ran on the physical links successfully The results were more consistent than the previous, with less overhead GRAMI was compatible with traceroute measurement results. GRAMI vs Traceroute 12.0 ms 11.0 ms 10.0 ms 9.0 ms 8.0 ms 7.0 ms 6.0 ms Link 1-3 Link 2-3 Link 1-2 GRAMI Traceroute S1-S2-S3-S1 RTP time: 30.41 milliseconds
Possible Future Work Apply GRAMI on SDN Organization Data Centers Additional virtual switches and controllers support Implement an automation of local SDN creation for tests Implement an automation of local network creation for traceroute tests
Summary The integration with OpenVSwitch succeed. RTP calculation algorithm implemented. GRAMI was tested on various setups: Simulated links on a single VM using Mininet. Simulated links on separate VMs. Physical links on separate servers. The evaluation results return reliable results by deviation of 0.1 milliseconds.