Network Systems Foundations (Coursera)

Network Systems Foundations (Coursera)

Welcome! Throughout this course, Network Systems Foundations, you will delve into the fundamental layers of network communication. You will start with a thorough discussion of the Link Layer and its crucial role, moving on to the intricacies of Internet Protocol (IP) and router data planes, and then navigate through the complexities of the transport layer, application layer, and network security.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

With a practical focus, you'll write Python code to manage routing tables, analyze network traffic, simulate router functionalities, and create digital certificates for web servers. By the end of this course, you will have a well-rounded understanding of networking principles, from data transmission and routing to application protocols and security, and will be equipped with practical skills to navigate the ever-evolving landscape of network technology.
By completing this course, learners will be able to:

  1. Describe the layers in depth and how they relate to one another
  2. Analyze traffic through python programming
  3. Design a simplified routing protocol that has similar features as to what powers the Internet
  4. Create a client and server with socket programming
  5. Generate certificates for TLS which powers the security in https

What you'll learn

  • Describe networking layers in depth and how they relate to one another.
  • Analyze traffic through python programming.
  • Design a simplified routing protocol that has similar features as to what powers the Internet.
  • Develop a client and server with socket programming.

Syllabus

Link Layer
Welcome to Network Systems Foundations, over the next five weeks you'll explore topics related to network systems. This will center on the layered design of networks, and cover the link layer (Ethernet), network layer (IP), transport layer (TCP, UDP), and application layer (HTTP, gRPC). With those as a foundation, you will learn about network security problems and how current solutions work at different layers. We'll start the course by understanding the Link Layer, comprehending its critical role, and exploring why it's vital in the realm of network communication. You'll explore the intriguing behavior of network switches, investigating how they react when receiving frames with various destination MAC addresses. You'll learn to distinguish between the characteristics of different channel partitioning methods, offering valuable insights into network efficiency. You'll explore the Ethernet Frame Check Sequence (FCS) field, uncovering its role and significance in data integrity. Finally, you'll have the opportunity to put your knowledge to the test by designing and developing Python code that can skillfully manage route announcements and withdrawals, ensuring the efficient maintenance of a routing table.

Network Layer
This week, you will explore the network layer, which is responsible for routing packets between different networks and deals with logical addressing, routing, and forwarding. Throughout the week, you'll learn about the intricacies of the Internet Protocol (IP) and its pivotal role in orchestrating the efficient routing of data. Then, you will explore the intricate operations of router data planes and the concept of routing, focusing on the distinctions between Routing Link State Protocol and Routing Path Vector Protocol. You will then turn your attention to troubleshooting techniques for resolving network layer issues. At the end of the week, you will be tasked with the development of a Python program that simulates the functionalities of a simplified router akin to those employed in the Border Gateway Protocol (BGP).

Transport Layer
This week, you will explore the transport layer, which ensures end-to-end communication, error detection, and data flow control, and protocols like TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) work at this layer. You'll begin the week with an overview of the transport layer and its relationship with the other layers. Then, you learn about multiplexing and how to efficiently combine multiple data streams into a single channel. Then the TCP protocol will be explored, beginning with the establishment of connections and extending to the nuances of congestion control. The concludes with a programming assignment in Python, where you will analyze a pcap file containing a single TCP flow to determine the maximum bytes in flight—a hands-on exploration of the week's concepts.

Application Layer
This week, you will explore the application layer, where application-specific protocols and services reside. It includes protocols for services like email (e.g., SMTP), web browsing (e.g., HTTP), and file transfer (e.g., FTP). You'll begin the week with an overview of the application layer and its relationship with the other layers. Then, you'll explore the Domain Name System (DNS), unraveling its role in translating domain names to IP addresses. A vital aspect of network application development, socket programming, will be discussed, equipping you with the knowledge to facilitate network communication. The week further delves into application protocols, specifically HTTP and gRPC, detailing their structures and functions. This week, you'll have two programming assignments: one to explore gRPC, and the other, a graded assignment, to create a client-server using socket programming for RPC functionality.

Network Security
In this final week, you will delve into network security. The week begins with the basics of network security, then focuses on the intricacies of IPsec, securing the network data plane, and the role of RPKI in fortifying the network control plane. You will examine the bedrock of secure communication—TLS/HTTPS, which extends its protective embrace to the transport and application layers. The week will end with a programming assignment where you will create a digital certificate for a web server.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

The Raspberry Pi Platform and Python Programming for the Raspberry Pi (Coursera) Coursera
University of California, Irvine

The Raspberry Pi Platform and Python Programming for the Raspberry Pi (Coursera)

The Raspberry Pi is a small, affordable single-board computer that you will use to design and develop fun and practical IoT devices while learning programming and computer hardware. In addition, you will learn how to set up up the Raspberry Pi environment, get a Linux operating system running, and write and execute some basic Python code on the Raspberry Pi. You will also learn how to use Python-based IDE (integrated development environments) for the Raspberry Pi and how to trace and debug Python code on the device.

Jun 22nd 2026
4 Weeks
Career 911: Your Future Job in Medicine and Healthcare (Coursera) Coursera
Northwestern University

