msgid ""
msgstr ""
"Project-Id-Version: English (cnp3-ebook)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-19 10:47+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English <https://weblate.info.ucl.ac.be/projects/cnp3-ebook/"
"exercisesipv6/en/>\n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.14.3\n"

#: ../../exercises/ipv6.rst:6
#, read-only
msgid "IPv6 Networks"
msgstr "IPv6 Networks"

#: ../../exercises/ipv6.rst:9
#, read-only
msgid "Basic questions on IPv6 Networks"
msgstr "Basic questions on IPv6 Networks"

#: ../../exercises/ipv6.rst:11
#, read-only
msgid ""
"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."
msgstr ""
"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."

#: ../../exercises/ipv6.rst:15
#, read-only
msgid ""
"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."
msgstr ""
"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."

#: ../../exercises/ipv6.rst:20
#, read-only
msgid ""
"Now that you master the basics, you can determine the paths followed by IPv6 "
"packets in simple networks."
msgstr ""
"Now that you master the basics, you can determine the paths followed by IPv6 "
"packets in simple networks."

#: ../../exercises/ipv6.rst:31
#, read-only
msgid "Design questions"
msgstr "Design questions"

#: ../../exercises/ipv6.rst:33
#: ../../exercises/ipv6.rst:142
#, read-only
msgid ""
"Consider the network shown in the figure below. In this network, the "
"following addresses are used."
msgstr ""
"Consider the network shown in the figure below. In this network, the "
"following addresses are used."

#: ../../exercises/ipv6.rst:35
#: ../../exercises/ipv6.rst:144
#: ../../exercises/ipv6.rst:222
#, read-only
msgid ""
"host ``A`` : ``2001:db8:1341:1::A`` and its default route points to "
"``2001:db8:1341:1::1``"
msgstr ""
"host ``A`` : ``2001:db8:1341:1::A`` and its default route points to "
"``2001:db8:1341:1::1``"

#: ../../exercises/ipv6.rst:36
#: ../../exercises/ipv6.rst:145
#: ../../exercises/ipv6.rst:223
#, read-only
msgid ""
"host ``B`` : ``2001:db8:1341:4::B`` and its default route points to "
"``2001:db8:1341:4::4``"
msgstr ""
"host ``B`` : ``2001:db8:1341:4::B`` and its default route points to "
"``2001:db8:1341:4::4``"

#: ../../exercises/ipv6.rst:38
#: ../../exercises/ipv6.rst:147
#: ../../exercises/ipv6.rst:225
#, read-only
msgid "The routers have one address inside each network :"
msgstr "The routers have one address inside each network :"

#: ../../exercises/ipv6.rst:40
#: ../../exercises/ipv6.rst:149
#, read-only
msgid ""
"router ``R1`` uses address ``2001:db8:1341:1::1`` on its West interface, "
"address ``2001:db8:1341:12::1`` on its East interface and address "
"``2001:db8:1341:13::1`` on its South interface"
msgstr ""
"router ``R1`` uses address ``2001:db8:1341:1::1`` on its West interface, "
"address ``2001:db8:1341:12::1`` on its East interface and address "
"``2001:db8:1341:13::1`` on its South interface"

#: ../../exercises/ipv6.rst:41
#, read-only
msgid ""
"router ``R2`` uses address ``2001:db8:1341:12::2`` on its West interface, "
"address ``2001:db8:1341:23::2`` on its South-West interface and address "
"``2001:db8:1341:24::2`` on its South interface."
msgstr ""
"router ``R2`` uses address ``2001:db8:1341:12::2`` on its West interface, "
"address ``2001:db8:1341:23::2`` on its South-West interface and address "
"``2001:db8:1341:24::2`` on its South interface."

#: ../../exercises/ipv6.rst:42
#, read-only
msgid ""
"router ``R3`` uses address ``2001:db8:1341:34::3`` on its East interface, "
"address ``2001:db8:1341:23::3`` on its North-East interface and address "
"``2001:db8:1341:13::3`` on its North interface"
msgstr ""
"router ``R3`` uses address ``2001:db8:1341:34::3`` on its East interface, "
"address ``2001:db8:1341:23::3`` on its North-East interface and address "
"``2001:db8:1341:13::3`` on its North interface"

