Reflow text and try crazy idea for heading.
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
|
=========================================================
|
||||||
Mininet: Rapid Prototyping for Software Defined Networks
|
Mininet: Rapid Prototyping for Software Defined Networks
|
||||||
========================================================
|
=========================================================
|
||||||
|
|
||||||
The best way to emulate almost any network on your laptop!
|
The best way to emulate almost any network on your laptop!
|
||||||
|
|
||||||
@@ -8,27 +8,30 @@ Version 2.0.0rc1
|
|||||||
|
|
||||||
### What is Mininet?
|
### What is Mininet?
|
||||||
|
|
||||||
Mininet emulates a complete network of hosts, links, and switches on a single
|
Mininet emulates a complete network of hosts, links, and switches
|
||||||
machine. To create a sample two-host, one-switch network, just run:
|
on a single machine. To create a sample two-host, one-switch network,
|
||||||
|
just run:
|
||||||
|
|
||||||
sudo mn
|
sudo mn
|
||||||
|
|
||||||
Mininet is useful for interactive development, testing, and demos, especially
|
Mininet is useful for interactive development, testing, and demos,
|
||||||
those using OpenFlow and SDN. OpenFlow-based network controllers prototyped in
|
especially those using OpenFlow and SDN. OpenFlow-based network
|
||||||
Mininet can usually be transferred to hardware with minimal changes for full
|
controllers prototyped in Mininet can usually be transferred to
|
||||||
line-rate execution.
|
hardware with minimal changes for full line-rate execution.
|
||||||
|
|
||||||
### How does it work?
|
### How does it work?
|
||||||
|
|
||||||
Mininet creates virtual networks using process-based virtualization and network
|
Mininet creates virtual networks using process-based virtualization
|
||||||
namespaces - features that are available in recent Linux kernels. In Mininet,
|
and network namespaces - features that are available in recent Linux
|
||||||
hosts are emulated as bash processes running in a network namespace, so any
|
kernels. In Mininet, hosts are emulated as bash processes running in
|
||||||
code that would normally run on a Linux server (like a web server or client
|
a network namespace, so any code that would normally run on a Linux
|
||||||
program) should run just fine within a Mininet "Host". The Mininet "Host" will
|
server (like a web server or client program) should run just fine
|
||||||
have its own private network interface and can only see its own processes.
|
within a Mininet "Host". The Mininet "Host" will have its own private
|
||||||
Switches in Mininet are software-based switches like Open vSwitch or the
|
network interface and can only see its own processes. Switches in
|
||||||
OpenFlow reference switch. Links are virtual ethernet pairs, which live in the
|
Mininet are software-based switches like Open vSwitch or the OpenFlow
|
||||||
Linux kernel and connect our emulated switches to emulated hosts (processes).
|
reference switch. Links are virtual ethernet pairs, which live in the
|
||||||
|
Linux kernel and connect our emulated switches to emulated hosts
|
||||||
|
(processes).
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
@@ -36,30 +39,32 @@ Mininet includes:
|
|||||||
|
|
||||||
* A command-line launcher (`mn`) to instantiate networks.
|
* A command-line launcher (`mn`) to instantiate networks.
|
||||||
|
|
||||||
* A handy Python API for creating networks of varying sizes and topologies.
|
* A handy Python API for creating networks of varying sizes and
|
||||||
|
topologies.
|
||||||
|
|
||||||
* Examples (in the `examples/` directory) to help you get started.
|
* Examples (in the `examples/` directory) to help you get started.
|
||||||
|
|
||||||
* Full API documentation via Python `help()` docstrings, as well as the ability
|
* Full API documentation via Python `help()` docstrings, as well as
|
||||||
to generate PDF/HTML documentation with `make doc`.
|
the ability to generate PDF/HTML documentation with `make doc`.
|
||||||
|
|
||||||
|
* Parametrized topologies (`Topo` subclasses) using the Mininet
|
||||||
|
object. For example, a tree network may be created with the
|
||||||
|
command:
|
||||||
|
|
||||||
* Parametrized topologies (`Topo` subclasses) using the Mininet object. For
|
|
||||||
example, a tree network may be created with the command:
|
|
||||||
|
|
||||||
`mn --topo tree,depth=2,fanout=3`
|
`mn --topo tree,depth=2,fanout=3`
|
||||||
|
|
||||||
* A command-line interface (`CLI` class) which provides useful diagnostic
|
* A command-line interface (`CLI` class) which provides useful
|
||||||
commands (like `iperf` and `ping`), as well as the ability to run a command
|
diagnostic commands (like `iperf` and `ping`), as well as the
|
||||||
to a node. For example,
|
ability to run a command to a node. For example,
|
||||||
|
|
||||||
`mininet> h11 ifconfig -a`
|
`mininet> h11 ifconfig -a`
|
||||||
|
|
||||||
tells host h11 to run the command `ifconfig -a`
|
tells host h11 to run the command `ifconfig -a`
|
||||||
|
|
||||||
* A 'cleanup' command to get rid of junk (interfaces, processes, files in
|
* A 'cleanup' command to get rid of junk (interfaces, processes, files
|
||||||
/tmp, etc.) which might be left around by Mininet or Linux. Try this if
|
in /tmp, etc.) which might be left around by Mininet or Linux. Try
|
||||||
things stop working!
|
this if things stop working!
|
||||||
|
|
||||||
`mn -c`
|
`mn -c`
|
||||||
|
|
||||||
### New features in 2.0.0
|
### New features in 2.0.0
|
||||||
@@ -83,9 +88,9 @@ a number of enhancements and new features, including:
|
|||||||
|
|
||||||
* Man pages for the `mn` and `mnexec` utilities.
|
* Man pages for the `mn` and `mnexec` utilities.
|
||||||
|
|
||||||
[Since the API (most notably the topology) has changed, existing code that
|
[Since the API (most notably the topology) has changed, existing code
|
||||||
runs in Mininet 1.0 will need to be changed to run with Mininet 2.0. This
|
that runs in Mininet 1.0 will need to be changed to run with Mininet
|
||||||
is the primary reason for the major version number change.]
|
2.0. This is the primary reason for the major version number change.]
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
|
|
||||||
@@ -93,16 +98,17 @@ See `INSTALL` for installation instructions and details.
|
|||||||
|
|
||||||
### Documentation
|
### Documentation
|
||||||
|
|
||||||
In addition to the API documentation (`make doc`) much useful information,
|
In addition to the API documentation (`make doc`) much useful
|
||||||
including a Mininet walkthrough and an introduction to the Python API is
|
information, including a Mininet walkthrough and an introduction
|
||||||
available on the [Mininet Web Site](http://openflow.org/mininet). There is
|
to the Python API is available on the
|
||||||
also a wiki which you are encouraged to read and to contribute to,
|
[Mininet Web Site](http://openflow.org/mininet).
|
||||||
particularly the Frequently Asked Questions (FAQ.)
|
There is also a wiki which you are encouraged to read and to
|
||||||
|
contribute to, particularly the Frequently Asked Questions (FAQ.)
|
||||||
|
|
||||||
### Support
|
### Support
|
||||||
|
|
||||||
Mininet community-supported. We encourage you to
|
Mininet is community-supported. We encourage you to join the
|
||||||
join the Mininet mailing list, `mininet-discuss` at:
|
Mininet mailing list, `mininet-discuss` at:
|
||||||
|
|
||||||
<https://mailman.stanford.edu/mailman/listinfo/mininet-discuss>
|
<https://mailman.stanford.edu/mailman/listinfo/mininet-discuss>
|
||||||
|
|
||||||
@@ -113,8 +119,8 @@ Mininet is an open-source project and is currently hosted at
|
|||||||
examine it, modify it, and submit bug reports, bug fixes, feature
|
examine it, modify it, and submit bug reports, bug fixes, feature
|
||||||
requests, and enhancements!
|
requests, and enhancements!
|
||||||
|
|
||||||
Best wishes, and we look forward to seeing what you can do with Mininet
|
Best wishes, and we look forward to seeing what you can do with
|
||||||
to change the networking world!
|
Mininet to change the networking world!
|
||||||
|
|
||||||
### Credits
|
### Credits
|
||||||
|
|
||||||
@@ -124,4 +130,3 @@ The Mininet Team:
|
|||||||
* Brandon Heller
|
* Brandon Heller
|
||||||
* Nikhil Handigol
|
* Nikhil Handigol
|
||||||
* Vimal Jeyakumar
|
* Vimal Jeyakumar
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user