We may earn an affiliate commission when you visit our partners.
Course image
Course image
Coursera logo

Network Principles in Practice

Linux Networking

Eric Keller

Welcome! In this course, titled "Network Principles in Practice: Linux Networking," we delve into the dynamic domain of Linux Networking, featuring a robust set of features essential for contemporary networked systems. Departing from traditional approaches, our emphasis is on practical application over foundational knowledge. Throughout the course, you'll explore the integration of concepts into Linux, gaining hands-on experience in architecting and implementing complex networks and systems. From understanding the Linux kernel's role to building gateways and navigating virtual networking and container orchestration with Kubernetes, each week offers valuable insights and practical skills. Join us on this journey where understanding meets real-world application, providing a comprehensive exploration of network systems.

Read more

Welcome! In this course, titled "Network Principles in Practice: Linux Networking," we delve into the dynamic domain of Linux Networking, featuring a robust set of features essential for contemporary networked systems. Departing from traditional approaches, our emphasis is on practical application over foundational knowledge. Throughout the course, you'll explore the integration of concepts into Linux, gaining hands-on experience in architecting and implementing complex networks and systems. From understanding the Linux kernel's role to building gateways and navigating virtual networking and container orchestration with Kubernetes, each week offers valuable insights and practical skills. Join us on this journey where understanding meets real-world application, providing a comprehensive exploration of network systems.

This course can be taken for academic credit as part of CU Boulder’s Masters of Science in Computer Science (MS-CS) degrees offered on the Coursera platform. This fully accredited graduate degree offer targeted courses, short 8-week sessions, and pay-as-you-go tuition. Admission is based on performance in three preliminary courses, not academic history. CU degrees on Coursera are ideal for recent graduates or working professionals. Learn more:

MS in Computer Science: https://coursera.org/degrees/ms-computer-science-boulder

Course logo by Jordan Harrison on Unsplash.

Enroll now

What's inside

Syllabus

Introduction to Linux Networking
In this course, we delve into Linux Networking, a domain with a robust set of features crucial in contemporary networked systems. The course is titled "Network Principles in Practice" to emphasize a departure from traditional approaches. Unlike typical network systems courses that focus on foundational knowledge—protocols and concepts—our emphasis is on reinforcing these concepts. We explore how they are integrated into a widely adopted system like Linux. The goal is not just understanding but also practical application, providing hands-on experience in architecting and implementing complex networks and network systems. We'll start our journey into Linux networking be learning how the Linux kernel serves as the data plane and how control and management plane software interacts with it. This week will also review the lab environment and introduce some useful tools for troubleshooting. We’ll end by looking at Linux’s support for layer 2 and set up some network devices.
Read more
IP Layer with Linux Networking
This week you will dive into IP networking within the Linux environment. We kick off by exploring the utilities designed for managing forwarding tables in Linux. From there, we progress to the intricacies of running routing software, illustrating how to transform Linux into a fully functional open-source router. The week concludes with a comprehensive discussion on resources, paving the way for more extensive and realistic experiments in Linux routing.
Creating a Gateway with Linux
This week we expand the scope and see how to build a gateway using the capabilities inherent in Linux. Here, a gateway functions at the network's edge, executing tasks such as filtering, address translation, load balancing, and enforcement of quality of service policies. We’ll learn some background for each topic, followed by an exploration of relevant Linux utilities that can achieve that functionality.
Virtual Networking in Linux
This week, we examine Linux's robust support for Virtual Networking, aligning with the trend of containerization. We begin by unraveling the core construct in Linux—the network namespace—and subsequently explore tools for effective network namespace management. Practical application of earlier concepts will illustrate the networking of containerized applications. Furthermore, we will delve into the intricacies of Docker networking, providing a comprehensive understanding of its functionality.
Kubernetes Networking with Linux
In this final week, our focus broadens to encompass a comprehensive container orchestration system, namely Kubernetes. We will begin with an overview to ensure everyone has a foundational understanding of using Kubernetes. Then, we delve into the architecture of Kubernetes, both at a holistic level and with a detailed focus on networking intricacies. The week concludes with a hands-on approach, as we embark on creating our own network plugin for Kubernetes.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches fundamentals in the Linux Networking domain, which is foundational in network systems and will serve beginner learners well
Provides practical exercises to accompany concepts, such as architecting complex networks and network systems
Prepares learners to take the CU Boulder’s Masters of Science in Computer Science (MS-CS) degrees

