Protocol stack
Theprotocol stackornetwork stackis animplementationof acomputer networkingprotocol suiteorprotocol family.Some of these terms are used interchangeably but strictly speaking, thesuiteis the definition of thecommunication protocols,and thestackis thesoftwareimplementation of them.[1]
Individual protocols within a suite are often designed with a single purpose in mind. Thismodularizationsimplifies design and evaluation. Because each protocol module usually communicates with two others, they are commonly imagined aslayersin a stack of protocols. The lowest protocol always deals with low-level interaction with the communications hardware. Each higher layer adds additional capabilities. User applications usually deal only with the topmost layers.[2]
General protocol suite description
[edit]T ~ ~ ~ T [A] [B]_____[C]
Imagine three computers:A,B,andC.AandBboth have radio equipment and can communicate via the airwaves using a suitable network protocol (such asIEEE 802.11).BandCare connected via a cable, using it to exchange data (again, with the help of a protocol, for examplePoint-to-Point Protocol). However, neither of these two protocols will be able to transport information fromAtoC,because these computers are conceptually on different networks. Aninter-networkprotocol is required 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 (theInternet Protocolis an example). This will make two stacks of two protocols each. The inter-network protocol will communicate with each of the base protocols in their simpler language; the base protocols will not talk directly to each other.
A request on computerAto send a chunk of data toCis taken by the upper protocol, which (through whatever means) knows thatCis reachable throughB.It, therefore, instructs the wireless protocol to transmit the data packet toB.On this computer, the lower layer handlers will pass the packet up to the inter-network protocol, which, on recognizing thatBis not the final destination, will again invoke lower-level functions. This time, the cable protocol is used to send the data toC.There, the received packet is again passed to the upper protocol, which (withCbeing the destination) will pass it on to a higher protocol or application onC.
In practical implementation, protocol stacks are often divided into three major sections: media, transport, and applications. A particularoperating systemor 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 and is associated with adevice driver.For example, this interface level would define howTCP/IPtransport software would talk to thenetwork interface controller.Examples of these interfaces includeODIandNDISin theMicrosoft WindowsandDOSenvironment. The application-to-transport interface defines how application programs make use of the transport layers. For example, this interface level would define how aweb browserprogram would talk to TCP/IP transport software. Examples of these interfaces includeBerkeley socketsand System VSTREAMSinUnix-likeenvironments, andWinsockfor Microsoft Windows.
Examples
[edit]Protocol | Layer |
---|---|
HTTP | Application |
TCP | Transport |
IP | Internetornetwork |
Ethernet | Linkordata link |
IEEE 802.3ab | Physical |
Spanning layer
[edit]An important feature of many communities of interoperability based on a common protocol stack is aspanning layer,a term coined byDavid Clark[3]
Certain protocols are designed with the specific purpose of bridging differences at the lower layers, so that common agreements are not required there. Instead, the layer provides the definitions that permit translation to occur between a range of services or technologies used below. Thus, in somewhat abstract terms, at and above such a layer common standards contribute to interoperation, while below the layer translation is used. Such a layer is called aspanning layerin this paper. As a practical matter, real interoperation is achieved by the definition and use of effective spanning layers. But there are many different ways that a spanning layer can be crafted.
In the Internet protocol stack, theInternet Protocol Suiteconstitutes a spanning layer that defines abest-effort servicefor global routing ofdatagramsatLayer 3.TheInternetis the community ofinteroperationbased on this spanning layer.
See also
[edit]- Cross-layer optimization
- DECnet
- Hierarchical internetworking model
- Protocol Wars
- Recursive Internetwork Architecture
- Service layer
- Signalling System No. 7
- Systems Network Architecture
- Wireless Application Protocol
- X.25
References
[edit]- ^"What is a protocol stack?".WEBOPEDIA. 24 September 1997.Retrieved2010-02-21.
A [protocol stack is a] set of network protocol layers that work together. TheOSI Reference Modelthat defines seven protocol layers is often called a stack, as is the set of TCP/IP protocols that define communication over the Internet.
- ^Georg N. Strauß (2010-01-09)."The OSI Model, Part 10. The Application Layer".Ika-Reutte. Archived fromthe originalon 2012-03-20.Retrieved2010-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.
- ^David Clark (1997).Interoperation, Open Interfaces, and Protocol Architecture.National Research Council.ISBN9780309060363.
{{cite book}}
:|work=
ignored (help)