Lab - 3 Address Resolution Protocol

Objectives

The lab is on observations of:

  • Resolution of MAC addresses for a destination IP address

  • The packet format of ARP messages

  • The forwarding of ARP messages in the network

Load Lab Network

Execute the commands to load the lab interface:

%load_ext uhed
%lab

In order to conduct this lab, please pick ARP lab from the dropdown menu and click on the Build Network button. Once successfully built, display the network topology using:

NET.showTopo()

Open a terminal using: Use File \longrightarrow New \longrightarrow Terminal in the top menu and then ssh (secure shell) into the hosts using the command:

gssh <username> <devicename>

Reminder Example on ssh

For example, for a user name, student01, ssh into the host1 using the command gssh student01 host1 at the terminal.

Topology Orientation

This lab utilizes the same topology as the IP Subnets Lab.

_images/subnetsARPTopo.png

Lab Network Topology

Observation Plan and Environment

  1. Examine the current state of the host interfaces using the command:

    NET.showInterfaces()
    
  2. This lab requires IP address to be configured on each host’s eth1 interface. First, determine the subnets you have been assigned for this lab:

    NET.data["lab-subnets"]
    
  3. Choose two host addresses within each subnet. Assign a host address to two hosts per subnet such that all hosts have an IP address and two hosts are in each subnet:

    NET[<hostlabel>].setIPv4Address(<interfacename>, <IPaddress>)
    
  4. Verify the correct IP addresses and prefixes have been added to the host interfaces:

    NET.showInterfaces()
    
  5. Open a terminal and login to any of the hosts to start a tcpdump listening process for the host interface:

    tcpdump -i eth1 -Ane not ether dst 01:80:c2:00:00:00 and not ether proto 0x86DD
    
  6. Using the ping tool, send an echo request to the IP address of the other hosts. Observe the tcpdump output and identify any ARP request and reply packets that may have been exchanged between the hosts.

Learning Activity

Step 1

Assign IP addresses in your given subnets to all hosts in the network.

1. Confirm the IP addresses have been assigned properly to all hosts.:

NET.showInterfaces()

Step 2

Use the command line tool called ping to send echo request packets to check hosts IP connectivity status.

2a. ssh into hosts in the topology and send ping at the command line to other hosts within the subnet of the sending host.

2b. ssh into the same host where you are using the command ping to also monitor the packets being sent and received by the host, monitor packets using tcpdump with the command below:

tcpdump -i eth1 -Ane not ether dst 01:80:c2:00:00:00 and not ether proto 0x86DD

2c. Observations:

  • Which hosts are connected at layer 3?

  • How does subnet addressing relate to layer 3 connectivity?

Step 3 – Lab Homework

Important

The homework submission timeline is constrained in this lab: you must submit before your ARP table entries timeout. Complete your submission within 15 minutes of populating the host ARP tables.

3a. Populate the ARP tables on all of your hosts by logging into each host and sending an echo request packet (using the ping tool) to the other host in the same subnet.

3b. Before you submit, verify each host’s ARP table is populated appropriately:

NET[<hostlabel>].getARPTable()

3c. Submission:

STOP! Did you practice this week’s material using the %practice facility in your notebook? Please solve the question(s) and make sure to receive a Correct! response in all questions before you attempt to submit your assignment.

There are two steps to complete your assignment:

1. In your lab notebook, run:

%homework

to complete and submit this portion.

2. In your notebook, run:

%exercise

to solve the question(s) and submit this portion.

Caution

You only have one submission attempt available to you. It is recommended to complete the requirements before you load the homework to prevent submitting an incomplete network state.

_images/lab03hwprompt.png

Final Step

Please follow the instructions to delete your reserved topology and then close and halt your lab notebook and any open terminals on the lab service.