|
This article concerns communication between pairs of electronic devices. For the specific topic of computing protocols, see Protocol (computing). For the orginal and other meanings of the word protocol, see the disambiguation page for protocol.
In the field of telecommunications, a communications protocol is the set of standard rules for data representation, signalling, authentication, and error detection required to send information over a communications channel. An example of a simple communications protocol adapted to voice communication is the case of a radio dispatcher talking to mobile stations. The communication protocols for digital computer network communication have many features intended to ensure reliable interchange of data over an imperfect communication channel.
Network protocol design principles
Systems engineering principles have been applied to create a set of common network protocol design principles. These principles include effectiveness, reliability, and resiliency.
Effectiveness
For a protocol to be effective it needs to be specified in such a way, that engineers, designers, and in some cases software developers can implement and/or use it. In human-machine systems, its design needs to facilitate routine usage by humans. Protocol layering accomplishes these objectives by dividing the protocol design into a number of smaller parts, each of which performs closely related sub-tasks, and interacts with other layers of the protocol only in a small number of well-defined ways.
Protocol layering allows the parts of a protocol to be designed and tested without a combinatorial explosion of cases, keeping each design relatively simple. The implementation of a sub-task on one layer can make assumptions about the behavior and services offered by the layers beneath it. Thus, layering enables a "mix-and-match" of protocols that permit familiar protocols to be adapted to unusual circumstances. In the realm of computing, an email protocol like Simple Mail Transfer Protocol (SMTP) can be adapted to send messages to aircraft. Just change the underlying V.42 modem protocol to the INMARS LAPD data protocol used by the international marine radio satellites.
This paragraph informally provides some examples of layers, some required functionalities, and some protocols that implement them, all from the realm of computing protocols. A layer in charge of presentation might describe how to encode text (ie: ASCII or Unicode). A protocol like SMTP, may (among other things) describe how to inquire about electronic mail messages. A sub-task of error detection and either message correction or retransmission may be performed by the Transmission control protocol (TCP), while the related sub-task of addressing implemented by the Internet Protocol(IP) will pair up these two protocols giving rise to the familiar acronym TCP/IP. These examples may assume some point to point connectivity offered by point-to-point protocol (PPP) implemented in the lower-level Data link layer. At the lowest level is the sub-task involving the electrical encoding/decoding of bits into/from voltages performed in the Physical layer. These examples motivate the need to specify some software architecture or reference model that systematically places each subtask into its proper context.
The reference model usually used for protocol layering is the OSI seven layer model, which can be applied to any protocol, not just the OSI protocols initially sanctioned by the ISO. In particular, the Internet Protocol can be analysed using the OSI model.
Reliability
Assuring reliability of data transmission involves error detection and correction, or some means of requesting retransmission. It is a truism that communication media are always faulty. The conventional measure of quality is the number of failed bits per bit transmitted. This has the wonderful feature of being a dimensionless figure of merit that can be compared across any speed or type of communication media.
In telephony, links with bit error rates of 10-4 or more are regarded as faulty (they interfere with telephone conversations), while links with a BER of 10-5 or more should be dealt with by routine maintenance (they can be heard).
Communication systems correct errors by selectively resending bad parts of a message. For example, in TCP (the internet's Transmission Control Protocol), messages are divided into packets, each of which has a checksum. When a checksum is bad, the packet is discarded. When a packet is lost, the receiver acknowledges all of the packets up to, but not including the failed packet. Eventually, the sender sees that too much time has elapsed without an acknowledgement, so it resends all of the packets that have not been acknowledged. At the same time, the sender backs off its rate of sending, in case the packet loss was caused by saturation of the path between sender and receiver. (Note: this is an over-simplification: see TCP and congestion collapse for more detail)
In general, the performance of TCP is severely degraded in conditions of high packet loss (more than 0.1%), due to the need to resend packets repeatedly. For this reason, TCP/IP connections are typically either run on highly reliable fiber networks, or over a lower-level protocol with added error-detection and correction features (such as modem links with ARQ). These connections typically have uncorrected bit error rates of 10-9 to 10-12, ensuring high TCP/IP performance.
Resiliency
Resiliency addresses a form of network failure known as topological failure in which a communications link is cut, or degrades below usable quality. Most modern communication protocols periodically send messages to test a link. In phones, a framing bit is sent every 24 bits on T1 lines. In phone systems, when "sync is lost", fail-safe mechanisms reroute the signals around the failing equipment.
In packet switched networks, the equivalent functions are performed using router update messages to detect loss of connectivity.
Standards organisations
Most recent protocols are assigned by the IETF for Internet communications, and the IEEE, or the ISO organizations for other types. The ITU-T handles telecommunications protocols and formats for the public switched telephone network (PSTN). The ITU-R handles protocols and formats for radio communications. As the PSTN. radio systems, and Internet converge, the different sets of standards are also being driven towards technological convergence.
Protocol families
A number of major protocol stacks or families exist, including the following:
Proprietary standards:
Open standards:
See also
References
- Radia Perlman: Interconnections: Bridges, Routers, Switches, and Internetworking Protocols. 2nd Edition. Addison-Wesley 1999, ISBN 0201634481. In particular Ch. 18 on "network design folklore".
- Gerard J. Holzmann: Design and Validation of Computer Protocols. Prentice Hall, 1991, ISBN 0-13-539925-4. Also available online at http://spinroot.com/spin/Doc/Book91.html
External links
|