CS475: Computer Networks - The Network Layer

Activity Goals

The goals of this activity are:
  1. To describe the roles and responsibilities of the Network Layer
  2. To explain network layer protocols including NAT, DNS, DHCP, ICMP/Ping
  3. To differentiate between addressing models IPv4 and IPv6, and how to tunnel between them
  4. To explain the need for multiplexing on IPv4 networks with private subnets, and the role of NAT and port forwarding
  5. To define subnets of arbitrary size using CIDR subnetting and class A/B/C subnets
  6. To differentiate between a switch and a router
  7. To explain the functionality of a VPN over existing network infrastructure

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, and compare with your group to prepare for our whole-class discussion. 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: The IP Packet Header

IPv4 Packet-en

Questions

  1. What types of protocols can we denote in an IP Packet?
  2. What is the purpose of the Version field?
  3. What is the purpose of the TTL field?
  4. What addresses are placed in the source and destination fields? How might this differ from the MAC addresses used in the Link Layer header?
  5. What, if any, information helps the IP protocol to provide throughput control, error correction, or packet ordering? What, in your own words, is "Best Effort" quality-of-service?

Model 2: IP Addressing

Ipv4 address.svg
By Indeterminate - Own work, Public Domain, Link

Questions

  1. How large is an IPv4 Address? What is the largest and smallest value that can be represented by each octet?
  2. How many IPv4 addresses can be allocated on the Internet?

Model 3: IP Fragmentation

PDU Fragmentation-en

Questions

  1. IP fragments are sized in 8-byte blocks. Which fields of an IP packet are modified to indicate that this packet is a fragment, and what part of the overall packet it represents?
  2. Another layer of the network stack can perform fragmentation in order to regulate transmission rate. However, no information is retained at this layer about network throughput and performance. Therefore, what do you think is the purpose of fragmentation at this layer?

Model 4: Address Lookups with DNS

Domain name space.svg
Public Domain, Link

Example of an iterative DNS resolver.svg
By Lion Kimbro - Own work, Public Domain, Link

DNS in the real world.svg
By Lion Kimbro - Own work, Public Domain, Link

Questions

  1. How many DNS servers are there? How is the DNS "database" stored on the Internet?
  2. If DNS is distributed, how does one locate the appropriate DNS server corresponding to the network being sought?
  3. What is the difference between a recursive DNS lookup and an iterative one?

Model 5: Subnetting

Subnetting Concept.svg
By Michel Bakni - Own work, CC BY-SA 4.0, Link

Questions

  1. What is the relationship between the number of node addresses and the subnet number following the network address?
  2. Write out one of the IP addresses in binary. Given the number of node addresses available in each subnet, which bits in the address represent the network address, and which represent the node address?

Model 6: Network Configuration with DHCP

DHCP session

Questions

  1. What information do you expect to be included in a DHCP packet?
  2. Why do you think there are two different "handshakes" involved in this protocol? What is the difference between the two, and what might happen if only one were present?
  3. Look up the RFC for the DHCP protocol. Where in the message is information like your IP address, the gateway, the subnet mask, and DNS servers located?

Model 7: Port Forwarding and Network Address Translation (NAT)

NAT Concept-en
Network Address Translation (file2)

Questions

  1. What is the relationship between a host's IP address and the externally-facing IP address to the network?
  2. How does one address a packet to a host with a private IP address behind a NAT network?
  3. When a packet arrives at the local network's router, what additional information is needed to identify which private node should receive the packet?
  4. What are some of the compromises made by NAT? What are the benefits?
  5. What would render NAT unnecessary?

Model 8: The Internet Control Message Protocol (ICMP)

ICMP header - General-en.svg
By Michel Bakni - (2012) TCP/IP Illustrated Volume 1 (Second ed.), Pearson Education, Inc., p. 355 ISBN: 0321336313., CC BY-SA 4.0, Link

Questions

  1. What type and code are used for an ICMP Ping echo request and reply?
  2. What type and code are used for an ICMP TTL Expired message?
  3. What other control messages are supported by ICMP?
  4. Why can't we rely on ICMP messages to regulate transmissions on the Internet?

Model 9: IPv6

IPv6 address terminology-en
Ipv6 header
IPv6 IPv4-Mapped address structure-en

Questions

  1. How big is an IPv6 address? How many such addresses are there?
  2. What is the purpose of the Flow label?
  3. How is an IPv4 address represented by an IPv6 address?

Model 10: Virtual Private Networking (VPN) and Tunneling

IPTunnelDiagram 01-12-07
IPSec VPN-en

Questions

  1. From the perspective of the network, what is a tunnel?
  2. How might a tunnel be used to send IPv6 traffic over a network that involves transiting IPv4 nodes and networks?
  3. How might a tunnel be used to connect a computer to a local corporate network (i.e., a VPN)?

Submission

I encourage you to submit your answers to the questions (and ask your own 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. You can find the link to the class notebook on the syllabus.