#: ../../exercises/ipv6.rst:43
#: ../../exercises/ipv6.rst:152
#, read-only
msgid ""
"router ``R4`` uses address ``2001:db8:1341:34::4`` on its West interface, "
"address ``2001:db8:1341:24::4`` on its North interface and address "
"``2001:db8:1341:4::4`` on its East interface"
msgstr ""
"router ``R4`` uses address ``2001:db8:1341:34::4`` on its West interface, "
"address ``2001:db8:1341:24::4`` on its North interface and address "
"``2001:db8:1341:4::4`` on its East interface"

#: ../../exercises/ipv6.rst:45
#, read-only
msgid ""
"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."
msgstr ""
"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."

#: ../../exercises/ipv6.rst:91
#, read-only
msgid ""
"In this network, propose the forwarding tables of ``R2`` and ``R3`` that "
"ensure that hosts ``A`` and ``B`` can exchange packets in both directions."
msgstr ""
"In this network, propose the forwarding tables of ``R2`` and ``R3`` that "
"ensure that hosts ``A`` and ``B`` can exchange packets in both directions."

#: ../../exercises/ipv6.rst:94
#, read-only
msgid ""
"Consider the same network as in the previous question, but now the "
"forwarding tables of ``R2`` and ``R3`` are configured as shown below :"
msgstr ""
"Consider the same network as in the previous question, but now the "
"forwarding tables of ``R2`` and ``R3`` are configured as shown below :"

#: ../../exercises/ipv6.rst:139
#, read-only
msgid ""
"In this network, select `all` the rules in the shown forwarding tables that "
"ensure that the packets sent from ``A`` to ``B`` follow the reverse path of "
"the packets sent by ``B`` to ``A``."
msgstr ""
"In this network, select `all` the rules in the shown forwarding tables that "
"ensure that the packets sent from ``A`` to ``B`` follow the reverse path of "
"the packets sent by ``B`` to ``A``."

#: ../../exercises/ipv6.rst:150
#: ../../exercises/ipv6.rst:228
#, read-only
msgid ""
"router ``R2`` uses address ``2001:db8:1341:12::2`` on its West interface, "
"and address ``2001:db8:1341:24::2`` on its South interface"
msgstr ""
"router ``R2`` uses address ``2001:db8:1341:12::2`` on its West interface, "
"and address ``2001:db8:1341:24::2`` on its South interface"

#: ../../exercises/ipv6.rst:151
#: ../../exercises/ipv6.rst:229
#, read-only
msgid ""
"router ``R3`` uses address ``2001:db8:1341:34::3`` on its East interface and "
"address ``2001:db8:1341:13::3`` on its North interface"
msgstr ""
"router ``R3`` uses address ``2001:db8:1341:34::3`` on its East interface and "
"address ``2001:db8:1341:13::3`` on its North interface"

#: ../../exercises/ipv6.rst:154
#, read-only
msgid ""
"Routers ``R2`` and ``R3`` are buggy in this network. Besides the routes for "
"their local interfaces (not shown in the figure), they only have a default "
"route which is shown in the figure below."
msgstr ""
"Routers ``R2`` and ``R3`` are buggy in this network. Besides the routes for "
"their local interfaces (not shown in the figure), they only have a default "
"route which is shown in the figure below."

#: ../../exercises/ipv6.rst:193
#, read-only
msgid ""
"How do you configure the forwarding tables on ``R1`` and ``R4`` so that ``A``"
" can reach ``B`` and the reverse ?"
msgstr ""
"How do you configure the forwarding tables on ``R1`` and ``R4`` so that ``A``"
" can reach ``B`` and the reverse ?"

#: ../../exercises/ipv6.rst:195
#, read-only
msgid "Consider a slightly different network than in the previous question."
msgstr "Consider a slightly different network than in the previous question."

#: ../../exercises/ipv6.rst:220
#, read-only
msgid "Assuming that the following IPv6 addresses are used :"
msgstr "Assuming that the following IPv6 addresses are used :"

#: ../../exercises/ipv6.rst:227
#, read-only
msgid ""
"router ``R1`` uses address ``2001:db8:1341:1::1`` on its West interface, "
"address ``2001:db8:1341:12::1`` on its East interface, address "
"``2001:db8:1341:14::1`` on its South-East interface and address "
"``2001:db8:1341:13::1`` on its South interface"
msgstr ""
"router ``R1`` uses address ``2001:db8:1341:1::1`` on its West interface, "
"address ``2001:db8:1341:12::1`` on its East interface, address "
"``2001:db8:1341:14::1`` on its South-East interface and address "
"``2001:db8:1341:13::1`` on its South interface"

