Application Layer

2.1 Principles of Network Applications

Home
Introduction
2.1 Principles of Network Applications
2.1.1 Network Application Architectures
2.1.2 Processes Communcating
2.1.3 Application-Layer Protocols
2.1.4 What Services Does an Application Need?
2.1.5 Services Provided by the Internet Transport Protocols
2.2 The Web and HTTP
2.2.1Overview of HTTP
2.2.2 Nonpersistent and Persistent Connections
2.2.3 HTTP Message Format
2.2.4 User-Server Ineraction: Cookies
2.2.5 HTTP Content
2.2.6 Web Caching
2.2.7 The Conditional GET
2.3 File Transfer: FTP
2.3.1 FTP Commands and Replies
2.4 Electronic Mail in the Internet
2.4.1 STMP
2.4.2 Comparison with HTTP
2.4.3 Mail Message Formats and MIME
2.4.4 Mail Access Protocols
2.5 DNS--The Internet's Directory Service
2.5.1 Services Provided by DNS
2.5.2 Overview of How DNS Works
2.5.3 DNS Records and Messages
2.6 P2P File Sharing
2.7 Socket Programming with TCP
2.7.1 Socket Programming with TCP
2.7.2 An Example Client/Server Application in Java
2.8 Socket Programming with UDP

Principles of Network Applications

      • Electric Mail
      • The Web
      • Instant messaging
      • Login into a remote computer
      • P2P file sharing
      • File transfer between two accounts on two computers
      • Multi-user networked games
      • Streaming stored video clips
      • Internet phone
      • Real-time video conferencing

At the core of network application development is writing programs that run on different end systems and communicate with each other over the network.  In the Web application there are two distinct programs that communicate with each other: the browser program running in the user's host; and the Web server prgram running in the Web server host.
 
When developing your new application, you need to write software that will run on multiple machines.  Importantly, you do not need ot write software that runs on network-core devices, such as routers or Ethernet switches.
 
Network-core devices do not function at the application layer; they function at lower layers, specifically at the network layer and below.

2.1.1 Network Applications Architectures
2.1.2 Processes Communicating
2.1.3 Application-Layer Protocols
2.1.4 What Services Does an Application Need?
2.1.5 Services Provided by the Internet Transport Protocols
2.1.6 Network Applications Covered in This Book