Introduction to Application Layer

Understanding Networked Applications

Wednesday, January 14, 2026

Lesson Objectives

  • Explain the role of the application layer and how it interfaces with the transport layer via sockets
  • Differentiate network-application architectures and analyze tradeoffs
  • Describe what constitutes an application-layer protocol
  • Explain basic security considerations at the application layer
  • Write a minimal application using Python socket library

Preparation

\(2.1\). Principles of Network Applications

Application Layer

  • Enables networked applications to communicate!
  • Defines protocols and interfaces for communication between applications over a network
  • What is an application? Where does it run?
  • Why network applications?
  • Is web browser an application?
  • What about a web server? Does it transmit or receive data?

Processes and Sockets

  • Process: program running within a host
  • Socket: interface between application layer and transport layer
  • Source port number used in the socket identifies the application instance that sent the message
  • Transport layer provides “sockets” to send and receive messages
  • Application layer passes on entire messages
  • Why do we care about processes?
  • What does a socket provide us?
  • How many sockets can a process own?
  • How many processes can own a single network socket?

Client-Server vs P2P vs Hybrid

Server

  • Always-on host
  • Usually has a static IP address
  • Data centers, cloud providers
  • Provides services to clients

Client

  • Communicates with server
  • May be intermittently connected
  • May have dynamic IP address
  • Initiates communication with server
  • P2P: both client and server
  • Hybrid: combination of client-server and P2P, e.g., BitTorrent

What Is an Application-Layer Protocol?

  • You are designing a new tactical messaging app. How does it work?
  • Types: What types of messages are needed?
  • Syntax: How do you format messages?
  • Semantics: What do the messages mean?
  • Rules: What are the rules for exchanging messages?

App Requirements vs Transport Services

  • Web browsing
  • File transfer
  • Email
  • Streaming video
  • Real-time voice/video
  • Online multiplayer gaming
  • DNS lookup
  • IoT telemetry / sensors
  • Remote Shell (SSH)
  • Latency
  • Throughput
  • Reliability
  • Jitter
  • Security

Key Takeaways

  • Application layer enables networked applications to communicate by defining protocols and interfaces.
  • Processes use sockets to send/receive messages via transport layer services (TCP/UDP).
  • Client-server, P2P, and hybrid architectures have different tradeoffs in scalability, fault tolerance, and complexity.
  • Application-layer protocols define message types, syntax, semantics, and rules for communication.
  • Application requirements (e.g., web browsing, streaming) map to transport services (latency, throughput, reliability).
  • Basic security considerations at the application layer include confidentiality, integrity, and authentication.

Now

  • Work on the lab
  • Start problem set 1 and ask questions!

Next Lesson

  • \(2.2\). The Web and HTTP