#: ../../exercises/ipv6.rst:230
#, read-only
msgid ""
"router ``R4`` uses address ``2001:db8:1341:34::4`` on its West interface, "
"address ``2001:db8:1341:24::4`` on its North interface, address "
"``2001:db8:1341:14::4`` on its North-West interface and address "
"``2001:db8:1341:4::4`` on its East interface"
msgstr ""
"router ``R4`` uses address ``2001:db8:1341:34::4`` on its West interface, "
"address ``2001:db8:1341:24::4`` on its North interface, address "
"``2001:db8:1341:14::4`` on its North-West interface and address "
"``2001:db8:1341:4::4`` on its East interface"

#: ../../exercises/ipv6.rst:232
#, read-only
msgid ""
"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``?"
msgstr ""
"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``?"

#: ../../exercises/ipv6.rst:290
#, read-only
msgid ""
"Do your forwarding tables impose the path used to reach host ``B`` which is "
"attached to router ``R4`` or do you need to configure an additional entry in "
"these tables ?"
msgstr ""
"Do your forwarding tables impose the path used to reach host ``B`` which is "
"attached to router ``R4`` or do you need to configure an additional entry in "
"these tables ?"

#: ../../exercises/ipv6.rst:292
#, read-only
msgid ""
"Consider the network below that contains only routers. This network has been "
"configured by a group of students and you must verify whether the "
"configuration is correct. All the IPv6 addresses are part of the same ``/48``"
" prefix that we name ``p``. The following subnets are defined in this ``/48``"
" prefix."
msgstr ""
"Consider the network below that contains only routers. This network has been "
"configured by a group of students and you must verify whether the "
"configuration is correct. All the IPv6 addresses are part of the same ``/48``"
" prefix that we name ``p``. The following subnets are defined in this ``/48``"
" prefix."

#: ../../exercises/ipv6.rst:294
#, read-only
msgid ""
"``p:12/64`` for the link between ``R1`` and ``R2``. On this subnet, ``R1`` "
"uses address ``p:12::1`` while router ``R2`` uses address ``p:12::2``"
msgstr ""
"``p:12/64`` for the link between ``R1`` and ``R2``. On this subnet, ``R1`` "
"uses address ``p:12::1`` while router ``R2`` uses address ``p:12::2``"

#: ../../exercises/ipv6.rst:295
#, read-only
msgid ""
"``p:13/64`` for the link between ``R1`` and ``R3``. On this subnet, ``R1`` "
"uses address ``p:13::1`` while router ``R3`` uses address ``p:13::3``"
msgstr ""
"``p:13/64`` for the link between ``R1`` and ``R3``. On this subnet, ``R1`` "
"uses address ``p:13::1`` while router ``R3`` uses address ``p:13::3``"

#: ../../exercises/ipv6.rst:296
#, read-only
msgid ""
"``p:24/64`` for the link between ``R2`` and ``R4``. On this subnet, ``R2`` "
"uses address ``p:24::2`` while router ``R4`` uses address ``p:24::4``"
msgstr ""
"``p:24/64`` for the link between ``R2`` and ``R4``. On this subnet, ``R2`` "
"uses address ``p:24::2`` while router ``R4`` uses address ``p:24::4``"

#: ../../exercises/ipv6.rst:297
#, read-only
msgid "..."
msgstr "..."

#: ../../exercises/ipv6.rst:330
#, read-only
msgid ""
"The students have configured the following forwarding tables on these six "
"routers."
msgstr ""
"The students have configured the following forwarding tables on these six "
"routers."

#: ../../exercises/ipv6.rst:332
#, read-only
msgid "on router ``R1``"
msgstr "on router ``R1``"

#: ../../exercises/ipv6.rst:350
#, read-only
msgid "on router ``R2``"
msgstr "on router ``R2``"

#: ../../exercises/ipv6.rst:368
#, read-only
msgid "on router ``R3``"
msgstr "on router ``R3``"

#: ../../exercises/ipv6.rst:384
#, read-only
msgid "on router ``R5``"
msgstr "on router ``R5``"

#: ../../exercises/ipv6.rst:399
#, read-only
msgid "on router ``R4``"
msgstr "on router ``R4``"

#: ../../exercises/ipv6.rst:416
#, read-only
msgid "on router ``R6``"
msgstr "on router ``R6``"

