Networks and Connections Module

In this module, you'll learn how computers connect with each other across networks; how a connection is only an illusion; the difference between synchronous and asynchronous behavior, client, and server; and how addressability impacts connections. You'll be able to explain how an untrusted network can be reliable and how packets of data are addressed for transport.

On this page you'll find:


Week 2 Individual Work Checklist

  • Watch required videos:
  • View optional material:
  • Complete required exercises:
  • Answer the following homework questions through the emailed REDCap link:
    • Give an example of a star network you have used.
    • How many hops (the last number in the left column) do you have to get to www.google.com?
    • Considering services, either from real life or on a computer/phone, give two examples not mentioned in the training for:
      • A synchronous service
      • An asynchronous service
    • Give a client and server example from real life, but not mentioned in the training, that highlights the difference in roles between client and server.
    • What IP address do you get for www.google.com?
  • Submit your homework via REDCap. You will receive an email with the link to submit a weekly survey of course progress and your answers to the homework questions. This must be submitted by Tuesday evening to be counted toward course participation.

*Videos are password protected. Registered students will receive the password.


CS-102: Networks and Connections

The internet allows computers to communicate electronically across the world, but how does this work? We are going to take you one level down and show you how networks are organized and how they can efficiently transmit information as a coordinated system. We’ll finish this discussion by explaining why a virtual connection is an illusion which is created when everything works correctly.

A: Network Topologies

Computers are organized into an interconnected network, called the internet. When you connect one system to another, no physical connection is made. Rather, information is copied from one system to another, allowing data to be transmitted across the network. Network topology describes how these networks are organized. It is not critical for you to remember after this class the different types of topologies. Rather, you will learn some of the topologies so you can better understand the problems that network designers are trying to solve. This will help you get a more sophisticated mental model for how the internet works.

Exercise

The United Kingdom National Crime Agency has created a network topography exercise that helps you get a handle on how network topologies work. For the purposes of this course, you will need to understand the different network layouts that are shown and understand the trade-offs and advantages of each.

Please answer this question:

  • Give an example of a star network you have used.

B: TCP/IP and Packets

Just as immunization information systems (IIS) have HL7 standards that define how to send immunization data, the internet has the Transmission Control Protocol (TCP)/Internet Protocol (IP) standards to define how data moves around. Everything you do on the internet depends directly on the TCP/IP standard. There is no other way to use the internet without it. TCP/IP defines a way to put data into packets and then rules for how these packets are routed to reach their destination.

Exercise

You can see some of TCP/IPs working using the traceroute command. In this exercise you need to be able to access the “command line” (Windows) or “terminal” (Mac).

Windows Instructions:

  1. Open the Windows search box.
  2. Type CMD in the search bar and click Open.
  3. Type traceroute followed by a space and then an IP address or URL.
  4. Press Enter on your keyboard and wait for the traceroute to finish.

Mac Instructions:

  1. Open the Applications folder on your Mac.
  2. Open the Utilities folder.
  3. Open the Terminal app.
  4. Type traceroute followed by a space and then a website or IP address.
  5. Press Enter on your keyboard and wait for the traceroute results.

Please answer this question:

  • How many hops (the last number in the left column) do you have to get to www.google.com?

C: A Connection is an Illusion

It's easy to believe that when you are on a video or audio call with someone that you are directly connected to them. This is because TCP/IP works quickly to send data fast enough to give you the illusion that there is a dedicated and real connection between systems. This illusion persists as long as data keeps transferring, but when it doesn’t, the illusion starts to break down and it becomes difficult to understand what is happening. Knowing this can help you better understand the nuance of how connections work and why it can be so confusing when it doesn’t.

There is no exercise for this section.

*Videos are password protected. Registered students will receive the password.


CS-103: Internet and WWW

The discussion continues with how TCP/IP is used to support the Internet and the World Wide Web. We will dive into synchronicity, clients/servers, how reliability is established for connections, and how points on the internet are addressed.

A: Synchronous versus Asynchronous

There are two strategies for internet services to follow, depending on how quickly the service can operate. Fast services can operate synchronously, where requestors are expected to wait for responses. Slower services must add extra support for allowing for check-back and a return of a response at some later time. Understanding this difference can help when designing and supporting services.

There is no exercise for this section.

Please answer this question:

  • Considering services, either from real life or on a computer/phone, give two examples that were not mentioned in the training for:
    • A synchronous service
    • An asynchronous service

B: Client versus Server

There are two sides to interactions with a service. The requesting system is called the client and the responding system is called the server. It’s easy to get these mixed up and to think of them as performing the same function. They have very different but complementary functions. Furthermore, not all systems on the internet are equally addressable, which means there are restrictions on which systems can act as a server.

There is no exercise for this section.

Please answer this question:

  • Give an example of a client and server example from real life, but not mentioned in the training, that highlights the difference in roles between client and server.

C: Reliability

We now rely on the internet to transfer very important data and assume, if we have a good connection, that the data will be transmitted completely without error. We know sometimes there are problems but are sure that most of the time it works as we expect. However, TCP/IP is built on the assumption that the network is unreliable and even requires systems to throw away data to improve reliability. This comes as a surprise to most people. This will help you gain a better appreciation for the genius of the TCP/IP standard.

There is no exercise for this section.

There is no question for this section.

Additional Content (optional)

Watch a video by Tom Scott explaining the Two Generals' problem.

D: Internet Addresses

There are three key concepts you need to understand: (1) IP address, (2) domain name, and (3) port number. Knowing what each of these are, and how they work together to get packets of data to their destination, is critical for understanding and troubleshooting interfaces.

Exercise

You can see the process for associating an IP address to a domain name using the ping command. Ping asks your local Dynamic Name Server (DNS) to look up the IP address for a named site.

Windows Instructions:

  1. Open the Windows search box.
  2. Type CMD in the search bar and click Open.
  3. Type ping followed by a space and then an IP address or URL.
  4. Press Enter on your keyboard and wait for the ping to finish.

Mac Instructions:

  1. Open the Applications folder on your Mac.
  2. Open the Utilities folder.
  3. Open the Terminal app.
  4. Type ping followed by a space and then a website or IP address.
  5. Press Enter on your keyboard and wait for the ping results.

Please answer this question:

*Videos are password protected. Registered students will receive the password.