|
Although IPMininet_ can assign prefixes and addresses automatically, we use manually assigned addresses in this example.
|
|
|
We use five /64 IPv6 prefixes in this network topology:
|
|
|
``2001:db8:1341:1::/64`` on the link between ``a`` and ``r1``
|
|
|
``2001:db8:1341:12::/64`` on the link between ``r1`` and ``r2``
|
|
|
``2001:db8:1341:13::/64`` on the link between ``r1`` and ``r3``
|
|
|
``2001:db8:1341:23::/64`` on the link between ``r2`` and ``r3``
|
|
|
``2001:db8:1341:1::/64`` on the link between ``b`` and ``r3``
|
|
|
We can then manually configure the IPv6 addresses of each host/router on each link. Let us start with the links attached to the two hosts.
|
|
|
The same can be done for the three links between the different routers.
|
|
|
With these IP prefixes and the network topology, we can now use IPMininet_ to create the topology and assign the addresses.
|
|
|
We start by creating the objects that correspond to the static routes on the three routers. The second argument of the ``addDaemon`` method is a list of ``StaticRoute`` objects. Each of these objects is created by specifying an IP prefix and a nexthop.
|
|
|
We can now create the hosts and the routers
|
|
|
With this ``build`` method, we can now launch the network by using the python code below.
|
|
|
The entire script is available from :download:`/exercises/ipmininet_scripts/static-1.py`.
|
|
|
To help students to start using IPMininet, `Mathieu Jadin <https://inl.info.ucl.ac.be/mjadin.html>`_ has created a Vagrant box that launches a Ubuntu virtual machine with all the required software. See https://ipmininet.readthedocs.io/en/latest/install.html for additional information.
|
|
|
Here is a simple example of the utilization of this Vagrant box.
|
|
|
We start the network topology shown above with the ``sudo python script.py`` command. It launches the mininet_ interactive shell that provides several useful commands:
|
|
|
Some of the standard mininet commands assume the utilisation of IPv4 and do not have a direct IPv6 equivalent. Here are some useful commands.
|
|
|
The ``nodes`` command lists the routers and hosts that have been created in the mininet topology.
|
|
|
The ``links`` command lists the links that have been instantiated and shows that mapping between the named interfaces on each node.
|
|