#: ../../exercises/ipv6.rst:433
#, read-only
msgid "What do you think about the proposed configuration?"
msgstr "What do you think about the proposed configuration?"

#: ../../exercises/ipv6.rst:436
#, read-only
msgid ""
"Sometimes, static routes must be configured on networks to enforce certain "
"paths. Consider the six routers network shown in the figure below."
msgstr ""
"Sometimes, static routes must be configured on networks to enforce certain "
"paths. Consider the six routers network shown in the figure below."

#: ../../exercises/ipv6.rst:471
#, read-only
msgid "In this network, we will focus on four IPv6 prefixes :"
msgstr "In this network, we will focus on four IPv6 prefixes :"

#: ../../exercises/ipv6.rst:473
#, read-only
msgid ""
"``p:0000::/64`` used on the link ``A1-R1``. ``A1`` uses address ``p:0000::A1/"
"64``"
msgstr ""
"``p:0000::/64`` used on the link ``A1-R1``. ``A1`` uses address ``p:0000::A1/"
"64``"

#: ../../exercises/ipv6.rst:474
#, read-only
msgid ""
"``p:0001::/64`` used on the link ``A2-R3``. ``A2`` uses address ``p:0001::A2/"
"64``"
msgstr ""
"``p:0001::/64`` used on the link ``A2-R3``. ``A2`` uses address ``p:0001::A2/"
"64``"

#: ../../exercises/ipv6.rst:475
#, read-only
msgid ""
"``p:0002::/64`` used on the link ``B1-R5``. ``B1`` uses address ``p:0002::B1/"
"64``"
msgstr ""
"``p:0002::/64`` used on the link ``B1-R5``. ``B1`` uses address ``p:0002::B1/"
"64``"

#: ../../exercises/ipv6.rst:476
#, read-only
msgid ""
"``p:0003::/64`` used on the link ``B2-R6``. ``B2`` uses address ``p:0003::B2/"
"64``"
msgstr ""
"``p:0003::/64`` used on the link ``B2-R6``. ``B2`` uses address ``p:0003::B2/"
"64``"

#: ../../exercises/ipv6.rst:478
#, read-only
msgid ""
"Can you configure the forwarding tables of the six routers to achieve the "
"following network objectives :"
msgstr ""
"Can you configure the forwarding tables of the six routers to achieve the "
"following network objectives :"

#: ../../exercises/ipv6.rst:480
#, read-only
msgid ""
"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``"
msgstr ""
"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``"

#: ../../exercises/ipv6.rst:481
#, read-only
msgid ""
"The packets whose destinations are ``A1``,  ``A2``, ``B1`` or ``B2`` are "
"never forwarded via router ``R4``"
msgstr ""
"The packets whose destinations are ``A1``,  ``A2``, ``B1`` or ``B2`` are "
"never forwarded via router ``R4``"

#: ../../exercises/ipv6.rst:482
#, read-only
msgid ""
"The packets sent by ``A1`` or ``A2`` towards ``B1`` are always forwarded via "
"``R2`` while the packets towards ``B2`` are always forwarded via ``R4``."
msgstr ""
"The packets sent by ``A1`` or ``A2`` towards ``B1`` are always forwarded via "
"``R2`` while the packets towards ``B2`` are always forwarded via ``R4``."

#: ../../exercises/ipv6.rst:484
#, read-only
msgid ""
"When creating these forwarding tables, try to minimize the number of entries "
"that you install on each router."
msgstr ""
"When creating these forwarding tables, try to minimize the number of entries "
"that you install on each router."

#: ../../exercises/ipv6.rst:486
#, read-only
msgid ""
"When a network is designed, an important element of the design is the IP "
"address allocation plan. A good allocation plan can provide flexibility and "
"help to reduce the size of the forwarding tables."
msgstr ""
"When a network is designed, an important element of the design is the IP "
"address allocation plan. A good allocation plan can provide flexibility and "
"help to reduce the size of the forwarding tables."

#: ../../exercises/ipv6.rst:517
#, read-only
msgid ""
"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."
msgstr ""
"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."

#: ../../exercises/ipv6.rst:527
#, read-only
msgid "Configuring IPv6 Networks"
msgstr "Configuring IPv6 Networks"