Save this course

Save Network Principles in Practice: Linux Networking to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Network Principles in Practice: Linux Networking. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Network Principles in Practice: Linux Networking will develop knowledge and skills that may be useful to these careers:
Network Engineer
Network Engineers plan, build, and maintain computer networks. You might design a network for a business, government agency, or other organization. As a Network Engineer, you would work with Linux as much as Windows because Linux is the operating system of choice for enterprise network equipment.
Network Administrator
Network Administrators keep computer networks up and running smoothly for businesses and organizations. You would be responsible for monitoring, managing, and maintaining all aspects of the network, including servers, routers, and switches.
Cloud Engineer
Cloud Engineers are responsible for the design, implementation, and maintenance of cloud computing systems. You would ensure that the cloud system is secure and that data is protected.
DevOps Engineer
DevOps Engineers work to bridge the gap between software developers and IT operations. You would be responsible for automating the software development and deployment process.
Software Engineer
Software Engineers design, develop, and maintain software systems. You could work on a variety of projects, from operating systems to mobile apps.
Systems Analyst
Systems Analysts work with businesses to identify and solve problems. You would be responsible for analyzing business processes and developing solutions to improve efficiency.
IT Manager
IT Managers are responsible for planning, implementing, and managing IT systems for businesses and organizations.
Security Analyst
Security Analysts are responsible for protecting computer networks and systems from unauthorized access and malicious attacks.
Database Administrator
Database Administrators are responsible for managing and maintaining databases.
Web Developer
Web Developers design and develop websites and web applications.
Computer Scientist
Computer Scientists are responsible for the theory and design of computer systems.
Electrical Engineer
Electrical Engineers design, develop, and maintain electrical systems.
Mechanical Engineer
Mechanical Engineers design, develop, and maintain mechanical systems.
Civil Engineer
Civil Engineers design, build, and maintain civil infrastructure, such as roads, bridges, and buildings.
Chemical Engineer
Chemical Engineers design, build, and maintain chemical plants and processes.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Network Principles in Practice: Linux Networking.
Provides a comprehensive guide to Kubernetes, the leading container orchestration system. It covers everything from installation and configuration to advanced topics like networking and security.
Is widely used and recommended as a general purpose reference book, as well as a preparatory guide for the Cisco Certified Network Associate (CCNA) exam.
This is the definitive guide to TCP/IP, the foundational protocol used in Linux networking. While this book is quite large, it will give you an in-depth understanding of TCP/IP.
Covers the fundamentals of Linux networking, including essential topics like TCP/IP, routing, and network configuration. The 4th edition is recommended, however, the 3rd edition (also available on Safari Online) is quite useful as well.
Covers the practical aspects of system and network administration, including topics such as capacity planning, performance tuning, and incident response.
Provides a comprehensive guide to Unix network programming, including topics such as sockets, TCP/IP, and network security.
Provides a high-level overview of network architecture, including topics such as network design, traffic engineering, and security.
Might be helpful for those building data-intensive applications on top of the networking solutions built in Linux.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Network Principles in Practice: Linux Networking.
Network Principles in Practice: Cloud Networking
Most relevant
Advanced Data Structures, RSA and Quantum Algorithms
Most relevant
Data Mining Pipeline
Most relevant
Data Mining Methods
Most relevant
Dynamic Programming, Greedy Algorithms
Most relevant
Applications of Software Architecture for Big Data
Most relevant
Data Mining Project
Most relevant
Fundamentals of Software Architecture for Big Data
Most relevant
When to Regulate? The Digital Divide and Net Neutrality
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser