J.F Kurose and K.W. Ross ©1996-2016
Overview of the Internet and its components and services
Understanding of:
Main principles of network applications
Application architectures
Process communication
Transport services
Connected Devices:
Billions of computing devices (hosts = end systems)
Running network applications
Communication Links:
Types: fiber, copper, radio, satellite
Transmission rate: bandwidth
Packet Switches:
Forward packets (chunks of data)
Types: routers and switches (wired and wireless)
Internet Structure:
"Network of networks" (interconnected ISPs)
Protocols:
Control sending and receiving of messages (e.g., TCP, IP, HTTP, SMTP, 802.11)
Internet Standards:
RFC: Request for Comments
IETF: Internet Engineering Task Force
Infrastructure Services:
Provides services to applications (Web, VoIP, email, etc.)
Programming Interface:
Hooks for sending and receiving app programs to connect to the Internet
Service Options:
Analogous to postal service
Human Protocols:
Examples: asking for time, introductions
Network Protocols:
Govern all communication activity in the Internet
Define format, order of messages, and actions taken on message transmission
Internet Protocol Stack:
Application: supports network applications (FTP, SMTP, HTTP)
Transport: process-to-process data transfer (TCP, UDP)
Network: routing of datagrams (IP, routing protocols)
Link: data transfer between neighboring network elements (Ethernet, WiFi)
Physical: bits "on the wire"
ISO/OSI Reference Model:
Presentation: data interpretation (encryption, compression)
Session: synchronization, checkpointing, recovery
Examples include:
Web browsing
P2P file sharing
Text messaging
VoIP
Video conferencing
Multi-player games
Streaming video
Social networking
Search engines
Main Structures:
Client-server
Peer-to-peer (P2P)
Server:
Always-on host with a permanent IP address
Data centers for scaling
Clients:
Communicate with the server
May be intermittently connected with dynamic IP addresses
Do not communicate directly with each other
Peer-to-Peer:
No always-on server
Arbitrary end systems communicate directly
Self-scalability: new peers add service capacity and demand
Peers are intermittently connected and change IP addresses
Functionality:
Process sends/receives messages to/from its socket
Socket is analogous to a door for message transmission
Message Reception:
Process must have an identifier (IP address + port number)
Example port numbers: HTTP server (80), mail server (25)
Message Exchange:
Types of messages (request, response)
Message syntax and semantics
Rules for sending and responding to messages
Protocol Types:
Open protocols (e.g., HTTP, SMTP)
Proprietary protocols (e.g., Skype)
Data Integrity:
Some apps require reliable data transfer
Timing:
Low delay needed for effective applications (e.g., telephony)
Throughput:
Minimum throughput required for multimedia applications
Security:
Encryption and data integrity
TCP Service:
Reliable transport, flow control, congestion control
Connection-oriented
UDP Service:
Unreliable data transfer, no flow control or connection setup
Useful for applications that can tolerate some data loss
Encryption:
TLS/SSL provides encrypted TCP connections
Ensures data integrity and end-point authentication
Suggested Readings:
"What Is the Internet?"
"Protocol Layers and Their Service Models"
"Principles of Network Applications"
Links to videos on:
Data transmission
Connecting hosts and networks
Understanding the Internet
Cybersecurity
This note summarizes the key concepts and details from the provided transcript on networks and