#: ../../exercises/ipv6.rst:529
#, read-only
msgid ""
"With the previous exercises, you have learned how to reason about IPv6 "
"networks \"on paper\". Given the availability of IPv6 implementations, it is "
"also possible to carry out experiments in real and virtual labs. Several "
"virtual environments are possible. In this section, we focus on mininet_. "
"mininet_ is an emulation framework developed at Stanford University that "
"leverages the namespaces features of recent Linux kernels. With those "
"namespaces, a single Linux kernel can support a variety of routers and hosts "
"interconnected by virtual links. mininet_ has been used by several "
"universities as an educational tool, but unfortunately it was designed "
"without IPv6 support."
msgstr ""
"With the previous exercises, you have learned how to reason about IPv6 "
"networks \"on paper\". Given the availability of IPv6 implementations, it is "
"also possible to carry out experiments in real and virtual labs. Several "
"virtual environments are possible. In this section, we focus on mininet_. "
"mininet_ is an emulation framework developed at Stanford University that "
"leverages the namespaces features of recent Linux kernels. With those "
"namespaces, a single Linux kernel can support a variety of routers and hosts "
"interconnected by virtual links. mininet_ has been used by several "
"universities as an educational tool, but unfortunately it was designed "
"without IPv6 support."

#: ../../exercises/ipv6.rst:531
#, read-only
msgid ""
"During the last years, `Olivier Tilmans <https://inl.info.ucl.ac.be/"
"otilmans.html>`_ and `Mathieu Jadin <https://inl.info.ucl.ac.be/mjadin.html>`"
"_ have developed the missing piece to enable students to use mininet_ to "
"experiment with IPv6: ipmininet_.  ipmininet_ is a python module that "
"provides the classes that are required to automatically configure IPv6 "
"networks with different routing protocols. It is available from PyPi from "
"https://pypi.python.org/ipmininet."
msgstr ""
"During the last years, `Olivier Tilmans <https://inl.info.ucl.ac.be/"
"otilmans.html>`_ and `Mathieu Jadin <https://inl.info.ucl.ac.be/mjadin.html>`"
"_ have developed the missing piece to enable students to use mininet_ to "
"experiment with IPv6: ipmininet_.  ipmininet_ is a python module that "
"provides the classes that are required to automatically configure IPv6 "
"networks with different routing protocols. It is available from PyPi from "
"https://pypi.python.org/ipmininet."

#: ../../exercises/ipv6.rst:533
#, read-only
msgid ""
"The syntax of IPMininet_ is relatively simple and can be learned by looking "
"at a few examples."
msgstr ""
"The syntax of IPMininet_ is relatively simple and can be learned by looking "
"at a few examples."

#: ../../exercises/ipv6.rst:535
#, read-only
msgid ""
"Let us start our exploration of IPv6 routing with a simple network topology "
"that contains two hosts and three routers and uses static routes."
msgstr ""
"Let us start our exploration of IPv6 routing with a simple network topology "
"that contains two hosts and three routers and uses static routes."

#: ../../exercises/ipv6.rst:580
#, read-only
msgid ""
"IPMininet_ simplifies the creation of the network topology by providing a "
"simple API. For this, you simply need to declare a class that extends the "
"``IPTopo`` class."
msgstr ""
"IPMininet_ simplifies the creation of the network topology by providing a "
"simple API. For this, you simply need to declare a class that extends the "
"``IPTopo`` class."

#: ../../exercises/ipv6.rst:592
#, read-only
msgid ""
"Then, you need to extend the build method that creates routers and hosts."
msgstr ""
"Then, you need to extend the build method that creates routers and hosts."

#: ../../exercises/ipv6.rst:607
#, read-only
msgid ""
"Although IPMininet_ can assign prefixes and addresses automatically, we use "
"manually assigned addresses in this example."
msgstr ""
"Although IPMininet_ can assign prefixes and addresses automatically, we use "
"manually assigned addresses in this example."

#: ../../exercises/ipv6.rst:609
#, read-only
msgid "We use five /64 IPv6 prefixes in this network topology:"
msgstr "We use five /64 IPv6 prefixes in this network topology:"

#: ../../exercises/ipv6.rst:611
#, read-only
msgid "``2001:db8:1341:1::/64`` on the link between ``a`` and ``r1``"
msgstr "``2001:db8:1341:1::/64`` on the link between ``a`` and ``r1``"

#: ../../exercises/ipv6.rst:612
#, read-only
msgid "``2001:db8:1341:12::/64`` on the link between ``r1`` and ``r2``"
msgstr "``2001:db8:1341:12::/64`` on the link between ``r1`` and ``r2``"

