|
Lesson 3 - The OSI ModelProtocols and LayersAs you recall, multiple protocols and processes work together in a layered arrangement. In computer networking terms, a layer is a process (or set of processes) that provides services to the next higher layer and uses the services of the next lower layer. Cooperating layers of protocols are called a "protocol stack" or a "protocol suite." In a protocol stack, the services offered by each layer progress from abstract, higher level services in the top layers, to more concrete, transmission-oriented services in the bottom layers. Thus, a program that resides at the highest layer typically provides many sophisticated services to the user. However, most of these services are actually implemented, directly and indirectly, by the lower layers. Because a program provides services only to the layer above it and uses services only of the layer below it, a change to any given layer affects only the layer above it. Layering breaks a single large program into parts isolated from one another according to function, making the program easier to write and change. Layering does, however, extract a performance penalty. There is some overhead associated with moving data through multiple layers of protocols; however, the benefit is generally worth the performance price. Layering applies to protocols as well as services. In a system that has a layered architecture, each process communicates only with its peer process. Otherwise, as with services, a change to one process would affect many other processes. Each pair of peers communicates with a common protocol that is appropriate to the services they provide. Therefore, each layer of processes uses a corresponding layer of protocols. For example, in a Web interaction, TCP on the client communicates with TCP on the server. HTTP on the client communicates with HTTP on the server, and so forth. When different layers of protocols work together, they use the following basic techniques:
[ Previous Section ] [ Unit Contents ] [ Next Section ]
|