TCP/IP Application Layer
Real CCIE Lab Workbook
CCIE Written Exam Dumps
CCNA Exam Dumps
CCNP Exam Dumps
CISCO Specialist Exam Dumps
CISCO Online and Proctored Exam Dumps
CCNA Study Guide
CCNP Study Guide
CCNA Lab Guide
CCNP Lab Guide
VMware Exam Dumps
CompTIA Exam Dumps
Amazon Exam Dumps
Check Point Exam Dumps
Citrix Exam Dumps
PMI Exam Dumps
Google Exam Dumps
Microsoft Exam Dumps
TCP/IP application layer protocols provide services to the application software running on a
computer. The application layer does not define the application itself, but it defines services
that applications need. For example, application protocol HTTP defines how web browsers
can pull the contents of a web page from a web server. In short, the application layer provides
an interface between software running on a computer and the network itself.
Arguably, the most popular TCP/IP application today is the web browser. Many major
software vendors either have already changed or are changing their application software to
support access from a web browser. And thankfully, using a web browser is easy: You start
a web browser on your computer and select a website by typing the name of the website,
and the web page appears.
What really happens to allow that web page to appear on your web browser?
Imagine that Bob opens his browser. His browser has been configured to automatically ask for
web server Larry’s default web page, or home page. The general logic looks like Figure 1-5.
Figure 1-5 Basic Application Logic to Get a Web Page
So, what really happened? Bob’s initial request actually asks Larry to send his home page
back to Bob. Larry’s web server software has been configured to know that the default web
page is contained in a file called home.htm. Bob receives the file from Larry and displays
the contents of the file in Bob’s web browser window.
HTTP Protocol Mechanisms
Taking a closer look, this example shows how applications on each endpoint computer—
specifically, the web browser application and web server application—use a TCP/IP application
layer protocol. To make the request for a web page and return the contents of the web
page, the applications use the Hypertext Transfer Protocol (HTTP).
HTTP did not exist until Tim Berners-Lee created the first web browser and web server in
the early 1990s. Berners-Lee gave HTTP functionality to ask for the contents of web pages,
specifically by giving the web browser the ability to request files from the server and giving
the server a way to return the content of those files. The overall logic matches what was
shown in Figure 1-5; Figure 1-6 shows the same idea, but with details specific to HTTP.
NOTE The full version of most web addresses—also called Uniform Resource Locators
(URL) or Universal Resource Identifiers (URI)—begins with the letters http, which means
that HTTP is used to transfer the web pages.
Figure 1-6 HTTP GET Request , HTTP Reply, and One Data-Only Message
To get the web page from Larry, at Step 1, Bob sends a message with an HTTP header.
Generally, protocols use headers as a place to put information used by that protocol. This
HTTP header includes the request to “get” a file. The request typically contains the name of
the file (home.htm, in this case), or if no filename is mentioned, the web server assumes that
Bob wants the default web page.
Step 2 in Figure 1-6 shows the response from web server Larry. The message begins with an
HTTP header, with a return code (200), which means something as simple as “OK” returned
in the header. HTTP also defines other return codes so that the server can tell the browser
whether the request worked. (Here is another example: If you ever looked for a web page
that was not found, and then received an HTTP 404 “not found” error, you received an HTTP
return code of 404.) The second message also includes the first part of the requested file.
Step 3 in Figure 1-6 shows another message from web server Larry to web browser Bob, but
this time without an HTTP header. HTTP transfers the data by sending multiple messages,
each with a part of the file. Rather than wasting space by sending repeated HTTP headers
that list the same information, these additional messages simply omit the header.