Before you keep reading...
Runestone Academy can only continue if we get support from individuals like you. As a student you are well aware of the high cost of textbooks. Our mission is to provide great books to you for free, but we ask that you consider a $10 donation, more if you can or less if $10 is a burden.
Before you keep reading...
Making great stuff takes time and $$. If you appreciate the book you are reading now and want to keep quality materials free for other students please consider a donation to Runestone Academy. We ask that you consider a $10 donation, but if you can give more thats great, if $10 is too much for your budget we would be happy with whatever you can afford as a show of support.
6.3. Network Architecture¶
Time Estimate: 90 minutes
6.3.1. Introduction and Goals¶As we've learned in previous lessons, the Internet is a network of networks that is managed by a collection of protocols. We've already seen the role that the HTTP protocol plays in supporting the World Wide Web application. In this lesson we delve more deeply into the basic architecture and infrastructure of the Internet. We'll learn that the main Internet protocols are organized into a hierarchy of abstraction layers -- the application, transport, internet, and link layers -- each of which manages certain specific tasks required to route messages between hosts on the Internet. We'll learn about
- Internet architecture and abstraction layers
- The packet switching routing scheme
- The TCP/IP protocol
After this lesson you should have a pretty good understanding of how some of your familiar applications -- web browsing, email, smartphone apps -- are supported by the underlying Internet hardware and software. Here is a short video called A Packet's Tale to get us started on our journey.
- explain how data are sent through the Internet via packets
- identify and describe the benefits of fault-tolerant networks
- discuss the benefits of packet switching and Internet abstraction layers
- use target vocabulary, such as router, IP Address, packet switching, scalability and fault tolerant while describing how data is transported across the Internet, with the support of concept definitions and vocabulary notes from this lesson
6.3.2. Learning Activities¶
- YouTube Video Part 1
- Ping and Traceroute Activity
- YouTube Video Part 2
- Packet Routing Activity
Part 1: Network Architecture and Packet Switching
This first video focuses on basic architecture of the Internet and the technique of packet switching. The Internet has been engineered to be fault-tolerant, which means it can support failures and still continue to function. Network redundancy allows having more than one path between any two connected devices in case something part of the network fails. If a particular device or connection on the Internet fails, subsequent data will be sent via a different route, if possible. Redundancy within a system often requires additional resources but can provide the benefit of fault tolerance. The redundancy of routing options between two points increases the reliability of the Internet and helps it scale to more devices and more people. The Internet was designed to be scalable. The scalability of a system is the capacity for the system to change in size and scale to meet new demands.
The video also illustrates how the ping utility can be used to test whether certain hosts are reachable on the network. And it introduces a new tool, traceroute, that can be used to trace the routes that packets take from one computer to another on the Internet.
POGIL Activity 1 - Using Ping and Traceroute to Investigate the Internet (15 minutes)
Break into POGIL teams of 4. Record your answers using this worksheet
|Facilitator||Uses the ping and trace tools online at network-tools.com.|
|Spokesperson||Reads out questions and reports the team's answers to the class.|
|Quality Control||Records the team's answers in the worksheet (File-Make a Copy to have a version you can edit).|
|Process Analyst||Keeps track of the teams progress and assesses its performance.|
In this activity, you will use the ping and traceroute utilities at network-tools.com to measure the latency and observe trace routes to answer the following question.
Does geographical distance between the source and the destination on the network affect latency?
You will use multiple trials of ping and trace for 5 university servers around the globe (mit.edu, stanford.edu, ox.ac.uk, kyoto-u.ac.jp, usp.br) to answer the questions below.
- Did any of the servers lose packets or time out? Some servers will block ping and trace for security reasons which are seen as time outs. Were there any surprising locations in the hops that the packet went through?
- Did different trials have different results for the same destination? Do packets always get routed in the same way?
- Can you guess where the network-tools server is located based on the latency data you collected? Can you confirm your guess using trace or whois (which gives you information about who owns a server)?
- Select one route and specify all the directly-connected computing devices along the route which form a path between the sender and the receiver. How many hops are taken on this path? List each device on this path.
- How does the number of hops in the trace affect latency (the round trip time seen in ping)?
- (Portfolio) How does geographical distance affect latency? What are some other factors that may be affecting latency?
Part 2: Internet Abstraction Layers
Data is sent through the Internet in data streams made up of data packets. Each packet contains data and metadata used for routing the packet between the origin and the destination on the Internet, as well as for data reassembly. This video focuses on the TCP/IP model which is a set of abstraction layers with different protocols that manage the routing of messages on the Internet. Protocols such as TCP, IP, UDP, and SMTP work together in the hierarchy to support applications such as email and web browsing.
POGIL Activity 2 - TCP/IP Packet Routing (15 minutes)
In the same POGIL team of four, you will act out the layers in the TCP/IP model to encapsulate and transmit data. Each group of four should be given an IP address such as 10.1, 10.2, etc. in a local area network (LAN). Each group member should take on the role of one of the layers below:
|Application Layer (protocol: SMTP)||
Send: Composes a message to another student and passes it to the Transport layer.
Receive: Receives and reads out messages from other students passed on from the Transport layer.
|Transport Layer (protocol: TCP)||
Send: Splits the message into packets, adds TCP headers to number the packets, and sends them to the Internet layer.
Receive: Receives packets from the Internet layer, puts them in order, and passes them to the Application layer when all are received.
|Internet Layer (protocol: IP)||
Send: Uses a routing table (given in the handout) to add the destination IP address to each packet and passes them to the Link layer.
Receive: Receives packets from the Link layer and checks that it’s their own group’s IP address. If it is, it passes it to the Transport layer. If it is not, it gives it back to the Link layer to give to another group.
|Link Layer (protocol: Ethernet)||
Send: Passes the individual packets randomly to the Link layer of other groups.
Receive: Receives packets from other groups and passes them to the Internet Layer.
Follow these handouts to simulate packet routing in the TCP/IP model. Once your group has sent and received a message, discuss the following questions.
- Packet Order. Does it matter whether the packets of a message arrive in order? Explain how this set of protocols handles that.
- (Portfolio) Missing Packets. What should happen if a packet goes missing? Who (which layer) would handle this? What action would they have to take? And what additional information would be needed in the packet in order to handle it?
- Corrupted Packets. Suppose there is some kind hardware glitch that corrupts one or more bits in a packet? Can this be detected? What action should be taken in this case? What additional information would be needed to handle this issue?
- Fault-Tolerance. Complex systems, like networks, fail at unexpected times. Often multiple devices fail at the same time. Explain how the TCP/IP model continues to function even when parts of the system fail.
- (Portfolio) Security/Privacy. As the packets are being transmitted through the network, can people other than the sender and receiver read the messages? What methods can we use to protect the message?
In this lesson, you learned how to:
6.3.4. Still Curious¶
There is a wealth of good introductory and comprehensive information about the Internet and the WWW.
- As always, Wikipedia is an excellent resource as a first stop. Its pages on Internet protocol, Ping, Traceroute, and the other topics in this lesson are all accurate and accessible.
- The How Stuff Works site has a nice animated description of how routers work to direct traffic on the Internet.
- Warriors of the Net is a classic 12 minute animated video about packets traveling through the Internet.
- For a very detailed and comprehensive discussion of networking -- sort of like reading a short book -- see the CTDP's Networking Tutorial, which covers the topic in much more detail than we have done here.
- Explore this map of the underwater cables that carry 99% of international data.(2016 interactive version of map).
- Watch this video that describes how a hacker could view your data on a public network using a packet sniffer.
Here is a table of some of the technical terms discussed in this lesson. Hover over the terms to review the definitions.
6.3.6. Reflection: For Your Portfolio¶
Answer the following portfolio reflection questions as directed by your instructor. Questions are also available in this Google Doc where you may use File/Make a Copy to make your own editable copy.