Introduction to Computer Networking: Protocols, Architectures, and Layers

Chapter 1: Introduction to Computer Networks

Protocol

A protocol defines the format and order of messages exchanged between communicating entities, as well as the actions taken upon message transmission or reception. Key internet protocols include TCP and IP, collectively known as TCP/IP.

Internet

The Internet connects millions of devices, including traditional computers and increasingly, non-traditional devices like smartphones and IoT devices. These devices, called hosts or end systems, communicate through a network of communication links and packet switches.

Network Edge

The network edge encompasses activities within end systems, which host applications like web browsers and email clients. Hosts can be categorized as clients (e.g., PCs, smartphones) or servers (e.g., machines storing and distributing web pages).

Access Networks

Access networks connect end systems to the first router (edge router) on the path to other end systems. Examples include DSL, cable, FTTH, dial-up, and satellite.

Home Internet Access Options

DSL and cable are prevalent broadband residential access types. DSL utilizes existing telephone infrastructure, while cable leverages cable television infrastructure (often hybrid fiber coax or HFC).

Physical Media

Physical media transmit bits as electromagnetic waves or optical pulses. They can be guided (e.g., fiber optic cable) or unguided (e.g., wireless LAN). Common types include twisted-pair copper wire, coaxial cable, and fiber optic cable.

Packet vs. Circuit Switching

Packet Switching: Data is broken into packets and transmitted independently. Packets may experience queuing delays and potential loss due to congestion.

Circuit Switching: Resources are reserved for the entire communication session, guaranteeing a dedicated path but potentially underutilizing resources.

Delay, Loss, and Throughput in Packet-Switched Networks

Key delays include nodal processing delay, queuing delay, transmission delay, and propagation delay. Packet loss can occur due to full queues. Performance is measured in terms of delay and probability of packet loss.

Models/Layers

The Internet protocol stack has five layers: physical, link, network, transport, and application. Each layer provides specific services to the layer above.

Internet Model

The Internet protocol suite is the model and set of protocols used on the Internet.

OSI Model

The OSI model has seven layers, with the presentation and session layers being additions to the five layers found in the Internet model.

Chapter 2: Network Application Architectures

Client-Server Architecture

Servers are always-on hosts with permanent IP addresses, often located in data centers. Clients communicate with servers and may have intermittent connections and dynamic IP addresses.

Peer-to-Peer (P2P) Architecture

No always-on server; arbitrary end systems communicate directly. Peers connect intermittently and have changing IP addresses.

Transport Services

Transport services provide data integrity, timing, throughput, and security.

TCP and UDP

TCP (Transmission Control Protocol): Provides reliable, connection-oriented transport with flow control and congestion control.

UDP (User Datagram Protocol): Provides unreliable, connectionless transport without guarantees for reliability, timing, or throughput.

Application Layer Protocols

Examples include HTTP (for the web), FTP (for file transfer), SMTP (for email), and DNS (for domain name resolution).

Peer-to-Peer Applications

Examples include file distribution (BitTorrent), streaming (KanKan), and VoIP (Skype).

Chapter 3: The Transport Layer

Overview

The transport layer provides logical communication between processes, relying on and enhancing network layer services.

Multiplexing and Demultiplexing

Multiplexing combines data from multiple sockets at the sender, while demultiplexing directs received segments to the correct socket at the receiver.

Principles of Reliable Data Transfer

Reliable data transfer protocols ensure data integrity, order, and no loss, even over unreliable channels.

TCP

TCP is a reliable, connection-oriented protocol offering in-order byte stream delivery, flow control, and congestion control.