Protocol (computer): Difference between revisions
imported>Pat Palmer (→List of Protocols: removing FTP (it's an "application" despite having "protocol" in its name)) |
imported>Greg Woodhouse (List of Protocols - a few more) |
||
Line 19: | Line 19: | ||
== List of Protocols == | == List of Protocols == | ||
# [[File Tranfer Protocol]] (FTP) | |||
# [[Hypertext Tranfer Protocol]] (HTTP) | |||
# [[Simple Mail Transfer Protocol]](SMTP) | |||
# [[Transmission Control Protocol]] (TCP) | # [[Transmission Control Protocol]] (TCP) | ||
# [[Internet Control Message Protocol]] (ICMP) | |||
# [[Internet Protocol]] (IP) | # [[Internet Protocol]] (IP) | ||
# [[Ethernet]] | |||
# [[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) | |||
Revision as of 13:49, 14 May 2007
In computer science a protocol is a formally defined method of 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.
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 Transfer Control Protocol over Internet Protocol used extensively in the internet, or even higher level protocols built on top of TCP/IP.
A Stack of Protocols
Main article: OSI model
The 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 -- 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, transmission line termination, and many other things.
- 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 -- Defines how individual communications can be routed between non-adjacent devices. This is only necessary if more than two devices need to communicate (i.e. a network).
- Transport Layer -- Defines further abstractions to the network layer, hiding implementation details such as network congestion or maximum frame sizes.
- 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 -- 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 platform- and 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 -- Defines application specific uses for the network. Common examples of this are HTTP or FTP.
List of Protocols
- File Tranfer Protocol (FTP)
- Hypertext Tranfer Protocol (HTTP)
- Simple Mail Transfer Protocol(SMTP)
- Transmission Control Protocol (TCP)
- Internet Control Message Protocol (ICMP)
- Internet Protocol (IP)
- Ethernet
- 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.