Chapter 9. Introduction to Networking

  • 9.1 Network Basics

    • 9.1.1 Network Protocols

      • 9.1.1.1 The Internet Protocol (IP)

      • 9.1.1.2 The Transport Level

  • 9.2 Remote Procedure Call Protocols

    • 9.2.1 Marshalling

    • 9.2.2 Reliable Semantics

  • 9.3 Conclusions

  • 9.4 Exercises

  • 9.5 References

Computer networks are essential components of modern computer systems. Though the architecture of networks and the protocols used for communication are not directly related to operating systems, we cover them for two reasons. The first is that distributed file systems, which are important components of operating systems, depend on them. Much of their design is governed by what standard network protocols do and do not provide. The second is that network protocols are usually implemented in the operating system. Doing this well presents a number of challenges to the operating-system designer.

We first look at network protocols, concentrating on the Internet's TCP/IP. We then look at remote procedure calls, a notion introduced in Chapter 4. Together these give us the foundations for the next chapter, on distributed file systems.

NETWORK BASICS

What exactly is a computer network? For our purposes, it's a way to interconnect computers so they can communicate data with one another. Examples range from a home network interconnecting two or three computers to the Internet, interconnecting most of the computers on earth (and perhaps beyond).

To better appreciate how networks work, let's look at their components. We say that two computers ...

Get Operating Systems in Depth now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.