Chapter 7. Networking

In this chapter, we go into detail about Linux networking. In modern environments, the network stack that Linux provides is an essential component. Without it, few things are possible. Whether you want to access an instance in your cloud provider, browse the web, or install a new app, you need connectivity, and you need a way to interact with it.

We’ll first have a look at common network terms, from the hardware level all the way up to user-facing components such as HTTP and SSH. We’ll also discuss the network stack, protocols, and interfaces. Specifically, we’ll spend time on the naming center piece of the web and the wider internet, the so-called Domain Name System (DNS). Interestingly, this system is found not only in wide-area deployments but is also a central component used for service discovery in container environments such as Kubernetes.

Next, we’ll look at application layer network protocols and tooling. This includes file sharing, the web, networked filesystems, and other methods to share data over the network.

In the last part of the chapter, we’ll review some advanced network topics, from geomapping to managing time over the network.

To set the expectations for the content in this chapter: you can spend a lot of time with the topic of Linux networking; in fact, entire books are dedicated to the topic. We’ll take a pragmatic stance here, jumping into hands-on topics from an end-user point of view. Admin topics around networking, such as configuration ...

Get Learning Modern Linux now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.