A system of rules and digital message formats for the exchange of the messages in telecommunications and between different computing systems is called the communication protocol. A protocol can also be defined formally.
Protocols may possess a number of capabilities few of which have been mentioned below:
3. Error detection and correction and etc.
The definition of the protocol defines aspects such as synchronization of the communication, syntax and semantics. The specified behavior does not depends up on the way of implementation.
A protocol can be implemented in either of the two ways:
1. As Software
2. As Hardware
– All the parties involved in the communication need to agree up on the communication protocols.
– A protocol needs to be converted in to a technical standard in order to reach an agreement.
– Well defined formats are only used by the communicating systems for exchanging the information between them.
– Each message possesses an exact meaning that seeks to get a defined response from the system receiving it.
– A protocol is therefore necessary for defining the above mentioned 3 things.
– The technical specifications define the exact the nature of the communication that is to take place and any other state dependent behavior.
– These rules and specifications are expresses through some data structures and algorithms in the digital computing systems.
– The algorithms can be expressed via some programming language that is portable.
– This eliminates the dependency of the protocol on the operating system.
– Shared transmission media is what the communicating systems use for communicating with each other since there does not exist any common memory.
– However, this transmission is somewhat unreliable and might involve some different OS and hardware devices on other systems.
Requirements of Communication Protocols
There are certain requirements of the communication protocols:
1. Data formats for data exchange
2. Address formats for data exchange
3. Address mapping
5. Detection of transmission errors
6. Acknowledgements of whether the data packets have been correctly received or not.
7. Direction of information flow
8. Loss of information
9. Sequence control
10. Flow control
Protocols can be formally specified through either of the following:
1. Augmented Backus – naur form that is an IETF standard
2. Abstract syntax notation one that is an ISO standard
– Contrary to the large number of networking protocols, a little variation is found between them since the principles and concepts that they use are all the same.
– The environment in which the networking protocols operate is quite heterogeneous because of involvement of different networking technologies.
– In the development of the protocol standards, it is assumed that there exists a universal networking protocol.
– Because of such an environment, the implementation of a single networking protocol becomes difficult.
– The operation of the communicating systems is parallel.
– The concurrent programming is used to deal with these parallel operations of the communicating systems.
– The communications using low – level protocols possess modest complexity and so it is relatively easier to code them.
– However, this is not the case with the high–level protocols.
– There are a number of types of communications protocols which have been stated below:
1. TCP (transmission control protocol)
2. UDP (user datagram protocol)
3. ICMP (internet control message protocol)
4. HTTP (hypertext transfer protocol)
5. POP3 (post office protocol)
6. FTP (file transfer protocol)
7. IMAP (internet message access protocol)
Some examples of high level interaction protocol are:
– For the development of a general protocol, the protocol operations that have fewer variations among themselves need to be determined.
– The functional blocks that have the ability of performing these similar protocol processing operations should be able of being implemented in to a processor.
– Three such operations in protocol processing have been recognized:
1. Pattern matching and replacement
2. Control dominated operation (including case structures and nested – if then else structures.)
3. Irregular memory access (including management of the buffers and tables.)