CS475: Computer Networks - The Link Layer
Activity Goals
The goals of this activity are:
- To explain the role and responsibility of the Link Layer
- To demarcate a protocol data unit using bit flags
- To use an ARP table to track mac addresses on a switch
- To differentiate between a hub and a switch
- To define a packet including its boundaries and standardizing features
- To explain the use of a sliding window protocol for efficient in-order transmission
- To explain the role and function of Link Layer protocols such as ARP and the Ethernet and WiFi frame
Supplemental Reading
Feel free to visit these resources for supplemental background reading material.
The Activity
Directions
Consider the activity models and answer the questions provided. First reflect on these questions on your own briefly, before discussing and comparing your thoughts with your group. Appoint one member of your group to discuss your findings with the class, and the rest of the group should help that member prepare their response. Answer each question individually from the activity on the Class Activity Questions discussion board. After class, think about the questions in the reflective prompt and respond to those individually in your notebook. Report out on areas of disagreement or items for which you and your group identified alternative approaches. Write down and report out questions you encountered along the way for group discussion.
Model 1: A Link Layer Ethernet Frame Encapsulating a Packet
Questions
- What constitutes an address at the link layer? How large is this address, and how does it differ from an IP address?
- The Ethernet frame is nothing more than a sequence of bits. How might we indicate when a packet begins and ends so that receivers know how to parse the data?
- An 802.11 WiFi frame supports additional message types to request permission and acknowledge permission to and from an access point to communicate. Why does this differ from an 802.3 Ethernet frame?
- An 802.11 WiFi frame contains an additional address field beyond the sender and receiver links. What address might this represent?
Model 2: The Cyclic Redundancy Check (CRC)
let x = the bits representing the coefficients of a polynomial with coefficients 1 or 0
let i = 0
let result = input + ([0] * len(x)) # append len(x) 0 bits to the end of input
repeat until result[:len(input)] == 0: # until the non-remainder bits are 0
let wnd = result[i:i+len(x)] # the leftmost bits of the input
wnd = wnd XOR x
result[i:i+len(x)] = wnd
i = i + 1
crc_encoding = result[:-len(x)] # the rightmost bits of the output
Questions
- How often does this CRC execute while a packet transits from a source to a destination across multiple hops?
- In addition to the CRC, a final check is made by the receiver at a higher layer of the network stack. Why might this extra check occur?
- CRC can be used to correct single bit errors. What types of bit errors can the CRC detect, even if it cannot correct them?
- The resulting encoding can be thought of as a remainder. In your own words, what is the relationship between the remainder, the input, and the polynomial coefficient bits?
Model 3: The ARP Protocol
Questions
- How might each computer keep track of the MAC addresses of the nodes around it?
- What would happen if a node's IP address changes? What can we do about this?
- What would happen if a new node connected to a switch? Does the switch have to be set up to communicate with it? Why or why not?
- Initially, a switch might not know which interface a particular node is connected to. Switches are unable to send ARP packets on their own: what should the switch do if it receives a packet destined for a node whose MAC address is currently unknown to it?
- How might an "improved hub" (called a "switch") use this information to reduce collisions within its collision domain? Beyond the information provided by an ARP packet, what information does the switch need to store?
- Suppose a packet transits from a source to a destination through several intermediate nodes. How might the Link Layer frame be updated at each step?
- What happens if the MAC Address of the next hop is unknown to a particular node, and it does not learn it after sending an ARP request?
Submission
Submit your answers to the questions using the Class Activity Questions discussion board. You may also respond to questions or comments made by others, or ask follow-up questions there. Answer any reflective prompt questions in the Reflective Journal section of your OneNote Classroom personal section.