IPv6 Virtual Laboratory

Welcome to the IPv6 Virtual Lab

This virtual laboratory is designed for undergraduate Electrical and Communication Engineering students to gain comprehensive knowledge and hands-on experience with Internet Protocol Version 6 (IPv6). Through interactive modules, you will explore IPv6 addressing, protocol structure, configuration procedures, and analysis techniques.

Laboratory Objectives

  • Understand the limitations of IPv4 and the need for IPv6
  • Learn IPv6 addressing architecture and notation
  • Compare IPv4 and IPv6 header structures
  • Configure IPv6 addresses on network interfaces
  • Analyze IPv6 packet structure and headers
  • Practice IPv6 subnetting and address planning
  • Document experimental procedures and results effectively

Prerequisites

Before starting this virtual lab, students should have basic knowledge of:

  • Computer networks and TCP/IP fundamentals
  • IPv4 addressing and subnetting
  • Network protocol basics
  • OSI and TCP/IP reference models

Quick IPv6 Example

An IPv6 address is 128 bits long, represented as eight groups of four hexadecimal digits separated by colons:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

This is significantly larger than IPv4's 32-bit address space, allowing for approximately 3.4×10³⁸ unique addresses.

IPv6 Theory and Fundamentals

Introduction to IPv6

Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with the long-anticipated problem of IPv4 address exhaustion.

Why IPv6?

IPv4 uses 32-bit addresses which limits the address space to approximately 4.3 billion addresses. With the exponential growth of internet-connected devices, this address space has been exhausted. IPv6 uses 128-bit addresses, providing approximately 3.4×10³⁸ addresses, which is essentially unlimited for the foreseeable future.

IPv4 Limitations

  • 32-bit address space (4.3 billion addresses)
  • Address exhaustion
  • Complex Network Address Translation (NAT) requirements
  • Limited security features
  • Inefficient routing tables
  • No built-in Quality of Service (QoS)

IPv6 Advantages

  • 128-bit address space (3.4×10³⁸ addresses)
  • Simplified header format
  • Built-in security (IPsec)
  • Improved support for extensions
  • Efficient routing and packet processing
  • Auto-configuration capabilities

Key Features of IPv6

  • Larger Address Space: 128-bit addresses vs. 32-bit in IPv4
  • Simplified Header: Fixed length header with fewer fields
  • Stateless Address Auto-configuration (SLAAC): Hosts can configure themselves automatically
  • Built-in Security: IPsec support is mandatory in IPv6
  • Better Support for Extensions: Options are placed in separate extension headers
  • Improved Multicast and Anycast: Enhanced support for multicast and anycast addressing

IPv6 Addressing

IPv6 Address Representation

IPv6 addresses are 128 bits long and are represented as eight groups of four hexadecimal digits separated by colons. For example:

Full form: 2001:0db8:85a3:0000:0000:8a2e:0370:7334

Compressed form: 2001:db8:85a3::8a2e:370:7334

IPv6 Address Types

  • Unicast: Identifies a single interface. Packets sent to a unicast address are delivered to the interface identified by that address.
  • Multicast: Identifies a group of interfaces. Packets sent to a multicast address are delivered to all interfaces in the group.
  • Anycast: Identifies a set of interfaces. Packets sent to an anycast address are delivered to the nearest interface (in terms of routing distance).

Special IPv6 Addresses

  • ::1/128 - Loopback address (like 127.0.0.1 in IPv4)
  • ::/128 - Unspecified address
  • ::ffff:0:0/96 - IPv4-mapped IPv6 address
  • 2001::/16 - Teredo tunneling
  • 2001:db8::/32 - Documentation and example code
  • fe80::/10 - Link-local addresses
  • fc00::/7 - Unique local addresses (like private addresses in IPv4)
  • ff00::/8 - Multicast addresses

IPv6 Subnetting

IPv6 subnetting is simpler than IPv4 because of the large address space. The typical IPv6 subnet uses a /64 prefix, which provides 64 bits for the host portion. This allows for 2⁶⁴ hosts per subnet (approximately 1.8×10¹⁹ hosts).

Subnetting Example

Network Prefix: 2001:db8:acad::/48

Subnet 1: 2001:db8:acad:0001::/64

Subnet 2: 2001:db8:acad:0002::/64

Subnet 3: 2001:db8:acad:0003::/64

Each subnet can accommodate an enormous number of devices, eliminating the need for complex subnetting calculations.

IPv6 Protocol Structure

IPv6 Header Format

The IPv6 header has a fixed length of 40 bytes, compared to the variable length IPv4 header (minimum 20 bytes). The simplified header improves routing efficiency.

IPv6 Packet Header Visualization

Version (4 bits): 6
Traffic Class (8 bits)
Flow Label (20 bits)
Payload Length (16 bits)
Next Header (8 bits)
Hop Limit (8 bits)
Source Address (128 bits)
Destination Address (128 bits)

Click on any field to see details

IPv6 Header Fields

  • Version (4 bits): Always 6 for IPv6
  • Traffic Class (8 bits): Similar to IPv4's Type of Service (ToS) field
  • Flow Label (20 bits): Used to identify packets that belong to the same flow
  • Payload Length (16 bits): Length of the payload following the header
  • Next Header (8 bits): Identifies the type of header following the IPv6 header
  • Hop Limit (8 bits): Similar to IPv4's TTL field
  • Source Address (128 bits): IPv6 address of the sender
  • Destination Address (128 bits): IPv6 address of the receiver

