|
...
|
|
|
``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:1::/64`` on the link between ``a`` and ``r1``
|
|
|
``2001:db8:1341:1::/64`` on the link between ``b`` and ``r3``
|
|
|
``2001:db8:1341:23::/64`` on the link between ``r2`` and ``r3``
|
|
|
All packets sent by ``B1`` and ``B2`` to ``A1`` and ``A2`` are always forwarded via ``R2`` while all packets from ``A1`` and ``A2`` are always forwarded via ``R4``
|
|
|
Although IPMininet_ can assign prefixes and addresses automatically, we use manually assigned addresses in this example.
|
|
|
An IPv6 forwarding table contains a list of IPv6 prefixes with their associated nexthop or outgoing interface. When an IPv6 router receives a packet, it forwards it according to its forwarding table. Note that IPv6 routers forward packets along the *longest match* between the destination address of the packet and the routes in the forwarding table.
|
|
|
Another interesting mininet_ command is ``pingall`` it allows to check that any host can reach any other host inside the network. It executes a ping from any host to any other host inside the network topology.
|
|
|
Another useful command is ``xterm`` 'node' that allows to launch a terminal on the specified node. This gives you a interactive shell on any node. You can use it to capture packets with tcpdump_. As an example, let us use :manpage:`traceroute6(8)` to trace the path followed by packets from host ``a`` towards the IPv6 address of host ``b`` i.e. ``2001:db8:1341:3::b``. The output of this command shows that the path passes through routers ``r1``, ``r2`` and ``r3``.
|
|
|
A second problem is when there is a forwarding loop inside the network, i.e. packets sent to a specific destination loop through several routers. With the static routes shown below, router ``r2`` forwards the packets towards ``2001:db8:1341:3::b`` via router ``r1``. The entire script is available from :download:`/exercises/ipmininet_scripts/static-1-loop.py`.
|
|
|
Assign IP subnets to all links in this network so that you can reduce the number of entries in the forwarding tables of all routers. Assume that you have received a ``/56`` prefix that you can use as you want. Each subnet containing a host must be allocated a ``/64`` subnet.
|
|
|
Assuming that the following IPv6 addresses are used :
|
|
|
Basic questions on IPv6 Networks
|
|
|
Before starting to determine the paths that packets will follow in an IPv6 network, it is important to remember how to convert IPv6 addresses in binary numbers.
|
|
|
Can you configure the forwarding tables of the six routers to achieve the following network objectives :
|
|
|
Can you configure the forwarding tables so that the following paths are used by packets sent by host ``A`` to reach one of the four addresses of router ``R4``?
|
|
|
Configuring IPv6 Networks
|
|
|
Consider a slightly different network than in the previous question.
|
|