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 New 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.
Observation Plan and Environment¶
Examine the current state of the host interfaces using the command:
NET.showInterfaces()
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"]
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>)
Verify the correct IP addresses and prefixes have been added to the host interfaces:
NET.showInterfaces()
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
Using the ping tool, send an
echo request
to the IP address of the other hosts. Observe thetcpdump
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 aCorrect!
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:
%homeworkto complete and submit this portion.
2. In your notebook, run:
%exerciseto 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.
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.