#: ../../exercises/ipv6.rst:613
#, read-only
msgid "``2001:db8:1341:13::/64`` on the link between ``r1`` and ``r3``"
msgstr "``2001:db8:1341:13::/64`` on the link between ``r1`` and ``r3``"

#: ../../exercises/ipv6.rst:614
#, read-only
msgid "``2001:db8:1341:23::/64`` on the link between ``r2`` and ``r3``"
msgstr "``2001:db8:1341:23::/64`` on the link between ``r2`` and ``r3``"

#: ../../exercises/ipv6.rst:615
#, read-only
msgid "``2001:db8:1341:1::/64`` on the link between ``b`` and ``r3``"
msgstr "``2001:db8:1341:1::/64`` on the link between ``b`` and ``r3``"

#: ../../exercises/ipv6.rst:617
#, read-only
msgid ""
"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."
msgstr ""
"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."

#: ../../exercises/ipv6.rst:631
#, read-only
msgid "The same can be done for the three links between the different routers."
msgstr "The same can be done for the three links between the different routers."

#: ../../exercises/ipv6.rst:648
#, read-only
msgid ""
"With these IP prefixes and the network topology, we can now use IPMininet_ "
"to create the topology and assign the addresses."
msgstr ""
"With these IP prefixes and the network topology, we can now use IPMininet_ "
"to create the topology and assign the addresses."

#: ../../exercises/ipv6.rst:656
#, read-only
msgid ""
"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."
msgstr ""
"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."

#: ../../exercises/ipv6.rst:675
#, read-only
msgid "We can now create the hosts and the routers"
msgstr "We can now create the hosts and the routers"

#: ../../exercises/ipv6.rst:682
#, read-only
msgid ""
"With this ``build`` method, we can now launch the network by using the "
"python code below."
msgstr ""
"With this ``build`` method, we can now launch the network by using the "
"python code below."

#: ../../exercises/ipv6.rst:694
#, read-only
msgid ""
"The entire script is available from :download:`/exercises/ipmininet_scripts/"
"static-1.py`."
msgstr ""
"The entire script is available from :download:`/exercises/ipmininet_scripts/"
"static-1.py`."

#: ../../exercises/ipv6.rst:696
#, read-only
msgid ""
"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."
msgstr ""
"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."

#: ../../exercises/ipv6.rst:698
#, read-only
msgid "Here is a simple example of the utilization of this Vagrant box."
msgstr "Here is a simple example of the utilization of this Vagrant box."

#: ../../exercises/ipv6.rst:700
#, read-only
msgid ""
"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:"
msgstr ""
"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:"

#: ../../exercises/ipv6.rst:732
#, read-only
msgid ""
"Some of the standard mininet commands assume the utilisation of IPv4 and do "
"not have a direct IPv6 equivalent. Here are some useful commands."
msgstr ""
"Some of the standard mininet commands assume the utilisation of IPv4 and do "
"not have a direct IPv6 equivalent. Here are some useful commands."

#: ../../exercises/ipv6.rst:734
#, read-only
msgid ""
"The ``nodes`` command lists the routers and hosts that have been created in "
"the mininet topology."
msgstr ""
"The ``nodes`` command lists the routers and hosts that have been created in "
"the mininet topology."

#: ../../exercises/ipv6.rst:743
#, read-only
msgid ""
"The ``links`` command lists the links that have been instantiated and shows "
"that mapping between the named interfaces on each node."
msgstr ""
"The ``links`` command lists the links that have been instantiated and shows "
"that mapping between the named interfaces on each node."

#: ../../exercises/ipv6.rst:760
#, read-only
msgid ""
"It is possible to execute any of the standard Linux commands to configure "
"the network stack on any of the hosts by prefixing the command with the "
"corresponding host. Remember to always specify ``inet6`` as the address "
"family to retrieve the IPv6 information."
msgstr ""
"It is possible to execute any of the standard Linux commands to configure "
"the network stack on any of the hosts by prefixing the command with the "
"corresponding host. Remember to always specify ``inet6`` as the address "
"family to retrieve the IPv6 information."

