First, the essential ideas
- Bit, hexadecimal and group
- A bit is a 0 or 1. Hexadecimal writes numbers using 0-9 and a-f; a-f mean decimal 10-15. One hex digit represents four bits. An IPv6 group, also called a hextet, holds 16 bits.
- IPv6 address and notation
- An IPv6 address is a 128-bit value used to identify an interface. Notation is how we write that value. Shortening its written form does not shorten the actual address.
- Prefix and subnet
- A prefix is a specified number of leading address bits. A subnet is an address block with that shared prefix. In our /64 example, the first four 16-bit groups identify the subnet.
- Canonical and compression
- Canonical means a preferred consistent written form. IPv6 zero compression replaces a run of all-zero groups with :: in the text; it does not compress a packet or encrypt traffic.
- Interface and router
- An interface is a device's network connection. A router can forward packets between networks. Here each router also acts as an endpoint for a test on their directly connected link.
- Packet, route and connected route
- A packet carries IP source and destination addresses. A route tells a device how to reach a destination prefix. A connected route identifies a network attached through an active local interface.
- ICMPv6, echo and ping
- ICMPv6 is IPv6's control-message protocol. Ping sends an echo request and waits for an echo reply. Replies test that exchange, not the health of every application or security control.
- GNS3 template and Console
- A GNS3 template defines a virtual device and its software. Console is that device's text window. Right-click the named node and choose Console before typing; do not use your computer's system terminal.
- Command modes and prompt
- The prompt marks where commands go. On Cisco IOS, > is user EXEC, # is privileged EXEC, (config)# is global configuration and (config-if)# is interface configuration. Do not type the prompt itself.
- Baseline and rollback
- A baseline records known settings and actual test results before a change. Rollback restores those settings and repeats the same tests to check that the original behavior returned.
- Link-local and neighbor discovery
- A link-local IPv6 address is used only on its local link. IPv6 neighbor discovery exchanges local control messages, including discovering a neighbor's link-layer address. These are introduced here, not fully configured or analyzed.
Read these definitions before the examples. We will separate three jobs: reading a number, writing the same number more clearly, and checking an actual interface configuration. A shorter-looking address can be identical; changing one significant digit can instead create a different address or prefix.
See the idea
Five topology comparisons
Shorter text, unchanged value. The /64 boundary still follows the first four groups.
Count eight groups
Four groups on each side form one 128-bit address. Each group represents 16 bits even when its leading zeros are not printed; the two blocks together show one address.
What this model leaves out: This is an address-notation model, not a physical network diagram. It omits address allocation and packet forwarding; the separate lab scene shows both test endpoints.
Full visual explanation and references
One IPv6 address. Two 64-bit halves.
The first four groups are 2001:db8:12:1 and the final four are 0:0:0:2. The /64 boundary separates these halves; leading zeros are omitted, but all eight groups remain visible.
This is an address-notation model, not a physical network diagram. It omits address allocation and packet forwarding; the separate lab scene shows both test endpoints.
- Count eight groups
Four groups on each side form one 128-bit address. Each group represents 16 bits even when its leading zeros are not printed; the two blocks together show one address.
www.rfc-editor.org - Write the shorter form
Leading zeros are already omitted. Replace the three consecutive zero groups once to write 2001:db8:12:1::2; expansion restores all eight groups.
www.rfc-editor.org - Keep the /64 boundary
For /64, compare the first four expanded groups. Router1 and Router2 share 2001:db8:12:1::/64 but use distinct final values, ::1 and ::2.
www.rfc-editor.org
Verify the peer, then restore the address
Router1 connects directly to Router2. An IPv6 echo request ends at Router2 and its reply returns to Router1 over the same isolated link.
This wired lab has two router endpoints and one link. It omits Internet access, automatic address assignment and transit forwarding; its arrows describe expected tests, not recorded traffic.
- Compare the assignments
Both interfaces use 2001:db8:12:1::/64 with different complete addresses. Match the actual interface names to the single GNS3 cable before configuring either endpoint.
www.cisco.comdocs.gns3.com - Request reaches Router2
From Router1, ping 2001:db8:12:1::2. The diagram ends at Router2 for the request; Router2 is the destination, not an intermediate forwarding device.
www.cisco.com - Reply returns to Router1
A reply completes the exchange at Router1. Removing Router2's original address should stop replies to that target; restore its exact assignment and repeat the test.
www.cisco.comwww.cisco.com
One idea at a time
Start with something familiar.
You can begin without knowing hexadecimal arithmetic. Read a-f as allowed number symbols, then count groups between colons. In the lab, all commands belong to Router1 or Router2 inside GNS3, not to your laptop. The setup explains how to open the correct Console window and match interface names.
Why learn this?
A help-desk note and a device screen may show the same address differently. Recognizing that equivalence prevents unnecessary changes. Recognizing a genuinely different prefix prevents an operator from treating a configuration mistake as a harmless formatting difference.
An everyday comparison
As a memory aid, imagine writing a catalog number in a long form with leading zeros or in an agreed short form. This is an organizational metaphor, not a literal network process or a rule that permits arbitrary abbreviation.
What happens in a network
IPv6 has exact rules that let you recover the original 128-bit value. You must be able to expand a shortened address into eight groups. The prefix is a separate bit count that remains attached to the address configuration.
Where the comparison stopsCatalogs do not model interfaces, routes or delivery. Changing a significant hex digit changes the address; shortening notation never proves a working path and never makes traffic encrypted.
Follow one worked example
- Write eight groups before shortening anything.
Router2's full address is 2001:0db8:0012:0001:0000:0000:0000:0002. Each group has four hex digits, so eight groups represent 128 bits.
Why: An expanded starting point lets you check exactly what the shortened text must preserve.
- Remove leading zeros, then compress the zero run.
The same value becomes 2001:db8:12:1:0:0:0:2 and then 2001:db8:12:1::2. The three consecutive zero groups are replaced once.
Why: The visible string changes, but expanding it recovers the original eight groups and address.
- Apply the prefix after recovering the groups.
At /64, the first four groups are 2001:0db8:0012:0001. Router1 ends in 0001 and Router2 ends in 0002 in the last group, so they are distinct addresses in the same planned subnet.
Why: The same prefix is not the same complete address. Both checks matter when assigning two interfaces.
- Compare evidence after one controlled change.
After a working baseline, Router2's fourth group changes from 1 to 2. The old address is removed. The original ping target no longer belongs to Router2; restoring the exact original assignment should restore replies.
Why: The configuration comparison explains this lab fault. A missed ping alone cannot identify the cause of an arbitrary network problem.
Your first small task
On paper, expand 2001:db8:12:1::2, underline the first 64 bits, and compare it with 2001:db8:12:2::2/64. Count explicit groups before inserting zeros. Do not configure your physical computer.
Show a hint
Five groups are explicitly written in 2001:db8:12:1::2. Eight minus five tells you how many zero groups :: represents.
Check the expected result
The first expands to eight groups with three 0000 groups before 0002. The two examples have different fourth groups, so they belong to different /64 blocks.
Pause and explain it in your own words
Does 2001:0DB8:0012:0001:0000:0000:0000:0002 identify a different address from 2001:db8:12:1::2?
Show a hint
Compare expanded values, not character counts or uppercase letters.
Show the explanation
No. Both represent the same 128-bit address. The second is the preferred shorter lowercase form. You still need the configured prefix to decide which subnet is intended, and actual observations to verify connectivity.
Short answer
What should you understand today?
IPv6 addresses contain 128 bits, normally written as eight hexadecimal groups. You can omit leading zeros and replace one run of zero groups with :: without changing the value. A prefix such as /64 counts leading bits, not visible characters. Expand the address before comparing prefixes, then verify the configured interface and test the intended peer.
Before you begin
Learning targets
- Review Day 8's idea of an address prefix and Day 11's separation of expected results from observed results.
- Use GNS3 with an authorized IPv6-capable Cisco IOS or IOS XE router template and one routed Ethernet interface per router.
- Have legal permission to run the selected Cisco image in GNS3; otherwise use the paper exercise or an authorized Cisco Modeling Labs environment.
- Open a new disconnected project and a plain-text notes file: Notepad on Windows, TextEdit on macOS or a text editor on Linux.
- Count the eight 16-bit groups and expand a single :: into the correct number of zero groups.
- Apply canonical zero-compression rules without removing significant trailing zeros.
- Compare address values separately from prefix membership, including /64 and /48 boundaries.
- Configure and verify two unique IPv6 addresses on a disconnected router-to-router link.
- Diagnose a controlled wrong-prefix address change using interface evidence, then restore and retest.
Words you will meet
Open a word when you need its meaning. You do not need to memorize the whole list before reading.
Bit, hexadecimal and group
A bit is a 0 or 1. Hexadecimal writes numbers using 0-9 and a-f; a-f mean decimal 10-15. One hex digit represents four bits. An IPv6 group, also called a hextet, holds 16 bits.
IPv6 address and notation
An IPv6 address is a 128-bit value used to identify an interface. Notation is how we write that value. Shortening its written form does not shorten the actual address.
Prefix and subnet
A prefix is a specified number of leading address bits. A subnet is an address block with that shared prefix. In our /64 example, the first four 16-bit groups identify the subnet.
Canonical and compression
Canonical means a preferred consistent written form. IPv6 zero compression replaces a run of all-zero groups with :: in the text; it does not compress a packet or encrypt traffic.
Interface and router
An interface is a device's network connection. A router can forward packets between networks. Here each router also acts as an endpoint for a test on their directly connected link.
Packet, route and connected route
A packet carries IP source and destination addresses. A route tells a device how to reach a destination prefix. A connected route identifies a network attached through an active local interface.
ICMPv6, echo and ping
ICMPv6 is IPv6's control-message protocol. Ping sends an echo request and waits for an echo reply. Replies test that exchange, not the health of every application or security control.
GNS3 template and Console
A GNS3 template defines a virtual device and its software. Console is that device's text window. Right-click the named node and choose Console before typing; do not use your computer's system terminal.
Command modes and prompt
The prompt marks where commands go. On Cisco IOS, > is user EXEC, # is privileged EXEC, (config)# is global configuration and (config-if)# is interface configuration. Do not type the prompt itself.
Baseline and rollback
A baseline records known settings and actual test results before a change. Rollback restores those settings and repeats the same tests to check that the original behavior returned.
Link-local and neighbor discovery
A link-local IPv6 address is used only on its local link. IPv6 neighbor discovery exchanges local control messages, including discovering a neighbor's link-layer address. These are introduced here, not fully configured or analyzed.
Read the number before reading the shortcut
An ordinary hexadecimal IPv6 address has eight groups separated by colons. A fully expanded group has four hex digits; each digit represents four bits. That makes 8 x 4 x 4 = 128 bits. Letters a-f are number symbols, not device names. Uppercase and lowercase letters have the same numerical meaning. Treat a colon as a group separator, not a decimal point. This lesson uses ordinary hexadecimal notation; mixed IPv4-and-IPv6 forms are outside today's scope.
- Eight groups of 16 bits account for all 128 address bits.
- A shorter printed address is not a smaller address space or a shorter packet.
Shorten zeros without changing the value
Start by removing leading zeros within each group: 0012 becomes 12, while 1200 must stay 1200. A group containing only zeros becomes 0. Replace at most one consecutive run of zero groups with ::. For preferred canonical notation, choose the longest run of at least two zero groups; choose the leftmost run when lengths tie. Use lowercase letters. A single zero group stays 0 in canonical notation. An otherwise valid address that compresses one zero group can be legal input under the address syntax while not following the preferred output style.
- Formatting is reversible: expansion must recover exactly the same value.
- Canonical style chooses one consistent representation; valid input can have another style.
Expand first and reject ambiguous notation
To expand an address, count the explicitly written groups, subtract that count from eight, and insert that many 0000 groups at ::. Pad every other group to four digits. Without ::, ordinary hexadecimal notation needs eight groups. With ::, at least one omitted zero group must remain to be supplied. Two occurrences of :: are invalid because the missing groups cannot be uniquely assigned. Each group can contain only hexadecimal symbols and at most four digits. Do not confuse a formatting error with a valid but unintended address.
- Do not use :: twice or leave more than eight groups after expansion.
- An accepted command can still contain a valid address from the wrong subnet.
The prefix counts bits, not characters
A slash followed by a decimal number states the number of leading prefix bits. At /64, compare the first four expanded groups. At /48, compare the first three. A prefix can end inside a group when its length is not a multiple of 16, so counting whole groups is not a general method for every prefix. Zero compression does not move the boundary. Distinguish an interface assignment, which includes its complete address and prefix length, from the subnet prefix, whose bits after the boundary are zero.
- Two addresses can share a /48 while belonging to different /64 subnets.
- Read the actual prefix length; not every IPv6 route or assignment uses /64.
Verify the assignment, then verify the peer
The lab uses manually assigned addresses on two routed Ethernet interfaces. An interface can have more than one IPv6 address, including an automatically formed link-local address; the extra line is not automatically a duplicate or a fault. Check the exact planned address and /64 on the correct interface, then inspect the connected route and test the other router. Our documented example block, 2001:db8::/32, is reserved for documentation, not a public allocation for your organization. Keep the entire project disconnected.
- Read interface state, address, prefix and connected route as separate evidence.
- These example addresses do not authorize Internet use or production configuration.
A controlled fault is not a universal diagnosis
After both baseline directions work, replace Router2's planned address with 2001:db8:12:2::2/64. Remove the old assignment explicitly so both addresses do not coexist. Repeat Router1's original ping to 2001:db8:12:1::2: the intended peer no longer owns that address. Inspect Router2 to identify the changed fourth group and connected prefix. Restore the original assignment and repeat the same checks. In real networks, absent replies can also reflect filtering, link failures, source selection or rate limits. Ping alone does not distinguish those causes.
- Use the same source and original target to make before-and-after results comparable.
- The wrong-prefix address test changes an assigned address; it does not isolate changing only the prefix-length setting.
Choose a permitted platform and state what was tested
Use Cisco software only in an environment permitted by its applicable license or entitlement. GNS3 does not supply Cisco images. Cisco Modeling Labs is an official alternative, and its reference-platform images are not automatically licensed for export into GNS3. The steps below use familiar Cisco IOS and IOS XE command forms, but interface names and supported features depend on the selected image. Record the model and software release before configuration. A command error is a reason to check the platform documentation, not to try unrelated configuration.
- Keep predicted results distinct from measured observations and record your actual image version.
- No image file is supplied, shared or redistributed with this lesson.
Real-world walkthrough
A formatting difference or a configuration mistake?
A trainee compares a change record with a router screen. The record uses a full uppercase IPv6 address, while the screen uses a shorter form. Before making a change, the trainee expands both. In a separate line, the fourth group really is different. These two observations need different responses: the first is notation, the second needs a configuration comparison. This scenario is an original paper example; it does not claim a production incident or a measured outage.
- Copy the intended address and prefix from the approved record without modifying either. Keep the interface name alongside them.
- Expand both written addresses to eight groups. Normalize letter case and leading zeros on paper before deciding whether their values differ.
- Compare the first four groups for the declared /64, then compare the complete address to identify the intended endpoint.
- In the isolated lab only, collect both interface displays, connected prefixes and the result of the exact peer ping before making the documented change.
- If the fourth group differs, use the controlled rollback steps and repeat the original test. In a real environment obtain change approval; missed replies can have causes other than addressing.
Guided GNS3 lab
Configure, compare and restore two IPv6 peers
Verify that full and compressed notation reach the same configured peer, then observe and repair a deliberately changed address from a different /64 in a fully disconnected two-router project.
Addressing plan
| Device | Interface | Address | Purpose |
|---|---|---|---|
| Router1 | Mapped peer port; example GigabitEthernet0/0 | 2001:db8:12:1::1/64 | First endpoint on the disconnected 2001:db8:12:1::/64 link |
| Router2 | Mapped peer port; example GigabitEthernet0/0 | 2001:db8:12:1::2/64 | Second endpoint and original ping destination |
Set up the lab
- Create a new GNS3 project named Day12-IPv6. Use only software your applicable license permits in GNS3. GNS3 provides no Cisco images. Use Cisco Modeling Labs under its own terms or the labeled paper exercise if you lack an authorized image.
- Select your installed Cisco IOS/IOS XE router template from the device browser, drag two instances onto the workspace, and rename them Router1 and Router2. Do not choose the built-in Ethernet switch or VPCS instead of a router.
- Use Add a link, click Router1 and choose a routed Ethernet port, then click Router2 and choose its port. Turn on interface labels and write both selected port names in Day12-baseline.txt. Leave all other ports unconnected; add no Cloud, NAT or external connector.
- Start both nodes with the green Start control. Right-click each named router and choose Console. Press Enter when booting finishes. If a fresh router asks to enter the initial configuration dialog, answer no; wait for its normal prompt. Stop if credentials or licensing are unresolved.
- Open Notepad on Windows, TextEdit in plain-text mode on macOS, or a plain-text editor on Linux for notes. The router Console, not that editor or the operating-system terminal, accepts the commands. Type only command text, never Router# prompt labels.
- Use the actual port mapping in every interface command. Example: if Router1's linked port is GigabitEthernet0/0/0, replace interface GigabitEthernet0/0 with interface GigabitEthernet0/0/0 only on Router1. Router2 may use Ethernet0/0 instead. Confirm both against the cable labels and device output.
- Use fresh nodes with no preconfigured IPv6 routes or addresses on the peer port. Save the pre-change show running-config text in your notes and record image version and original port state. If existing settings are unfamiliar, stop and create fresh isolated nodes rather than erasing configuration.
Inspect Router1 before configuration
Right-click Router1 and choose Console before typing. At a > prompt, enable should enter #; at # it leaves you privileged. Read the version and locate the exact linked interface. Confirm the interface matches your cable label before writing its mapping and current settings to the baseline notes.
enable
show version
show ip interface brief
show running-configWhat each command means
enable- Enter privileged EXEC mode; stop if an unknown password is requested.
show version- Record the router platform and software release for later command checks.
show ip interface brief- List interface names and status; IPv4 may be unassigned because this is an IPv6 lab.
show running-config- Display current configuration without changing it; copy the relevant baseline to your notes.
- What you should see
- The actual linked port appears in the inventory. Record its name and initial state; no working IPv6 test is expected yet.
- Why this step matters
- The physical label, software interface and command target must identify the same connection before changing it.
Inspect Router2 independently
Right-click Router2 and choose Console before typing. Repeat the inventory for this router rather than assuming its interface numbering matches Router1. Record the linked port, software release and original configuration. If a required port is missing, stop and correct the template or link selection while the nodes are stopped.
enable
show version
show ip interface brief
show running-configWhat each command means
enable- Enter privileged EXEC so that the inspection commands use the documented mode.
show version- Record Router2's platform and version, not Router1's values.
show ip interface brief- Find Router2's real linked interface and its current administrative and protocol state.
show running-config- Copy Router2's original settings into the baseline notes before adding the test address.
- What you should see
- Both endpoints now have independently recorded port mappings. Proceed only with supported routed Ethernet interfaces in an isolated project.
- Why this step matters
- A correct address on an unconnected or incorrectly named interface would not build the intended path.
Assign Router1's address
Right-click Router1 and choose Console before typing. Confirm # mode and substitute the recorded peer-port name for GigabitEthernet0/0. These commands belong only to the isolated lab. IPv6 unicast routing enables forwarding, but today's ping terminates on the peer and does not test transit forwarding between networks.
configure terminal
ipv6 unicast-routing
interface GigabitEthernet0/0
ipv6 address 2001:db8:12:1::1/64
no shutdown
end
show ipv6 interface briefWhat each command means
configure terminal- Enter global configuration mode, indicated by (config)#.
ipv6 unicast-routing- Enable IPv6 forwarding globally on this isolated router; this is not a firewall rule.
interface GigabitEthernet0/0- Select the exact linked routed interface using your verified name substitution.
ipv6 address 2001:db8:12:1::1/64- Assign Router1 its unique address with the planned 64-bit prefix.
no shutdown- Remove an administrative shutdown on this lab interface; this cannot fix a missing cable.
end- Return to privileged EXEC mode so show commands run in the correct context.
show ipv6 interface brief- Inspect IPv6 interface state and addresses; a link-local address may also appear.
- What you should see
- The mapped port lists 2001:db8:12:1::1 and a link-local address. Link state depends on both endpoints being started and enabled.
- Why this step matters
- Configuration acceptance is only the first check; the display must match the planned interface and value.
Assign Router2's address
Right-click Router2 and choose Console before typing. Confirm # mode and use Router2's own mapped interface. Assign the address ending in ::2, not Router1's ::1. Wait for both virtual devices to finish interface initialization before evaluating the next step.
configure terminal
ipv6 unicast-routing
interface GigabitEthernet0/0
ipv6 address 2001:db8:12:1::2/64
no shutdown
end
show ipv6 interface briefWhat each command means
configure terminal- Enter global configuration on Router2, not on Router1.
ipv6 unicast-routing- Enable IPv6 forwarding on this isolated router without adding a default route.
interface GigabitEthernet0/0- Select Router2's linked routed port using the recorded mapping.
ipv6 address 2001:db8:12:1::2/64- Assign the distinct peer address in the same planned /64 subnet.
no shutdown- Enable Router2's lab interface administratively.
end- Leave configuration mode and return to the # prompt.
show ipv6 interface brief- Check the peer address and interface state without assuming display capitalization.
- What you should see
- Both ends should reach up/up and show their distinct planned IPv6 addresses. If not, resolve the baseline problem before adding any deliberate fault.
- Why this step matters
- A shared prefix is intentional; a duplicated complete address would be a separate configuration error.
Verify Router1's prefix and peer
Right-click Router1 and choose Console before typing. At #, substitute the real port in the detailed interface command. Record the displayed /64 and connected route. Ping Router2, not Router1's own ::1 address. If initialization causes an initial missed reply, repeat and investigate persistent loss; do not record an unobserved success.
show ipv6 interface GigabitEthernet0/0
show ipv6 route connected
ping ipv6 2001:db8:12:1::2What each command means
show ipv6 interface GigabitEthernet0/0- Read the selected interface's address, prefix and operational state in detail.
show ipv6 route connected- Find the directly connected 2001:db8:12:1::/64 network on the mapped peer port.
ping ipv6 2001:db8:12:1::2- Send ICMPv6 echo requests to Router2's planned address and inspect the replies.
- What you should see
- The /64 and connected route match the plan. Repeated baseline pings should return replies; exclamation marks indicate replies and periods indicate timeouts on typical IOS output.
- Why this step matters
- A route entry and a reply are complementary observations, not interchangeable proof of every network function.
Test the expanded destination
Right-click Router1 and choose Console before typing. At #, use the fully expanded spelling of Router2's same address. Do not append /64 to the ping destination. Compare the result with the immediately preceding compressed-address test and record both targets.
ping ipv6 2001:0db8:0012:0001:0000:0000:0000:0002What each command means
ping ipv6 2001:0db8:0012:0001:0000:0000:0000:0002- Test the same 128-bit destination using eight fully written groups rather than zero compression.
- What you should see
- The same peer should reply. Different display spelling does not create a second interface or change the destination value.
- Why this step matters
- This directly connects the paper expansion rule to a configured destination without changing any network setting.
Verify Router2's return test
Right-click Router2 and choose Console before typing. At #, use Router2's mapped port and ping Router1's ::1 address. Save the actual prefix, route and reply results. Do not continue to the fault unless both directions have a working recorded baseline.
show ipv6 interface GigabitEthernet0/0
show ipv6 route connected
ping ipv6 2001:db8:12:1::1What each command means
show ipv6 interface GigabitEthernet0/0- Check Router2's exact assignment and /64 on its linked interface.
show ipv6 route connected- Verify Router2 also has the intended connected /64 route.
ping ipv6 2001:db8:12:1::1- Initiate an echo exchange from Router2 to Router1, rather than pinging Router2 itself.
- What you should see
- The interface and route match the addressing table, and Router1 replies to Router2's test.
- Why this step matters
- A separately initiated reverse test makes the evidence record explicit and catches a mistaken self-test.
Change only Router2's assigned address
Right-click Router2 and choose Console before typing. Confirm the mapped port against your baseline and current cable label. This isolated fault replaces the address with one from a different /64; it does not change only the /64 length. Remove the old assignment before adding the new one so it cannot keep answering as a secondary address.
configure terminal
interface GigabitEthernet0/0
no ipv6 address 2001:db8:12:1::2/64
ipv6 address 2001:db8:12:2::2/64
end
show ipv6 interface brief
show ipv6 route connectedWhat each command means
configure terminal- Enter configuration only after the working baseline is saved.
interface GigabitEthernet0/0- Select Router2's verified peer interface, substituting its exact name.
no ipv6 address 2001:db8:12:1::2/64- Remove only Router2's original test assignment, not all IPv6 addresses.
ipv6 address 2001:db8:12:2::2/64- Add the deliberately wrong fourth-group value 2 with the same /64 length.
end- Return to privileged EXEC for read-only checks.
show ipv6 interface brief- Confirm the original ::2 address in subnet 1 is absent and the subnet-2 address is present.
show ipv6 route connected- Record the changed connected prefix 2001:db8:12:2::/64 on Router2.
- What you should see
- Router2's test address is now 2001:db8:12:2::2/64. It no longer owns 2001:db8:12:1::2; a link-local address can remain.
- Why this step matters
- Explicit removal prevents two valid assignments from hiding the intended addressing fault.
Observe the original test failing
Right-click Router1 and choose Console before typing. At #, repeat exactly the original peer ping. Keep Router1 unchanged. Compare its connected prefix with Router2's recorded changed prefix. Do not add routes, disable controls or change the ping target to make the failure disappear.
show ipv6 route connected
ping ipv6 2001:db8:12:1::2What each command means
show ipv6 route connected- Confirm Router1 still has its original connected /64 prefix.
ping ipv6 2001:db8:12:1::2- Retest the old peer address, which Router2 no longer owns in this declared two-node lab.
- What you should see
- Expect no echo replies to the original target. The removed peer address explains this controlled failure; a cached neighbor entry cannot make Router2 own a removed address.
- Why this step matters
- A deliberate before-and-after comparison is stronger evidence than guessing a cause from one missed ping.
Restore Router2's exact baseline
Right-click Router2 and choose Console before typing. At #, confirm the selected interface against both your baseline and current link. Remove only the deliberately added subnet-2 address and restore the exact subnet-1 assignment. Stop if the interface mapping is uncertain.
configure terminal
interface GigabitEthernet0/0
no ipv6 address 2001:db8:12:2::2/64
ipv6 address 2001:db8:12:1::2/64
end
show ipv6 interface GigabitEthernet0/0
show ipv6 route connectedWhat each command means
configure terminal- Enter Router2's global configuration for the controlled rollback.
interface GigabitEthernet0/0- Select the verified linked interface using its actual name.
no ipv6 address 2001:db8:12:2::2/64- Remove the specific wrong address added by this exercise.
ipv6 address 2001:db8:12:1::2/64- Restore the original test address and prefix exactly.
end- Return to privileged EXEC mode.
show ipv6 interface GigabitEthernet0/0- Confirm the restored address and /64, and the absence of the wrong assignment.
show ipv6 route connected- Verify the original connected 2001:db8:12:1::/64 prefix has returned.
- What you should see
- Router2's assignment and connected route match the baseline again. Do not call rollback verified until the following traffic tests also succeed.
- Why this step matters
- Restoring a value and verifying the resulting behavior are separate parts of a reliable rollback.
Repeat Router1's original tests
Right-click Router1 and choose Console before typing. At #, rerun both spellings of the same Router2 target. Keep the source, destination value and topology unchanged. Save actual results in the restored row of the evidence table.
ping ipv6 2001:db8:12:1::2
ping ipv6 2001:0db8:0012:0001:0000:0000:0000:0002What each command means
ping ipv6 2001:db8:12:1::2- Repeat the original compressed-address test after Router2's rollback.
ping ipv6 2001:0db8:0012:0001:0000:0000:0000:0002- Confirm the equivalent expanded spelling still tests that same restored destination.
- What you should see
- Both tests should receive replies again. If not, compare actual interface state and assignments with the recorded baseline instead of claiming completion.
- Why this step matters
- Reusing the original tests demonstrates recovery without quietly changing the success condition.
Confirm Router2 and close the evidence record
Right-click Router2 and choose Console before typing. At #, retest Router1 and display Router2's final settings. Save the outputs alongside baseline, fault and restored observations, then follow cleanup. These are expected outcomes for you to measure; QCS has not executed this virtual router lab.
ping ipv6 2001:db8:12:1::1
show ipv6 interface brief
show running-configWhat each command means
ping ipv6 2001:db8:12:1::1- Check the independently initiated reverse exchange after restoration.
show ipv6 interface brief- Confirm the final interface state and correct peer address.
show running-config- Record the final running settings so you can compare them with the intended restored state.
- What you should see
- Router1 replies and the recorded final configuration contains the intended address, not the deliberate wrong assignment.
- Why this step matters
- A documented final state makes the exercise repeatable and prevents leaving an unexplained fault behind.
Verify
- Verify every cable endpoint is named: Router1's mapped port connects only to Router2's mapped port. No external network connector is permitted.
- Record exact software releases and interface names. Verify up/up, the full assigned address and /64, and the connected prefix on each router.
- Expand the compressed Router2 address to eight groups on paper and confirm all 128 bits match the expanded ping target.
- Record baseline replies in both directions before the fault. Confirm every target is the other router, never the sender's own address.
- After removing Router2's original assignment, verify its absence before interpreting the expected failed ping to that original target.
- After rollback, confirm the wrong address is absent, the original /64 is restored, and both original-direction and reverse tests return replies.
- Keep predicted and observed columns separate. No simulated output in this lesson substitutes for your actual device observations.
Troubleshoot
- If a Console is blank, confirm the node is started and booting, press Enter, and check GNS3's configured console application. Do not paste router commands into your laptop's Terminal or PowerShell. Stop for unresolved image entitlement or credentials.
- If the port is missing from show ip interface brief, compare the template's routed interfaces and cable labels. Stop the nodes before changing adapters. If administratively down, use only the verified mapped interface and its documented no shutdown step; if down/down, check both nodes and the single cable.
- If an IPv6 command is rejected, record show version and the exact error. Check that the selected template supports IPv6 and that your prompt is in the required mode. Do not substitute unrelated commands or change a production router.
- If only the first ping loses a reply, repeat after initialization and record both observations. Persistent loss needs evidence from addresses, prefix, link state and filtering. Ping cannot prove application availability or identify one faulty network layer by itself.
- If the wrong-address stage still gets replies to the old target, check that the no ipv6 address command removed the exact original assignment and that the ping is not a self-test. Investigate unexpected devices or addresses; do not invent a result.
- If restoration fails, stop before further changes. Perform these tests only in the isolated lab, not on networks with production traffic or shared use. Compare both current interfaces and their exact address/prefix values with the saved working baseline.
GNS3 does not provide Cisco images. Use a Cisco image only when the applicable license or entitlement permits its use in GNS3. Do not share or redistribute image files. Cisco Modeling Labs is an official alternative under its own license; its reference images are not automatically licensed for export to another emulator. Without appropriate permission, complete the labeled paper exercise rather than downloading an unauthorized image.
- Perform cleanup only in the isolated project, not on production or shared networks. Complete the explicit Router2 rollback and both final tests before saving your evidence record.
- Label Day12-baseline.txt with the image versions, port mapping and three observed test states. Keep only expected predictions if you performed the paper alternative.
- Stop both virtual routers. Keep the disconnected project for repeat practice or remove only this disposable project through GNS3 after preserving your notes. Do not erase configurations on shared devices.
- Do not connect the documentation-address project to a real network, and do not share or redistribute Cisco image files with the exercise.
Practice set
Answer before you reveal
01Expand 2001:db8:12:1::2 into eight groups.
Five groups are explicitly written, so :: represents three zero groups. Padding the other groups to four digits recovers all eight 16-bit groups.
02Shorten 2001:0db8:0012:0001:0000:0000:0000:0002 canonically.
Remove only leading zeros within groups, then replace the longest zero run with one ::. The address value and any separately declared prefix length remain unchanged.
03Why is 2001:db8::12::2 invalid?
A single address can contain only one zero-compression marker. You must be able to expand its representation unambiguously to eight groups.
04Do 2001:db8:12:1::1/64 and 2001:db8:12:2::2/64 share a /64?
A /64 includes the first four groups. Both share a /48 because the first three groups match, but that does not put the configured /64 interfaces in the same subnet.
05How should 2001:db8:0:0:5:0:0:9 be written canonically?
Both zero runs contain two groups. The leftmost tied run is chosen, and the second run stays as explicit zero groups because only one :: is allowed.
06Does a router accepting a valid address prove it is the planned address?
Compare the displayed value and prefix on the mapped interface with the addressing table. Then test the actual peer rather than treating command acceptance as connectivity proof.
07Why explicitly remove Router2's old address before the fault?
The controlled exercise requires the original address to be absent. Verify that condition before interpreting the expected failed ping; do not delete unrelated addresses.
08What should an evidence note say if you only drew the lab on paper?
A paper comparison teaches notation and prefix reasoning, but it cannot establish that a particular image booted, accepted commands or returned echo replies.
Knowledge check
Quiz: prove the reasoning
Keep these
Technical takeaways
- An IPv6 address has 128 bits; ordinary full hexadecimal notation contains eight groups.
- Remove leading zeros, not significant trailing zeros, and use at most one :: marker.
- Canonical notation uses lowercase and compresses the longest zero run of at least two groups, choosing the leftmost tie.
- Compare expanded values before treating two strings as different addresses.
- A prefix counts bits. Shared /48 membership does not prove shared /64 membership.
- Verify the mapped interface, full address, prefix and connected route before interpreting the peer ping.
- Restore the original assignment and repeat the same checks; paper predictions and static review are not device runtime results.
