When people first meet, they may exchange names or cards, converse, ask each other to repeat themselves, or clarify if one person does not understand the other. Similar to two strangers making introductions, computers follow rules and standards when connecting with each other over a network. The protocol may involve, for example, establishing a connection, authenticating each other, exchanging data, and error detection and correction.
Communications protocols are used everywhere. They are used with telephones, over the Internet, for other forms of communication between two computers. Even TVs and DVD players communicate with each other using simplified communications protocols.
Communications protocols can range from simple ones, which decide the timing issues involved in sending a signal from one end to the other, to highly complex protocols such as TCP/IP, which forms the backbone of the Internet. A basic protocol should establish the connection, ensure that data can be transferred, and detect and correct errors. Complex communication protocols provide other features like encryption and reliability.
Most protocols in use today are standardized by various bodies (IEEE for the Internet, ITU for telephones), so that they may be adopted widely and uniformly. Most protocols have the following desirable features
- Capability: Does what it was meant to do effectively.
- Reliability: Detects and corrects errors. Without this, a computer cannot confirm if the data it received is correct.
- Fault Tolerance: Discovers broken links, and has a contingency plan in case a communication link fails.
- Scalability: Works with two machines, as well as two million. TCP/IP is a very good example of a very scalable protocol.
- Computing overhead involved: Is easy to set up, deploy and administer, so that the computer devotes its time to transferring useful data.
Below are some common protocols in use today for computers:
- User Datagram Protocol (UDP) (used for higher-speed, but less reliable transfer than TCP/IP provides)
- Ethernet (used for communication over the Internet)
- HTTP (used for transferring Web pages)
- SMTP (used for email)
- FTP (used for transferring files)
- LDAP (used to discover users and services)
- IEEE 802.11 (or WiFi - used in wireless Internet)
Other protocols used in telephonic conversations are VoIP (used for Internet voice communications), Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA) , Enhanced Data GSM Environment (EDGE -for mobile phones), and Digital Subscriber Line (DSL - for telephones).
Protocols are built in a layered format. Each protocol does what it is supposed to do, and no more. This helps reduce complexity and enables better performance, and also allows one protocol to work on top of the other. For example, the current Internet usually uses the following layering system:
- Layer 5: HTTP or FTP or SMTP or LDAP used by applications
- Layer 4: TCP or UDP used by end computers
- Layer 3: IP used by end computers and network equipment like routers
- Layer 2: Ethernet or 802.11 used by end machines and network equipment like switches
- Layer 1: Physical radio signals or optical signals using in the fibers or wires