COP4610: Operating Systems & Concurrent Programming up ↑

OS Support for Networking


Spectrum of Distributed Capabilities

  1. Communications architecture (e.g., TCP/IP)
    running on individual OS's supports communication between systems
  2. Network operating system
    individual OS's on each computer coordinated to provide remote services (e.g., file and printer sharing), supported by a common OS "adjunct"; individual systems are still visible
  3. Distributed operating system
    single integrated OS manages collection of networked resources so as to appear to be a single system


Example: File Transfer (a simplified architecture)

figure 1

TCP/IP Protocol Architecture

Physical Layer

Network Access Layer

Internet Layer

Transport Layer

Application Layer


TCP/IP Concepts

figure 4

TCP Header

figure 2a

UDP Header

figure 2b

IPv4 Header

figure 3a

IPv6 Header

figure 3b


DS = Differentiated services field (formerly Type of Service)

ECN = Explicit congestion notification field (formerly Traffic Class)

This is only the first header. Other information (including some of what is contained in the IPv4 header) may be contained in additional (chained) headers.

Items in the Header

Protocols and Headers (packet nesting)

figure 5x

Protocol Data Units (PDUs) in the TCP/IP Architecture

figure 5

TCP/IP Applications (examples)

Most protocols are standardized via RFC's (Requests for Comment) by the IETF (Internet Engineering Task Force). They starts out as requests for comment (proposals) and some are eventually widely enough aceepted that they becomes standards.


Socket Setup

TCP Socket Usage: Server Side

TCP Socket Usage: Client Side

Socket System Calls for Connection-Oriented Protocol

figure 6

Linux Kernel Components for TCP/IP Processing

figure 7

Example: Trivial File Transfer Protocol (TFTP)

TFTP Packet Formats

figure 9

TFTP Error Codes

0Not defined, see error message (if any)
1File not found
2Access violation
3Disk full or allocation exceeded
4Illegal TFTP operation
5Unknown transfer ID
6File already exists
7No such user

A TFTP Packet in Context

figure 10

TFTP Operation

figure 11
T. P. Baker. ($Id)