Extension Headers

Unlike IPv4, IPv6 uses extension headers for optional internet-layer information. Extension headers are placed between the IPv6 header and the upper-layer header. Common extension headers include:

  • Hop-by-Hop Options Header: Options that need to be examined by every device along the path
  • Routing Header: Used for source routing
  • Fragment Header: Used for fragmented packets
  • Authentication Header (AH): Provides authentication and integrity
  • Encapsulating Security Payload (ESP) Header: Provides confidentiality
  • Destination Options Header: Options that need to be examined only by the destination

Laboratory Procedure

Experiment 1: Configuring IPv6 Addresses

1

Objective

To configure IPv6 addresses on network interfaces and verify connectivity.

2

Equipment Required

  • Computers with Windows/Linux OS
  • Network switches/routers supporting IPv6
  • Ethernet cables
  • IPv6-enabled network
3

Procedure

  1. Check if your operating system supports IPv6 (most modern OS do by default).
  2. Open command prompt/terminal and type ipconfig (Windows) or ifconfig (Linux) to view current IP configuration.
  3. Identify the IPv6 address assigned to your network interface (look for addresses starting with fe80:: for link-local).
  4. Manually configure a static IPv6 address on your interface:
    • Windows: Use Network and Sharing Center or netsh interface ipv6 add address command
    • Linux: Edit network configuration files or use ip -6 addr add command
  5. Test connectivity using ping6 command to another IPv6 device.
  6. Use traceroute6 or tracert -6 to trace the route to a remote IPv6 host.

Experiment 2: IPv6 Packet Analysis

1

Objective

To capture and analyze IPv6 packets using packet analyzer tools.

2

Equipment Required

  • Computer with Wireshark or similar packet analyzer installed
  • IPv6-enabled network connection
3

Procedure

  1. Install Wireshark packet analyzer on your computer.
  2. Start Wireshark and select the network interface connected to an IPv6 network.
  3. Start packet capture and generate some IPv6 traffic (ping6, web browsing to IPv6 sites).
  4. Apply a display filter for IPv6: ipv6 in the filter box.
  5. Select an IPv6 packet and examine its structure in the packet details pane.
  6. Identify the different fields of the IPv6 header: version, traffic class, flow label, etc.
  7. Look for different types of IPv6 packets: Neighbor Discovery, Router Advertisement, etc.
  8. Save the captured packets for your lab report.

Virtual IPv6 Configuration

Use this virtual interface to practice IPv6 configuration commands:

IPv6 Virtual Laboratory Terminal

Type 'help' for available commands

>

IPv6 Packet Simulation

Interactive IPv6 Packet Builder

Use this simulation to understand how IPv6 packets are constructed and how different fields affect packet transmission.

Configure IPv6 Packet Parameters

0
0 64

Learning Outcomes

  • Understand the structure of an IPv6 packet header
  • Learn how different fields affect packet routing and handling
  • Compare IPv6 packet structure with IPv4
  • Visualize how packets travel through networks

Report Writing Guidelines

A well-structured lab report demonstrates your understanding of the experiments and your ability to analyze results. Follow these guidelines for writing your IPv6 lab report.

1. Title Page

  • Experiment title: "IPv6 Configuration and Analysis"
  • Course name and code
  • Your name and student ID
  • Lab partner's name (if applicable)
  • Date of experiment
  • Date of report submission
  • Instructor's name

2. Objectives

  • State the main objectives of the experiment
  • Include both theoretical and practical objectives
  • Example: "To understand IPv6 addressing scheme and configure IPv6 addresses on network devices"

3. Equipment and Software

  • List all equipment used in the experiment
  • Include software tools (Wireshark, command-line tools)
  • Specify versions if relevant

4. Theoretical Background

  • Briefly explain IPv6 fundamentals
  • Discuss IPv6 addressing and header structure
  • Compare IPv4 and IPv6
  • Include relevant formulas or concepts

5. Procedure

  • Describe the steps followed in the experiment
  • Use numbered steps for clarity
  • Include screenshots of important steps
  • Explain any deviations from the given procedure

6. Results and Analysis

  • Present your findings with tables, graphs, or screenshots
  • Include captured packet screenshots with analysis
  • Show IPv6 configuration commands and outputs
  • Analyze the results - what do they indicate?

7. Discussion

  • Interpret your results in context of theory
  • Discuss any challenges faced during the experiment
  • Compare expected vs. actual results
  • Explain any anomalies or unexpected findings

8. Conclusion

  • Summarize key findings
  • State whether objectives were achieved
  • Mention practical applications of the experiment
  • Suggest improvements for future experiments

9. Questions

  • Answer all questions from the lab manual
  • Provide detailed explanations, not just answers
  • Reference your results when answering questions

10. References

  • List all references used (textbooks, websites, manuals)
  • Use proper citation format (IEEE recommended)
  • Include links to online resources

Report Evaluation Criteria

  • Clarity and Organization (20%): Logical flow, proper sections, readability
  • Theoretical Understanding (25%): Accurate explanation of concepts
  • Experimental Procedure (20%): Clear description of methods
  • Results and Analysis (25%): Proper presentation and interpretation of results
  • Conclusions and References (10%): Meaningful conclusions and proper citations