Protocol stack

Protocol stack

The protocol stack is an implementation of a computer networking protocol suite. The terms are often used interchangeably. Strictly speaking, the suite is the definition of the protocols, and the stack is the software implementation of them.[1]

Individual protocols within a suite are often designed with a single purpose in mind. This modularization makes design and evaluation easier. Because each protocol module usually communicates with two others, they are commonly imagined as layers in a stack of protocols. The lowest protocol always deals with "low-level", physical interaction of the hardware. Every higher layer adds more features. User applications usually deal only with the topmost layers (see also OSI model)[2].

In practical implementation, protocol stacks are often divided into three major sections: media, transport, and applications. A particular operating system or platform will often have two well-defined software interfaces: one between the media and transport layers, and one between the transport layers and applications.

The media-to-transport interface defines how transport protocol software makes use of particular media and hardware types ("card drivers"). For example, this interface level would define how TCP/IP transport software would talk to Ethernet hardware. Examples of these interfaces include ODI and NDIS in the Microsoft Windows and DOS environment.

The application-to-transport interface defines how application programs make use of the transport layers. For example, this interface level would define how a web browser program would talk to TCP/IP transport software. Examples of these interfaces include Berkeley sockets and System V STREAMS in the Unix world, and Winsock in the Microsoft world.

General protocol suite description

  T ~ ~ ~ T
 [A]     [B]_____[C]

Imagine three computers: A, B, and C. A and B both have radio equipment, and can communicate via the airwaves using a suitable network protocol (such as IEEE 802.11.) B and C are connected via a cable, using it to exchange data (again, with the help of a protocol, for example Ethernet). However, neither of these two protocols will be able to transport information from A to C, because these computers are conceptually on different networks. One, therefore, needs an inter-network protocol to "connect" them.

One could combine the two protocols to form a powerful third, mastering both cable and wireless transmission, but a different super-protocol would be needed for each possible combination of protocols. It is easier to leave the base protocols alone, and design a protocol that can work on top of any of them (the Internet Protocol is an example.) This will make two stacks of two protocols each. The inter-network protocol will communicate with each of the base protocol in their simpler language; the base protocols will not talk directly to each other.

A request on computer A to send a chunk of data to C is taken by the upper protocol, which (through whatever means) knows that C is reachable through B. It, therefore, instructs the wireless protocol to transmit the data packet to B. On this computer, the lower layer handlers will pass the packet up to the inter-network protocol, which, on recognizing that B is not the final destination, will again invoke lower-level functions. This time, the cable protocol is used to send the data to C. There, the received packet is again passed to the upper protocol, which (with C being the destination) will pass it on to a higher protocol or application on C. Often an even higher-level protocol will sit on top, and incur further processing.

An example protocol stack and the corresponding layers:

Protocol Layer
HTTP Application
TCP Transport
IP Internet
Ethernet Link
IEEE 802.3u Physical

See also

References

  1. ^ "What is a protocol stack?". http://www.webopedia.com/: WEBOPEDIA. http://www.webopedia.com/TERM/P/protocol_stack.html. Retrieved 2010-02-21. "A [protocol stack is a] set of network protocol layers that work together. The OSI Reference Model that defines seven protocol layers is often called a stack, as is the set of TCP/IP protocols that define communication over the Internet." 
  2. ^ Georg N. Strauß (2010-01-09). "The OSI Model, Part 10. The Application Layer". http://www.ika-reutte.at/: Ika-Reutte. http://www.ika-reutte.at/elearning/OSI_Model.doc. Retrieved 2010-02-21. "The Application layer is the topmost layer of the OSI model, and it provides services that directly support user applications, such as database access, e-mail, and file transfers." 

Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • protocol stack —    The several layers of software that define the computer to computer or computer to network protocol.    Several companies have developed important proprietary protocol stacks, including Novell NetWare s IPX/SPX, but the trend these days is… …   Dictionary of networking

  • protocol stack —    A representation of the hierarchical nature of a protocol suite …   IT glossary of terms, acronyms and abbreviations

  • Web services protocol stack — The Web service protocol stack is a collection of computer networking protocols that are used to define, locate, implement, and make Web services interact with each other. The Web service protocol stack mainly comprises four areas:* (Service)… …   Wikipedia

  • UniPro protocol stack — The UniPro [https://members.mipi.org/mipi adopters/file/Specifications/Board%20Approved/MIPI%20UniPro%20Specification v01 00 00.pdf UniPro 1.00 spec] , requires an account at the MIPI website] protocol stack follows the architecture of the… …   Wikipedia

  • Web Services Protocol Stack — La Pila de protocolos para Servicios Web es una colección de protocolos y estandares para redes de Computadores que son utilizados para definir, localizar, implementar y hacer que un Servicio Web interactúe con otro. La Pila de Protocolos para… …   Wikipedia Español

  • Protocol (computing) — In computing, a protocol is a convention or standard that controls or enables the connection, communication, and data transfer between two computing endpoints. In its simplest form, a protocol can be defined as the rules governing the syntax,… …   Wikipedia

  • Stack (data structure) — In computer science, a stack is an abstract data type and data structure based on the principle of Last In First Out (LIFO) . Stacks are used extensively at every level of a modern computer system. For example, a modern PC uses stacks at the… …   Wikipedia

  • Stack — Computing*Stack (data structure), a data structure based on Last In, First Out (LIFO) *Call stack of a program, also known as a function stack, execution stack, control stack, or simply the stack *Protocol stack, a particular software… …   Wikipedia

  • Protocol data unit — In telecommunications, the term protocol data unit (PDU) has the following meanings: #Information that is delivered as a unit among peer entities of a network and that may contain control information, address information, or data. #In layered… …   Wikipedia

  • stack — 1. noun /stæk/ a) A large pile of hay, grain, straw, or the like, larger at the bottom than the top, sometimes covered with thatch. Please bring me a chair from that stack in the corner. b) A pile of similar objects, each directly on top …   Wiktionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”