Protocol layering
   HOME

TheInfoList



OR:

The protocol stack or network stack is an
implementation Implementation is the realization of an application, execution of a plan, idea, scientific modelling, model, design, specification, Standardization, standard, algorithm, policy, or the Management, administration or management of a process or Goal ...
of a
computer network A computer network is a collection of communicating computers and other devices, such as printers and smart phones. In order to communicate, the computers and devices must be connected by wired media like copper cables, optical fibers, or b ...
ing protocol suite or protocol family. Some of these terms are used interchangeably but strictly speaking, the ''suite'' is the definition of the
communication protocol A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer science), sem ...
s, and the ''stack'' is the
software Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications. The history of software is closely tied to the development of digital comput ...
implementation of them. Individual protocols within a suite are often designed with a single purpose in mind. This modularization simplifies design and evaluation. 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 interaction with the communications hardware. Each higher layer adds additional capabilities. User applications usually deal only with the topmost layers.


General protocol suite description

T ~ ~ ~ T ____ 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
Point-to-Point Protocol In computer networking, Point-to-Point Protocol (PPP) is a data link layer (layer 2) communication protocol between two routers directly without any host or any other networking in between. It can provide loop detection, authentication, transmissio ...
). However, neither of these two protocols will be able to transport information from ''A'' to ''C'', because these computers are conceptually on different networks. An inter-network protocol 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 (the
Internet Protocol The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet. IP ...
is 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 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''. In practical implementation, protocol stacks are often divided into three major sections: media, transport, and applications. A particular
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
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 and is associated with a
device driver In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabli ...
. For example, this interface level would define how
TCP/IP The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are ...
transport software would talk to the
network interface controller A network interface controller (NIC, also known as a network interface card, network adapter, LAN adapter and physical network interface) is a computer hardware component that connects a computer to a computer network. Early network interface ...
. Examples of these interfaces include ODI and NDIS in the
Microsoft Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
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 A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
program would talk to TCP/IP transport software. Examples of these interfaces include
Berkeley sockets A Berkeley ( BSD) socket is an application programming interface (API) for Internet domain sockets and Unix domain sockets, used for inter-process communication (IPC). It is commonly implemented as a library of linkable modules. It originated wi ...
and System V
STREAMS A stream is a continuous body of surface water flowing within the bed and banks of a channel. Depending on its location or certain characteristics, a stream may be referred to by a variety of local or regional names. Long, large stream ...
in
Unix-like A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
environments, and Winsock for Microsoft Windows.


Examples


Spanning layer

An important feature of many communities of interoperability based on a common protocol stack is a spanning layer, a term coined by David Clark
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 a ''spanning layer'' in 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, the
Internet Protocol Suite The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are ...
constitutes a spanning layer that defines a best-effort service for global routing of
datagrams A datagram is a basic transfer unit associated with a packet-switched network. Datagrams are typically structured in header and payload sections. Datagrams provide a connectionless communication service across a packet-switched network. The de ...
at Layer 3. The
Internet The Internet (or internet) is the Global network, global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a internetworking, network of networks ...
is the community of interoperation based on this spanning layer.


See also

* Cross-layer optimization *
DECnet DECnet is a suite of network protocols created by Digital Equipment Corporation. Originally released in 1975 in order to connect two PDP-11 minicomputers, it evolved into one of the first peer-to-peer network architectures, thus transforming DEC ...
* Hierarchical internetworking model * Protocol Wars * Recursive Internetwork Architecture * Service layer * Signalling System No. 7 *
Systems Network Architecture Systems Network Architecture (SNA) is IBM's proprietary computer network, networking architecture, created in 1974. It is a complete protocol stack for interconnecting computers and their resources. SNA describes formats and protocols but, in its ...
*
Wireless Application Protocol Wireless Application Protocol (WAP) is an obsolete technical standard for accessing information over a mobile cellular network. Introduced in 1999, WAP allowed users with compatible mobile devices to browse content such as news, weather and sp ...
*
X.25 X.25 is an ITU-T standard protocol suite for Packet switched network, packet-switched data communication in wide area network, wide area networks (WAN). It was originally defined by the CCITT, International Telegraph and Telephone Consultative Co ...


References

{{DEFAULTSORT:Protocol Stack Network protocols Wikipedia articles with ASCII art