WEEK 2 CS2005 Networks and Operating Systems: Application Layer
CS2005 Networks and Operating Systems Application Layer I
J.F Kurose and K.W. Ross ©1996-2016
Page 2: Session Objectives
Overview of the Internet and its components and services
Understanding of:
Main principles of network applications
Application architectures
Process communication
Transport services
Page 3: Internet Components View
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)
Page 4: Internet Components View (Continued)
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
Page 5: Internet Service View
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
Page 6: What is a Protocol?
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
Page 10: Protocol Stack
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
Page 12: Some Network Applications
Examples include:
E-mail
Web browsing
P2P file sharing
Text messaging
VoIP
Video conferencing
Multi-player games
Streaming video
Social networking
Search engines
Page 14: Application Architectures
Main Structures:
Client-server
Peer-to-peer (P2P)
Page 15: Client-Server Architecture
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
Page 16: P2P Architecture
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
Page 18: Sockets
Functionality:
Process sends/receives messages to/from its socket
Socket is analogous to a door for message transmission
Page 19: Addressing Processes
Message Reception:
Process must have an identifier (IP address + port number)
Example port numbers: HTTP server (80), mail server (25)
Page 20: Application-Layer Protocol Defines
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)
Page 21: Transport Service Needs
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
Page 22: Internet Transport Protocols
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
Page 23: Securing TCP
Encryption:
TLS/SSL provides encrypted TCP connections
Ensures data integrity and end-point authentication
Page 25: Reading Recommendations
Suggested Readings:
"What Is the Internet?"
"Protocol Layers and Their Service Models"
"Principles of Network Applications"
Page 26: Interesting Videos
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