English French
To correctly understand the operation of IPv6, it is sometimes important to remember the packet format and how the different fields are used.
The syntax of IPMininet_ is relatively simple and can be learned by looking at a few examples.
The students have configured the following forwarding tables on these six routers.
The same can be done for the three links between the different routers.
The routers have one address inside each network :
There are three routes in this table. The first two correspond to the two prefixes that are used over the ``a-eth0`` interface. These routes are automatically created when an IPv6 address is configured on an interface. The last route is the default route (``::/0``) which points towards ``2001:db8:1341:1::1``, i.e. router ``r1``.
The problem can be detected by using :manpage:`traceroute6(8)`.
The ``pingall`` command reveals that there is a problem in this network.
The packets whose destinations are ``A1``, ``A2``, ``B1`` or ``B2`` are never forwarded via router ``R4``
The packets sent by ``A1`` or ``A2`` towards ``B1`` are always forwarded via ``R2`` while the packets towards ``B2`` are always forwarded via ``R4``.
Then, you need to extend the build method that creates routers and hosts.
The ``nodes`` command lists the routers and hosts that have been created in the mininet topology.
The `Next Header` of the IPv6 packet indicates the type of the header that follows the IPv6 packet. IANA_ maintains a list of all the assigned values of this header at https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml
The :manpage:`traceroute6(8)` software is very useful to debug network problems. It sends a series of UDP segments encapsulated inside IP packets with increasing values of the HopLimit. The first packet has a HotLimit and the first router on the path returns an ICMPv6 HopLimit exceeded message.
The ``links`` command lists the links that have been instantiated and shows that mapping between the named interfaces on each node.
The forwarding paths used in a network depend on the forwarding tables installed in the network nodes. Sometimes, these forwarding tables must be configured manually.
The entire script is available from :download:`/exercises/ipmininet_scripts/static-1.py`.
Starting from the :download:`/exercises/ipmininet_scripts/static-1.py` IPMininet_ script, we can explore classical problems when networks are configured with static routes. A first problem is when a router has an incomplete forwarding table. We configure the static routes as shown below. The entire script is available from :download:`/exercises/ipmininet_scripts/static-1-hole.py`.
Sometimes, static routes must be configured on networks to enforce certain paths. Consider the six routers network shown in the figure below.
Some of the standard mininet commands assume the utilisation of IPv4 and do not have a direct IPv6 equivalent. Here are some useful commands.