Unit 3: The Application Layer
In this unit, we will examine the application layer of the TCP/IP stack. The application layer is where all network processes and applications run. We will explore five of this layer's prominent applications: the Domain Name System (DNS), e-mail protocols, the World Wide Web's Hypertext Transfer Protocol (HTTP), Simple Network Management Protocol (SNMP), and Secure Shell (SSH). Finally, we will discuss socket programming and how it can be used to develop network applications.
Completing this unit should take you approximately 6 hours.
Upon successful completion of this unit, you will be able to:
- use the Domain Name System (DNS) protocol to map hostnames to IP addresses;
- compare and contrast the Simple Mail Transfer Protocol (SMTP), Post Office Protocol (POP) and Internet Message Access (IMAP) protocols to send and retrieve email;
- describe the use of Hypertext Transfer Protocol (HTTP) for the generation and management of web based applications;
- use the telnet and File Transfer Protocol (FTP) applications to open remote connections and transfer files between hosts in a network;
- improve system reliability by using client-server and peer-to-peer models;
- illustrate the use of Session Initiation Protocol (SIP) to initiate and control multimedia sessions;
- describe Secure Shell (SSH)-based applications;
- describe and use the Simple Network Management Protocol (SNMP); and
- explain the role of socket programming in application processing.
3.1: Principles of the Application Layer and the Peer-to-Peer Model
As you read this section, consider these questions: What is the client-server model? What is the function of the client? Where does the server reside?
Note: On page 28, the textbook lists the binary code of A as "A : 1000011b". This is incorrect. The binary code for A should be: "A : 1000001b".
This section introduces the peer-to-peer model, which will be discussed further.
As you read, try to answer the following question: how does the peer-to-peer model change or improve the client-server model discussed in the previous section?
3.2: Application-Level Protocols
There are a number of application protocols available, but only three have been included in your textbook: Domain Name System (DNS), Electronic Mail (SMTP and POP3), and HyperText Transfer Protocol (HTTP). The DNS protocol allows you to easily reference resources outside of your network. E-mail protocols allow you to reach out and communicate with friends and family, and HTTP is the popular protocol for accessing webpages on other systems.
In addition to the three application protocols covered in your textbook you will also take a look at the SNMP and SSH protocols. These two protocols are being used more and more in Internet applications. In particular, the SNMP protocol allows the administrators to manage a large network in a more efficient way, and the SSH protocol allows us to design virtual private networks over public networks.
As you read through these subunits, think about your own social networking activities. How does each of these protocols allow you to communicate using a variety of media, equipment, and file types/software?
3.2.1: Domain Name System (DNS)
In order to access a website, you need to know the website's IP address. IP addresses can be somewhat cumbersome and difficult to remember, since they are simply four numbers separated by periods (e.g., 120.755.3.9). The Domain Name System (DNS) is the application that has solved this problem by allowing us to use "human readable" names for websites. What is the domain name for your home page on your work, school, or home LAN? What is the IP address for each one? Which would you rather use, the IP address or the domain name?
Read this article. The Domain Name System is a networking protocol. It converts domain names to the IP addresses, which are needed to locate and identify computer services and devices with the underlying network protocols.
3.2.2: Electronic Mail (SMTP and POP3)
In this section you will look at the e-mail application and explore two of the more popular protocols: SMTP and POP3. How does e-mail work? How long does it take for a message to reach its destination? Then what happens?
3.2.3: HyperText Transfer Protocol (HTTP)
Read this section. HTTP is a text-based protocol, in which the client sends a request and the server returns a response. In this section link across the World Wide Web via your textbook to see how this is accomplished.
3.2.4: Simple Network Management Protocol (SNMP)
Read this article. As you read, pay special attention to the definitions of managed devices, agent, and network management system (NMS). At the same time, try to explain what kind of message flows are defined in NMS.
3.2.5: The Secure Shell (SSH) Protocol Architecture
Read this article. As you read, pay attention to how SSH protocol is defined and the difference between FTP and SSH-based Secure FTP.
3.3: Writing Simple Networked Applications
Read this tutorial on how to make a simple network application program with Python socket. It is recommended that you download and install Python from the Python official website (http://www.python.org/) and run the sample program.
3.4: Practice Exercises
These exercises further expand the key principles in this chapter. If you are a computer professional, you will enjoy the challenges and higher-level discussions in this section. For the novice, just wander through the presentations and spend more time on the topics that are meaningful to you.
It will take a significant amount of time for you to finish these exercises. We recommend that you schedule 4 hours and attempt a few challenging exercises.
Unit 3 Assessment
- Receive a grade
Take this assessment to see how well you understood this unit.
- This assessment does not count towards your grade. It is just for practice!
- You will see the correct answers when you submit your answers. Use this to help you study for the final exam!
- You can take this assessment as many times as you want, whenever you want.