Network Design, ICS 351, IPv6 lab

This lab is based on parts of other labs, adapted for IPv6. You will need to bring your textbook to lab.

Also, bring your laptops so we can use IPv6 on the UH network.

  1. Connect enp3s0 of PC1 to enp3s0 of PC2, either through a hub or using a crossover cable.

    Turn on PC1 and PC2, and explore the configurations of their interfaces. Assign the following addresses:

    PC1enp3s0 2010::1/64
    PC2enp3s0 2010::2/64
    Address assignment is achieved with, e.g.,
    ifconfig enp3s0 add 2010::1/64 or ip addr add add 2010::1/64 dev enp3s0

    Turn in the IPv6 portions of the interface configuration for PC1

    Run wireshark on enp3s0 of PC1 with an IPv6 display filter, for at least 3 minutes. Record the types of packets that you see. Stop and save the wireshark output. Turn in a complete list of the different kinds of packets that you see (one item in the list for each packet type).

  2. Restart wireshark on enp3s0 of PC1, with no display filter this time. Use ping6 on PC1 to ping PC2 (send 3 ping packets). Save the wireshark output and the output of the ping6. If you see ARP being used, report on the ARP exchange. If ARP is not being used, report in detail on how each computer finds out the MAC address for the other computer.
  3. Add an entry in the /etc/hosts file of each PC for the other PC, with the correct IPv6 address. Then, start wireshark on enp3s0 of PC1, and telnet from PC1 to PC2 (login as user ics351user). Observe (similarly to exercise 9B on p. 90) that the password is still sent in the clear. Comment on how this is the same, or different, from running telnet over IPv4.
  4. Run apache on PC2, and after starting wireshark on PC1, use firefox to connect to PC2 from PC1 over IPv6. Load any page (the default apache page is fine).
  5. Repeat the operation, but this time using IPv6 addresses rather than domain names. Note that the URL must use the notation
    http://[2010::1]/
    
    Comment on how HTTP over IPv6 is the same or different from running HTTP over IPv4.
  6. Build a network like that in Figure 3.1 (p. 103), but using PC3 instead of Router 1. Assign the following addresses:
    PC1enp3s0 2010::1/64
    PC2enp3s0 2010::2/64
    PC2enp4s0 2011::1/64
    PC3enp3s0 2011::2/64
    PC3enp4s0 2012::1/64
    PC4enp3s0 2012::2/64

    Do the parts of exercise 1 (page 103-107 in the book) needed to set up static routing.

    On Linux, the virtual file /proc/sys/net/ipv6/conf/all/forwarding might be of interest.

    Run wireshark on enp3s0 of PC1. On PC1, run traceroute 2012::2 (or traceroute6 -- is there any difference?). Stop wireshark, and save the wireshark data and the output of the traceroute command. Describe what you needed to do to configure the interfaces and get PC2 and PC3 to route. Include your wireshark output.

  7. On the same network, remove the (non-local) static routes from all the PCs. Assign PC2 as the default router for PC1, and PC3 as the default router for PC4. Configure RIPng on PC2 and PC3 by telnetting to ::1 port 2603. Configure RIPng to recognize addresses in the network 2000::/8.

    Start a wireshark capture on interface enp4s0 of PC2, with a display filter of ipv6 (or a capture filter of ip6). Ping6 and traceroute PC4 from PC1. Save at least two RIPng packets from wireshark.

    1. Describe what you did to get this working, and how well it worked.
    2. Do RIPng packets carry netmasks? explain.
    3. Determine the longest netmask and corresponding network number that you could use in the network command and still have RIP route over the 2010::/64, 2011::/64, and 2012::/64 networks. Show your work.
  8. Remove the default routes on PC1 and PC4, and instead run ripng in passive mode (on PC1 and PC4). Verify that the routes are added correctly. Show the routing table on PC1.