The Tcpip Transport Layer

The TCP/IP application layer includes a relatively large number of protocols, with HTTP being only one of those. The TCP/IP transport layer consists of two main protocol options— the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP). To get a true appreciation for what TCP/IP transport layer protocols do, read Chapter 6, "Fundamentals of TCP and UDP." However, in this section, you will learn about one of the key features of TCP, which enables us to cover some more general concepts about how networking models behave.

To appreciate what the transport layer protocols do, you must think about the layer above the transport layer, the application layer. Why? Well, each layer provides a service to the layer above it. For example, in Figure 2-2, Bob and Larry used HTTP to transfer the home page from Larry to Bob. But what would have happened if Bob's HTTP get request was lost in transit through the TCP/IP network? Or, what would have happened if Larry's response, which includes the contents of the home page, was lost? Well, the page would not show up in Bob's browser, as you might expect.

So, TCP/IP needs a mechanism to guarantee delivery of data across a network. TCP provides that feature by using acknowledgments. Figure 2-3 outlines the basic acknowledgment logic.

As Figure 2-3 shows, the HTTP software asks for TCP to reliably deliver the HTTP get request. TCP sends the HTTP data from Bob to Larry, and the data arrives successfully. Larry's TCP software acknowledges receipt of the data and also gives the HTTP get request to the web server software. The reverse happens with Larry's response, which also arrives at Bob successfully.

Web Server Larry

Please Reliably Send This, Mr. TCP!

Web Browser Bob

Please Reliably Send This, Mr. TCP!

HTTP GET

)

TCP

HTTP GET

TCP Acknowledgment

TCP

HTTP OK

Web Page

Of course, the benefits of TCP error recovery cannot be seen unless the data is lost. Chapter 6 covers TCP, including error recovery, in detail. For now, assume that if either transmission had been lost, that HTTP would not be concerned, and that TCP would resend the data and ensure that it was received successfully.

This example outlines the concepts of how adjacent layers in a networking model work together on the same computer. The higher-layer protocol (HTTP) needs to do something it cannot do (error recovery). So, the higher layer asks for the next lower-layer protocol (TCP) to perform the service, and the next lower layer performs the service. The lower layer provides a service to the layer above it.

Table 2-3 summarizes the key points about how adjacent layers work together on a single computer and how one layer on one computer works with the same networking layer on another computer.

Table 2-3 Summary: Same-Layer and Adjacent-Layer Interactions

Concept

Description

Same-layer interaction on different computers

The two computers use a protocol to communicate with the same layer on another computer. The protocol defined by each layer uses a header that is transmitted between the computers, to communicate what each computer wants to do.

Adjacent-layer interaction on the same computer

On a single computer, one layer provides a service to a higher layer. The software or hardware that implements the higher layer requests that the next lower layer perform the needed function.

The TCP/IP transport layer provides services to the various application layer protocols. Error recovery, as performed by TCP, is one feature. This layer also provides other functions, as detailed in Chapter 6.

All the examples describing the application and transport layers ignored many details relating to the physical network. The application and transport layers purposefully were defined to work the same, way whether the endpoint host computers were on the same LAN or were separated by the Internet. The lower two layers of TCP/IP, the internetwork layer and the network interface layer, must understand the underlying physical network because they define the protocols used to deliver the data from one host to another.

Was this article helpful?

0 0

Post a comment