Protocol (computer): Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Michael Hardy
m (lower case initials in section headings)
(passed)
 
(6 intermediate revisions by 5 users not shown)
Line 1: Line 1:
In [[computer science]] a '''protocol''' is a complete [[specification]] of the rules for [[communication]] between two or more computing devices in a [[computer network]].  What is commonly referred to as a protocol is generally a [[stack]] of specifications, each building upon the others to define all aspects of communication.
{{subpages}}
In [[computer science]], a '''protocol''' is a specification of the rules for communication among devices across a network. Protocols have a wide range in complexity.  On one end of the spectrum, the [[electrical]] characteristics of ones and zeros within a particular [[digital logic family]] might be considered a protocol.  Similarly, the sequence of modulated [[infrared light]] emitted by a [[television]] remote control is also a protocolA more complicated example of a protocol is the set or "stack" of protocols used in  [[computer networking reference models]], such as the [[Internet Protocol Suite]] or [[Open Systems Interconnection Reference Model]].


Protocols have a wide range in complexity.  On one end of the spectrum, the [[electrical]] characteristics of ones and zeros within a particular [[digital logic family]] might be considered a protocol.  Similarly, the sequence of modulated [[infrared light]] emitted by a [[television]] remote control is also a protocol.  A more complicated example of a protocol is the [[TCP/IP|Transfer Control Protocol over Internet Protocol]] used extensively in the [[internet]], or even higher level protocols built on top of TCP/IP.
==References==
{{reflist}}


== A stack of protocols ==
[[Category:Reviewed Passed]]
 
''Main article:'' [[OSI model]]
 
The [[open systems interconnection|Open Systems Interconnection]] initiative suggests a seven-layer model to define a protocol.  In their model, a protocol is defined (from lowest to highest level):
 
# [[physical layer (OSI Model)|Physical Layer]] -- Defines [[electrical]] and/or [[physical]] specifications for the communications. For instance, it may specify [[disjoint]] [[voltage]] ranges for binary ones or zeros.  This layer would also specify things such as [[baud rate]], [[termination (transmission lines)|transmission line termination]], and many other things.
# [[data link layer (OSI Model)|Data Link Layer]] -- Defines for communications between two [[adjacent]] (i.e. directly connected) devices.  Specifies things such as how packets are framed, and how to detect and correct errors which occur in the physical layer.
# [[network layer (OSI Model)|Network Layer]] -- Defines how individual communications can be [[route (networking)|routed]] between non-adjacent devices.  This is only necessary if more than two devices need to communicate (i.e. a [[network]]).
# [[transport layer (OSI Model)|Transport Layer]] -- Defines further abstractions to the network layer, hiding implementation details such as network congestion or maximum frame sizes.
# [[session layer (OSI Model)|Session Layer]] -- Defines further abstractions to the transport layer, yielding the illusion that each channel of communications is a continuous [[stream]] of information instead of discrete frames or packets.
# [[presentation layer (OSI Model)|Presentation Layer]] -- Defines conventions for representing common types of information.  For instance,  [[ASCII]] is a convention which specifies, among other things, how to represent each letter of the alphabet as an integer, in a [[operating system|platform-]] and [[computer architecture|architecture-]] independent manner.  Under this definition, any [[file format]] could be considered a presentation layer, if that file format were integral to the operation of the protocol.
# [[application layer (OSI Model)|Application Layer]] -- Defines application specific uses for the network.  Common examples of this are [[HTTP]] or [[FTP]].
 
== List of protocols ==
 
# [[File Tranfer Protocol]] (FTP) - Application Layer 7
# [[Hypertext Tranfer Protocol]] (HTTP) - Application Layer 7
# [[Simple Mail Transfer Protocol]](SMTP) - Application Layer 7
# [[Transmission Control Protocol]] (TCP) - Network Layer 3
# [[Internet Control Message Protocol]] (ICMP)
# [[Internet Protocol]] (IP) - Data Link Layer 2
# [[Ethernet]] - Physical Layer 1
# [[802.11a/b/g/n]] (Wi-Fi, in its various incarnations)
# [[Bluetooth]] (cf. IEEE 802.15)
# [[802.16]] (Wi-Max)
# [[General Packet Radio Service]] (GPRS)
 
And many, many more.
 
[[Category:CZ Live]]
[[Category:Computers Workgroup]]

Latest revision as of 05:43, 17 March 2024

This article is developing and not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

In computer science, a protocol is a specification of the rules for communication among devices across a network. Protocols have a wide range in complexity. On one end of the spectrum, the electrical characteristics of ones and zeros within a particular digital logic family might be considered a protocol. Similarly, the sequence of modulated infrared light emitted by a television remote control is also a protocol. A more complicated example of a protocol is the set or "stack" of protocols used in computer networking reference models, such as the Internet Protocol Suite or Open Systems Interconnection Reference Model.

References