#: ../../exercises/ipv6.rst:770
#, read-only
msgid ""
"Host ``a`` has two interfaces: the standard loopback interface and a network "
"interface named ``a-eth0`` that is attached to router ``r1``. We can also "
"verify how the IPv6 addresses have been configured:"
msgstr ""
"Host ``a`` has two interfaces: the standard loopback interface and a network "
"interface named ``a-eth0`` that is attached to router ``r1``. We can also "
"verify how the IPv6 addresses have been configured:"

#: ../../exercises/ipv6.rst:784
#, read-only
msgid ""
"On its ``a-eth0`` interface, host ``a`` uses IPv6 address ``2001:db8:1341:1::"
"a/64``. The link local address (``fe80::c44e:26ff:fed9:de6d/64``) will be "
"described in another chapter. Finally, we can check the forwarding table of "
"host ``a``."
msgstr ""
"On its ``a-eth0`` interface, host ``a`` uses IPv6 address ``2001:db8:1341:1::"
"a/64``. The link local address (``fe80::c44e:26ff:fed9:de6d/64``) will be "
"described in another chapter. Finally, we can check the forwarding table of "
"host ``a``."

#: ../../exercises/ipv6.rst:794
#, read-only
msgid ""
"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``."
msgstr ""
"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``."

#: ../../exercises/ipv6.rst:796
#, read-only
msgid ""
"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``."
msgstr ""
"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``."

#: ../../exercises/ipv6.rst:808
#, read-only
msgid ""
"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."
msgstr ""
"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."

#: ../../exercises/ipv6.rst:819
#, read-only
msgid ""
"When debugging a network, it can be interesting to capture packets using "
"tcpdump_ on specific links to check that they follow the expect. If you use "
"tcpdump_ without any filter, you will capture the packets generated by "
"xterm. To capture packets, you need to specify precise filters that will "
"match the packets of interest. For traceroute6, you need to match the IPv6 "
"packets that contain UDP segments and some ICMPv6 packets. The script below "
"provides a simple filter that you can reuse. It takes one argument: the name "
"of the interface on which tcpdump_ needs to run."
msgstr ""
"When debugging a network, it can be interesting to capture packets using "
"tcpdump_ on specific links to check that they follow the expect. If you use "
"tcpdump_ without any filter, you will capture the packets generated by "
"xterm. To capture packets, you need to specify precise filters that will "
"match the packets of interest. For traceroute6, you need to match the IPv6 "
"packets that contain UDP segments and some ICMPv6 packets. The script below "
"provides a simple filter that you can reuse. It takes one argument: the name "
"of the interface on which tcpdump_ needs to run."

#: ../../exercises/ipv6.rst:827
#, read-only
msgid ""
"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`."
msgstr ""
"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`."

#: ../../exercises/ipv6.rst:841
#, read-only
msgid "We first check with ``pingall`` whether the network works correctly."
msgstr "We first check with ``pingall`` whether the network works correctly."

#: ../../exercises/ipv6.rst:851
#, read-only
msgid "The problem can be detected by using :manpage:`traceroute6(8)`."
msgstr "The problem can be detected by using :manpage:`traceroute6(8)`."

#: ../../exercises/ipv6.rst:861
#, read-only
msgid ""
"In the output of :manpage:`traceroute6(8)`, a ``!N`` indicates that host "
"``a`` received from ``2001:db8:1341:12::2``, i.e. router ``r2``, a Network "
"unreachable ICMPv6 message. The forwarding table of ``r2`` confirms the root "
"cause of this problem."
msgstr ""
"In the output of :manpage:`traceroute6(8)`, a ``!N`` indicates that host "
"``a`` received from ``2001:db8:1341:12::2``, i.e. router ``r2``, a Network "
"unreachable ICMPv6 message. The forwarding table of ``r2`` confirms the root "
"cause of this problem."

#: ../../exercises/ipv6.rst:873
#, read-only
msgid ""
"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`."
msgstr ""
"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`."

#: ../../exercises/ipv6.rst:888
#, read-only
msgid ""
"The ``pingall`` command reveals that there is a problem in this network."
msgstr ""
"The ``pingall`` command reveals that there is a problem in this network."

#: ../../exercises/ipv6.rst:898
#, read-only
msgid ""
"We can analyze this configuration problem in more details by using "
"``traceroute6``. The loop appears clearly."
msgstr ""
"We can analyze this configuration problem in more details by using "
"``traceroute6``. The loop appears clearly."

