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 20 hours.
Upon successful completion of this unit, you will be able to:
- classify network application layer protocols;
- use the DNS protocol to map hostnames to IP addresses;
- compare and contrast SMTP with POP3 protocols;
- improve system reliability by using client-server and peer-to-peer models;
- build web applications using the HTTP protocol;
- describe SNMP protocols;
- describe SSH-based applications; and
- define socket programming and explain its role in application processing.
3.1: Principles
Read the introduction to Section 3.1, "Principles", on pages 27–30. Stop at Section 3.1.1.
As you read, 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".
Read this article. As you read, note that most languages/platforms provide libraries that convert from network order to host order in the event that the host does not agree.
3.1.1: Peer-to-Peer Model
Read Section 3.1.1, "The Peer-to-Peer Model", on page 30. 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.1.2: Transport Services
Read Section 3.1.2, "The Transport Services", on pages 30–31.
This section discusses how networked applications are built on top of the transport service. There are two main types of transport services: connectionless and connection-oriented. What are the similarities and differences between the two types of services?
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)
Read section 3.2.1, "The Domain Name System", on pages 32–37.
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)
Read Section 3.2.2, "Electronic mail", on pages 37–46. 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 Section 3.2.3, "HyperText Transfer Protocol", on pages 46–55. 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: Summary
Read Section 3.4, "Summary", on page 61.
This unit discusses the evolution of the Internet from IPv4 to IPv6 in application processing. Why was the change from 32-bit IPv4 to128-bit IPv6 critical for the application layer?
3.5: Practice Exercises
Read from Section 3.5, "Exercises", to the end of Chapter 3, on pages 61–65. 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.
Follow these steps in order to control your computer from a mobile device.
Follow these steps to control your computer from a mobile device via Virtual Network Computing. Virtual Network Computing is a graphical desktop sharing system. It uses Remote Frame Butter Protocol to control another computer remotely. Even if you choose not to download the above apps, reading this article is still valuable as it provides an explanation of the difference between RDP and VNC.
Unit 3 Assessment
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.