Install Mininet from source code on Ubuntu 16.04

Install Mininet from source code on Ubuntu 16.04

Mininet

Mininet is a lightweight software defined network and testing platform; it uses lightweight virtualization technology to make a single system look like a complete network running related kernel system and user code. It can also be simply understood as a process-based virtualization platform in the SDN network system. It supports various protocols such as OpenFlow and OpenvSwith. Mininet can also simulate a complete network host, link and switch on the same computer and facilitate interactive development, testing and demonstration, especially those using OpenFlow and SDN technology; at the same time, the code under this process virtualization platform can also be migrated to the real environment.

Features of Mininet

  • It can easily and quickly create a user-defined network topology, shortening the development and testing cycle.
  • Can run real programs. Basically, programs that run on Linux can run on Mininet, such as Wireshark
  • Mininet supports OpenFlow, and the code running on Mininet can be easily ported to hardware devices that support OpenFlow.
  • Mininet can be run on your own computer, a server, a virtual machine, or the cloud (such as Amazon EC2).
  • Mininet provides Python API, which is simple and easy to use
  • Mininet is an open source project, the source code is here: https://github.com/mininet

Install Mininet

Get the source code

git clone git://github.com/mininet/mininet

Enter the directory

cd mininet

Complete Installation

./util/install.sh -a

This is the first installation. I don't know what information to configure. It is recommended to install it completely.

test

sudo mn --test pingall

Check the mininet version

mn --version

Other installation commands

# install.sh –a ##Complete installation (installed in the home directory by default)
# install.sh -s mydir –a ##Complete installation (installed in another directory) 
# install.sh –nfv ##Install Mininet + user switch + OVS (installed in the home directory)    
# install.sh -s mydir –nfv ##Install Mininet + user switch + OVS (install in other directories)

Creating a super simple data center network

Data center networks typically have a tree topology. End hosts connect to top-of-rack switches, which form the leaves (edges) of the tree; one or more core switches form the root; and one or more layers of aggregation switches form the middle of the tree. In a basic tree topology, each switch (except the core switch) has a single parent switch. Additional switches and links can be added to construct more complex tree topologies (eg, fat trees) in an effort to improve fault tolerance or increase inter-rack bandwidth.

In this assignment, your task is to create a simple tree topology. You will assume that each level, core, aggregation, edge and host, consists of a single layer of switches/hosts with a configurable fan-out value (k), looking like:

Summarize

The above is the full content of this article. I hope that the content of this article will have certain reference learning value for your study or work. Thank you for your support of 123WORDPRESS.COM. If you want to learn more about this, please check out the following links

You may also be interested in:
  • Problems and solutions encountered when installing mininet on Ubuntu 16.04.4LTS
  • Compile CPP files using G++ in Ubuntu
  • Configure VIM as a C++ development editor in Ubuntu
  • Initial settings after installing Ubuntu 16 in the development environment
  • Ubuntu terminal multi-window split screen Terminator
  • How to set up PostgreSQL startup on Ubuntu 16.04
  • Install and use Git and GitHub on Ubuntu Linux
  • Ubuntu 16.04 creates a development environment for vim and python3
  • foreman ubuntu16 quick installation
  • Install Nvidia driver in Ubuntu 18 to solve black screen and adjust resolution problem
  • Simple implementation of supporting PHP5 and PHP7 dual versions in Ubuntu

<<:  Detailed explanation of MySQL table name case-insensitive configuration method

>>:  Detailed explanation of the use of redux in native WeChat applet development

Recommend

Summary of the pitfalls of using primary keys and rowids in MySQL

Preface We may have heard of the concept of rowid...

Detailed explanation of CSS counter related attributes learning

The CSS counter attribute is supported by almost ...

The concept of MySQL tablespace fragmentation and solutions to related problems

Table of contents background What is tablespace f...

Vue implements nested routing method example

1. Nested routing is also called sub-routing. In ...

React Router 5.1.0 uses useHistory to implement page jump navigation

Table of contents 1. Use the withRouter component...

How to run Python script on Docker

First create a specific project directory for you...

Complete steps to install Anaconda3 in Ubuntu environment

Table of contents Introduction to Anaconda 1. Dow...

JavaScript implements draggable modal box

This article shares the specific code of JavaScri...

The difference and usage of datetime and timestamp in MySQL

1. How to represent the current time in MySQL? In...

Design Theory: Text Legibility and Readability

<br />Not long ago, due to business needs, I...

Analysis of Apache's common virtual host configuration methods

1. Apache server installation and configuration y...

Understanding and application scenarios of enumeration types in TypeScript

Table of contents 1. What is 2. Use Numeric Enume...