#: ../../exercises/ipv6.rst:919
#, read-only
msgid ""
"On host ``b``, the problem is different. The packets that it sends towards "
"host ``a`` do not seem to go beyond router ``r3``."
msgstr ""
"On host ``b``, the problem is different. The packets that it sends towards "
"host ``a`` do not seem to go beyond router ``r3``."

#: ../../exercises/ipv6.rst:933
#, read-only
msgid ""
"To debug this problem, let us look at the forwarding table of ``r3``. This "
"router forwards the packets sent to host ``a`` to router ``r1`` that is "
"directly connected to host ``a``."
msgstr ""
"To debug this problem, let us look at the forwarding table of ``r3``. This "
"router forwards the packets sent to host ``a`` to router ``r1`` that is "
"directly connected to host ``a``."

#: ../../exercises/ipv6.rst:946
#, read-only
msgid ""
"Unfortunately, when router ``r1`` sends its ICMP HopLimit exceeded message, "
"the destination of this IP packet is ``2001:db8:1341:3::b``. This packet is "
"forward to router ``r2`` that returns the packet back to router ``r1``. The "
"packet loops between the two routers until their HopLimit reaches zero."
msgstr ""
"Unfortunately, when router ``r1`` sends its ICMP HopLimit exceeded message, "
"the destination of this IP packet is ``2001:db8:1341:3::b``. This packet is "
"forward to router ``r2`` that returns the packet back to router ``r1``. The "
"packet loops between the two routers until their HopLimit reaches zero."

#: ../../exercises/ipv6.rst:965
#, read-only
msgid "IPv6 packets"
msgstr "IPv6 packets"

#: ../../exercises/ipv6.rst:967
#, read-only
msgid ""
"To correctly understand the operation of IPv6, it is sometimes important to "
"remember the packet format and how the different fields are used."
msgstr ""
"To correctly understand the operation of IPv6, it is sometimes important to "
"remember the packet format and how the different fields are used."

#: ../../exercises/ipv6.rst:971
#, read-only
msgid ""
"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"
msgstr ""
"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"

#: ../../exercises/ipv6.rst:980
#, read-only
msgid ""
"When an IPv6 router receives a packet that is larger than the Maximum "
"Transmission Unit (MTU) on its outgoing interface, it drops the packet and "
"returns an ICMPv6 message back to the source. Upon reception of this ICMPv6 "
"message, the source will either adjust the size of the packets that it "
"transmits or use IPv6 packet fragmentation. The exercises below show a few "
"examples of the utilization of IPv6 fragmentation."
msgstr ""
"When an IPv6 router receives a packet that is larger than the Maximum "
"Transmission Unit (MTU) on its outgoing interface, it drops the packet and "
"returns an ICMPv6 message back to the source. Upon reception of this ICMPv6 "
"message, the source will either adjust the size of the packets that it "
"transmits or use IPv6 packet fragmentation. The exercises below show a few "
"examples of the utilization of IPv6 fragmentation."

#: ../../exercises/ipv6.rst:987
#, read-only
msgid ""
"Network engineers often rely on :manpage:`ping6(8)` to verify the "
"reachability of a remote host or router. :manpage:`ping6(8)` sends ICMPv6 "
"echo request messages and analyzes the received ICMPv6 echo responses.  Each "
"echo request message contains an identifier and a sequence number that is "
"returned in the response."
msgstr ""
"Network engineers often rely on :manpage:`ping6(8)` to verify the "
"reachability of a remote host or router. :manpage:`ping6(8)` sends ICMPv6 "
"echo request messages and analyzes the received ICMPv6 echo responses.  Each "
"echo request message contains an identifier and a sequence number that is "
"returned in the response."

#: ../../exercises/ipv6.rst:991
#, read-only
msgid ""
"When the :manpage:`ping6(8)` is executed, it sends ICMPv6 echo request "
"messages with increasing sequence numbers."
msgstr ""
"When the :manpage:`ping6(8)` is executed, it sends ICMPv6 echo request "
"messages with increasing sequence numbers."

#: ../../exercises/ipv6.rst:995
#, read-only
msgid ""
"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."
msgstr ""
"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."

#: ../../exercises/ipv6.rst:999
#, read-only
msgid ""
"When :manpage:`traceroute6(8)` sends UDP segments, it uses the UDP source "
"port as a way to remember the target hop for this specific UDP segment."
msgstr ""
"When :manpage:`traceroute6(8)` sends UDP segments, it uses the UDP source "
"port as a way to remember the target hop for this specific UDP segment."
