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

Gen AI for Code Generation for Python (Coursera) Coursera
Edureka

Gen AI for Code Generation for Python (Coursera)

Welcome to the 'Gen AI for Code Generation for Python' course, where you'll embark on a journey to explore and develop your skills in the art of code generation with Generative AI. Throughout this short course, you will delve into various techniques for generating Python code effortlessly, ranging from simple scripts to complete end-to-end projects.

Aug 17th 2026
1 Week
Kali Linux (Coursera) Coursera
Board Infinity

Kali Linux (Coursera)

"Introduction to Kali Linux" is a meticulously designed course to guide beginners through the essentials of Kali Linux, a powerful tool for cybersecurity. Spanning two modules, the course begins with a comprehensive introduction to Kali Linux, its installation, navigation, and essential tools. It then advances into practical applications, covering network monitoring, ethical hacking principles, penetration testing, and vulnerability assessment.

Aug 17th 2026
2 Weeks
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Aug 10th 2026
4 Weeks
DDoS Attacks and Defenses (Coursera) Coursera
University of Colorado System

DDoS Attacks and Defenses (Coursera)

In this MOOC, you will learn the history of DDoS attacks and analyze new Mirai IoT Malware and perform source code analysis. you will be provided with a brief overview of DDoS Defense techniques. You learn an Autonomous Anti-DDoS Network called A2D2 for small/medium size organizations to deal with DDoS attacks. A2D2 uses Linux Firewall Rate limiting and Class Based Queueing, and subnet flood detection to handle various DDoS traffic types.

Aug 17th 2026
4 Weeks
Internet of Things: Communication Technologies (Coursera) Coursera
University of California, San Diego

Internet of Things: Communication Technologies (Coursera)

Have you wondered how “Things” talk to each other and the cloud? Do you understand the alternatives for conveying latency-sensitive real time data versus reliable signaling data? Building on the skills from the Sensing and Actuation course, we will explore protocols to exchange information between processors.

Aug 10th 2026
4 Weeks
Uso de bases de datos con Python (Coursera) Coursera
University of Michigan

Uso de bases de datos con Python (Coursera)

Este curso presentará a los estudiantes los conceptos básicos del lenguaje de consulta estructurado (Structured Query Language, SQL), así como el diseño básico de bases de datos para almacenar datos como parte de una iniciativa de varios pasos para recopilar, analizar y procesar datos. El curso utilizará SQLite3 como base de datos. También crearemos rastreadores web y procesos de visualización y recopilación de datos de varios pasos. Utilizaremos la biblioteca D3.js para realizar la visualización básica de datos.

Aug 17th 2026
5-12 Weeks
IoT Communications and Networks (Coursera) Coursera
Institut Mines-Telecom

IoT Communications and Networks (Coursera)

By presenting the building blocks of the IoT network architecture, this MOOC will help learners adapt to the fast changing communications and networking environment of IoT. The IoT world represents billions of sophisticated objects, such as sensors, actuators and meters, that are deployed nearly everywhere, in homes, hospitals, factories, cities, and are connected to the Internet. However, they come with limited capacity in terms of memory storage, computational power and energy; how can these objects then ensure network reliability and timely transmission?

Aug 17th 2026
4 Weeks
Core 2: OS, Software, Security and Operational Procedures (Coursera) Coursera
IBM

Core 2: OS, Software, Security and Operational Procedures (Coursera)

Are you interested in becoming a proficient and sought-after IT professional? Are you currently or do you plan to pursue a career in an IT support, network technician, or other IT-related role? This IBM course, designed for individuals with IT Fundamentals knowledge, is part of a series of courses that will help you prepare for the CompTIA Core 2 Certification exam. You will gain a solid foundation in operating systems, IT support best practices and procedures, and the skills necessary to excel in an IT role.

Aug 17th 2026
5-12 Weeks
Estructuras de datos de Python (Coursera) Coursera
University of Michigan

Estructuras de datos de Python (Coursera)

Este curso presentará las estructuras de datos básicas del lenguaje de programación Python. Veremos los conceptos básicos de la programación de procedimientos y exploraremos cómo podemos usar las estructuras de datos integrados de Python, como listas, diccionarios y tuplas, para realizar análisis de datos cada vez más complejos. Este curso abarcará los capítulos 6 a 10 del libro de texto “Python para todos”. Este curso cubre Python 3.

Aug 17th 2026
5-12 Weeks