Comms. Protocols

Home
Up

 

 

Communications Explained 

In the field of telecommunications, a communications protocol is the set of standard rules for data representation, signaling, 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. Communication protocol is basically following certain rules so that the system works properly.

 

Network Protocol Design Principles

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.

For an example that involves computing, consider an email protocol like the Simple Mail Transfer Protocol (SMTP). An SMTP client can send messages to any server that conforms to SMTP's specification. Actual applications can be (for example) an aircraft with an SMTP server receiving messages from a ground controller over a radio-based internet link. Any SMTP client can correctly interact with any SMTP server, because they both conform to the same protocol specification, RFC2821.

This paragraph informally provides some examples of layers, some required functionalities, and some protocols that implement them, all from the realm of computing protocols.

  1. At the lowest level, bits are encoded in electrical, light or radio signals by the Physical layer. Some examples include RS-232, SONET, and WiFi. 
  2. A somewhat higher Data link layer such as the point-to-point protocol (PPP) may detect errors and configure the transmission system.
  3. An even higher protocol may perform network functions. One very common protocol is the Internet protocol (IP), which implements addressing for large set of protocols. A common associated protocol is the Transmission control protocol (TCP) which implements error detection and correction (by retransmission). TCP and IP are often paired, giving rise to the familiar acronym TCP/IP.
  4. A layer in charge of presentation might describe how to encode text (ie: ASCII, or Unicode).
  5. An application protocol like SMTP, may (among other things) describe how to inquire about electronic mail messages.

These different tasks show why there's a need for a software architecture or reference model that systematically places each task into 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 of the International Organization for Standardization (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 bits 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 (BER) 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).

Data transmission often requires bit error rates below 10-12. Computer data transmissions are so frequent that larger error rates would affect operations of customers like banks and stock exchanges. Since most transmissions use networks with telephonic error rates, the errors caused by these networks must be detected and then corrected.

Communications systems detect errors by transmitting a summary of the data with the data. In TCP (the internet's Transmission Control Protocol), the sum of the data bytes of packet is sent in each packet's header. Simple arithmetic sums do not detect out-of-order data, or canceling errors. A bit-wise binary polynomial, a cyclic redundancy check, can detect these errors and more, but is slightly more expensive to calculate.

Communication systems correct errors by selectively resending bad parts of a message. For example, in TCP 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.

Protocol Families

A number of major protocol stacks or families exist, including the following:

Open standards:

Internet protocol suite
Open Systems Interconnection (OSI)

Proprietary standards:

AppleTalk
DECNet
IPX/SPX
SMB
Systems Network Architecture (SNA)
Distributed Systems Architecture (DSA).

Network Protocols Categorised By  OSI Layer

Layer

ISDN Integrated Services Digital Network
PDH Plesiochronous Digital Hierarchy
T-carrier (T1, T3, etc.)
E-carrier (E1, E3, etc.)
RS-232, a serial line interface originally developed to connect modems and computer terminals
SDH Synchronous Digital Hierarchy
SONET Synchronous Optical NETworking
Modem standards/ITU V-Series Protocols used to communicate between analog modems over voice telephone lines.

Layer 

ARP Address Resolution Protocol
ARCnet
CDP Cisco Discovery Protocol
DCAP Data Link Switching Client Access Protocol
Econet
Ethernet
FDDI Fiber Distributed Data Interface
Frame Relay
HLDC High Level Data Link Control
LocalTalk
L2F Layer 2 Forwarding Protocol
L2TP Layer 2 Tunneling Protocol
LLDP Link Layer Discovery Protocol
LLDP-MED Link Layer Discovery Protocol - Media Endpoint Discovery
PPP Point-to-Point Protocol
PPTP Point-to-Point Tunneling Protocol
SLIP Serial Line Internet Protocol (obsolete)
StarLan
STP Spanning Tree Protocol
Tolkn ring
VTP VLAN Trunking Protocol

Layer 2 +

ATM Asynchronous Transfer Mode
Frame Relay, a simplified version of X.25
MPLS Multi-protocol label switching
Signalling System 7, also called SS7, C7 and CCIS7; a common PSTN control protocol.
X.25

Layer

ARP Address Resolution Protocol
BGP Border Gateway Protocol
EGP Exterior Gateway Protocol
ICMP Internet Control Message Protocol
IGMP Internet Group Management Protocol
IIPv4 Internet Protocol version 4
IPv6Internet Protocol version 6
IPX Internetwork Packet Exchange
IS-IS Intermediate system to intermediate system
MPLS Multiprotocol Label Switching
OSPF Open Shortest Path First
RARP  Reverse Address Resolution Protocol

Layer 3 + 4

Xerox Network Services (XNS)

Layer

IL Originally developed as transport layer for 9P
RTP Real-time Transport Protocol
SPX Sequenced Packet Exchange
SCTP Stream Control Transmission Protocol
TCP Transmission Control Protocol
UDP User Datagram Protocol
Sinec H1 for telecontrol

Layer

9P Distributed file system protocol developed originally as part of Plan 9
NCP NetWare Core Protocol
NFS Network File System
SMB Server Message Block (aka CIFS Common Internet FileSystem)

Layer 7

AFP Apple Filing Protocol
BACnet Building Automation and Control Network protocol
BitTorrent,  peer-to-peer file sharing protocol
BOOTP Bootstrap Protocol
DIAMETER, an authentication, authorization and accounting protocol
DICT Dictionary protocol
DNS Domain Name Service
DHCP Dynamic Host Configuration Protocol
FTP File Transfer Protocol
Finger, which gives user profile information
Gnutella, a peer-to-peer file-swapping protocol
Gopher,  a precursor of web search engines
HTTP HyperText Transfer Protocol, used in the World Wide Web
IMAP Internet Message Access Protocol
IRC Internet Relay Chat protocol
 Jabber, an instant-messaging protocol
LDAP Lightweight Directory Access Protocol
MIME Multipurpose Internet Mail Extensions
NNTP News Network Transfer Protocol
NTP Network Time Protocol
POP3 Post Office Protocol Version 3
RADIUS, an authentication, authorization and accounting protocol
Rlogin, a UNIX remote login protocol
Rsync, a file transfer protocol for backups, copying and mirroring
SSH Secure SHell
SIP, Session Initiation Protocol, a signaling protocol
SMTP Simple Mail Transfer Protocol
SNMP Simple Network Management Protocol
Telnet, a remote terminal access protocol
TFTP Trivial File Transfer Protocol, a simple file transfer protocol
WebDAV Web Distributed Authoring and Versioning
RIP Routing Information Protocol

and secure versions of the above (HTTPS, etc.)

Protocol Description Language

Abstract syntax notation one (ASN.1)

Other Protocols

Controller Area Network (CAN)
Digital Command Control (DCC)
DSA Distributed Systems Architecture (Honeywell Bull)
FIX protocol
Gateway Discovery Protocol GDP is a Cisco protocol similar to IRDP
ICMP Router Discovery Protocol Implementation of RFC 1256
I²C
List of automation protocols
modbus
SNA Systems Network Architecture (IBM)
SOCKS
STUN

 

 
 
Send mail to Anthony.Cairns@AnthonyCairns.com with questions or comments about this web site.
Copyright © 2001-2006 Anthony Cairns
Last modified: December 30, 2006