Career 911: Your Future Job in Medicine and Healthcare (Coursera)

This course aims to help high school students, recent graduates, and those considering career transitions explore health care career options and learn strategies for entry into the health care workforce and health related fields. There are lots of amazing job opportunities in medicine and healthcare! Join us, as we share the strategies and secrets for getting those jobs.

Jun 22nd 2026
5-12 Weeks
Using Python to Interact with the Operating System (Coursera) Coursera
Google

Using Python to Interact with the Operating System (Coursera)

By the end of this course, you’ll be able to manipulate files and processes on your computer’s operating system. You’ll also have learned about regular expressions -- a very powerful tool for processing text files -- and you’ll get practice using the Linux command line on a virtual machine. And, this might feel like a stretch right now, but you’ll also write a program that processes a bunch of errors in an actual log file and then generates a summary file. That’s a super useful skill for IT Specialists to know.

Jun 23rd 2026
5-12 Weeks
Computational Neuroscience (Coursera) Coursera
University of Washington

Computational Neuroscience (Coursera)

This course provides an introduction to basic computational methods for understanding what nervous systems do and for determining how they function. We will explore the computational principles governing various aspects of vision, sensory-motor control, learning, and memory. Specific topics that will be covered include representation of information by spiking neurons, processing of information in neural networks, and algorithms for adaptation and learning.

Jun 22nd 2026
5-12 Weeks
Business English: Networking (Coursera) Coursera
University of Washington

Business English: Networking (Coursera)

This course begins with a welcome message and an overview of the Specialization. After this introduction, you will be asked to take a proficiency test to see if this course is right for you. During the course, you will begin learning vocabulary and customs related to socializing and networking in English. The goal is to enable you to interact with business contacts in person, on the phone and over email in a professional way.

Jun 22nd 2026
5-12 Weeks
Interfacing with the Raspberry Pi (Coursera) Coursera
University of California, Irvine

Interfacing with the Raspberry Pi (Coursera)

The Raspberry Pi uses a variety of input/output devices based on protocols such as HDMI, USB, and Ethernet to communicate with the outside world. In this class you will learn how to use these protocols with other external devices (sensors, motors, GPS, orientation, LCD screens etc.) to get your IoT device to interact with the real world.

Jun 22nd 2026
4 Weeks
AWS Cloud Technical Essentials (Coursera) Coursera
AWS

AWS Cloud Technical Essentials (Coursera)

Are you in a technical role and want to learn the fundamentals of AWS? Do you aspire to have a job or career as a cloud developer, architect, or in an operations role? If so, AWS Cloud Technical Essentials is an ideal way to start. This course was designed for those at the beginning of their cloud-learning journey - no prior knowledge of cloud computing or AWS products and services required!

Jun 23rd 2026
5-12 Weeks
Introduction to Data Science in Python (Coursera) Coursera
University of Michigan

Introduction to Data Science in Python (Coursera)

This course will introduce the learner to the basics of the python programming environment, including fundamental python programming techniques such as lambdas, reading and manipulating csv files, and the numpy library. The course will introduce data manipulation and cleaning techniques using the popular python pandas data science library and introduce the abstraction of the Series and DataFrame as the central data structures for data analysis, along with tutorials on how to use functions such as groupby, merge, and pivot tables effectively. By the end of this course, students will be able to take tabular data, clean it, manipulate it, and run basic inferential statistical analyses.

Jun 22nd 2026
4 Weeks
Neural Networks and Deep Learning (Coursera) Coursera
DeepLearning.AI

Neural Networks and Deep Learning (Coursera)

If you want to break into cutting-edge AI, this course will help you do so. Deep learning engineers are highly sought after, and mastering deep learning will give you numerous new career opportunities. Deep learning is also a new "superpower" that will let you build AI systems that just weren't possible a few years ago. In this course, you will learn the foundations of deep learning.

Jun 22nd 2026
4 Weeks
Hypothesis Testing with Python and Excel (Coursera) Coursera
Tufts University

Hypothesis Testing with Python and Excel (Coursera)

In today's job market, leaders need to understand the fundamentals of data to be competitive. An essential procedure to understand business and analytics is hypothesis testing. This short course, designed by Tufts University expert faculty, will teach the fundamentals of hypothesis testing of a population mean and a population proportion, using Excel and Python for calculations. You'll also discover the central limit theorem, which is essential for hypothesis testing. To conclude the course, you will apply your newfound skills by creating a plan for an experiment in your own workplace that uses hypothesis testing.

Jun 23rd 2026
1 Week
Introduction to the Internet of Things and Embedded Systems (Coursera) Coursera
University of California, Irvine

Introduction to the Internet of Things and Embedded Systems (Coursera)

The explosive growth of the “Internet of Things” is changing our world and the rapid drop in price for typical IoT components is allowing people to innovate new designs and products at home. In this first class in the specialization you will learn the importance of IoT in society, the current components of typical IoT devices and trends for the future. IoT design considerations, constraints and interfacing between the physical world and your device will also be covered. You will also learn how to make design trade-offs between hardware and software. We'll also cover key components of networking to ensure that students understand how to connect their device to the Internet.

Jun 22nd 2026
4 Weeks